| Crates.io | utf8proj-lsp |
| lib.rs | utf8proj-lsp |
| version | 0.9.1 |
| created_at | 2026-01-17 15:22:56.572552+00 |
| updated_at | 2026-01-17 15:22:56.572552+00 |
| description | Language Server Protocol implementation for utf8proj |
| homepage | |
| repository | https://github.com/alanbld/utf8proj |
| max_upload_size | |
| id | 2050627 |
| size | 136,084 |
Language Server Protocol implementation for utf8proj project files.
This is the initial release of the utf8proj language server. It provides foundational IDE features for .proj files.
| Feature | Status | Description |
|---|---|---|
| Diagnostics | Full | Real-time parse errors and semantic warnings |
| Hover | Full | Task info with schedule dates, slack, critical path |
| Document Symbols | Full | Navigate profiles, resources, tasks |
LSP diagnostics use the same analysis engine as the CLI (utf8proj check):
The LSP does not support CLI policy options (--strict, --quiet) since these are CI/CD concerns, not IDE concerns.
| Format | Extension | Status |
|---|---|---|
| Native DSL | .proj |
Supported |
| TaskJuggler | .tjp |
Not supported |
TJP support may be added in a future version.
The following features are planned for future versions:
local lspconfig = require('lspconfig')
local configs = require('lspconfig.configs')
if not configs.utf8proj then
configs.utf8proj = {
default_config = {
cmd = { 'utf8proj-lsp' },
filetypes = { 'proj' },
root_dir = lspconfig.util.find_git_ancestor,
settings = {},
},
}
end
lspconfig.utf8proj.setup{}
Add filetype detection in ~/.config/nvim/filetype.lua:
vim.filetype.add({
extension = {
proj = 'proj',
},
})
A VS Code extension is not yet available. Contributions welcome.
cargo build --release -p utf8proj-lsp
The binary will be at target/release/utf8proj-lsp.