Skip to main content

Nginx Language Server

image-version image-license image-python-versions

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)

Source distribution for nginx-language-server 0.9.0
File Size Uploaded
nginx_language_server-0.9.0.tar.gz 226.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nginx-language-server 0.9.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.9.0 This release

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page