From 1fc847d523b808cffc3ad512391a87af0baaf82a Mon Sep 17 00:00:00 2001 From: Myzel394 <50424412+Myzel394@users.noreply.github.com> Date: Wed, 16 Oct 2024 16:34:11 +0200 Subject: [PATCH] feat(ssh_config): Add support for signature help --- .../ssh_config/handlers/signature_help.go | 150 ++++++++++++++++++ .../lsp/text-document-signature-help.go | 41 ++++- .../text-document-signature-help.go | 3 +- 3 files changed, 192 insertions(+), 2 deletions(-) create mode 100644 server/handlers/ssh_config/handlers/signature_help.go diff --git a/server/handlers/ssh_config/handlers/signature_help.go b/server/handlers/ssh_config/handlers/signature_help.go new file mode 100644 index 0000000..5bdacbb --- /dev/null +++ b/server/handlers/ssh_config/handlers/signature_help.go @@ -0,0 +1,150 @@ +package handlers + +import ( + "config-lsp/common" + "config-lsp/handlers/ssh_config/ast" + + protocol "github.com/tliron/glsp/protocol_3_16" +) + +func GetOptionSignatureHelp( + option *ast.SSHOption, + cursor common.CursorPosition, +) *protocol.SignatureHelp { + var index uint32 + + if option == nil || option.Key == nil || (option.OptionValue == nil || option.Key.ContainsPosition(cursor)) { + index = 0 + } else { + index = 1 + } + + signature := uint32(0) + return &protocol.SignatureHelp{ + ActiveSignature: &signature, + Signatures: []protocol.SignatureInformation{ + { + Label: "