Angluca / ztags

Generate tags files for Zig projects

Home Page:https://git.sr.ht/~gpanders/ztags

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ztags

Generate tags files for Zig projects.

Unlike ctags, this does not use regular expressions, but instead analyzes the abstract syntax tree of the source code.

Building

Simply clone this repository and build with zig build. This will produce a Debug build by default, which generates useful error messages but can be a bit slow. To build a release build use

$ zig build -Doptimize=ReleaseSafe

The master branch tracks Zig HEAD. Use the 0.10.0 branch if using a stable release.

Usage

Pass a source file to the ztags executable. ztags will find @import statements for relative files (i.e. any imports that end with .zig) and recursively index those files too.

Packages (imports that are not a relative path, but a package name such as @import("foo")) are not followed, as package information is not available at runtime. Instead, pass the root source file of each package as an additional command line argument.

For example, the entire Zig standard library can be indexed using:

$ ztags /path/to/zig/std/std.zig

The following "kinds" are supported:

  • enum
  • field
  • struct
  • constant
  • function
  • variable
  • union

Contributing

Have a question, comment, or feature request? Send an email to the mailing list.

Report bugs on the ticket tracker. You can file a ticket without a sourcehut account by sending a plain text email to ~gpanders/ztags@todo.sr.ht.

Send patches to ~gpanders/ztags@lists.sr.ht or open a pull request on GitHub.

License

MIT

About

Generate tags files for Zig projects

https://git.sr.ht/~gpanders/ztags

License:MIT License


Languages

Language:Zig 100.0%