csharp4405de34 | 1 | namespace CascadeIDE.Services.Lsp; |
| 2 | |
| 3 | /// <summary>Пресеты запуска Markdown language server (Marksman и др.), один процесс на workspace.</summary> |
| 4 | public static class MarkdownLspProviderIds |
| 5 | { |
| 6 | public const string Off = "Off"; |
| 7 | |
| 8 | /// <summary>Marksman — ссылки и диагностики по <c>*.md</c> в корне workspace.</summary> |
| 9 | public const string Marksman = "Marksman"; |
| 10 | |
| 11 | public const string Custom = "Custom"; |
| 12 | |
| 13 | public static readonly string[] All = [Off, Marksman, Custom]; |
| 14 | |
| 15 | public static (string fileName, string arguments) ResolveProcessArgs( |
| 16 | string providerId, |
| 17 | string? userExecutable, |
| 18 | string? userArguments) |
| 19 | { |
| 20 | var extra = string.IsNullOrWhiteSpace(userArguments) ? "" : userArguments.Trim(); |
| 21 | return providerId switch |
| 22 | { |
| 23 | Marksman => ( |
| 24 | string.IsNullOrWhiteSpace(userExecutable) ? "marksman" : userExecutable.Trim(), |
| 25 | extra), |
| 26 | Custom => ( |
| 27 | userExecutable?.Trim() ?? "", |
| 28 | extra), |
| 29 | _ => ("", "") |
| 30 | }; |
| 31 | } |
| 32 | } |
| 33 | |
View only · write via MCP/CIDE