Skip to content

Releases: technique-lang/technique

Project-wide symbol search in language server

03 Oct 10:23
v0.4.6
31929fd

Choose a tag to compare

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

22 Sep 14:57
v0.4.5
f4cb1fa

Choose a tag to compare

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.

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

18 Sep 10:57

Choose a tag to compare

Build releases for fringe operating systems

Update the release machinery to prepare release builds for Windows and MacOS.

  • Prepare releases for other operating systems by @istathar in #82

Full Changelog: v0.4.3...v0.4.4

Language Server

17 Sep 09:55

Choose a tag to compare

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.

Full Changelog: v0.4.0...v0.4.3