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
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| nginx_language_server-0.9.0.tar.gz | 226.5 kB | Without provenance | Details for nginx_language_server-0.9.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| nginx_language_server-0.9.0-py3-none-any.whl | Python 3 | none | any | Details for nginx_language_server-0.9.0-py3-none-any.whl |
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
|
Security for nginx-language-server 0.9.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.