Skip to content

Latest commit

 

History

History
182 lines (148 loc) · 12.2 KB

CHANGELOG.md

File metadata and controls

182 lines (148 loc) · 12.2 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

  • Make button without newline (#259)

0.18.0 - 2022-02-12

  • Added APIs to traverse the syntax tree: tsc-traverse-do, tsc-traverse-mapc, tsc-traverse-iter. The traversal is depth-first pre-order.
  • Improved syntax tree rendering's performance in tree-sitter-debug.
  • Added optional params props and output to tsc-current-node, which allows retrieving node properties, instead of the node object itself. This enables performance optimizations in uses cases that deal with a large number of nodes.

0.17.0 - 2022-01-29

  • Added customization option tsc-dyn-get-from, which is a list of sources to get the dynamic module tsc-dyn from. Its default value is (:github :compilation).
  • Made tree-sitter-hl's region-fontification function fall back to the underlying non-tree-sitter function when called outside of tree-sitter-hl-mode. This fixes an issue where jupyter-repl-mode's input cells are not highlighted.
  • Updated tsc-dyn-get to download platform-specific binaries (mainly for Apple Silicon).

0.16.1 - 2021-12-11

  • Modified CI pipelines to publish additional pre-built dynamic modules. Their filenames include the platform they are built for. The files without platform in name will eventually be deprecated.
    • tsc-dyn.x86_64-apple-darwin.dylib (same as tsc-dyn.dylib)
    • tsc-dyn.x86_64-unknown-linux-gnu.so (same as tsc-dyn.so)
    • tsc-dyn.x86_64-pc-windows-msvc.dll (same as tsc-dyn.dll)
    • tsc-dyn.aarch64-apple-darwin.dylib (new, for Apple Silicon)

0.16.0 - 2021-12-08

  • Upgraded tree-sitter crate to 0.20.0, which:
    • Changed the semantics of range-restricted query to report matches that intersect the range, instead of only fully-contained matches. See tree-sitter#1130.
    • Fixed an issue where multiple patterns with the same capture names can result in the first capture being omitted.
  • Improved performance:
    • Disabled query-region extension. Added a flag to turn it back on: tree-sitter-hl-enable-query-region-extension.
    • Increased default chunk size for parsing from 1024 to 4096.

0.15.2 - 2021-09-12

  • Reduced GC pressure by not making the text property face a list if there is only one face.
  • Recast tree-sitter-node-at-point as more general tree-sitter-node-at-pos, taking optional POS argument.
  • Made tree-sitter-node-at-pos accept special node-type arguments :named and :anonymous.

0.15.1 - 2021-03-20

  • Fixed some invalid query patterns causing SIGABRT, by upgrading tree-sitter crate.
  • Used keywords to represent auxiliary (invisible) node types. For example: :end, :_expression.

0.15.0 - 2021-03-15

  • Upgraded tree-sitter crate to 0.19.3, which:
    • Added negated-field query patterns.
    • Fixed some bugs, mostly query-related.
    • Is required to support newer versions of the language grammars.
    • Raised the minimum and maximum supported language ABI versions to 13. Older versions of the language bundle tree-sitter-langs (before 0.10.0) will not be loaded.

0.14.0 - 2021-03-10

  • Added ABI compatibility checks when loading a language object from a dynamic library.
  • Made tsc-make-query signal concrete error symbols, instead of rust-panic.

0.13.1 - 2021-01-16

  • Used static linking for C runtime on Windows, to avoid having to install VC++ redistributable package.

0.13.0 - 2020-12-29

0.12.2 - 2020-12-15

  • Added warning after upgrading tsc if it requires a new version of the dynamic module tsc-dyn, but an older version was already loaded.
  • Improved language loading mechanism's tolerance of hyphens in language names.

0.12.1 - 2020-11-04

0.12.0 - 2020-10-13

0.11.1 - 2020-10-03

  • Made tree-sitter-hl-mode a "no-op" when tree-sitter-hl-default-patterns is nil.

0.11.0 - 2020-09-26

0.10.0 - 2020-08-01

  • Used keywords instead of strings for field names.
    • Replaced ts-field-name-for-id, ts-field-id-for-name with ts-lang-field, ts-lang-field-id.
    • Replaced ts-current-field-name with ts-current-field.
    • Replaced ts-get-child-by-field-name with ts-get-child-by-field.
  • Used symbols for named node types.
    • Replaced ts-type-name-for-id with ts-lang-node-type.
    • Added ts-lang-node-type-id.
    • Changed the return type of ts-node-type.
  • Renamed ts-type-named-p to ts-lang-node-type-named-p.
  • Added optional param NODE-TYPE to tree-sitter-node-at-point.
  • Upgraded tree-sitter crate to get support for .not-match? predicate.

0.9.2 - 2020-07-20

  • Upgraded tree-sitter crate to add . as a valid start of predicates, in addition to #.

0.9.1 - 2020-07-19

0.9.0 - 2020-07-18

  • Changed tree-sitter-hl-add-patterns to support language-specific patterns, in addition to buffer-local patterns.

0.8.3 - 2020-07-12

  • Fixed incorrect highlighting when region-to-highlight's boundaries cut query patterns in halves.

0.8.2 - 2020-06-30

  • Upgraded tree-sitter crate to fix handling of alternations under field names.

0.8.1 - 2020-06-28

  • Added customization option tree-sitter-hl-use-font-lock-keywords, allowing tree-sitter-hl-mode to work with minor modes that use font-lock-add-keywords.

0.8.0 - 2020-06-07

  • Upgraded tree-sitter to 0.16.1. This significantly improved the expressiveness and power of tree queries.
  • Made tree-sitter-hl-mode work without a major mode.
  • Add more highlighting faces to tree-sitter-hl.
  • Made tree-sitter-core automatically download tree-sitter-dyn binary when first compiled/loaded.
  • Added documentation.

0.7.0 - 2020-05-02

  • Added global-tree-sitter-mode.
  • Added library tree-sitter-hl, which provides query-based syntax highlighting by overriding certain parts of font-lock.
  • Reworked query APIs for performance and clarity, most notably ts-make-query, ts-query-matches, ts-query-captures.
  • Fixed incorrect parsing caused by misunderstandings of Emacs's clumsy change tracking machinery.

0.6.0 - 2020-04-11

  • Renamed ts-parse into ts-parse-chunks, to avoid conflict with ts.el.
  • Added library tree-sitter-query, which enables interactively building queries.

0.5.0 - 2020-03-17

  • Added functions ts-node-position-range, ts-node-eq.
  • Added function tree-sitter-node-at-point.
  • Added macro tree-sitter-save-excursion, which is useful for code formatting operations.
  • Added library tree-sitter-extras, for extra functionalities built on top of tree-sitter-mode.
  • Upgraded tree-sitter to 0.6.3. This fixed ts-type-name-for-id and ts-field-name-for-id crashing on out-of-bounds IDs.
  • Fixed ts-reset-cursor always signaling "already mutable borrowed" error.

0.4.0 - 2020-03-01

  • Replaced functions ts-require-language and ts-load-language with tree-sitter-require and tree-sitter-load.
  • Published pre-compiled tree-sitter through a custom ELPA.
  • Published the grammar bundle tree-sitter-langs as a separate package.

0.3.0 - 2020-02-21

  • Used Emacs's 1-based byte positions and line numbers instead of 0-based byte offsets and row coordinates.
  • Used cons cells instead of 2-element vectors to represent tree-sitter points and query matches/captures.

0.2.0 - 2020-02-02

  • Upgraded tree-sitter to 0.6.0.
  • Added library tree-sitter-cli.
  • Added library tree-sitter-langs (utilities to download pre-compiled modules and grammars).

[0.1.0] - 2020-01-27

Initial release