public RazorCompletionResolveEndpointTest() { LSPTagHelperTooltipFactory = Mock.Of <LSPTagHelperTooltipFactory>(MockBehavior.Strict); VSLSPTagHelperTooltipFactory = Mock.Of <VSLSPTagHelperTooltipFactory>(MockBehavior.Strict); CompletionListCache = new CompletionListCache(); CompletionCapability = new VSInternalCompletionSetting() { CompletionItem = new CompletionItemSetting() { DocumentationFormat = new[] { MarkupKind.PlainText, MarkupKind.Markdown }, } }; DefaultClientCapability = new VSInternalClientCapabilities() { TextDocument = new TextDocumentClientCapabilities() { Completion = CompletionCapability, }, }; VSClientCapability = new VSInternalClientCapabilities() { TextDocument = new TextDocumentClientCapabilities() { Completion = CompletionCapability, }, SupportsVisualStudioExtensions = true, }; }
public static void UseCommitCharactersFrom( this VSInternalCompletionItem completionItem, RazorCompletionItem razorCompletionItem, VSInternalClientCapabilities clientCapabilities) { if (razorCompletionItem.CommitCharacters == null || razorCompletionItem.CommitCharacters.Count == 0) { return; } var supportsVSExtensions = clientCapabilities?.SupportsVisualStudioExtensions ?? false; if (supportsVSExtensions) { var vsCommitCharacters = razorCompletionItem .CommitCharacters .Select(c => new VSInternalCommitCharacter() { Character = c.Character, Insert = c.Insert }) .ToArray(); completionItem.VsCommitCharacters = vsCommitCharacters; } else { completionItem.CommitCharacters = razorCompletionItem .CommitCharacters .Select(c => c.Character) .ToArray(); } }
public RazorCompletionEndpointTest() { // Working around strong naming restriction. var tagHelperFactsService = new DefaultTagHelperFactsService(); var tagHelperCompletionService = new LanguageServerTagHelperCompletionService(tagHelperFactsService); var completionProviders = new RazorCompletionItemProvider[] { new DirectiveCompletionItemProvider(), new DirectiveAttributeCompletionItemProvider(tagHelperFactsService), new DirectiveAttributeParameterCompletionItemProvider(tagHelperFactsService), new TagHelperCompletionProvider(tagHelperCompletionService, new DefaultHtmlFactsService(), tagHelperFactsService) }; CompletionFactsService = new DefaultRazorCompletionFactsService(completionProviders); CompletionListCache = new CompletionListCache(); ClientCapabilities = new VSInternalClientCapabilities() { TextDocument = new TextDocumentClientCapabilities() { Completion = new VSInternalCompletionSetting() { CompletionItemKind = new CompletionItemKindSetting() { ValueSet = new[] { CompletionItemKind.TagHelper } }, CompletionList = new VSInternalCompletionListSetting() { CommitCharacters = true, Data = true, } } } }; }
public RegistrationExtensionResult GetRegistration(VSInternalClientCapabilities clientCapabilities) { const string AssociatedServerCapability = "_vs_onAutoInsertProvider"; var registrationOptions = new OnAutoInsertRegistrationOptions() { DocumentSelector = RazorDefaults.Selector, TriggerCharacters = _onAutoInsertTriggerCharacters, }; return(new RegistrationExtensionResult(AssociatedServerCapability, registrationOptions)); }
public RegistrationExtensionResult?GetRegistration(VSInternalClientCapabilities clientCapabilities) { const string AssociatedServerCapability = "_vs_inlineCompletionOptions"; var registrationOptions = new InlineCompletionOptions() { DocumentSelector = RazorDefaults.Selector, Pattern = string.Join("|", s_cSharpKeywords) }; return(new RegistrationExtensionResult(AssociatedServerCapability, registrationOptions)); }
public override RegistrationExtensionResult?GetRegistration(VSInternalClientCapabilities clientCapabilities) { const string AssociatedServerCapability = "_vs_uriPresentationProvider"; return(new RegistrationExtensionResult(AssociatedServerCapability, options: true)); }
public abstract RegistrationExtensionResult?GetRegistration(VSInternalClientCapabilities clientCapabilities);