示例#1
0
 public SyntaxClassifier(
     IStandardClassificationService standardClassification,
     IClassificationTypeRegistryService classificationRegistry,
     ITextBuffer textBuffer)
 {
     _classificationTypes = new IClassificationType[]
       {
     standardClassification.WhiteSpace,
     standardClassification.Identifier,
     standardClassification.Keyword,
     standardClassification.PreprocessorKeyword,
     standardClassification.Operator,
     standardClassification.Other,
     standardClassification.NumberLiteral,
     standardClassification.CharacterLiteral,
     standardClassification.Comment,
     standardClassification.Comment,
     standardClassification.StringLiteral,
     classificationRegistry.GetClassificationType(ClassificationTypes.VerbatimStringName),
     classificationRegistry.GetClassificationType(ClassificationTypes.RecursiveStringName),
     classificationRegistry.GetClassificationType(ClassificationTypes.QuotationName),
     classificationRegistry.GetClassificationType(ClassificationTypes.QuotationBracesName),
     classificationRegistry.GetClassificationType(ClassificationTypes.ToDoCommentName),
     classificationRegistry.GetClassificationType(ClassificationTypes.BugCommentName),
     classificationRegistry.GetClassificationType(ClassificationTypes.HackCommentName),
       };
       _textBuffer = textBuffer;
       _textBuffer.Changed += TextBuffer_Changed;
 }
        public JsCommandFilter(IWpfTextView textView, ICompletionBroker broker, IStandardClassificationService standardClassifications)
        {
            _currentSession = null;

            TextView = textView;
            Broker = broker;
            _standardClassifications = standardClassifications;
        }
示例#3
0
 public TypeClassifier(
     IStandardClassificationService standardClassification,
     IClassificationTypeRegistryService classificationRegistry,
     ITextBuffer textBuffer)
 {
     _textBuffer          = textBuffer;
       _userStyle           = classificationRegistry.GetClassificationType(ClassificationTypes.UserTypeName);
       _predefinedStyle     = standardClassification.Keyword;
       _textBuffer.Changed += TextBuffer_Changed;
 }
        internal Commands(IInteractiveWindow window, string prefix, IEnumerable<IInteractiveWindowCommand> commands, IContentTypeRegistryService contentTypeRegistry = null, IStandardClassificationService classificationRegistry = null)
        {
            CommandPrefix = prefix;
            _window = window;

            Dictionary<string, IInteractiveWindowCommand> commandsDict = new Dictionary<string, IInteractiveWindowCommand>();
            foreach (var command in commands)
            {
                int length = 0;
                foreach (var name in command.Names)
                {
                    if (commandsDict.ContainsKey(name))
                    {
                        throw new InvalidOperationException(string.Format(InteractiveWindowResources.DuplicateCommand, string.Join(_commandSeparator, command.Names)));
                    }
                    if (length != 0)
                    {
                        length += _commandSeparator.Length;
                    }
                    // plus the length of `#` for display purpose
                    length += name.Length + 1;

                    commandsDict[name] = command;
                }
                if (length == 0)
                {
                    throw new InvalidOperationException(string.Format(InteractiveWindowResources.MissingCommandName, command.GetType().Name));
                }
                _maxCommandNameLength = Math.Max(_maxCommandNameLength, length);
            }

            _commands = commandsDict;

            _classificationRegistry = classificationRegistry;

            if (contentTypeRegistry != null)
            {
                _commandContentType = contentTypeRegistry.GetContentType(PredefinedInteractiveCommandsContentTypes.InteractiveCommandContentTypeName);
            }

            if (window != null)
            {
                window.SubmissionBufferAdded += Window_SubmissionBufferAdded;
                window.Properties[typeof(IInteractiveWindowCommands)] = this;
            }
        }
        public static string GetJavaScriptStringValue(this IWpfTextView textView, IStandardClassificationService standardClassifications)
        {
            var buffers = textView.BufferGraph.GetTextBuffers(b => b.ContentType.IsOfType("JavaScript") && textView.GetSelection("JavaScript").HasValue && textView.GetSelection("JavaScript").Value.Snapshot.TextBuffer == b);

            if (!buffers.Any())
            {
                return null;
            }

            var tagger = buffers.First().Properties.GetProperty<ITagger<ClassificationTag>>(jsTaggerType);

            var text = tagger.GetTags(new NormalizedSnapshotSpanCollection(new SnapshotSpan(textView.Caret.Position.BufferPosition, 0)))
                    .Where(s => s.Tag.ClassificationType == standardClassifications.StringLiteral)
                    .Select(s => s.Span.GetText())
                    .FirstOrDefault();

            return text != null ? text.Substring(1, text.Length - 2) : null;
        }
        internal Commands(IInteractiveWindow window, string prefix, IEnumerable<IInteractiveWindowCommand> commands, IContentTypeRegistryService contentTypeRegistry = null, IStandardClassificationService classificationRegistry = null)
        {
            CommandPrefix = prefix;
            this.window = window;

            Dictionary<string, IInteractiveWindowCommand> commandsDict = new Dictionary<string, IInteractiveWindowCommand>();
            foreach (var command in commands)
            {
                if (command.Name == null)
                {
                    continue;
                }

                if (commandsDict.ContainsKey(command.Name))
                {
                    throw new InvalidOperationException(string.Format(InteractiveWindowResources.DuplicateCommand, command.Name));
                }

                commandsDict[command.Name] = command;
            }

            this.commands = commandsDict;

            this.maxCommandNameLength = (this.commands.Count > 0) ? this.commands.Values.Select(command => command.Name.Length).Max() : 0;

            this.classificationRegistry = classificationRegistry;
            if (contentTypeRegistry != null)
            {
                this.commandContentType = contentTypeRegistry.GetContentType(PredefinedInteractiveCommandsContentTypes.InteractiveCommandContentTypeName);
            }

            if (window != null)
            {
                window.SubmissionBufferAdded += Window_SubmissionBufferAdded;
                window.Properties[typeof(IInteractiveWindowCommands)] = this;
            }
        }
