diff --git a/src/PowerShellEditorServices.Protocol/LanguageServer/CodeAction.cs b/src/PowerShellEditorServices.Protocol/LanguageServer/CodeAction.cs new file mode 100644 index 000000000..deb0cb17f --- /dev/null +++ b/src/PowerShellEditorServices.Protocol/LanguageServer/CodeAction.cs @@ -0,0 +1,32 @@ +using Microsoft.PowerShell.EditorServices.Protocol.MessageProtocol; +using Newtonsoft.Json.Linq; + +namespace Microsoft.PowerShell.EditorServices.Protocol.LanguageServer +{ + public class CodeActionRequest + { + public static readonly + RequestType Type = + RequestType.Create("textDocument/codeAction"); + + public TextDocumentIdentifier TextDocument { get; set; } + + public Range Range { get; set; } + + public CodeActionContext Context { get; set; } + } + + public class CodeActionContext + { + public Diagnostic[] Diagnostics { get; set; } + } + + public class CodeActionCommand + { + public string Title { get; set; } + + public string Command { get; set; } + + public JArray Arguments { get; set; } + } +} diff --git a/src/PowerShellEditorServices.Protocol/LanguageServer/ServerCapabilities.cs b/src/PowerShellEditorServices.Protocol/LanguageServer/ServerCapabilities.cs index 34ba312f8..aeebb411d 100644 --- a/src/PowerShellEditorServices.Protocol/LanguageServer/ServerCapabilities.cs +++ b/src/PowerShellEditorServices.Protocol/LanguageServer/ServerCapabilities.cs @@ -24,6 +24,8 @@ public class ServerCapabilities public bool? DocumentSymbolProvider { get; set; } public bool? WorkspaceSymbolProvider { get; set; } + + public bool? CodeActionProvider { get; set; } } /// diff --git a/src/PowerShellEditorServices.Protocol/PowerShellEditorServices.Protocol.csproj b/src/PowerShellEditorServices.Protocol/PowerShellEditorServices.Protocol.csproj index 64fb6726c..c26ab8381 100644 --- a/src/PowerShellEditorServices.Protocol/PowerShellEditorServices.Protocol.csproj +++ b/src/PowerShellEditorServices.Protocol/PowerShellEditorServices.Protocol.csproj @@ -56,6 +56,7 @@ + @@ -155,7 +156,7 @@ -