public CompletionListSerializationBenchmark() { var tagHelperFactsService = new DefaultTagHelperFactsService(); var completionService = new DefaultTagHelperCompletionService(tagHelperFactsService); var htmlFactsService = new DefaultHtmlFactsService(); var tagHelperCompletionProvider = new TagHelperCompletionProvider(completionService, htmlFactsService, tagHelperFactsService); var documentContent = "<"; var queryIndex = 1; CompletionList = GenerateCompletionList(documentContent, queryIndex, tagHelperCompletionProvider); _completionListBuffer = GenerateBuffer(CompletionList); Serializer.Instance.JsonSerializer.Converters.Add(TagHelperDescriptorJsonConverter.Instance); }
public CompletionListSerializationBenchmark() { var tagHelperFactsService = new DefaultTagHelperFactsService(); var completionService = new DefaultTagHelperCompletionService(tagHelperFactsService); var htmlFactsService = new DefaultHtmlFactsService(); var tagHelperCompletionProvider = new TagHelperCompletionProvider(completionService, htmlFactsService, tagHelperFactsService); var documentContent = "<"; var queryIndex = 1; CompletionList = GenerateCompletionList(documentContent, queryIndex, tagHelperCompletionProvider); _completionListBuffer = GenerateBuffer(CompletionList); Serializer = new LspSerializer(); Serializer.RegisterRazorConverters(); }
private CompletionList GenerateCompletionList(string documentContent, int queryIndex, TagHelperCompletionProvider componentCompletionProvider) { var sourceDocument = RazorSourceDocument.Create(documentContent, RazorSourceDocumentProperties.Default); var syntaxTree = RazorSyntaxTree.Parse(sourceDocument); var tagHelperDocumentContext = TagHelperDocumentContext.Create(prefix: string.Empty, DefaultTagHelpers); var completionQueryLocation = new SourceSpan(queryIndex, length: 0); var razorCompletionItems = componentCompletionProvider.GetCompletionItems(syntaxTree, tagHelperDocumentContext, completionQueryLocation); var completionList = RazorCompletionEndpoint.CreateLSPCompletionList(razorCompletionItems, new CompletionListCache(), new[] { ExtendedCompletionItemKinds.TagHelper }); return(completionList); }
private CompletionList GenerateCompletionList(string documentContent, int queryIndex, TagHelperCompletionProvider componentCompletionProvider) { var sourceDocument = RazorSourceDocument.Create(documentContent, RazorSourceDocumentProperties.Default); var syntaxTree = RazorSyntaxTree.Parse(sourceDocument); var tagHelperDocumentContext = TagHelperDocumentContext.Create(prefix: string.Empty, DefaultTagHelpers); var completionQueryLocation = new SourceSpan(queryIndex, length: 0); var context = new RazorCompletionContext(syntaxTree, tagHelperDocumentContext); var razorCompletionItems = componentCompletionProvider.GetCompletionItems(context, completionQueryLocation); var completionList = RazorCompletionEndpoint.CreateLSPCompletionList( razorCompletionItems, new CompletionListCache(), new VSInternalClientCapabilities() { TextDocument = new TextDocumentClientCapabilities() { Completion = new VSInternalCompletionSetting() { CompletionItemKind = new CompletionItemKindSetting() { ValueSet = new[] { CompletionItemKind.TagHelper } }, CompletionList = new VSInternalCompletionListSetting() { CommitCharacters = true, Data = true, } } } }); return(completionList); }