示例#7
0
 public InteractiveWaitCommand(IStandardClassificationService registry)
 {
     _registry = registry;
 }
 internal FlexTokenizer(IStandardClassificationService classifications) => Classifications = classifications;
示例#9
0
 public ColoringTagger(ITextBuffer buffer, IClassificationTypeRegistryService classificationRegistry, IStandardClassificationService standardClassifications)
 {
     this.Buffer   = buffer;
     this.Snapshot = this.Buffer.CurrentSnapshot;
     this.ClassificationRegistry  = classificationRegistry;
     this.StandardClassifications = standardClassifications;
     this.Buffer.Changed         += Buffer_Changed;
 }
示例#10
0
 public RustClassifier(ITextBuffer buffer, IStandardClassificationService standardClassificationService)
 {
     InitializeClassifierDictionary(standardClassificationService);
     _buffer = buffer;
 }
 public HlslClassificationService(IClassificationTypeRegistryService classificationTypeRegistryService, IStandardClassificationService standardClassificationService)
 {
     _classificationTypeRegistryService = classificationTypeRegistryService;
     _standardClassificationService = standardClassificationService;
 }
示例#12
0
 public ResetCommand(IStandardClassificationService registry)
 {
     _registry = registry;
 }
示例#13
0
 public CommandClassifier(IStandardClassificationService registry, IInteractiveWindowCommands commands)
 {
     _registry = registry;
     _commands = commands;
 }
        public static string GetTypeScriptStringValue(this IWpfTextView textView, IClassifier classifier, IStandardClassificationService standardClassifications)
        {
            var buffers = textView.BufferGraph.GetTextBuffers(b => b.ContentType.IsOfType("TypeScript") && textView.GetSelection("TypeScript").HasValue&& textView.GetSelection("TypeScript").Value.Snapshot.TextBuffer == b);

            if (!buffers.Any())
            {
                return(null);
            }

            int position = textView.Caret.Position.BufferPosition;

            if (position == textView.TextBuffer.CurrentSnapshot.Length)
            {
                position = position - 1;
            }

            var span   = new SnapshotSpan(textView.TextBuffer.CurrentSnapshot, position, 1);
            var cspans = classifier.GetClassificationSpans(span);
            var text   = cspans
                         .Where(s => s.ClassificationType == standardClassifications.StringLiteral)
                         .Select(s => s.Span.GetText())
                         .FirstOrDefault();

            return(text != null?text.Substring(1, text.Length - 2) : null);
        }
 public JsCommandFilter(IWpfTextView textView, ICompletionBroker CompletionBroker, IStandardClassificationService standardClassifications)
 {
     TextView = textView;
     Broker   = CompletionBroker;
     _standardClassifications = standardClassifications;
 }
示例#16
0
 internal ILClassifier(IStandardClassificationService standardClassificationService)
 {
     _standardClassificationService = standardClassificationService;
 }
 public ShaderLabClassificationService(IClassificationTypeRegistryService classificationTypeRegistryService, IStandardClassificationService standardClassificationService)
 {
     _classificationTypeRegistryService = classificationTypeRegistryService;
     _standardClassificationService     = standardClassificationService;
 }
示例#18
0
文件: Editor.cs 项目: knat/SData
 internal LanguageClassifier(ITextBuffer textBuffer, IStandardClassificationService standardService)
     : base(textBuffer, standardService, ParserConstants.KeywordSet)
 {
 }
