Releases: technique-lang/technique
Project-wide symbol search in language server
Index and cache procedure declarations as symbols
Improve the language server's capabilities to return procedure declarations as the "symbols" of the project, making them available to editors to display in project-wide symbols searches. This implements the required endpoints and also adds a symbol cache to the LSP process. All Technique files in a project are indexed, and then open files are updated as changes are made.
- Fix parsing of simple Techniques with only top-level steps by @istathar in #86
- Index declarations as symbols for LSP symbol search by @istathar in #87
Full Changelog: v0.4.5...v0.4.6
Improve error detection
Improve error detection
Continued refinement and improvements to the error messages emitted when the user makes a mistake when writing Technique, especially around code blocks and variable bindings.
- Improve error detection and messages by @istathar in #81
- Fix syntax highlighting in formatting and rendering by @istathar in #84
- Update lsp-types dependency by @istathar in #85
Initial README
Long overdue, add a top-level README to the repository, along with the prototype examples we've been using all along to develop and test the parser and formatter.
Full Changelog: v0.4.4...v0.4.5
Release for Linux, Mac, and Windows
Build releases for fringe operating systems
Update the release machinery to prepare release builds for Windows and MacOS.
Full Changelog: v0.4.3...v0.4.4
Language Server
New Language Server Protocol service for Technique
Implemented a server for the Language Server Protocol (LSP), using the synchronous lsp-server crate as developed by the rust-analyzer project. This is run via the new technique language subcommand.
The original check command exited immediately if it encountered an error. We updated the parser to instead accumulate errors so that multiple problems can be reported if present, as you would expect working in an editor.
The LSP implementation was tested via our language extension for the Zed Editor at ../extension.zed.
- Fix compiler warnings by @istathar in #75
- Collect and display all detected errors in an input document by @istathar in #76
- Require parenthesis around parameters to procedures by @istathar in #77
- Improve test coverage by @istathar in #78
- Implement a Language Server for Technique by @istathar in #79
Cleanup
Other changes include removing the last vestiges of the original Technique v0 implementation and continuing the improvement of our test suite.
- Remove original Technique language implementation by @istathar in #68
- Improve test coverage by @istathar in #78
- Add Workflow to upload artifact to Release by @istathar in #80
Full Changelog: v0.4.0...v0.4.3