public DefaultCSharpCodeActionResolver( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, DocumentResolver documentResolver, ClientNotifierServiceBase languageServer, RazorFormattingService razorFormattingService, DocumentVersionCache documentVersionCache) : base(languageServer) { if (projectSnapshotManagerDispatcher is null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } if (documentResolver is null) { throw new ArgumentNullException(nameof(documentResolver)); } if (razorFormattingService is null) { throw new ArgumentNullException(nameof(razorFormattingService)); } if (documentVersionCache is null) { throw new ArgumentNullException(nameof(documentVersionCache)); } _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _documentResolver = documentResolver; _razorFormattingService = razorFormattingService; _documentVersionCache = documentVersionCache; }
private void CreateCodeActionResolver( out CSharpCodeActionParams codeActionParams, out DefaultCSharpCodeActionResolver csharpCodeActionResolver, ClientNotifierServiceBase languageServer = null, DocumentVersionCache documentVersionCache = null, RazorFormattingService razorFormattingService = null) { var documentPath = "c:/Test.razor"; var documentUri = new Uri(documentPath); var contents = string.Empty; var codeDocument = CreateCodeDocument(contents, documentPath); codeActionParams = new CSharpCodeActionParams() { Data = new JObject(), RazorFileUri = documentUri }; languageServer ??= CreateLanguageServer(); documentVersionCache ??= CreateDocumentVersionCache(); razorFormattingService ??= CreateRazorFormattingService(documentUri); csharpCodeActionResolver = new DefaultCSharpCodeActionResolver( new DefaultForegroundDispatcher(), CreateDocumentResolver(documentPath, codeDocument), languageServer, razorFormattingService, documentVersionCache); }
public DefaultCSharpCodeActionResolver( ForegroundDispatcher foregroundDispatcher, DocumentResolver documentResolver, IClientLanguageServer languageServer, RazorFormattingService razorFormattingService, DocumentVersionCache documentVersionCache) : base(languageServer) { if (foregroundDispatcher is null) { throw new ArgumentNullException(nameof(foregroundDispatcher)); } if (documentResolver is null) { throw new ArgumentNullException(nameof(documentResolver)); } if (razorFormattingService is null) { throw new ArgumentNullException(nameof(razorFormattingService)); } if (documentVersionCache is null) { throw new ArgumentNullException(nameof(documentVersionCache)); } _foregroundDispatcher = foregroundDispatcher; _documentResolver = documentResolver; _razorFormattingService = razorFormattingService; _documentVersionCache = documentVersionCache; }
public async Task RazorCSharpFormattingAsync() { var options = new FormattingOptions() { TabSize = 4, InsertSpaces = true }; var range = TextSpan.FromBounds(0, DocumentText.Length).AsRange(DocumentText); var edits = await RazorFormattingService.FormatAsync(DocumentUri, DocumentSnapshot, range, options, CancellationToken.None); #if DEBUG // For debugging purposes only. var changedText = DocumentText.WithChanges(edits.Select(e => e.AsTextChange(DocumentText))); _ = changedText.ToString(); #endif }
public RazorLanguageEndpoint( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, DocumentResolver documentResolver, DocumentVersionCache documentVersionCache, RazorDocumentMappingService documentMappingService, RazorFormattingService razorFormattingService, ILoggerFactory loggerFactory) { if (projectSnapshotManagerDispatcher is null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } if (documentResolver is null) { throw new ArgumentNullException(nameof(documentResolver)); } if (documentVersionCache is null) { throw new ArgumentNullException(nameof(documentVersionCache)); } if (documentMappingService is null) { throw new ArgumentNullException(nameof(documentMappingService)); } if (razorFormattingService is null) { throw new ArgumentNullException(nameof(razorFormattingService)); } if (loggerFactory is null) { throw new ArgumentNullException(nameof(loggerFactory)); } _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _documentResolver = documentResolver; _documentVersionCache = documentVersionCache; _documentMappingService = documentMappingService; _razorFormattingService = razorFormattingService; _logger = loggerFactory.CreateLogger <RazorLanguageEndpoint>(); }
public RazorLanguageEndpoint( ForegroundDispatcher foregroundDispatcher, DocumentResolver documentResolver, DocumentVersionCache documentVersionCache, RazorDocumentMappingService documentMappingService, RazorFormattingService razorFormattingService, ILoggerFactory loggerFactory) { if (foregroundDispatcher == null) { throw new ArgumentNullException(nameof(foregroundDispatcher)); } if (documentResolver == null) { throw new ArgumentNullException(nameof(documentResolver)); } if (documentVersionCache == null) { throw new ArgumentNullException(nameof(documentVersionCache)); } if (documentMappingService == null) { throw new ArgumentNullException(nameof(documentMappingService)); } if (razorFormattingService == null) { throw new ArgumentNullException(nameof(razorFormattingService)); } if (loggerFactory == null) { throw new ArgumentNullException(nameof(loggerFactory)); } _foregroundDispatcher = foregroundDispatcher; _documentResolver = documentResolver; _documentVersionCache = documentVersionCache; _documentMappingService = documentMappingService; _razorFormattingService = razorFormattingService; _logger = loggerFactory.CreateLogger <RazorLanguageEndpoint>(); }
public async Task RazorCSharpFormattingAsync() { var options = new FormattingOptions() { TabSize = 4, InsertSpaces = true }; var useSourceTextDiffer = DifferType != DifferType.GetTextChanges; options["UseSourceTextDiffer"] = new OmniSharp.Extensions.LanguageServer.Protocol.Models.BooleanNumberString(useSourceTextDiffer); var range = TextSpan.FromBounds(0, DocumentText.Length).AsRange(DocumentText); var edits = await RazorFormattingService.FormatAsync(DocumentUri, DocumentSnapshot, range, options, CancellationToken.None); #if DEBUG // For debugging purposes only. var changedText = DocumentText.WithChanges(edits.Select(e => e.AsTextChange(DocumentText))); _ = changedText.ToString(); #endif }