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: CHANGELOG.md
+22Lines changed: 22 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,28 @@
2
2
3
3
All notable changes to the **Bison/Flex Language Support** extension will be documented in this file.
4
4
5
+
## [1.5.3] - 2026-04-20
6
+
7
+
### Added
8
+
9
+
-**Show in Generated File — output channel** (#27): a dedicated *Bison/Flex Navigation* output channel now logs every directory and file path searched when locating the generated file. The channel is shown automatically when the search starts, making it easy to diagnose `buildDirectory` misconfigurations.
10
+
-**Show in Generated File — automake file names** (#45, contributed by [@GitMensch](https://github.com/GitMensch)): the generated-file search now also looks for the automake-style names used when Bison/Flex is called from an automake rule (`.tab.c`/`.tab.h`, `_tab.c`/`_tab.h`, `lex.yy.c`, `lex._.c`, and their `.cc`/`.cpp` variants).
11
+
12
+
### Fixed
13
+
14
+
-**Show in Source — `#line` offset and unquoted filenames** (#44): the command now correctly handles `#line` directives without quoted filenames (e.g. `#line 42 parser.y` in addition to `#line 42 "parser.y"`), and the line offset is now computed correctly so the editor opens at the exact grammar line.
15
+
-**Show in Generated File — cached lookup / multi-root workspaces** (#27): the last successfully found generated file is cached per source file, avoiding redundant filesystem scans on repeated calls. In multi-root workspaces `${workspaceFolder}` in `bisonFlex.buildDirectory` now resolves to the workspace folder that contains the source file, so a single setting works correctly across all roots.
16
+
17
+
### Documentation
18
+
19
+
-`bisonFlex.buildDirectory` is now documented in the README with supported formats (`${workspaceFolder}`, relative paths, absolute paths) and multi-root workspace behaviour.
20
+
21
+
### CI / Internal
22
+
23
+
- Workflows consolidated: CI now runs on `push`/`pull_request` for both `main` and `dev`; the VSIX artifact is built on every CI run.
Copy file name to clipboardExpand all lines: README.md
+11-1Lines changed: 11 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -77,6 +77,16 @@ Jump between Bison/Flex grammar sources and their generated C files using `#line
77
77
-**Bison/Flex: Show in Source** — from a generated `.tab.c` / `lex.yy.c` file, reads the nearest `#line N "file.y"` directive above the cursor and opens the grammar source at the correct line. Appears in the context menu only when a generated file is detected.
78
78
-**Bison/Flex: Show in Generated File** — from a `.y` / `.l` source, locates the generated file and navigates to the matching line. Searches `bisonFlex.buildDirectory`, then CMake/Makefile detection, then the same directory, then a workspace-wide scan. A QuickPick is shown when multiple candidates are found.
79
79
80
+
#### Configuring `bisonFlex.buildDirectory`
81
+
82
+
Set this to the directory where Bison/Flex writes its generated files when they are not placed next to the source:
83
+
84
+
-**`${workspaceFolder}`** — resolved to the workspace folder that contains the source file. In multi-root workspaces each folder resolves independently, so a single setting works across all roots.
85
+
-**Relative path** — resolved relative to that same workspace folder (e.g. `build` or `cmake-build-debug/parser`).
86
+
-**Absolute path** — used as-is.
87
+
88
+
If the setting is empty or the generated file is not found there, the extension falls back to CMake/Makefile-detected paths, then the source file's own directory, then a workspace-wide scan.
89
+
80
90
### Autocompletion
81
91
82
92
Context-aware suggestions triggered as you type:
@@ -226,7 +236,7 @@ Then press `F5` in VS Code to launch the Extension Development Host.
226
236
|`bisonFlex.minVersionBison`|`string`|`""`| Suppress checks that require a newer Bison version (e.g. `"3.0"`). Fires `bison/feature-requires-version` when a `%define` feature exceeds this version. |
227
237
|`bisonFlex.minVersionFlex`|`string`|`""`| Same as above for Flex. |
|`bisonFlex.buildDirectory`|`string`|`""`|Path to the build output directory. Used by **Show in Generated File** to locate `.tab.c` / `lex.yy.c` when they are not next to the source. |
239
+
|`bisonFlex.buildDirectory`|`string`|`""`|Directory where Bison/Flex writes its generated files (`.tab.c`, `lex.yy.c`). Supports `${workspaceFolder}` (resolved per workspace root in multi-root setups), paths relative to that root, and absolute paths. See [Configuring `bisonFlex.buildDirectory`](#configuring-bisonflexbuilddirectory) for details. |
0 commit comments