diff options
| author | Gabriel Schneider <[email protected]> | 2026-08-09 04:20:20 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-08-10 09:17:07 -0300 |
| commit | 628aa40f13e9bbd313b51ab625f193110aad8dd0 (patch) | |
| tree | e60902495e308505959361d8719c382401b88295 /test/lspfixture/dothalf.zig | |
| parent | 0a15af8d98771180e32402e68ea844f9f377cefb (diff) | |
| download | pardes-628aa40f13e9bbd313b51ab625f193110aad8dd0.tar.gz pardes-628aa40f13e9bbd313b51ab625f193110aad8dd0.zip | |
Tab after a dot in insert mode lists what could go there
Diffstat (limited to 'test/lspfixture/dothalf.zig')
| -rw-r--r-- | test/lspfixture/dothalf.zig | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/lspfixture/dothalf.zig b/test/lspfixture/dothalf.zig new file mode 100644 index 00000000..69d407fa --- /dev/null +++ b/test/lspfixture/dothalf.zig @@ -0,0 +1,24 @@ +//! The other half of a real keypress, for the lspbench completion probe. Like +//! broken.zig and dotcomplete.zig it is NOT built and NOT imported by anything. +//! +//! dotcomplete.zig types its dot into a switch whose braces are already there, +//! which turns out to be the EASY half: the dot is the only thing wrong with +//! the file, so any repair at all makes the tree whole. Mid-typing a line is +//! short of its terminator as well, and `const z: Shade = .` is then exactly +//! ONE parse error whether a placeholder identifier is spliced in or not. A +//! repair chosen by counting parse errors therefore discards itself here, and +//! the feature silently only worked on finished syntax — which is what this +//! file exists to stop happening again. +//! +//! It is its own file rather than another function in dotcomplete.zig, and +//! that is load-bearing: Zig's error recovery runs FORWARD, so an unrepaired +//! break earlier in a file swallows the declaration the cursor is in. Only the +//! break at the cursor is repaired, so a fixture may hold only one. +pub const Shade = enum { + verdigris, + cinnabar, +}; + +pub fn unterminated() void { + const z: Shade = . +} |
