xaizek / zograscope (License: AGPLv3 only) (since 2018-12-07)
Mainly a syntax-aware diff that also provides a number of additional tools.
<root> / man / zs-stats.1 (984d24e0f96caec41d62c5adf17081d318d0f51b) (1,859B) (mode 100644) [raw]
.\" Automatically generated by Pandoc 2.17.1.1
.\"
.\" Define V font for inline verbatim, using C font in formats
.\" that render this, and otherwise B font.
.ie "\f[CB]x\f[]"x" \{\
. ftr V B
. ftr VI BI
. ftr VB B
. ftr VBI BI
.\}
.el \{\
. ftr V CR
. ftr VI CI
. ftr VB CB
. ftr VBI CBI
.\}
.TH "zs-stats" "1" "July 19, 2022" "" ""
.hy
.SH NAME
.PP
\f[I]zs-stats\f[R] is a tool for counting:
.IP \[bu] 2
lines of code
.IP \[bu] 2
size of functions (complete definition)
.IP \[bu] 2
number of functions
.IP \[bu] 2
number of parameters of functions
.IP \[bu] 2
possibly other things in the future
.SH INVOCATION
.PP
\f[V]zs-stats\f[R] \f[V][options...]\f[R] \f[I][paths\&...]\f[R]
.PP
Paths can specify both files and directories.
When no path is specified, \[lq].\[rq] is assumed.
.SS Tool-specific Options
.PP
\f[V]--annotate\f[R]
.PD 0
.P
.PD
print source code annotated with line types
.PP
\f[V]--lang\f[R]
.PD 0
.P
.PD
here this common option also limits set of files to process
.SH OPERATION
.PP
Differences from some similar tools:
.IP \[bu] 2
counts line containing only braces/brackets/parenthesis separately from
code
.IP \[bu] 2
blank lines inside multiline comments are counted as comments
.IP \[bu] 2
blank lines inside string literals are counted as code
.IP \[bu] 2
can be slower due to parsing source code instead of treating it as text
.IP \[bu] 2
supports a few languages and new ones are harder to add
.IP \[bu] 2
trailing blank lines are ignored (because there are no tree nodes for
them, although it\[cq]s possible to add them)
.IP \[bu] 2
last line continuation in macros in C aren\[cq]t recognized due to lack
of tokenization of preprocessor directives; in C++ it might not be
recognized due to SrcML bugs
.SH SEE ALSO
.PP
\f[B]zograscope\f[R](7) for common options and list of all tools there.
.SH AUTHORS
xaizek <xaizek@posteo.net>.
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/zograscope

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/zograscope

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master