Skip to content

Commit e6cea6b

Browse files
committed
Merge branch 'sorted-insertion' of github.com:hazelgrove/hazel into sorted-insertion
2 parents adc9feb + 74ee257 commit e6cea6b

File tree

23 files changed

+1031
-1808
lines changed

23 files changed

+1031
-1808
lines changed

plans/closure-cursor-bar.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Closure Cursor Bar
2+
3+
## Status: Implemented, needs testing
4+
5+
## What was done
6+
7+
1. **Created `ClosureCursorBar.re`** - New component that displays call stack breadcrumbs
8+
- Shows function names from applications in the call stack
9+
- Uses arrow separators between entries
10+
- Highlights the "focused" entry (at sample_cursor.index)
11+
- Shows ghosted entries beyond current index
12+
- Only appears when probes exist
13+
- Shows "⌀" when at top level (empty call stack)
14+
- Click on entry jumps to that syntax location
15+
16+
2. **CSS in `style.css`** - Added closure cursor bar styling
17+
- Positioned in row 2 of a 4-row grid layout
18+
- Matches top bar aesthetics
19+
- Hidden when no probes exist (via `.hidden` class)
20+
21+
3. **Modified `Page.re`** - Integrated closure cursor bar into page layout
22+
- Bar is rendered between top bar and main content
23+
24+
4. **Modified `Transition.re`** - Added `RecordStackFrame` to built-in function applications
25+
- Both print and other built-in functions now record stack frames
26+
27+
5. **Fixed grid layout** - Added grid positioning to `#sidebars` in `style.css`
28+
29+
## What needs testing
30+
31+
- Closure cursor bar appearance when probes are active
32+
- Click-to-jump functionality
33+
- Breadcrumb display with nested function calls
34+
- Ghost indicator for entries beyond current index
35+
36+
## Known limitations (documented in code)
37+
38+
- Function names show "?" for applications inside built-in function implementations
39+
(e.g., recursive calls within `map`) because those app_ids aren't in info_map
40+
- Future enhancement: Augment RecordStackFrame to carry function name directly
41+
42+
## Files changed
43+
44+
- `src/web/app/probesystem/ClosureCursorBar.re` (new)
45+
- `src/web/www/style.css`
46+
- `src/web/www/style/sidebar.css`
47+
- `src/web/app/Page.re`
48+
- `src/language/dynamics/transition/Transition.re`

0 commit comments

Comments
 (0)