A Language Server for nginx.conf
.
Still under construction, expect big / potentially breaking changes for a while.
nginx-language-server currently partially supports the following Language Server capabilities with more to be added in the future.
From your command line (bash / zsh), run:
pip install -U nginx-language-server
-U
ensures that you're pulling the latest version from pypi.
Alternatively, consider using pipx to keep nginx-language-server isolated from your other Python dependencies.
The following instructions show how to use nginx-language-server with your development tooling. The instructions assume you have already installed nginx-language-server.
With coc.nvim, put the following in coc-settings.json
:
{ "languageserver": { "nginx-language-server": { "command": "nginx-language-server", "filetypes": ["nginx"], "rootPatterns": ["nginx.conf", ".git"] } } }
In your vimrc, I recommend putting in the following lines to ensure variables complete / hover correctly:
augroup custom_nginx autocmd! autocmd FileType nginx setlocal iskeyword+=$ autocmd FileType nginx let b:coc_additional_keywords = ['$'] augroup end
Alternatively, you can use coc-nginx.
let g:coc_global_extensions = ['@yaegassy/coc-nginx']
Note: this list is non-exhaustive. If you know of a great choice not included in this list, please submit a PR!
nginx-language-server can be run directly from the command line.
$ nginx-language-server --help usage: nginx-language-server [-h] [--version] [--tcp] [--host HOST] [--port PORT] [--log-file LOG_FILE] [-v] Nginx language server: an LSP server for nginx.conf. optional arguments: -h, --help show this help message and exit --version display version information and exit --tcp use TCP server instead of stdio --host HOST host for TCP server (default 127.0.0.1) --port PORT port for TCP server (default 2088) --log-file LOG_FILE redirect logs to the given file instead of writing to stderr -v, --verbose increase verbosity of log output Examples: Run from stdio: nginx-language-server
The useful language data for nginx is ported from vscode-nginx-conf-hint. I would have used this library directly, but alas! It's written only for VSCode and I use Neovim.
Samuel Roeca samuel.roeca@gmail.com
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4