Exemplo n.º 1
0
 public void AdjustAutocomplete(AutoCompleteProvider autoComplete)
 {
     if (AggregateConfiguration != null)
     {
         autoComplete.Add(AggregateConfiguration);
     }
 }
Exemplo n.º 2
0
        public void AutoCompleteOnImportShouldProvideOnlyOneModule()
        {
            var autoCompleteProvider = new AutoCompleteProvider(m_fixture.ProviderContext);

            var result = autoCompleteProvider.Completion(
                new TextDocumentPositionParams()
            {
                Position = new Position()
                {
                    Line      = 1 - 1,
                    Character = 26,
                },
                TextDocument = new TextDocumentIdentifier()
                {
                    Uri = m_fixture.GetChildUri(@"project\project.bxt")
                }
            }, CancellationToken.None);

            Assert.True(result.IsSuccess);

            var completionItems = result.SuccessValue.Left
                                  .OrderBy(ci => ci.Label)
                                  .ToArray();

            Assert.Equal(1, completionItems.Length);

            // TODO: Change to just BuildXL.DScript check after April 15, 2019 when deployed bits have updated.
            Assert.True(completionItems[0].Label == "BuildXL.DScript.LanguageServer.UnitTests.Data.Module" ||
                        completionItems[0].Label == "BuildXLScript.LanguageServer.UnitTests.Data.Module");
        }
Exemplo n.º 3
0
        public void AutoCompleteWithNestedObjectIteralAssignedToVariable()
        {
            var autoCompleteProvider = new AutoCompleteProvider(m_fixture.ProviderContext);

            var result = autoCompleteProvider.Completion(
                new TextDocumentPositionParams()
            {
                Position = new Position()
                {
                    Line      = 99 - 1,
                    Character = 32,
                },
                TextDocument = new TextDocumentIdentifier()
                {
                    Uri = m_fixture.GetChildUri(@"module/lib.bxt")
                }
            }, CancellationToken.None);

            Assert.True(result.IsSuccess);

            var completionItems = result.SuccessValue.Left
                                  .OrderBy(ci => ci.Label)
                                  .ToArray();

            Assert.Equal(1, completionItems.Length);

            Assert.Equal("interfaceAProperty", completionItems[0].Label);
        }
Exemplo n.º 4
0
        private void FigureOutGlobalsAndAutoComplete()
        {
            var factory = new FilterUIOptionsFactory();
            var options = factory.Create(_extractionFilter);

            var autoCompleteFactory = new AutoCompleteProviderFactory(Activator);

            _autoCompleteProvider = autoCompleteFactory.Create(_extractionFilter.GetQuerySyntaxHelper());

            foreach (var t in options.GetTableInfos())
            {
                _autoCompleteProvider.Add(t);
            }

            foreach (var c in options.GetIColumnsInFilterScope())
            {
                _autoCompleteProvider.Add(c);
            }

            GlobalFilterParameters = options.GetGlobalParametersInFilterScope();

            foreach (ISqlParameter parameter in GlobalFilterParameters)
            {
                _autoCompleteProvider.Add(parameter);
            }

            _autoCompleteProvider.RegisterForEvents(QueryEditor);
        }
Exemplo n.º 5
0
        private void TestAutoCompleteLabels(List <AutoCompleteLabelTestInformation> testList)
        {
            var autoCompleteProvider = new AutoCompleteProvider(m_fixture.ProviderContext);

            foreach (var test in testList)
            {
                var result = autoCompleteProvider.Completion(
                    new TextDocumentPositionParams()
                {
                    Position = new Position()
                    {
                        Line      = test.line - 1,
                        Character = test.character,
                    },
                    TextDocument = new TextDocumentIdentifier()
                    {
                        Uri = m_fixture.GetChildUri(test.filePath)
                    }
                }
                    , CancellationToken.None);

                Assert.True(result.IsSuccess);

                var completionItems = result.SuccessValue.Left.OrderBy(ci => ci.Label).ToArray();
                Assert.True(test.expectedLabels.Count == completionItems.Length, "Expected label count does not match\r\n" + "Expected: \r \n" + TestItemToString(test) + "Actual: \r\n" + CompletionItemsLabelsToString(completionItems));

                foreach (var expectedLabel in test.expectedLabels)
                {
                    var hasLabel = completionItems.Any(item => item.Label.Equals(expectedLabel));
                    Assert.True(hasLabel, "Expected labels not found\r\n" + "Expected: \r \n" + TestItemToString(test) + "Actual: \r\n" + CompletionItemsLabelsToString(completionItems));
                }
            }
        }
