New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Code actions not working in neovim #168
Comments
At this point code actions need to be added into Neovim it seems: neovim/nvim-lspconfig#863 , I don't know if that can be addressed by grammar-guard.nvim seems dead, it would be great if someone could continue the work and merge some functionality into https://github.com/neovim/nvim-lspconfig |
Thanks for the feedback. I tried to follow the different threads but must say that I'm not sure I understand the state of everything atm. Good point. As it seems that the code actions making a change in the document itself work, but not the ones that try to make a change in the config file, could it be related to the fact that I am sorry if it actually can and I'm just talking nonsense... |
I use this workaround, you can add words to your normal Neovim spelling directory and ltex-ls will use them. Not perfect, but works! -- add vim user dictionary for ltex-ls
local path = vim.fn.stdpath 'config' .. '/spell/en.utf-8.add'
local words = {}
for word in io.open(path, 'r'):lines() do
table.insert(words, word)
end
lspconfig.ltex.setup {
on_attach = on_attach,
settings = {
ltex = {
dictionary = {
['en-US'] = words,
['en-GB'] = words,
},
},
},
} |
Well actually it's a pretty nice way of using built-in neovim capabilities, thanks! Hopefully the other code actions will be available soon. Should I already close the issue then? |
Based on the work-around @David-Else provided in the comment above, I added a local dictionary capability. The VS Code extension version creates local paths = {
vim.fn.stdpath("config") .. "/spell/ltex.dictionary.en-US.txt",
vim.fn.expand("%:p:h") .. "/.vscode/ltex.dictionary.en-US.txt",
}
local words = {}
for _, path in ipairs(paths) do
local f = io.open(path)
if f then
for word in f:lines() do
table.insert(words, word)
end
f:close()
end
end
lspconfig.ltex.setup {
on_attach = on_attach,
settings = {
ltex = {
dictionary = {
['en-US'] = words,
['en-GB'] = words,
},
},
},
} |
See #171 |
Based on David-Else's work around, I added the following configuration to LunarVim and it works. local dictionary_file_path = os.getenv "LUNARVIM_CONFIG_DIR" .. "/spell/en.utf-8.add"
local words = {}
for word in io.lines(dictionary_file_path) do
table.insert(words, word)
end
local ltex_opts = {
settings = {
ltex = {
dictionary = {
["en-US"] = words
},
}
}
}
require("lvim.lsp.manager").setup("ltex", ltex_opts) I use the environment variable |
ltex_extra.nvim provide code actions for |
There is vigoux/ltex-ls.nvim as well, with similar features. |
Modified from valentjn/ltex-ls#168 (comment) As that issue mentions there's also vigoux/ltex-ls (which seems not updated ever since ltex-ls actually became a distinct upstream project) and then also barreiroleo/ltex_extra.nvim which seems to be keeping up a bit better -- but let's see later if we go with that.
Describe the bug
In neovim, code actions work when choosing one of the "correction" option, but not when choosing one of the following:
Add <word> to dictionary
Hide false positives
Disable rule
Steps to reproduce
Steps to reproduce the behavior:
CustomWord is not a word
CustomWord
is rightly marked as not a correct word:lua vim.lsp.buf.code_action()
5: Add 'CustomWord' to dictionary
Expected behavior
I expect it to add the
CustomWord
to dictionary and remove errors linked to it in the rest of the document, without having to manually add the word in the configuration.Sample document
LTeX configuration
I'm using it in neovim with
lspconfig
andnvim-lsp-installer
with the default config, just calling it:LTeX LS log
No error log unfortunately.
Version information
Linux <hostname> 5.18.3-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 09 Jun 2022 16:14:10 +0000 x86_64 GNU/Linux
The text was updated successfully, but these errors were encountered: