gluon-lang/lsp-types

New Enum Variants to CompletionItemKind

Closed this issue · 2 comments

Hi, thanks so much for this project! I'm currently adding completions to an assembly lsp. Would it be possible to add Instruction and Register types to the CompletionItemKind enum in src/completion.rs? Would adding these variants require changes to any other pieces of the code? Happy to add the variants to the enum and open up a PR if that would make things easier.

The variants here are reflect those in the LSP spec and since they are encoded as plain integers there isn't a way to extend it with custom kinds. (Even if both your client and server would understand your custom variants, we can't add the variants in the library since any additions to the spec would likely conflict with those custom ones).

I'd recommend sticking with the existing ones, Instruction maps decently well to OPERATOR and Register to Variable for instance

https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#completionItemKind

That makes sense, thank you so much for the response and helpful recommendation! I'll go ahead and close this issue as resolved.