Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
2e8b82e
htcl frontend working reasonably well
rcgoodfellow Jun 4, 2026
e1fa8df
various crimes for CIPS IP generation to work
rcgoodfellow Jun 17, 2026
1f26849
htcl generation for commands from vivado man pages
rcgoodfellow Jun 19, 2026
980025c
non-local ipe dep
rcgoodfellow Jun 19, 2026
413fabf
unbreak illumos build
rcgoodfellow Jun 19, 2026
a9108d8
ci -> helios 3
rcgoodfellow Jun 19, 2026
8756f7e
ci: ubuntu -> 24.04
rcgoodfellow Jun 19, 2026
58b8e45
lsp: autocomplete for `src`
rcgoodfellow Jun 20, 2026
7362f74
first class module imports
rcgoodfellow Jun 22, 2026
9aa3978
recursive resolving, various ip generator updates
rcgoodfellow Jun 23, 2026
6e69386
various fixes for generated docs and lsp doc rendering
rcgoodfellow Jun 23, 2026
bffc584
reticulating repl ...
rcgoodfellow Jun 24, 2026
e04284a
reticulating repl
rcgoodfellow Jun 24, 2026
8b52e52
reticulating repl ...
rcgoodfellow Jun 26, 2026
e5e089a
repl: configure_cips working
rcgoodfellow Jun 26, 2026
646dc6d
reticulating repl
rcgoodfellow Jun 27, 2026
25e4ea0
htcl types
rcgoodfellow Jun 29, 2026
f553280
make run diagnostics consistent with repl
rcgoodfellow Jun 29, 2026
b9d64b4
fix major repl pathologies
rcgoodfellow Jun 29, 2026
fe3f311
user versus default prop tracking
rcgoodfellow Jun 30, 2026
3ea3424
repl: lsp integration
rcgoodfellow Jun 30, 2026
acb239c
make strack traces on info logs optional
rcgoodfellow Jun 30, 2026
85ea571
lsp: full workspace symbol search
rcgoodfellow Jun 30, 2026
abac9a3
more comprehensive infra for stack traces
rcgoodfellow Jul 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[net]
git-fetch-with-cli = true
31 changes: 31 additions & 0 deletions .claude/settings.local.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"permissions": {
"allow": [
"Bash(cargo check *)",
"Bash(cargo test *)",
"Bash(cargo build *)",
"Bash(cargo run *)",
"Bash(echo \"exit=$?\")",
"Read(//home/ry/src/tree-sitter-htcl/**)",
"Read(//home/ry/src/tree-sitter-htcl/bindings/**)",
"Bash(tree-sitter generate *)",
"Bash(tree-sitter parse *)",
"Bash(tree-sitter test *)",
"Read(//home/ry/src/redhawk/host/vivado/metro/ip/**)",
"Read(//home/ry/src/amd-htcl/**)",
"Bash(cargo install *)",
"Read(//home/ry/src/htcl/amd/vivado-cmd/**)",
"Read(//home/ry/src/htcl/amd/vivado-cmd/cmd/**)",
"Bash(vw ip *)",
"Read(//tmp/**)",
"Bash(vw check *)",
"Bash(grep -nA20 \"fn diagnostics\\\\|validate\\(\\\\|fn publish_diagnostics\" vw-analyzer/src/htcl_backend.rs)",
"Bash(awk '{sum += $4} END {print \"passed:\", sum}')",
"Bash(vw --help)",
"Bash(awk '{ ok+=$4; failed+=$6 } END { print ok \" passed, \" failed \" failed\" }')",
"Bash(cargo clippy *)",
"Bash(awk *)",
"Bash(/home/ry/src/vw/target/debug/vw run *)"
]
}
}
5 changes: 4 additions & 1 deletion .github/buildomat/jobs/build-linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@
#:
#: name = "build-linux"
#: variety = "basic"
#: target = "ubuntu-22.04"
#: target = "ubuntu-24.04"
#: rust_toolchain = "stable"
#: output_rules = [
#: "/work/release/*",
#: ]
#: access_repos = [
#: "oxidecomputer/ipe"
#: ]
#:
#: [[publish]]
#: series = "linux"
Expand Down
5 changes: 4 additions & 1 deletion .github/buildomat/jobs/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@
#:
#: name = "build"
#: variety = "basic"
#: target = "helios-2.0"
#: target = "helios-3.0"
#: rust_toolchain = "stable"
#: output_rules = [
#: "/work/release/*",
#: ]
#: access_repos = [
#: "oxidecomputer/ipe"
#: ]
#:
#: [[publish]]
#: series = "illumos"
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
/target
*.jou
*.log
.srcs
21 changes: 21 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,3 +92,24 @@ project/
├── vw.toml
└── vhdl_ls.toml
```

## htcl language stack

`vw-htcl` (winnow parser, AST, analysis) is the source of truth for
htcl semantics. It feeds `vw run` (interpreter front-end driving an
EDA backend), `vw analyzer` (LSP), and eventually `vw repl`.

There is a sibling tree-sitter grammar at
`~/src/tree-sitter-htcl` (repo:
https://github.com/oxidecomputer/tree-sitter-htcl) used by editors
for syntax highlighting. **Both must stay in sync.** When changing
the htcl grammar in `vw-htcl/src/parser.rs` or `ast.rs`:

- Update `~/src/tree-sitter-htcl/grammar.js` to match.
- Update or add corpus tests in `~/src/tree-sitter-htcl/test/corpus/`.
- Update `~/src/tree-sitter-htcl/queries/highlights.scm` if new node
types deserve distinct highlighting.
- Run `tree-sitter generate && tree-sitter test` in that repo.

The sync contract (vw-htcl leads, divergences are documented) is
written up in `~/src/tree-sitter-htcl/README.md`.
Loading