-
-
Notifications
You must be signed in to change notification settings - Fork 6
ABI Mapper Improvements #67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
37 commits
Select commit
Hold shift + click to select a range
cecbfce
Claude Code: Rewires the documentation generation in abi-mapper to ha…
d788bf2
Improves memory management strategy.
798b635
Claude Code: Resolves most open TODOs
75b452d
Fixes some bad assumptions for C compatibility
03406f9
Adds abi-mapper to be installed from main zig file
094759d
Starts adjusting website to abi-mapper DocComment type
98587c0
Implements rendering of new doccomment scheme
f951772
Adds missing code admonitions to the theme.css
047f3a1
Introduces LEARN admonition into code docs, fixes all references insi…
3680638
Codex: Implements FQN resolution of doc comment refs
4551176
Codex: Implements abi-mapper errors for invalid code refs.
d69edf6
Codex: Implements improved validation of bad references, adds proper …
ec4222c
Fixes all bad references in ashet.abi that are actually bad.
288740d
Codex: Fixes bug that field references could not be found
56681e8
Implements hyperlinking doc comment refs
17ef987
Claude Code: Implements rendering of local qualified names derived fr…
90107d9
Claude Code: Updates syscall renderer such that type refs to known ty…
ca41605
Claude Code: Fixes linking for different kind of link targets based o…
16c6e6d
Adds current working draft for 1.0 ABI file, to serve as a stress tes…
fe05822
Implements some command line usage errors for abi-parser, adds severa…
161b6d4
For each problem in findings.md adds a patch file that documents how …
0762c93
Fixes the obvious human mistakes in ashet-1.0.abi
6a67ab7
Removes human errors from rework/findings.md
d55e7b4
Improves abi-mapper a lot and fixes long-standing issues.
2547d28
Fixes code gen to handle new type changes.
8d427a3
For the decl lists, only renders the main docs and skips all other ki…
4edf2b1
Fixes src/abi/utility/render_zig_code.zig to properly handle zig name…
30e584d
Merge remote-tracking branch 'origin/master' into work/abi-mapper-imp…
a45b431
Codex: Introduces a tighter validation of FQN parsing.
a56ddd3
Fixes several bugs in the abi-mapper tool.
11e553b
Codex: Improves CI script with improved caching behavior.
c01b8d8
Fixes CI for tooling, and makes .abi files use LF line endings in git
ec431f8
removes ashet 1.0 abi file, as it was only for testing
7dd6741
Installs libgtk-3 in smoketest CI
074cfa6
Adds paranoia debugging option with assertions in fmt_id
d765ff7
Uploads .zig-cache on failure
87faa72
Adjusts formatting code such that it renders escape codes
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,2 @@ | ||
| *.zig text=auto eol=lf | ||
| *.abi text=auto eol=lf |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,49 @@ | ||
| #!/usr/bin/env python3 | ||
|
|
||
| import hashlib | ||
| import pathlib | ||
| import subprocess | ||
| import sys | ||
|
|
||
|
|
||
| digest = hashlib.sha256() | ||
| entries: set[str] = set() | ||
|
|
||
| git_files = subprocess.run( | ||
| ["git", "ls-files", "-z"], | ||
| check=True, | ||
| capture_output=True, | ||
| ).stdout.split(b"\0") | ||
|
|
||
| manifest_paths = sorted( | ||
| pathlib.Path(raw.decode("utf-8")) | ||
| for raw in git_files | ||
| if raw and (raw == b"build.zig.zon" or raw.endswith(b"/build.zig.zon")) | ||
| ) | ||
|
|
||
| for path in manifest_paths: | ||
| print(path.as_posix(), file=sys.stderr) | ||
|
|
||
| for path in manifest_paths: | ||
| for line in path.read_text().splitlines(): | ||
| stripped = line.strip() | ||
| if stripped.startswith("//"): | ||
| continue | ||
|
|
||
| for key in (".url", ".hash"): | ||
| prefix = f"{key} =" | ||
| if not stripped.startswith(prefix): | ||
| continue | ||
|
|
||
| _, value = stripped.split("=", 1) | ||
| value = value.strip() | ||
|
|
||
| assert value.startswith('"'), f"{path}: malformed {key} entry: {line!r}" | ||
| assert value.endswith('",'), f"{path}: malformed {key} entry: {line!r}" | ||
|
|
||
|
ikskuh marked this conversation as resolved.
|
||
| entries.add(f"{key}={value}") | ||
|
|
||
| for entry in sorted(entries): | ||
| digest.update(f"{entry}\n".encode("utf-8")) | ||
|
|
||
| print(f"key={digest.hexdigest()}") | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.