The CodeActionKind enum is actually an open enumeration of strings. There's nothing stopping us from adding our own kinds.
The main advantage of this is if we want to do some client-side filtering this is a much nicer thing to use than, say, matching on the action title.
We might also want plugins to tell us about custom kinds they support so that we can return the set that we use in CodeActionOptions.
Real-world usecase: emacs-lsp/lsp-haskell#112 (comment)
The
CodeActionKindenum is actually an open enumeration of strings. There's nothing stopping us from adding our own kinds.The main advantage of this is if we want to do some client-side filtering this is a much nicer thing to use than, say, matching on the action title.
We might also want plugins to tell us about custom kinds they support so that we can return the set that we use in
CodeActionOptions.Real-world usecase: emacs-lsp/lsp-haskell#112 (comment)