Skip to content

Editor Support

The nemcss LSP (Language Server Protocol) gives you autocomplete and hover documentation for every generated utility class and CSS custom property, directly in your editor.

VS Code

Install the extension from the VS Code marketplace:

Once installed, the extension automatically starts the language server when it detects a nemcss.config.json in your workspace. No additional configuration needed.

What you get:

  • Autocomplete for all generated utility classes (e.g. .text-primary, .p-md)
  • Autocomplete for all generated CSS custom properties (e.g. --color-primary)
  • Hover documentation showing the resolved value for each token

Supported file types: CSS, SCSS, Sass, Less, HTML, JavaScript, TypeScript, JSX, TSX, Vue, Svelte, Astro

Neovim and other editors

For any editor that supports the Language Server Protocol, you can use the standalone nemcss-lsp binary.

Download

Download the binary for your platform from GitHub Releases:

PlatformBinary
macOS (Apple Silicon)nemcss-lsp-darwin-arm64
macOS (Intel)nemcss-lsp-darwin-x64
Linux (x64)nemcss-lsp-linux-x64
Linux (ARM64)nemcss-lsp-linux-arm64
Windows (x64)nemcss-lsp-win32-x64.exe

Configure your editor

Point your LSP client at the nemcss-lsp binary and enable it for CSS files. The server communicates over stdio.

Neovim (with nvim-lspconfig):

lua
local lspconfig = require('lspconfig')
local configs = require('lspconfig.configs')

if not configs.nemcss then
  configs.nemcss = {
    default_config = {
      cmd = { '/path/to/nemcss-lsp' },
      filetypes = { 'css', 'html', 'javascriptreact', 'typescriptreact', 'vue', 'svelte', 'astro', 'json' },
      root_dir = lspconfig.util.root_pattern('nemcss.config.json'),
    },
  }
end

lspconfig.nemcss.setup({})