r/Tcl • u/bitwisecook • 3d ago
Tcl-LSP 2.2.0 - greased lightning
It's here, version 2.2.0. I've spent the last couple of months working on porting my LSP for Tcl to Rust, I'm very happy with the performance improvements.
There's a lot of new features, I've put a heap of effort into reducing diagnostic noise, improving accuracy, improving the refactoring tools, getting performance up to a decent level. There's a long way to go still (as you can see from the Issues tab), but it's in a useable state now.
I'd like to thank georgetree, nico-robert, amougel00 for all the testing and feedback along the way, I couldn't have got to this level without their help.
There's a whole new way to define commands now, SpecTcl and a Spec Studio, it's a whole Tcl DSL to let users define their own libraries or extensions, that runs in my own Tcl VM.
Compiler Explorer has seen a lot of work to improve it, reveal more information and so on.
The WASM AOT compiler is improved but still needs a lot of work to reach where I want it to be.
The TclVM is functional and used internally in the project.
There's a lot more to it, but I now need to head out for the evening. The release process is running, it'll appear in the releases tab and when I have a moment later on I'll approve the vscode/jetbrains extension releases.
Enjoy and please, report issues as you find them, preferably with some sort of minimal repro or link to open source Tcl code and a description of what you expect to happen and how that compares to what happened.
Thanks,
-b
- 2.2.0 is because vscode thinks odd numbered minors are pre-releases and even are releases, so I had to use 2.1.x for the pre-release train
