Skip to content

Commit b56c092

Browse files
committed
Merge remote-tracking branch 'upstream/main' into pre-snap-code-clean-up
2 parents a9d6009 + 08ad141 commit b56c092

File tree

14 files changed

+282
-253
lines changed

14 files changed

+282
-253
lines changed

src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/Extensions/IServiceCollectionExtensions.cs

Lines changed: 19 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -59,19 +59,16 @@ public static void AddLifeCycleServices(this IServiceCollection services, RazorL
5959
services.AddSingleton<IOnInitialized>(clientConnection);
6060
}
6161

62-
public static void AddFormattingServices(this IServiceCollection services, LanguageServerFeatureOptions featureOptions)
62+
public static void AddFormattingServices(this IServiceCollection services)
6363
{
6464
// Formatting
6565
services.AddSingleton<IRazorFormattingService, RazorFormattingService>();
6666

67-
if (!featureOptions.UseRazorCohostServer)
68-
{
69-
services.AddSingleton<IHtmlFormatter, HtmlFormatter>();
67+
services.AddSingleton<IHtmlFormatter, HtmlFormatter>();
7068

71-
services.AddHandlerWithCapabilities<DocumentFormattingEndpoint>();
72-
services.AddHandlerWithCapabilities<DocumentOnTypeFormattingEndpoint>();
73-
services.AddHandlerWithCapabilities<DocumentRangeFormattingEndpoint>();
74-
}
69+
services.AddHandlerWithCapabilities<DocumentFormattingEndpoint>();
70+
services.AddHandlerWithCapabilities<DocumentOnTypeFormattingEndpoint>();
71+
services.AddHandlerWithCapabilities<DocumentRangeFormattingEndpoint>();
7572
}
7673

7774
public static void AddCompletionServices(this IServiceCollection services)
@@ -113,17 +110,14 @@ public static void AddHoverServices(this IServiceCollection services)
113110
services.AddHandlerWithCapabilities<HoverEndpoint>();
114111
}
115112

116-
public static void AddSemanticTokensServices(this IServiceCollection services, LanguageServerFeatureOptions featureOptions)
113+
public static void AddSemanticTokensServices(this IServiceCollection services)
117114
{
118-
if (!featureOptions.UseRazorCohostServer)
119-
{
120-
services.AddHandlerWithCapabilities<SemanticTokensRangeEndpoint>();
121-
// Ensure that we don't add the default service if something else has added one.
122-
services.TryAddSingleton<IRazorSemanticTokensInfoService, RazorSemanticTokensInfoService>();
123-
services.AddSingleton<ICSharpSemanticTokensProvider, LSPCSharpSemanticTokensProvider>();
115+
services.AddHandlerWithCapabilities<SemanticTokensRangeEndpoint>();
116+
// Ensure that we don't add the default service if something else has added one.
117+
services.TryAddSingleton<IRazorSemanticTokensInfoService, RazorSemanticTokensInfoService>();
118+
services.AddSingleton<ICSharpSemanticTokensProvider, LSPCSharpSemanticTokensProvider>();
124119

125-
services.AddSingleton<ISemanticTokensLegendService, RazorSemanticTokensLegendService>();
126-
}
120+
services.AddSingleton<ISemanticTokensLegendService, RazorSemanticTokensLegendService>();
127121

128122
services.AddHandler<RazorSemanticTokensRefreshEndpoint>();
129123

@@ -168,18 +162,15 @@ public static void AddCodeActionsServices(this IServiceCollection services)
168162
services.AddSingleton<IHtmlCodeActionResolver, HtmlCodeActionResolver>();
169163
}
170164

