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: "