Exemplo n.º 6
0
        public void AutoCompleteFunctionCallThroughReExport()
        {
            var autoCompleteProvider = new AutoCompleteProvider(m_fixture.ProviderContext);

            var result = autoCompleteProvider.Completion(
                new TextDocumentPositionParams()
            {
                Position = new Position()
                {
                    Line      = 3 - 1,
                    Character = 40,
                },
                TextDocument = new TextDocumentIdentifier()
                {
                    Uri = m_fixture.GetChildUri(@"module\testExportedFunction.bxt")
                }
            }, CancellationToken.None);

            Assert.True(result.IsSuccess);

            var completionItems = result.SuccessValue.Left
                                  .OrderBy(ci => ci.Label)
                                  .ToArray();

            Assert.Equal(1, completionItems.Length);

            Assert.Equal("myFunctionProperty", completionItems[0].Label);
        }
Exemplo n.º 7
0
        public void AdjustAutocomplete(AutoCompleteProvider autoComplete)
        {
            if (Cohort == null)
            {
                return;
            }

            var ect   = Cohort.ExternalCohortTable;
            var table = ect.Discover().ExpectTable(ect.TableName);

            autoComplete.Add(table);
        }
Exemplo n.º 8
0
        public void SetCollection(IActivateItems activator, IPersistableObjectCollection collection)
        {
            _collection = (IViewSQLAndResultsCollection)collection;

            CommonFunctionality.ClearToolStrip();

            btnExecuteSql.Image = activator.CoreIconProvider.GetImage(RDMPConcept.SQL, OverlayKind.Execute);

            var overlayer = new IconOverlayProvider();

            btnResetSql.Image = overlayer.GetOverlay(FamFamFamIcons.text_align_left, OverlayKind.Problem);

            if (_autoComplete == null)
            {
                _autoComplete = new AutoCompleteProviderFactory(activator).Create(_collection.GetQuerySyntaxHelper());

                _collection.AdjustAutocomplete(_autoComplete);

                _autoComplete.RegisterForEvents(_scintilla);
            }

            SetItemActivator(activator);

            CommonFunctionality.Add(btnExecuteSql);
            CommonFunctionality.Add(btnResetSql);

            foreach (var c in _timeoutControls.GetControls())
            {
                CommonFunctionality.Add(c);
            }

            foreach (DatabaseEntity d in _collection.GetToolStripObjects())
            {
                CommonFunctionality.AddToMenu(new ExecuteCommandShow(activator, d, 0, true));
            }

            CommonFunctionality.Add(new ToolStripSeparator());
            CommonFunctionality.Add(_serverHeader);

            try
            {
                var dap = _collection.GetDataAccessPoint();
                _serverHeader.Text  = $"Server: {dap.Server} Database: {dap.Database}";
                _serverHeader.Image = _databaseTypeIconProvider.GetImage(dap.DatabaseType);
            }
            catch (Exception)
            {
                _serverHeader.Text = "Server:Unknown";
            }


            RefreshUIFromDatabase();
        }
Exemplo n.º 9
0
        public LanguageServiceProviders(ProviderContext providerContext, FrontEndEngineAbstraction engineAbstraction, IProgressReporter progressReporter)
        {
            Contract.Requires(providerContext != null);
            Contract.Requires(engineAbstraction != null);

            m_autoCompleteProvider   = new AutoCompleteProvider(providerContext);
            m_gotoDefinitionProvider = new GotoDefinitionProvider(providerContext);
            m_findReferencesProvider = new FindReferencesProvider(providerContext, progressReporter);
            m_formattingProvider     = new FormattingProvider(providerContext, engineAbstraction);
            m_executeCommandProvider = new ExecuteCommandProvider(providerContext);
            m_codeActionProvider     = new CodeActionProvider(providerContext, m_executeCommandProvider);
            m_codeLensProvider       = new CodeLensProvider(providerContext);
            m_hoverProvider          = new HoverProvider(providerContext);
            m_diagnosticProvider     = new DiagnosticProvider(providerContext);
            m_signatureHelpProvider  = new SignatureHelpProvider(providerContext);
            m_symbolProvider         = new SymbolProvider(providerContext);
            m_renameProvider         = new RenameProvider(providerContext, m_findReferencesProvider);
        }