示例#19
0
        internal Commands(IInteractiveWindow window, string prefix, IEnumerable <IInteractiveWindowCommand> commands, IContentTypeRegistryService contentTypeRegistry = null, IStandardClassificationService classificationRegistry = null)
        {
            CommandPrefix = prefix;
            _window       = window;

            Dictionary <string, IInteractiveWindowCommand> commandsDict = new Dictionary <string, IInteractiveWindowCommand>();

            foreach (var command in commands)
            {
                int length = 0;
                foreach (var name in command.Names)
                {
                    if (commandsDict.ContainsKey(name))
                    {
                        throw new InvalidOperationException(string.Format(InteractiveWindowResources.DuplicateCommand, string.Join(", ", command.Names)));
                    }
                    if (length != 0)
                    {
                        length += _commandSeparator.Length;
                    }
                    length += name.Length;

                    commandsDict[name] = command;
                }
                if (length == 0)
                {
                    throw new InvalidOperationException(string.Format(InteractiveWindowResources.MissingCommandName, command.GetType().Name));
                }
                _maxCommandNameLength = Math.Max(_maxCommandNameLength, length);
            }

            _commands = commandsDict;

            _classificationRegistry = classificationRegistry;

            if (contentTypeRegistry != null)
            {
                _commandContentType = contentTypeRegistry.GetContentType(PredefinedInteractiveCommandsContentTypes.InteractiveCommandContentTypeName);
            }

            if (window != null)
            {
                window.SubmissionBufferAdded += Window_SubmissionBufferAdded;
                window.Properties[typeof(IInteractiveWindowCommands)] = this;
            }
        }
 public TsCommandFilter(IWpfTextView textView, Intel.ICompletionBroker CompletionBroker, IStandardClassificationService standardClassifications)
 {
     TextView = textView;
     Broker = CompletionBroker;
     _standardClassifications = standardClassifications;
 }
示例#21
0
文件: Tagger.cs 项目: zxckiller/VSLua
 private static Dictionary <Classification, IClassificationType> InitializeDictionary(IStandardClassificationService standardClassifications, IClassificationTypeRegistryService classificationTypeRegistry)
 {
     return(new Dictionary <Classification, IClassificationType>()
     {
         { Classification.Comment, standardClassifications.Comment },
         { Classification.Keyword, standardClassifications.Keyword },
         { Classification.KeyValue, standardClassifications.Literal },
         { Classification.Operator, standardClassifications.Operator },
         { Classification.Number, standardClassifications.NumberLiteral },
         { Classification.Punctuation, classificationTypeRegistry.GetClassificationType("punctuation") },
         { Classification.StringLiteral, standardClassifications.StringLiteral },
         { Classification.Bracket, classificationTypeRegistry.GetClassificationType("punctuation") },
         { Classification.Global, classificationTypeRegistry.GetClassificationType(Constants.Colourization.GlobalName) },
         { Classification.Local, classificationTypeRegistry.GetClassificationType(Constants.Colourization.LocalName) },
         { Classification.ParameterReference, classificationTypeRegistry.GetClassificationType(Constants.Colourization.ParamName) },
         { Classification.Field, classificationTypeRegistry.GetClassificationType(Constants.Colourization.FieldName) }
     });
 }
示例#22
0
 public InteractiveWaitCommand(IStandardClassificationService registry) {
     _registry = registry;
 }
示例#23
0
 public CommandClassifier(IStandardClassificationService registry, IInteractiveWindowCommands commands)
 {
     _registry = registry;
     _commands = commands;
 }
 public InteractiveCommandsFactory(IContentTypeRegistryService contentTypeRegistry, IStandardClassificationService classification)
 {
     this.contentTypeRegistry = contentTypeRegistry;
     this.standardClassification = classification;
 }
示例#25
0
 public ResetCommand(IStandardClassificationService registry)
 {
     _registry = registry;
 }
示例#26
0
 public InteractiveWindowResetCommand(IStandardClassificationService registry) =>
示例#27
0
 public ControllerGoToDefinition(IVsTextView adapter, IWpfTextView textView, DTE dte, IStandardClassificationService standardClassifications, IClassifierAggregatorService classifierAggreagatorService, INgHierarchyProvider ngHierarchyProvider) : base(adapter, textView, VSConstants.VSStd97CmdID.GotoDefn)
 {
     this.adapter = adapter;
     this.dte     = dte;
     this.standardClassifications = standardClassifications;
     this.classifier          = classifierAggreagatorService.GetClassifier(textView.TextBuffer);
     this.ngHierarchyProvider = ngHierarchyProvider;
 }