A tool to explore language as you write, where you write.
It currently supports English, using the WordNet database.
hover
shows meaning of the wordgotoDefinition
of a word for all info about it- also available through code actions to avoid conflicts
- completion for words
Currently, the main way to install wordnet-ls is by cloning the repo and running
cargo install --force wordnet-ls
This adds the binary wordnet-ls
to the rust bin location.
You can also get it on nix, using the flake in this repo:
nix shell github:jeffa5/wordnet-ls
You'll need to download a copy of wordnet. The tested version is 3.1.
To configure the location of the wordnet dictionary set the initializationOptions
as:
{
"wordnet": "<location>"
}
Home dir (~
) should get expanded if needed.
Capabilities are all enabled by default, but can be disabled in the initializationOptions
(e.g. to prevent conflicting handling of hover
or gotoDefinition
):
{
"wordnet": "<location>",
"enable_completion": false,
"enable_hover": false,
"enable_code_actions": false,
"enable_goto_definition": false
}
For debugging and quickly adding it to neovim you can use the provided vim.lua
file, provided you have nvim-lspconfig
.
Just make sure to run cargo build
and enter nvim
from the root of this repo.
nvim test.txt
# then :LspStop
# then :luafile vim.lua
# then :LspStart
# Write some words and hit K to hover one
It by default is set up for the text
and markdown
filetypes.
For more information about the WordNet database see here.