Exemplo n.º 10
0
        public void AutoCompleteWithDot()
        {
            var autoCompleteProvider = new AutoCompleteProvider(m_fixture.ProviderContext);

            var result = autoCompleteProvider.Completion(
                new TextDocumentPositionParams()
            {
                Position = new Position()
                {
                    Line      = 19 - 1,
                    Character = 96,
                },
                TextDocument = new TextDocumentIdentifier()
                {
                    Uri = m_fixture.GetChildUri(@"project\project.bxt")
                }
            }, CancellationToken.None);

            Assert.True(result.IsSuccess);

            var completionItems = result.SuccessValue.Left
                                  .OrderBy(ci => ci.Label)
                                  .ToArray();

            Assert.Equal(2, completionItems.Length);

            Assert.Equal("deploy", completionItems[0].Label);
            Assert.Equal(CompletionItemKind.Function, completionItems[0].Kind);
            Assert.Equal(
                @"Callback for when deployments will be FlattenedResult
 @param item - The item that is deployable. Think of this as the 'this' pointer which is not accessable from interface implementations.
 @param targetFolder - The folder to place this deployable item into
 @param onDuplicate - The error handler for duplicate files
 @param currentResult - The current flattened result to add the extra flattened files to 
 @return - The updated flattened result.", completionItems[0].Documentation);
            Assert.Equal("deploy(item: Object, targetFolder: RelativePath, reportDuplicate: ReportDuplicateDeploymentError, currentResult: FlattenedResult, deploymentOptions?: Object)", completionItems[0].Detail);

            Assert.Equal("name", completionItems[1].Label);
            Assert.Equal("name", completionItems[1].InsertText);
            Assert.Equal(CompletionItemKind.Property, completionItems[1].Kind);
            Assert.Equal(string.Empty, completionItems[1].Documentation);
            Assert.Equal("name: string", completionItems[1].Detail);
        }
Exemplo n.º 11
0
        private void SetupAutocomplete()
        {
            //if there's an old one dispose it
            if (_autoComplete == null)
            {
                _autoComplete = new AutoCompleteProviderFactory(Activator).Create(_processTask.LoadMetadata.GetQuerySyntaxHelper());
            }
            else
            {
                _autoComplete.Clear();
            }

            foreach (var table in _processTask.LoadMetadata.GetDistinctTableInfoList(false))
            {
                _autoComplete.Add(table, _processTask.LoadStage);
            }

            _autoComplete.RegisterForEvents(_scintilla);
        }
Exemplo n.º 12
0
        public void CompletionWithinObjectLiteral()
        {
            var autoCompleteProvider = new AutoCompleteProvider(m_fixture.ProviderContext);

            var result = autoCompleteProvider.Completion(
                new TextDocumentPositionParams()
            {
                Position = new Position()
                {
                    Line      = 24 - 1,
                    Character = 5 - 1,
                },
                TextDocument = new TextDocumentIdentifier()
                {
                    Uri = m_fixture.GetChildUri(@"project\project.bxt")
                }
            }, CancellationToken.None);

            Assert.True(result.IsSuccess);

            var completionItems = result.SuccessValue.Left
                                  .OrderBy(ci => ci.Label)
                                  .ToArray();

            Assert.Equal(2, completionItems.Length);

            Assert.Equal("a", completionItems[0].InsertText);
            Assert.Equal(CompletionItemKind.Property, completionItems[0].Kind);
            Assert.Equal("doc string for a", completionItems[0].Documentation);
            Assert.Equal("a?: string", completionItems[0].Detail);

            Assert.Equal("b", completionItems[1].InsertText);
            Assert.Equal(CompletionItemKind.Property, completionItems[1].Kind);
            Assert.Equal("doc string for b", completionItems[1].Documentation);
            Assert.Equal("b?: DeployableItem", completionItems[1].Detail);
        }
Exemplo n.º 13
0
 public void NullTrie_WillThrow()
 {
     _Provider = new AutoCompleteProvider(null, new TrieNodeFactory <string>());
 }
 public void AdjustAutocomplete(AutoCompleteProvider autoComplete)
 {
     autoComplete.Add(_table);
 }
 public void AdjustAutocomplete(AutoCompleteProvider autoComplete)
 {
     autoComplete.Add(ColumnInfo);
 }
Exemplo n.º 16
0
 public void NullTrieNodeFactory_WillThrow()
 {
     _Provider = new AutoCompleteProvider(new Trie <string>(), null);
 }
Exemplo n.º 17
0
 public void Setup()
 {
     _Provider = new AutoCompleteProvider(new Trie <string>(), new TrieNodeFactory <string>());
     _Provider.Train("The third thing that I need to tell you is that this thing does not think thoroughly.");
 }
 public void AdjustAutocomplete(AutoCompleteProvider autoComplete)
 {
     autoComplete.Add(TableInfo);
 }
Exemplo n.º 19
0
 public void Setup()
 {
     _Provider = new AutoCompleteProvider(new Trie <string>(), new TrieNodeFactory <string>());
 }
Exemplo n.º 20
0
        public ConsoleGuiSqlEditor(IBasicActivateItems activator, IViewSQLAndResultsCollection collection)
        {
            this.Activator   = activator;
            this._collection = collection;
            Modal            = true;
            ColorScheme      = ConsoleMainWindow.ColorScheme;

            // Tabs (query and results)
            TabView = new TabView()
            {
                Width = Dim.Fill(), Height = Dim.Fill(), Y = 1
            };

            textView = new SqlTextView()
            {
                X      = 0,
                Y      = 0,
                Width  = Dim.Fill(),
                Height = Dim.Fill(),
                Text   = _orignalSql = collection.GetSql().Replace("\r\n", "\n").Replace("\t", "    ")
            };

            textView.AllowsTab = false;

            TabView.AddTab(queryTab = new Tab("Query", textView), true);

            tableView = new TableView()
            {
                X      = 0,
                Y      = 0,
                Width  = Dim.Fill(),
                Height = Dim.Fill()
            };

            tableView.Style.AlwaysShowHeaders = true;
            tableView.CellActivated          += TableView_CellActivated;

            TabView.AddTab(resultTab = new Tab("Results", tableView), false);

            Add(TabView);

            // Buttons on top of control

            _btnRunOrCancel = new Button("Run")
            {
                X = 0,
                Y = 0,
            };

            _btnRunOrCancel.Clicked += () => RunOrCancel();
            Add(_btnRunOrCancel);

            var resetSql = new Button("Reset Sq_l")
            {
                X = Pos.Right(_btnRunOrCancel) + 1
            };

            resetSql.Clicked += () => ResetSql();
            Add(resetSql);

            var clearSql = new Button("Clear S_ql")
            {
                X = Pos.Right(resetSql) + 1,
            };

            clearSql.Clicked += () => ClearSql();
            Add(clearSql);

            var lblTimeout = new Label("Timeout:")
            {
                X = Pos.Right(clearSql) + 1,
            };

            Add(lblTimeout);

            var tbTimeout = new TextField(_timeout.ToString())
            {
                X     = Pos.Right(lblTimeout),
                Width = 5
            };

            tbTimeout.TextChanged += TbTimeout_TextChanged;

            Add(tbTimeout);

            var btnSave = new Button("Save")
            {
                X = Pos.Right(tbTimeout) + 1,
            };

            btnSave.Clicked += () => Save();
            Add(btnSave);

            var btnClose = new Button("Clos_e")
            {
                X = Pos.Right(btnSave) + 1,
            };


            btnClose.Clicked += () => {
                Application.RequestStop();
            };

            Add(btnClose);

            var auto = new AutoCompleteProvider(collection.GetQuerySyntaxHelper());

            collection.AdjustAutocomplete(auto);
            var bits = auto.Items.SelectMany(auto.GetBits).OrderBy(a => a).Where(s => !string.IsNullOrWhiteSpace(s)).Distinct().ToList();

            textView.Autocomplete.AllSuggestions = bits;
            textView.Autocomplete.MaxWidth       = 40;
        }