aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Carney <alex.rugby101@gmail.com>2021-11-14 17:02:45 +0000
committerGitHub <noreply@github.com>2021-11-14 09:02:45 -0800
commita1eaa91ee8045103309c5374abe7ea53defa57d5 (patch)
tree50962350226048580a1d7dd6ecde2b02e1f7d79c
parentchore: add doc/tags to .gitignore (#1355) (diff)
downloadnvim-lspconfig-a1eaa91ee8045103309c5374abe7ea53defa57d5.tar
nvim-lspconfig-a1eaa91ee8045103309c5374abe7ea53defa57d5.tar.gz
nvim-lspconfig-a1eaa91ee8045103309c5374abe7ea53defa57d5.tar.bz2
nvim-lspconfig-a1eaa91ee8045103309c5374abe7ea53defa57d5.tar.lz
nvim-lspconfig-a1eaa91ee8045103309c5374abe7ea53defa57d5.tar.xz
nvim-lspconfig-a1eaa91ee8045103309c5374abe7ea53defa57d5.tar.zst
nvim-lspconfig-a1eaa91ee8045103309c5374abe7ea53defa57d5.zip
feat: add esbonio language server (#1292)
Co-authored-by: Peter Lithammer <peter.lithammer@gmail.com>
-rwxr-xr-xlua/lspconfig/esbonio.lua56
1 files changed, 56 insertions, 0 deletions
diff --git a/lua/lspconfig/esbonio.lua b/lua/lspconfig/esbonio.lua
new file mode 100755
index 00000000..ac0e184e
--- /dev/null
+++ b/lua/lspconfig/esbonio.lua
@@ -0,0 +1,56 @@
+local configs = require 'lspconfig/configs'
+local utils = require 'lspconfig/util'
+
+configs.esbonio = {
+ default_config = {
+ cmd = { 'python3', '-m', 'esbonio' },
+ filetypes = { 'rst' },
+ root_dir = utils.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)
+]],
+ },
+}