Editors
Neovim
Run the standalone Omena language server from Neovim.
This project now ships a standalone Rust omena-lsp-server entrypoint.
Install the editor-agnostic server from crates.io:
cargo install omena-lsp-server --version 0.3.0The standalone server entrypoint is then:
omena-lsp-serverSource repository: https://github.com/omenien/omena-css
For a local checkout, you can also build the repo directly:
pnpm install
pnpm buildThe repo-local server entrypoint is:
<repo>/dist/bin/<platform>-<arch>/omena-lsp-serverNeovim 0.11+
Neovim's built-in LSP client can define a config with vim.lsp.config() and enable it with vim.lsp.enable().
Example:
vim.lsp.config("omena_css", {
cmd = {
"omena-lsp-server",
},
filetypes = {
"typescript",
"typescriptreact",
"javascript",
"javascriptreact",
"css",
"scss",
"less",
},
root_markers = {
"tsconfig.json",
"package.json",
".git",
},
})
vim.lsp.enable("omena_css")Notes
- Prefer the crates.io-installed
omena-lsp-serverfor non-VS Code editors. - If you use a repo-local build instead, replace
darwin-arm64with your packaged<platform>-<arch>directory. - This server complements your main JS/TS language server. Keep
ts_ls,vtsls, or your existing TypeScript server enabled. - The Omena CSS Modules server provides:
- hover
- definition
- references
- rename
- diagnostics
- code actions for CSS Modules semantics across JS/TS and style files.
- The repo-local smoke command for this transport is:
pnpm omena-check run rust/omena-lsp-server/thin-client-boundaryReferences
- Neovim LSP docs: https://neovim.io/doc/user/lsp.html