mattn / efm-langserver

General purpose Language Server
MIT License
1.32k stars 59 forks source link

How to configure codeactions? #265

Open kassio opened 9 months ago

kassio commented 9 months ago

Thanks for the amazing tool. :)

I couldn't find any documentation/examples on how to produce codeActions, I imagine it's already supported as we have the initialization param. Could an example/doc be added to README, please?

nieomylnieja commented 6 months ago

I'm not so sure it is supported, I haven't found any examples on the web. I think this might be supported in the future, potentially, but not currently: image There's also no option for that available in the schema either. However, there is some code which handles actions --> https://github.com/mattn/efm-langserver/blob/master/langserver/handle_text_document_code_action.go, so I'm even more confused. Would appreciate any response in this matter, I tried switching from null-ls to efm, but without code actions I think I'll just go with the fork (none-ls).

kassio commented 5 months ago

@mattn any news on this? I tried to send a request manually but not sure how to configure the server. :/

mattn commented 5 months ago

ploase see Commands in example in README.md

kassio commented 5 months ago

@mattn,

thanks for the reply, but the example in README.md, don't describe how to configure the commands, for instance, I tried to add a code-action to change the file permissions, but it fails.

Config (lua format due to neovim):

    commands = {
      {
        command = 'chmod +x ',
        arguments = { '${INPUT}' },
        title = 'chmod+x',
      },
    },

And I got the action in my code actions selector:

image

But when selected I got the error:

Language server `efm` does not support command `efm-langserver       chmod +x        file:///Users/
kassioborges/.dotfiles/config/xdg/nvim/lua/plugins/lsp/servers/efm.lua`. This command may require a client extension.
mattn commented 4 months ago

efm does not support command

I don't understand what makes this error message.