Пример #1
0
        protected override IntellisenseController TryCreateIntellisenseController(ITextView textView, IList <ITextBuffer> subjectBuffers)
        {
            Antlr4IntellisenseController controller = new Antlr4IntellisenseController(textView, this, (Antlr4BackgroundParser)BackgroundParserFactoryService.GetBackgroundParser(textView.TextBuffer));

            textView.Properties[typeof(Antlr4IntellisenseController)] = controller;
            return(controller);
        }
 public Antlr4IntellisenseCommandFilter(IVsTextView textViewAdapter, Antlr4IntellisenseController controller)
     : base(textViewAdapter, controller)
 {
     var textView = Controller.Provider.EditorAdaptersFactoryService.GetWpfTextView(textViewAdapter);
     var textBuffer = textView.TextBuffer;
     _classifier = Controller.Provider.ClassifierAggregatorService.GetClassifier(textView.TextBuffer);
     _textStructureNavigator = Controller.Provider.TextStructureNavigatorSelectorService.GetTextStructureNavigator(textBuffer);
 }
        public Antlr4IntellisenseCommandFilter(IVsTextView textViewAdapter, Antlr4IntellisenseController controller)
            : base(textViewAdapter, controller)
        {
            var textView   = Controller.Provider.EditorAdaptersFactoryService.GetWpfTextView(textViewAdapter);
            var textBuffer = textView.TextBuffer;

            _classifier             = Controller.Provider.ClassifierAggregatorService.GetClassifier(textView.TextBuffer);
            _textStructureNavigator = Controller.Provider.TextStructureNavigatorSelectorService.GetTextStructureNavigator(textBuffer);
        }
Пример #4
0
        private IEnumerable <Completion> GetContextCompletions(SnapshotPoint triggerPoint, Antlr4IntellisenseController controller, ICompletionSession session)
        {
            var ruleSpans = BackgroundParser.RuleSpans;

            if (ruleSpans == null || ruleSpans.Count == 0)
            {
                return(EmptyCompletions);
            }

            var ruleNames = ruleSpans.Keys.ToArray();
            List <Completion> completions = ruleNames.Select(CreateRuleReferenceCompletion).ToList();

            return(completions);
            //// Antlr has the strange property that almost any globally visible token can be used throughout an expression (work out the subtle details later).
            //Element element;
            //if (!Provider.IntellisenseCache.TryResolveContext(AntlrIntellisenseCache.AntlrPositionReference.FromSnapshotPoint(triggerPoint), out element))
            //    return new List<Completion>();

            //List<Element> scopedDeclarations = element.GetScopedDeclarations().ToList();
            //List<Completion> completions = new List<Completion>();
            //foreach (var decl in scopedDeclarations)
            //{
            //    if (decl == null)
            //        continue;

            //    Completion completion = decl.CreateCompletion(controller, session);
            //    if (completion != null)
            //        completions.Add(completion);
            //}

            //return completions;
        }
 protected override IntellisenseController TryCreateIntellisenseController(ITextView textView, IList<ITextBuffer> subjectBuffers)
 {
     Antlr4IntellisenseController controller = new Antlr4IntellisenseController(textView, this, (Antlr4BackgroundParser)BackgroundParserFactoryService.GetBackgroundParser(textView.TextBuffer));
     textView.Properties[typeof(Antlr4IntellisenseController)] = controller;
     return controller;
 }