alex
56fe08fa7a
all rendering functions output using Ais (AutoIndentingStream) which writes to an std.fs.File.Writer but some commented out functions like renderArrayInit need to use Ais to temporary output a partial expression into an std.ArrayList(u8) buffer, making a new type of Ais which renderExpression func cannot accept. the new TypeErasedWriter abstracts the underlying writer away and so Ais now always outputs to the same TypeErasedWriter.Writer type. in other words, a single type of Ais should now satisfy all render functions. |
2 years ago | |
---|---|---|
src | 2 years ago | |
LICENSE | 2 years ago | |
README.md | 2 years ago | |
build.zig | 2 years ago |
README.md
zig docs on command line.
usage:
zdoc [source] <identifier>
the program searches source code for matching public identifiers, printing found types and their doc comments to stdout. the search is case-insensitive and non-exhaustive.
for example, look up format function in std lib:
zdoc std.fmt format
print fmt's top level doc comments:
zdoc std.fmt
look up "hello" identifier in a project file:
zdoc ./src/main.zig hello
search across all .zig files starting from the src directory, recursively and following symlinks:
zdoc ./src hello
that's about all it can do for now. a future version may include search syntax for public struct fields, enum tags and other constructs, like so:
zdoc std.foo.bar .somefield
for some types, zig may log an error reading something like, "renderingExpression for ... unimplemented". that's because i commented out a big chunk of rendering cases in src/output.zig which was adapted from std/zig/render.zig, to suppress definitions output.
if you see an error like this, please create an issue or send a code change.
to contribute, create a pull request or send a patch with git send-mail to alex-dot-cloudware.io.
before sending a change, please make sure tests pass:
zig build test
and all code is formatted:
zig fmt --check .
license
same as zig license.