Nginx Language Server
A Language Server for nginx.conf.
Still under construction, expect big / potentially breaking changes for a while.
Capabilities
nginx-language-server currently partially supports the following Language Server capabilities with more to be added in the future.
Language Features
Installation
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.
Editor Setup
The following instructions show how to use nginx-language-server with your development tooling. The instructions assume you have already installed nginx-language-server.
Vim / Neovim
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!
Command line
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
Inspiration
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.
Written by
Samuel Roeca samuel.roeca@gmail.com
Release files for nginx-language-server 0.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nginx_language_server-0.9.0.tar.gz | 226.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nginx_language_server-0.9.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 458.8 kB
Release files / nginx_language_server-0.9.0.tar.gz
| Download URL | nginx_language_server-0.9.0.tar.gz |
|---|---|
| Size | 226.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8066b8e0a450bcaa625b9bc692c938d8e547377c1b8eb2e8ef070f2c2f974106
|
|
BLAKE2b-256 checksum How to use checksums |
a8105f7366b5d3681dee1c9d464c4a780dbd88ed94784126a5e0f3796d738bcd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.2 CPython/3.13.3 Linux/6.8.0-1021-azure
|
Release files / nginx_language_server-0.9.0-py3-none-any.whl
| Download URL | nginx_language_server-0.9.0-py3-none-any.whl |
|---|---|
| Size | 232.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
21611cbc0bae924a05ac85dc23387459c8e351710ed26ec126fc31d44260c8a5
|
|
BLAKE2b-256 checksum How to use checksums |
f4f9c1bf4c3d63eb8de8099b6ad3ddec45393667c60aa55f0999373f5a6f7810
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.2 CPython/3.13.3 Linux/6.8.0-1021-azure
|