Releases: tlaplus-community/tree-sitter-tlaplus
v0.5.0 release
Features:
- Can now parse TLA+ snippets without an enclosing module declaration
- Updated highlighting queries with a focus on more advanced reference highlighting
Breaking changes:
single_quantifier_bound
rule merged withquantifier_bound
rule- Changed
identifier
inrecord_value
andexcept
rules to beidentifier_ref
v0.4.1 release
- Fixed bug with parsing of strong & weak fairness
- PlusCal blocks now use their own external scanner parsing context
- Updated tree-sitter CLI version and regenerated parser
- Updates to queries
v0.4.0 release
Added PlusCal support
Changed parsing of block comments to support PlusCal parsing
Added PlusCal highlighting queries
Added local/reference highlighting for Neovim
v0.3.0 release
Nat
,Int
, andReal
can now use the alternativeℕ
,ℤ
, andℝ
symbols respectively- Converted
primitive_value_set
node to a supertype, added nodes for each primitive value set type - Fixed not specifying
⟩
,:
and→
as right delimiters in external scanner - For dev dependencies, use fork of
tree-sitter-cli
withget_column
method modified to count codepoints
v0.2.1 release
- Added alternative unicode symbols
- Removed intermediate
postfix_op_symbol
child node frombound_postfix_op
v0.2.0 release
This release includes a number of changes to the parser's node structure:
unit
node is now hidden, but exposed as a supertypenumber
node is now hidden, but exposed as a supertype- Nodes that were previously hidden children of
number
are now visible - Added string escape character node
- Renamed
single_line
nodes in module header toheader_line
- Added keyword extraction
In addition, this release also includes the tree-sitter-tlaplus.wasm
file in the NPM package.
v0.1.2 release
This release ensures the grammar builds on macOS by removing C++11 language features from the external scanner.
v0.1.1 release
This release makes minor changes to the parsing of extramodular text and block comments, to better facilitate code folding. Consider a common form of block comment:
(****************************)
(* text text text text text *)
(* text text text text text *)
(* text text text text text *)
(****************************)
Previously, the grammar would parse this as a series of block comments (one for each pair of (*
and *)
). Now the external scanner will look ahead after the end of a block comment to see whether another block comment starts on the very next (or same) line. If so, it will group that block comment in with the current one. Thus large block comments can now be folded.
v0.1.0 initial release
Grammar is fully-functional but parse tree layout is subject to change.