56 lines
1.4 KiB
Lua
56 lines
1.4 KiB
Lua
|
local util = require 'lspconfig.util'
|
||
|
|
||
|
return {
|
||
|
default_config = {
|
||
|
cmd = { 'python3', '-m', 'esbonio' },
|
||
|
filetypes = { 'rst' },
|
||
|
root_dir = util.find_git_ancestor,
|
||
|
},
|
||
|
docs = {
|
||
|
description = [[
|
||
|
https://github.com/swyddfa/esbonio
|
||
|
|
||
|
Esbonio is a language server for [Sphinx](https://www.sphinx-doc.org/en/master/) documentation projects.
|
||
|
The language server can be installed via pip
|
||
|
|
||
|
```
|
||
|
pip install esbonio
|
||
|
```
|
||
|
|
||
|
Since Sphinx is highly extensible you will get best results if you install the language server in the same
|
||
|
Python environment as the one used to build your documentation. To ensure that the correct Python environment
|
||
|
is picked up, you can either launch `nvim` with the correct environment activated.
|
||
|
|
||
|
```
|
||
|
source env/bin/activate
|
||
|
nvim
|
||
|
```
|
||
|
|
||
|
Or you can modify the default `cmd` to include the full path to the Python interpreter.
|
||
|
|
||
|
```lua
|
||
|
require'lspconfig'.esbonio.setup {
|
||
|
cmd = { '/path/to/virtualenv/bin/python', '-m', 'esbonio' }
|
||
|
}
|
||
|
```
|
||
|
|
||
|
Esbonio supports a number of config values passed as `init_options` on startup, for example.
|
||
|
|
||
|
```lua
|
||
|
require'lspconfig'.esbonio.setup {
|
||
|
init_options = {
|
||
|
server = {
|
||
|
logLevel = "debug"
|
||
|
},
|
||
|
sphinx = {
|
||
|
confDir = "/path/to/docs",
|
||
|
srcDir = "${confDir}/../docs-src"
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
|
||
|
A full list and explanation of the available options can be found [here](https://swyddfa.github.io/esbonio/docs/lsp/editors/index.html)
|
||
|
]],
|
||
|
},
|
||
|
}
|