| Crates.io | trunkls |
| lib.rs | trunkls |
| version | 0.1.3 |
| created_at | 2024-12-24 17:24:19.77944+00 |
| updated_at | 2025-01-19 09:17:17.40466+00 |
| description | A language server for Trunk's custom HTML attributes |
| homepage | |
| repository | https://github.com/airblast-dev/trunkls |
| max_upload_size | |
| id | 1494127 |
| size | 123,673 |
Trunkls is an LSP server that provides hover, and completions for clients.
The provided hover and completions are based off of trunk assets section with some slight modifications to make them more readable in editors.
trunkls provides completions for all attributes trunk supports. Only attributes that are compatible with the current HTML tag will be displayed, this includes asset types and the tag name.
Attribute values are also supported!
Hover information is also supported.
In some cases other LSP servers may return doc information for an attribute without the context of them in trunk and cause issues if it takes precedence in the editor.
All trunk attributes unique to trunk work without issues.
The crate is added to crates.io so installing is easy as running cargo install trunkls and adding the binary to your $PATH.
You can also clone the repository and compile it yourself by running cargo install --path trunkls.
Running vsce package inside trunkls/vscode will build the extension. From there you can select the extension file and install it through VsCode.
Depending on your setup you may have to run npm install in the trunkls/vscode directory.
The exact steps will differ depending on your config, but using lspconfig it can be setup as so.
local configs = require("lspconfig.configs")
configs.trunkls = {
default_config = {
cmd = { "trunkls" },
root_dir = vim.uv.cwd(),
filetypes = { 'html' }
},
}
Trunkls accepts a log file via -o for debugging purposes.
The logs will be filtered via the environment variable RUST_LOG=....