171-
public static void AddTextDocumentServices(this IServiceCollection services, LanguageServerFeatureOptions featureOptions)
165+
public static void AddTextDocumentServices(this IServiceCollection services)
172166
{
173-
if (!featureOptions.UseRazorCohostServer)
174-
{
175-
services.AddHandlerWithCapabilities<TextDocumentTextPresentationEndpoint>();
176-
services.AddHandlerWithCapabilities<TextDocumentUriPresentationEndpoint>();
177-
178-
services.AddSingleton<ISpellCheckService, SpellCheckService>();
179-
services.AddSingleton<ICSharpSpellCheckRangeProvider, LspCSharpSpellCheckRangeProvider>();
180-
services.AddHandlerWithCapabilities<DocumentSpellCheckEndpoint>();
181-
services.AddHandler<WorkspaceSpellCheckEndpoint>();
182-
}
167+
services.AddHandlerWithCapabilities<TextDocumentTextPresentationEndpoint>();
168+
services.AddHandlerWithCapabilities<TextDocumentUriPresentationEndpoint>();
169+
170+
services.AddSingleton<ISpellCheckService, SpellCheckService>();
171+
services.AddSingleton<ICSharpSpellCheckRangeProvider, LspCSharpSpellCheckRangeProvider>();
172+
services.AddHandlerWithCapabilities<DocumentSpellCheckEndpoint>();
173+
services.AddHandler<WorkspaceSpellCheckEndpoint>();
183174

184175
services.AddHandlerWithCapabilities<DocumentDidChangeEndpoint>();
185176
services.AddHandler<DocumentDidCloseEndpoint>();

src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/GeneratedDocumentPublisher.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,11 @@ public void PublishCSharp(ProjectKey projectKey, string filePath, SourceText sou
9797
{
9898
HostDocumentFilePath = filePath,
9999
ProjectKeyId = projectKey.Id,
100-
Changes = textChanges.Select(static t => t.ToRazorTextChange()).ToArray(),
100+
Changes = [.. textChanges.Select(static t => t.ToRazorTextChange())],
101101
HostDocumentVersion = hostDocumentVersion,
102+
PreviousHostDocumentVersion = previouslyPublishedData.HostDocumentVersion,
102103
PreviousWasEmpty = previouslyPublishedData.SourceText.Length == 0,
103-
Checksum = Convert.ToBase64String(sourceText.GetChecksum().ToArray()),
104+
Checksum = Convert.ToBase64String([.. sourceText.GetChecksum()]),
104105
ChecksumAlgorithm = sourceText.ChecksumAlgorithm,
105106
SourceEncodingCodePage = sourceText.Encoding?.CodePage
106107
};
@@ -144,10 +145,10 @@ public void PublishHtml(ProjectKey projectKey, string filePath, SourceText sourc
144145
{
145146
HostDocumentFilePath = filePath,
146147
ProjectKeyId = projectKey.Id,
147-
Changes = textChanges.Select(static t => t.ToRazorTextChange()).ToArray(),
148+
Changes = [.. textChanges.Select(static t => t.ToRazorTextChange())],
148149
HostDocumentVersion = hostDocumentVersion,
149150
PreviousWasEmpty = previouslyPublishedData.SourceText.Length == 0,
150-
Checksum = Convert.ToBase64String(sourceText.GetChecksum().ToArray()),
151+
Checksum = Convert.ToBase64String([.. sourceText.GetChecksum()]),
151152
ChecksumAlgorithm = sourceText.ChecksumAlgorithm,
152153
SourceEncodingCodePage = sourceText.Encoding?.CodePage
153154
};

src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/GeneratedDocumentSynchronizer.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,9 @@ public void DocumentProcessed(RazorCodeDocument codeDocument, DocumentSnapshot d
3434
return;
3535
}
3636

37-
// If cohosting is on, then it is responsible for updating the Html buffer
38-
if (!_languageServerFeatureOptions.UseRazorCohostServer)
39-
{
40-
var htmlText = codeDocument.GetHtmlSourceText();
37+
var htmlText = codeDocument.GetHtmlSourceText();
4138

42-
_publisher.PublishHtml(document.Project.Key, filePath, htmlText, hostDocumentVersion);
43-
}
39+
_publisher.PublishHtml(document.Project.Key, filePath, htmlText, hostDocumentVersion);
4440

4541
var csharpText = codeDocument.GetCSharpSourceText();
4642

src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/RazorLanguageServer.cs

Lines changed: 46 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public void Dispose()
8282
_jsonRpc.Dispose();
8383
}
8484

85-
private static ILspLogger CreateILspLogger(ILoggerFactory loggerFactory, ITelemetryReporter telemetryReporter)
85+
private static ClaspLoggingBridge CreateILspLogger(ILoggerFactory loggerFactory, ITelemetryReporter telemetryReporter)
8686
{
8787
return new ClaspLoggingBridge(loggerFactory, telemetryReporter);
8888
}
@@ -127,40 +127,37 @@ protected override ILspServices ConstructLspServices()
127127

128128
services.AddLifeCycleServices(this, _clientConnection, _lspServerActivationTracker);
129129

130-
services.AddSemanticTokensServices(featureOptions);
130+
services.AddSemanticTokensServices();
131131
services.AddDocumentManagementServices();
132-
services.AddFormattingServices(featureOptions);
132+
services.AddFormattingServices();
133133
services.AddOptionsServices(_lspOptions);
134-
services.AddTextDocumentServices(featureOptions);
134+
services.AddTextDocumentServices();
135135

136-
if (!featureOptions.UseRazorCohostServer)
137-
{
138-
// Diagnostics
139-
services.AddDiagnosticServices();
136+
// Diagnostics
137+
services.AddDiagnosticServices();
140138

141-
services.AddCodeActionsServices();
139+
services.AddCodeActionsServices();
142140

143-
// Completion
144-
services.AddCompletionServices();
141+
// Completion
142+
services.AddCompletionServices();
145143

146-
// Auto insert
147-
services.AddSingleton<IOnAutoInsertProvider, CloseTextTagOnAutoInsertProvider>();
148-
services.AddSingleton<IOnAutoInsertProvider, AutoClosingTagOnAutoInsertProvider>();
144+
// Auto insert
145+
services.AddSingleton<IOnAutoInsertProvider, CloseTextTagOnAutoInsertProvider>();
146+
services.AddSingleton<IOnAutoInsertProvider, AutoClosingTagOnAutoInsertProvider>();
149147

150-
services.AddSingleton<IAutoInsertService, AutoInsertService>();
148+
services.AddSingleton<IAutoInsertService, AutoInsertService>();
151149

152-
// Folding Range Providers
153-
services.AddSingleton<IRazorFoldingRangeProvider, RazorCodeBlockFoldingProvider>();
154-
services.AddSingleton<IRazorFoldingRangeProvider, RazorCSharpStatementFoldingProvider>();
155-
services.AddSingleton<IRazorFoldingRangeProvider, RazorCSharpStatementKeywordFoldingProvider>();
156-
services.AddSingleton<IRazorFoldingRangeProvider, SectionDirectiveFoldingProvider>();
157-
services.AddSingleton<IRazorFoldingRangeProvider, UsingsFoldingRangeProvider>();
150+
// Folding Range Providers
151+
services.AddSingleton<IRazorFoldingRangeProvider, RazorCodeBlockFoldingProvider>();
152+
services.AddSingleton<IRazorFoldingRangeProvider, RazorCSharpStatementFoldingProvider>();
153+
services.AddSingleton<IRazorFoldingRangeProvider, RazorCSharpStatementKeywordFoldingProvider>();
154+
services.AddSingleton<IRazorFoldingRangeProvider, SectionDirectiveFoldingProvider>();
155+
services.AddSingleton<IRazorFoldingRangeProvider, UsingsFoldingRangeProvider>();
158156

159-
services.AddSingleton<IFoldingRangeService, FoldingRangeService>();
157+
services.AddSingleton<IFoldingRangeService, FoldingRangeService>();
160158

161-
// Hover
162-
services.AddHoverServices();
163-
}
159+
// Hover
160+
services.AddHoverServices();
164161

165162
// Other
166163
services.AddSingleton<IRazorComponentSearchEngine, RazorComponentSearchEngine>();
@@ -171,54 +168,51 @@ protected override ILspServices ConstructLspServices()
171168
// Defaults: For when the caller hasn't provided them through the `configure` action.
172169
services.TryAddSingleton<IHostServicesProvider, DefaultHostServicesProvider>();
173170

174-
AddHandlers(services, featureOptions);
171+
AddHandlers(services);
175172

176173
var lspServices = new LspServices(services);
177174

178175
return lspServices;
179176

180-
static void AddHandlers(IServiceCollection services, LanguageServerFeatureOptions featureOptions)
177+
static void AddHandlers(IServiceCollection services)
181178
{
182179
// Not calling AddHandler because we want to register this endpoint as an IOnInitialized too
183180
services.AddSingleton<RazorConfigurationEndpoint>();
184181
services.AddSingleton<IMethodHandler, RazorConfigurationEndpoint>(s => s.GetRequiredService<RazorConfigurationEndpoint>());
185182
// Transient because it should only be used once and I'm hoping it doesn't stick around.
186183
services.AddTransient<IOnInitialized>(sp => sp.GetRequiredService<RazorConfigurationEndpoint>());
187184

188-
if (!featureOptions.UseRazorCohostServer)
189-
{
190-
services.AddHandlerWithCapabilities<ImplementationEndpoint>();
185+
services.AddHandlerWithCapabilities<ImplementationEndpoint>();
191186

192-
services.AddSingleton<IRazorComponentDefinitionService, RazorComponentDefinitionService>();
193-
services.AddHandlerWithCapabilities<DefinitionEndpoint>();
187+
services.AddSingleton<IRazorComponentDefinitionService, RazorComponentDefinitionService>();
188+
services.AddHandlerWithCapabilities<DefinitionEndpoint>();
194189

195-
services.AddSingleton<IRenameService, RenameService>();
196-
services.AddHandlerWithCapabilities<RenameEndpoint>();
190+
services.AddSingleton<IRenameService, RenameService>();
191+
services.AddHandlerWithCapabilities<RenameEndpoint>();
197192

198-
services.AddHandlerWithCapabilities<OnAutoInsertEndpoint>();
199-
services.AddHandlerWithCapabilities<DocumentHighlightEndpoint>();
200-
services.AddHandlerWithCapabilities<SignatureHelpEndpoint>();
201-
services.AddHandlerWithCapabilities<LinkedEditingRangeEndpoint>();
202-
services.AddHandlerWithCapabilities<FoldingRangeEndpoint>();
193+
services.AddHandlerWithCapabilities<OnAutoInsertEndpoint>();
194+
services.AddHandlerWithCapabilities<DocumentHighlightEndpoint>();
195+
services.AddHandlerWithCapabilities<SignatureHelpEndpoint>();
196+
services.AddHandlerWithCapabilities<LinkedEditingRangeEndpoint>();
197+
services.AddHandlerWithCapabilities<FoldingRangeEndpoint>();
203198

204-
services.AddSingleton<IInlayHintService, InlayHintService>();
205-
services.AddHandlerWithCapabilities<InlayHintEndpoint>();
206-
services.AddHandler<InlayHintResolveEndpoint>();
199+
services.AddSingleton<IInlayHintService, InlayHintService>();
200+
services.AddHandlerWithCapabilities<InlayHintEndpoint>();
201+
services.AddHandler<InlayHintResolveEndpoint>();
207202

208-
services.AddHandlerWithCapabilities<DocumentSymbolEndpoint>();
209-
services.AddSingleton<IDocumentSymbolService, DocumentSymbolService>();
203+
services.AddHandlerWithCapabilities<DocumentSymbolEndpoint>();
204+
services.AddSingleton<IDocumentSymbolService, DocumentSymbolService>();
210205

211-
services.AddHandlerWithCapabilities<DocumentColorEndpoint>();
212-
services.AddHandler<ColorPresentationEndpoint>();
206+
services.AddHandlerWithCapabilities<DocumentColorEndpoint>();
207+
services.AddHandler<ColorPresentationEndpoint>();
213208

214-
services.AddHandlerWithCapabilities<ProjectContextsEndpoint>();
209+
services.AddHandlerWithCapabilities<ProjectContextsEndpoint>();
215210

216-
services.AddHandlerWithCapabilities<FindAllReferencesEndpoint>();
211+
services.AddHandlerWithCapabilities<FindAllReferencesEndpoint>();
217212

218-
services.AddHandlerWithCapabilities<ValidateBreakpointRangeEndpoint>();
219-
services.AddHandler<RazorBreakpointSpanEndpoint>();
220-
services.AddHandler<RazorProximityExpressionsEndpoint>();
221-
}
213+
services.AddHandlerWithCapabilities<ValidateBreakpointRangeEndpoint>();
214+
services.AddHandler<RazorBreakpointSpanEndpoint>();
215+
services.AddHandler<RazorProximityExpressionsEndpoint>();
222216

223217
services.AddHandler<WrapWithTagEndpoint>();
224218

src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Protocol/UpdateBufferRequest.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ internal sealed class UpdateBufferRequest
1111
[JsonPropertyName("hostDocumentVersion")]
1212
public int? HostDocumentVersion { get; set; }
1313

14+
[JsonPropertyName("previousHostDocumentVersion")]
15+
public int? PreviousHostDocumentVersion { get; set; }
16+
1417
[JsonPropertyName("projectKeyId")]
1518
public string? ProjectKeyId { get; set; }
1619

src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Resources/xlf/SR.ru.xlf

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)