Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
176 commits
Select commit Hold shift + click to select a range
13a1d4a
Initial JSON doc tool with all items types handled in a basic way
asterite Oct 28, 2025
7a4a364
Struct generics
asterite Oct 28, 2025
913f27d
Trait generics
asterite Oct 28, 2025
4e950cb
Type alias generics
asterite Oct 28, 2025
e9eb623
Add a TODO
asterite Oct 28, 2025
6d35999
Remove a TODO
asterite Oct 28, 2025
d0b2adc
Function generics
asterite Oct 28, 2025
fb4253c
Function params
asterite Oct 28, 2025
2d8dc0e
Function return type
asterite Oct 28, 2025
ea220bc
Trait methods
asterite Oct 28, 2025
d7da5c2
Correctly represent generics
asterite Oct 28, 2025
11514ed
Type impls
asterite Oct 28, 2025
e2027b4
Basic trait impls
asterite Oct 28, 2025
eb47afe
Trait trait impls
asterite Oct 28, 2025
a4d71f0
Missing trait impl type
asterite Oct 28, 2025
e5c9d38
Where clauses
asterite Oct 28, 2025
cff2fe1
Trait parents
asterite Oct 28, 2025
0b9a6c2
Use an enum for Type
asterite Oct 28, 2025
15d278f
Flatten modules
asterite Oct 29, 2025
24c8081
Unique IDs
asterite Oct 29, 2025
7628a1e
Reorder TraitImpl fields
asterite Oct 29, 2025
b1e07d6
Markdown output, render crates, modules and structs
asterite Oct 29, 2025
d00b79a
Render functions
asterite Oct 29, 2025
fb5d5f7
fix: remove leading starts from block doc comments
asterite Oct 29, 2025
47e88fb
Handle "empty" lines
asterite Oct 29, 2025
e32bc11
Clippy
asterite Oct 29, 2025
89e42f6
Tiny improvement for structs
asterite Oct 29, 2025
b9db7d3
Missing struct comments
asterite Oct 29, 2025
456d0b8
Some fixes, and start rendering traits
asterite Oct 29, 2025
9155c16
Links
asterite Oct 29, 2025
96d368d
Align private fields
asterite Oct 29, 2025
c4f0302
Put struct code before comments
asterite Oct 29, 2025
1e4eca1
Fix fn env
asterite Oct 29, 2025
5b519b5
Split long functions into multiple lines
asterite Oct 29, 2025
b3bc935
Trait code
asterite Oct 29, 2025
53760ac
Move functions outside of impl
asterite Oct 29, 2025
3effc2d
Small refactor
asterite Oct 29, 2025
3475705
Render impls
asterite Oct 29, 2025
0bbfd79
More newlines
asterite Oct 29, 2025
8e25262
Render struct trait impls
asterite Oct 29, 2025
e791379
Render trait methods
asterite Oct 29, 2025
4c3f786
Render trait implementors
asterite Oct 29, 2025
c07c357
Use different titles
asterite Oct 29, 2025
9dd0465
Fix LSP tests
asterite Oct 29, 2025
57b4b40
Fix nargo expand
asterite Oct 29, 2025
67f91e8
Show all implementors
asterite Oct 29, 2025
24c00e7
Merge branch 'ab/doc-comments-fixes' into ab/nargo_doc_json
asterite Oct 29, 2025
1d2d5f9
Use pre
asterite Oct 29, 2025
1e51723
Show aliases
asterite Oct 29, 2025
d2e41c1
Missing unconstrained in functions
asterite Oct 29, 2025
de2c734
Globals
asterite Oct 29, 2025
642f485
Comments can be indented
asterite Oct 29, 2025
1c80893
Merge branch 'ab/doc-comments-fixes' into ab/nargo_doc_json
asterite Oct 29, 2025
3747d56
Fix env again
asterite Oct 29, 2025
2d69875
Missing comma
asterite Oct 29, 2025
00bdc44
One more fix
asterite Oct 29, 2025
5a5b4a4
Prevent large headings in user comments
asterite Oct 29, 2025
3dd2295
Close unclosed code blocks
asterite Oct 29, 2025
375cba6
Clippy
asterite Oct 29, 2025
ddba6bc
Prepare for HTML
asterite Oct 30, 2025
7911f05
Start generating HTML
asterite Oct 30, 2025
8933a52
Create all files
asterite Oct 30, 2025
4a42c11
Breadcrumbs
asterite Oct 30, 2025
96f3695
Interlinks
asterite Oct 30, 2025
71f46a6
Fix comment
asterite Oct 30, 2025
3241c83
Summaries
asterite Oct 30, 2025
58a3b45
Clippy
asterite Oct 30, 2025
7e87c2b
Use Markdown in summaries
asterite Oct 30, 2025
c95eaf2
Fix heading level
asterite Oct 30, 2025
42dcf7a
One more fix
asterite Oct 30, 2025
bb14d80
Some style
asterite Oct 30, 2025
a8ee7ed
Style improvements
asterite Oct 30, 2025
6c227d4
Padding between item name and description
asterite Oct 30, 2025
953145b
Unhide doc command
asterite Oct 30, 2025
53008ef
Doc comments
asterite Oct 30, 2025
ab8e4e1
Add an empty sidebar
asterite Oct 30, 2025
d67d64e
Add sidebar for crate
asterite Oct 30, 2025
553813d
Include crates name on sidebar
asterite Oct 30, 2025
3e65316
Extract `get_item_kind` functions
asterite Oct 30, 2025
be2948b
Module sidebar
asterite Oct 30, 2025
f7ebf33
Small refactor
asterite Oct 30, 2025
2934a18
Always show parent module items on sidebar
asterite Oct 30, 2025
f348c78
Sidebar doesn't have anything else for aliases, globals and functions
asterite Oct 30, 2025
4c49f63
Struct sidebar
asterite Oct 30, 2025
11b9ab6
Trait sidebar
asterite Oct 30, 2025
c56a7a8
Clippy
asterite Oct 30, 2025
9ec19a1
Extract `render_sidebar_trait_impls`
asterite Oct 30, 2025
83c37fb
Fix
asterite Oct 30, 2025
4b55192
Escape '<' and '>'
asterite Oct 31, 2025
d18deb2
Correctly show all trait impls
asterite Oct 31, 2025
2417ee9
Show trait trait impls from all crates across the workspace
asterite Oct 31, 2025
44398f5
Sidebar links
asterite Oct 31, 2025
555e7d6
Sidebar links
asterite Oct 31, 2025
f613016
Crates -> Workspace
asterite Oct 31, 2025
2ff1ffd
Introduce TypeId alias
asterite Oct 31, 2025
8f8b6df
Show trait impl methods
asterite Oct 31, 2025
1386104
Pad methods
asterite Oct 31, 2025
ed8b4d3
Improve struct fields style
asterite Oct 31, 2025
7ae58a9
Show struct fields in sidebar
asterite Oct 31, 2025
cf22e62
Extract some modules
asterite Oct 31, 2025
5ab10df
Extract markdown_utils module
asterite Oct 31, 2025
bc116fc
Extract id_to_path
asterite Oct 31, 2025
49c9b6a
Extract trait_impls
asterite Oct 31, 2025
1b09831
All items
asterite Oct 31, 2025
f7e164b
Escape HTML in generic names
asterite Oct 31, 2025
a794f4a
Merge branch 'master' into ab/nargo_doc_json
asterite Oct 31, 2025
efe7a3b
Final adjustments and comments
asterite Oct 31, 2025
a2e4582
Revert accidental rename
asterite Oct 31, 2025
b649900
Increase main padding
asterite Oct 31, 2025
3f9b915
Improve sidebar padding
asterite Oct 31, 2025
39e82fa
More padding adjustments
asterite Oct 31, 2025
b4dd500
Skip empty crates
asterite Oct 31, 2025
ccdbfe4
Missing showing functions as comptime
asterite Oct 31, 2025
1e63d7c
Fix if
asterite Oct 31, 2025
7c39028
Use "Implementors" for trait
asterite Oct 31, 2025
194d692
Add "stylesheet" to cspell
asterite Oct 31, 2025
811354e
Remove file added by accident
asterite Oct 31, 2025
1c12aaa
Fix and simplify trait bound alignment
asterite Oct 31, 2025
d927421
Distinguish between trait required and provided methods
asterite Oct 31, 2025
943e1a5
Fix implementors display
asterite Oct 31, 2025
f4b71ea
Sort trait impls on sidebar
asterite Oct 31, 2025
de67262
Sort struct fields in sidebar
asterite Oct 31, 2025
075c655
Sort trait impls
asterite Oct 31, 2025
0ddf62c
Sort all items
asterite Oct 31, 2025
c50d4ba
Redirect if there's a single crate
asterite Oct 31, 2025
7fa387a
Show "private fields" colored as a comment
asterite Oct 31, 2025
9d68d94
Include depedencies in docs
asterite Nov 1, 2025
7e3ad51
Better code style y comments
asterite Nov 1, 2025
3cd153f
Show trait methods in trait code
asterite Nov 1, 2025
acccdaa
Missing trait associated types and constants
asterite Nov 1, 2025
432dad6
Fix function signature indent
asterite Nov 1, 2025
51410e0
Fix where clause indentation
asterite Nov 1, 2025
9de6ccf
Fix where clause trailing newline
asterite Nov 1, 2025
11454d8
Fix trait and trait impl functions where clause
asterite Nov 1, 2025
e810acc
Some more trait code improvements
asterite Nov 1, 2025
be422dd
Better logic for splitting function into multiple lines
asterite Nov 2, 2025
601e551
Some stuff was missing
asterite Nov 2, 2025
dd5044e
Represent mut ref in a better way
asterite Nov 2, 2025
b8a862c
self and Self
asterite Nov 2, 2025
df5952c
Self in traits
asterite Nov 2, 2025
0687575
Primitive types!
asterite Nov 2, 2025
497ab96
Filter out empty modules
asterite Nov 2, 2025
cb4511b
Use Type in numeric generics
asterite Nov 2, 2025
ac4fc55
Link str and fmtstr
asterite Nov 2, 2025
1e22956
Fix typo
asterite Nov 2, 2025
46bc97a
Remove extra file
asterite Nov 2, 2025
4a2b9ad
Undo change
asterite Nov 2, 2025
d606161
Missing handling of primitive type
asterite Nov 2, 2025
9cdc4d7
A few more style changes
asterite Nov 3, 2025
802e7c3
Add generated stdlib docs
asterite Nov 3, 2025
8d612ed
Github Action to check that no diff on nargo doc for stdlib
asterite Nov 3, 2025
7755253
Stable sort of sidebar trait impls
asterite Nov 3, 2025
b73f454
Remove docs JSON format
asterite Nov 3, 2025
97bcd1d
Include re-exports
asterite Nov 3, 2025
50df742
Add a just command to regenerate the stdlib docs
asterite Nov 3, 2025
dbfa98d
Updated stdlib docs
asterite Nov 3, 2025
0826349
Correct way to filter "empty" modules
asterite Nov 3, 2025
094eeed
Update stdlib docs
asterite Nov 3, 2025
da2d096
Re-exports
asterite Nov 4, 2025
9a6e8c4
Update stdlib docs
asterite Nov 4, 2025
f2671d1
Explain converted items map
asterite Nov 4, 2025
74d53dd
Add some tests
asterite Nov 4, 2025
92354c0
Missing crate items on sidebar
asterite Nov 4, 2025
61b93d3
Add newlines for output clarity
asterite Nov 4, 2025
a407541
Regenerate stdlib docs
asterite Nov 4, 2025
609e0ab
Format
asterite Nov 4, 2025
124dfe6
Don't show implicitly named generics
asterite Nov 4, 2025
251315d
Regenerate stdlib docs
asterite Nov 4, 2025
c0fa550
Merge branch 'master' into ab/nargo_doc_json
asterite Nov 4, 2025
6f8a3e9
Update stdlib docs
asterite Nov 4, 2025
82ca025
Breadcrumbs in "All items"
asterite Nov 4, 2025
78ab0f9
TopLevelItem does not exist anymore
asterite Nov 4, 2025
0a2f925
Primitive type fixes
asterite Nov 4, 2025
ae001a3
Regenerated stdlib docs
asterite Nov 4, 2025
e2b7677
chore: roll docs test into existing workflow
TomAFrench Nov 5, 2025
3384c75
Update tooling/nargo_cli/src/cli/doc_cmd.rs
TomAFrench Nov 5, 2025
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
55 changes: 44 additions & 11 deletions .github/workflows/test-js-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -566,7 +566,14 @@ jobs:
test-examples:
name: Example scripts
runs-on: ubuntu-24.04
needs: [build-nargo, build-noir-execute, build-noir-ssa, build-acvm-js, build-noirc-abi]
needs:
[
build-nargo,
build-noir-execute,
build-noir-ssa,
build-acvm-js,
build-noirc-abi,
]
timeout-minutes: 30
permissions:
contents: read
Expand Down Expand Up @@ -786,6 +793,31 @@ jobs:
alert-comment-cc-users: "@TomAFrench"
max-items-in-chart: 50

