Skip to content

Commit e6c8172

Browse files
committed
Merge remote-tracking branch 'origin/main' into issue#94
2 parents 009f53a + ed04e89 commit e6c8172

20 files changed

+862
-294
lines changed

CHANGELOG.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,31 +6,36 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how
66

77
## [Unreleased]
88

9+
## [0.0.16] - 2025-05-07
10+
911
### Added
1012

13+
- Pan & zoom for the graphs in both the IDE extensions and the web version
1114
- Documentation now renders `dot` and `dot-cfg` (CFG-styled DOT diagrams)
12-
- Documentation about our usage of Graphviz
13-
- Documentation about the representation of control flow in the graph
15+
- Added docs about GraphViz tips and tricks
16+
- Added docs about our choices of visuals
1417
- Added support for "special" function detection and process-terminating nodes in the graph.
1518
This is currently only enabled in the `/render` page to slowly build up a collection of
1619
functions to match and confidence in the representation before adding to the main tool.
17-
- When changing the code language, the URL is updated to reflect that.
20+
- In the web demo, URL now updates to reflect the selected language.
1821

1922
### Fixed
2023

2124
- Multiple `catch` clauses in C++ are now handled properly, even in case of comments between them.
2225
- Segmentation of `catch` clauses in C++ is now a lot better.
23-
- Fixed an issue where after sharing and reopening the page, clicking the "Share" button again would default the language back to Go instead of preserving the selected one.
26+
- Fixed an issue where after sharing and reopening the page,
27+
clicking the "Share" button again would default the language back to Go instead of preserving the selected one.
28+
- Exit nodes are now drawn properly even inside `try` blocks.
2429

2530
### Changed
2631

2732
- The `bun typedoc` command was renamed to `bun docs`, as some contributors had issues
2833
with unexpected recursion in the command. It is also a nicer name.
2934
- Language definitions are now more unified, making it easier to add new languages.
3035
- `language` URL query parameter now takes language name instead of index.
31-
- Sharing now shares full config in addition to code.
32-
- Sharing now uses the `compressed=` query parameter for all information.
36+
- Sharing now includes configuration (color scheme, switch handling, highlighting) in addition to the code.
3337
- Migrated from Bun Test to Vitest. Tests are now run using `bun vitest`.
38+
- Web version layout changed to always fit in one screen (no scrollbar).
3439

3540
## [0.0.15] - 2025-03-26
3641

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,14 @@ Custom color schemes are created via the [interactive demo](https://tmr232.githu
5252
4. Paste the config into the `Custom Color Scheme` field in the VSCode extension settings.<br/>
5353
![The Custom Color Scheme field in the settings](media/screenshots/color-scheme/settings-custom.png)
5454

55+
## Pan & Zoom
56+
57+
If the graph is too small, enable the "Pan & Zoom" checkbox.
58+
You can zoom with the mouse wheel, and pan by dragging the mouse.
59+
Additionally, the view will automatically pan to the highlighted node when it changes.
60+
61+
![Demonstration of pan & zoom in VSCode](media/gif/panzoom-demo.gif)
62+
5563
## Supported Languages
5664

5765
- [Go](https://tmr232.github.io/function-graph-overview/?language=go)

bun.lock

Lines changed: 38 additions & 20 deletions
Large diffs are not rendered by default.

media/gif/panzoom-demo.gif

1.72 MB
Loading

package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"@svgdotjs/svg.js": "^3.2.4",
88
"@ts-graphviz/ast": "^2.0.7",
99
"@types/object-hash": "^3.0.6",
10-
"@types/vscode": "^1.94.0",
10+
"@types/vscode": "^1.99.1",
1111
"@vscode/vsce": "^3.1.1",
1212
"core-js": "^3.41.0",
1313
"esbuild": "^0.25.0",
@@ -39,7 +39,7 @@
3939
"@vitest/coverage-v8": "^3.1.1",
4040
"@vitest/ui": "^3.1.1",
4141
"eslint": "^9.24.0",
42-
"glob": "^11.0.1",
42+
"glob": "^11.0.2",
4343
"graphology-utils": "^2.5.2",
4444
"lz-string": "^1.5.0",
4545
"markdown-it": "^14.1.0",
@@ -48,15 +48,15 @@
4848
"svelte": "^5.0.0",
4949
"svelte-awesome-color-picker": "^4.0.0",
5050
"svelte-codemirror-editor": "^1.4.1",
51-
"tree-sitter-c": "^0.23.1",
51+
"tree-sitter-c": "^0.23.5",
5252
"tree-sitter-cli": "^0.25.3",
5353
"tree-sitter-cpp": "^0.23.4",
5454
"tree-sitter-go": "^0.23.1",
55-
"tree-sitter-python": "^0.23.2",
55+
"tree-sitter-python": "^0.23.6",
5656
"tree-sitter-typescript": "^0.23.2",
5757
"typedoc": "^0.28.1",
5858
"typescript": "^5.8.3",
59-
"typescript-eslint": "^8.29.1",
59+
"typescript-eslint": "^8.31.1",
6060
"vite": "6.2.6",
6161
"vitest": "^3.0.8"
6262
},
@@ -90,7 +90,7 @@
9090
"//": "START EXTENSION ATTRIBUTES",
9191
"publisher": "tamir-bahar",
9292
"name": "function-graph-overview",
93-
"version": "0.0.15",
93+
"version": "0.0.16",
9494
"description": "Function Graph Overview",
9595
"displayName": "Function Graph Overview",
9696
"icon": "./media/icon.png",

parsers/tree-sitter-c.wasm

4.4 KB
Binary file not shown.

parsers/tree-sitter-python.wasm

2.31 KB
Binary file not shown.

src/components/ColorSchemeEditor.svelte

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,20 +105,22 @@ function resetList() {
105105
.wrapper {
106106
display: flex;
107107
justify-content: center;
108-
margin-top: 3rem;
109108
}
110109
.label {
111110
align-self: center;
112111
}
113112
.main {
114113
width: fit-content;
114+
display: flex;
115+
flex-direction: column;
116+
gap: 1rem;
115117
}
116118
.border {
117119
border: 1px solid var(--color-picker-border);
118120
border-radius: 100%;
119121
width: fit-content;
120-
margin: 0px;
121-
padding: 0px;
122+
margin: 0;
123+
padding: 0;
122124
}
123125
124126
.colors {

0 commit comments

Comments
 (0)