You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: tree-sitter-stack-graphs/CHANGELOG.md
+17-2Lines changed: 17 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,17 +5,25 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
-
## Unreleased
8
+
## v0.7.0 -- 2023-06-08
9
9
10
10
### Library
11
11
12
12
#### Added
13
13
14
14
- A new `CancelAfterDuration` implementation of `CancellationFlag` that cancels the computation after a certain amount of time.
15
+
- Tests can use new `defines` and `refers` assertions to check that a definition or reference with the give name exists at the assertion's source location.
15
16
16
17
#### Changed
17
18
18
19
- The `LanguageConfiguration::matches_file` method takes a `ContentProvider` instead of an `Option<&str>` value. This allows lazy file reading *after* the filename is checked, instead of the unconditional loading required before. To give content readers the opportunity to cache read values, a mutable reference is required. The return type has changed to `std::io::Result` to propagate possible errors from content providers. A `FileReader` implementation that caches the last read file is provided as well.
20
+
- Tests run with the CI `Tester` timeout after 60 seconds by default. Set `Tester::max_test_time` to change this behavior.
21
+
- A new `StackGraphLanguage::from_source` function can be used to construct a stack graph language from a given TSG source. The `StackGraphLanguage` type can also record the TSG file path, which is used when displaying errors.
22
+
- The `LoadError` type has been renamed to `BuildError` to avoid confusion between it and the `loader::LoadError` type.
23
+
- Cancellation flags support the `|` (or) operator to allow easy composition.
24
+
- The `LanguageConfiguration::from_tsg_str` method has been renamed to `LanguageConfiguration::from_sources`, and additionally accepts path parameters which are used for error message display.
25
+
- The `loader::LoadError` type now has a lifetime parameter and supports pretty error display.
26
+
- The loaders return a `FileLanguageConfiguration` value instead of a `StackGraphLanguage`, which contains both the primary `StackGraphLanguage` as well as any file analyzers for other secondary languages.
19
27
20
28
#### Fixed
21
29
@@ -25,8 +33,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
25
33
26
34
#### Added
27
35
28
-
- A new `analyze` command that computes stack graphs and partial paths for all given source files and directories. The command does not produce any output at the moment. Analysis per file can be limited using the `--max-file-time` flag.
36
+
- A new `analyze` command that computes stack graphs and partial paths for all given source files and directories and stores results in a database. The command does not produce any output at the moment. Analysis per file can be limited using the `--max-file-time` flag.
37
+
- A new `query` command can be used to resolve references using the analysis database.
38
+
- A new `status` command shows the status of files in the analysis database. The status includes whether the file was analyzed or not, and if the analysis was successful.
39
+
- A new `clean` command can be used to clean the analysis database, either completely or for specific paths.
29
40
- A new `match` command executes the query patterns from the TSG source and outputs the matches with captured nodes to the console. The `--stanza/-S` flag can be used to select specific stanzas to match by giving the line number where the stanza appears in the source. (Any line that is part of the stanza will work.)
41
+
- A new `visualize` command generates HTML visualizations based on the analysis database. Note that visualizations do not scale well, so this should only be used on small and few files.
42
+
- A new `lsp` command implements a basic LSP server that can be used in e.g. a VS Code plugin. Note that the implementation is not optimized and currently rather slow.
43
+
- The `init` command was updated and supports a `--internal` flag to easily generate language projects that are meant to be part of the projects repository.
30
44
31
45
#### Changed
32
46
@@ -36,6 +50,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
36
50
- The output of the `test` and `analyze` commands has changed in debug builds to include the run time per file.
37
51
- The `--hide-failure-errors` has been renamed to the more general `--hide-error-details`. The new flag is supported by the `test` and `analyze` commands.
38
52
- The files in directory arguments are now processed in filename order.
53
+
- The `test` command also skips directories with a `.skip` extension, not just files.
0 commit comments