test-nargo-doc:
needs: [build-nargo]
name: Nargo doc
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
contents: read

steps:
- name: Checkout
uses: actions/checkout@v5

- name: Download nargo binary
uses: ./.github/actions/download-nargo

- name: nargo doc on stdlib
working-directory: ./noir_stdlib
run: |
nargo doc
rm -rf ./docs
mv ./target/docs .
if ! git diff --exit-code; then
echo "nargo doc produced changes on noir_stdlib"
exit 1
fi

# This is a job which depends on all test jobs and reports the overall status.
# This allows us to add/remove test jobs without having to update the required workflows.
Expand All @@ -804,19 +836,20 @@ jobs:
- test-noir-codegen
- test-integration-node
#- test-integration-browser
- test-nargo-doc
- test-examples
- compile-noir-contracts
permissions:
contents: read

steps:
- name: Report overall success
run: |
if [[ $FAIL == true ]]; then
exit 1
else
exit 0
fi
env:
# We treat any skipped or failing jobs as a failure for the workflow as a whole.
FAIL: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}
- name: Report overall success
run: |
if [[ $FAIL == true ]]; then
exit 1
else
exit 0
fi
env:
# We treat any skipped or failing jobs as a failure for the workflow as a whole.
FAIL: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}
28 changes: 28 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 2 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ members = [
"tooling/ast_fuzzer/fuzz",
"tooling/greybox_fuzzer",
"tooling/nargo",
"tooling/nargo_doc",
"tooling/nargo_expand",
"tooling/nargo_fmt",
"tooling/nargo_cli",
Expand Down Expand Up @@ -111,6 +112,7 @@ noirc_span = { path = "compiler/noirc_span" }
noir_greybox_fuzzer = { path = "tooling/greybox_fuzzer" }
nargo = { path = "tooling/nargo" }
nargo_cli = { path = "tooling/nargo_cli" }
nargo_doc = { path = "tooling/nargo_doc" }
nargo_expand = { path = "tooling/nargo_expand" }
nargo_fmt = { path = "tooling/nargo_fmt" }
nargo_toml = { path = "tooling/nargo_toml" }
Expand Down Expand Up @@ -169,10 +171,6 @@ pprof = { version = "^0.15.0", features = ["flamegraph", "criterion"] }
prost = "0.13"
prost-build = "0.13"
protoc-bin-vendored = "3.1.0"


# MessagePack
rmp = "0.8.14"
rmp-serde = "1.3.0"
rmpv = "1.3.0"

Expand Down
Loading
Loading