Bumps the patch group in /rust with 8 updates: | Package | From | To | | --- | --- | --- | | [anyhow](https://github.com/dtolnay/anyhow) | `1.0.97` | `1.0.98` | | [clap](https://github.com/clap-rs/clap) | `4.5.32` | `4.5.36` | | [kittycad-modeling-cmds](https://github.com/KittyCAD/modeling-api) | `0.2.113` | `0.2.114` | | [once_cell](https://github.com/matklad/once_cell) | `1.21.1` | `1.21.3` | | [log](https://github.com/rust-lang/log) | `0.4.26` | `0.4.27` | | [flate2](https://github.com/rust-lang/flate2-rs) | `1.1.0` | `1.1.1` | | [time](https://github.com/time-rs/time) | `0.3.40` | `0.3.41` | | [image](https://github.com/image-rs/image) | `0.25.5` | `0.25.6` | Updates `anyhow` from 1.0.97 to 1.0.98 - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.97...1.0.98) Updates `clap` from 4.5.32 to 4.5.36 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.32...clap_complete-v4.5.36) Updates `kittycad-modeling-cmds` from 0.2.113 to 0.2.114 - [Commits](https://github.com/KittyCAD/modeling-api/compare/kittycad-modeling-cmds-0.2.113...kittycad-modeling-cmds-0.2.114) Updates `once_cell` from 1.21.1 to 1.21.3 - [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md) - [Commits](https://github.com/matklad/once_cell/compare/v1.21.1...v1.21.3) Updates `log` from 0.4.26 to 0.4.27 - [Release notes](https://github.com/rust-lang/log/releases) - [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/log/compare/0.4.26...0.4.27) Updates `flate2` from 1.1.0 to 1.1.1 - [Release notes](https://github.com/rust-lang/flate2-rs/releases) - [Commits](https://github.com/rust-lang/flate2-rs/compare/1.1.0...1.1.1) Updates `time` from 0.3.40 to 0.3.41 - [Release notes](https://github.com/time-rs/time/releases) - [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md) - [Commits](https://github.com/time-rs/time/compare/v0.3.40...v0.3.41) Updates `image` from 0.25.5 to 0.25.6 - [Changelog](https://github.com/image-rs/image/blob/main/CHANGES.md) - [Commits](https://github.com/image-rs/image/compare/v0.25.5...v0.25.6) --- updated-dependencies: - dependency-name: anyhow dependency-version: 1.0.98 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: patch - dependency-name: clap dependency-version: 4.5.36 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: patch - dependency-name: kittycad-modeling-cmds dependency-version: 0.2.114 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: patch - dependency-name: once_cell dependency-version: 1.21.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: patch - dependency-name: log dependency-version: 0.4.27 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: patch - dependency-name: flate2 dependency-version: 1.1.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: patch - dependency-name: time dependency-version: 0.3.41 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: patch - dependency-name: image dependency-version: 0.25.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
kcl-lsp
The kcl
Language Server Protocol
implementation and VSCode extension.
This language server is a thin wrapper around the KCL language tooling library. That is found in the modeling-app repo, and published as on crates.io as kcl-lib.
VSCode
Install our extension: KittyCAD Language Server
Neovim
You can add the following to your vim
configuration if you are using lspconfig
.
This is @jessfraz's setup.
if executable('kcl-language-server')
lua << EOF
local lspconfig = require 'lspconfig'
local configs = require 'lspconfig.configs'
if not configs.kcl_lsp then
configs.kcl_lsp = {
default_config = {
cmd = {'kcl-language-server', 'server', '--stdio'},
filetypes = {'kcl'},
root_dir = lspconfig.util.root_pattern('.git'),
single_file_support = true,
},
docs = {
description = [=[
https://github.com/KittyCAD/kcl-lsp
https://kittycad.io
The KittyCAD Language Server Protocol implementation for the KCL language.
To better detect kcl files, the following can be added:
vim.cmd [[ autocmd BufRead,BufNewFile *.kcl set filetype=kcl ]]
]=],
default_config = {
root_dir = [[root_pattern(".git")]],
},
}
}
end
lspconfig.kcl_lsp.setup{}
EOF
else
echo "You might want to install kcl-language-server: https://github.com/KittyCAD/kcl-lsp/releases"
end
Helix
Add this to your languages.toml
file. Remember to change /Users/adamchalmers
to your path.
Note that we don't currently have Treesitter parsers, so there won't be syntax highlighting.
[[language]]
name = "kcl"
scope = "source.kcl"
injection-regex = "kcl"
file-types = ["kcl"]
comment-tokens = "//"
indent = { tab-width = 2, unit = " " }
language-servers = [ "kcl-lsp" ]
block-comment-tokens = { start = "/*", end = "*/"}
[language-server.kcl-lsp]
command = "/Users/adamchalmers/kc-repos/kcl-lsp/target/release/kcl-language-server"
args = ["server", "--stdio"]
Development
$ npm install
$ cargo build
$ code .
Once VSCode opens, go to the "Run and Debug" panel (cmd-shift-D on MacOS), and choose Run Extension (Debug Build). This opens a new VSCode window with our KCL extension installed. Open a KCL file and check that the LSP is working.
- press F5 or change to the Debug panel and click Launch Client
Note
If encountered errors like
Cannot find module '/xxx/xxx/dist/extension.js'
please try run commandtsc -b
manually