| .\" Sindex manpage by Alexey Gladkov |
| .TH semind "1" |
| . |
| .SH NAME |
| semind \- Semantic Indexer for C |
| . |
| .SH SYNOPSIS |
| .B semind |
| [\fIoptions\fR] |
| .br |
| .B semind |
| [\fIoptions\fR] \fIadd\fR [\fIcommand options\fR] [\fI--\fR] [\fIcompiler options\fR] [\fIfiles...\fR] |
| .br |
| .B semind |
| [\fIoptions\fR] \fIrm\fR [\fIcommand options\fR] \fIpattern\fR |
| .br |
| .B semind |
| [\fIoptions\fR] \fIsearch\fR [\fIcommand options\fR] [\fIpattern\fR] |
| .br |
| .B semind [\fIoptions\fR] \fIsearch\fR [\fIcommand options\fR] (\fI-e\fR|\fI-l\fR) \fIfilename\fR:\fIlinenr\fR:\fIcolumn\fR |
| .br |
| .SH DESCRIPTION |
| .P |
| semind is the simple to use cscope-like tool based on sparse/dissect. Unlike |
| cscope it runs after pre-processor and thus it can't index the code filtered out |
| by ifdef's, but otoh it understands how the symbol is used and it can track the |
| usage of struct members. |
| . |
| .SH SUBCOMMANDS |
| .TP |
| \fBadd\fR |
| generates or updates semantic index file. |
| .TP |
| \fBrm\fR |
| removes files from the index by \fIpattern\fR. The \fIpattern\fR is a |
| .BR glob (7) |
| wildcard pattern. |
| .TP |
| \fBsearch\fR |
| queries information about symbol by \fIpattern\fR. The \fIpattern\fR is a |
| .BR glob (7) |
| wildcard pattern. |
| . |
| .SH COMMON OPTIONS |
| .TP |
| \fB-D\fR, \fB--database=FILE\fR |
| specify database file (default: ./semind.sqlite). |
| .TP |
| \fB-v\fR, \fB--verbose\fR |
| show information about what is being done. |
| .TP |
| \fB-h\fR, \fB--help\fR |
| show this text and exit. |
| . |
| .SH ADD OPTIONS |
| .TP |
| \fB--include-local-syms\fR |
| include into the index local symbols. |
| . |
| .SH SEARCH OPTIONS |
| .TP |
| \fB-f\fR, \fB--format=STRING\fR |
| specify an output format. Default: '(%m) %f\\t%l\\t%c\\t%C\\t%s' (see |
| .BR FORMAT |
| below). |
| .TP |
| \fB-p\fR, \fB--path=PATTERN\fR |
| search symbols only in specified directories. |
| .TP |
| \fB-m\fR, \fB--mode=MODE\fR |
| search only the specified type of access (see |
| .BR MODE |
| below). |
| .TP |
| \fB-k\fR, \fB--kind=KIND\fR |
| specify a kind of symbol (see |
| .BR KIND |
| below). |
| .TP |
| \fB-e\fR, \fB--explain\fR |
| Show what happens in the specified file position; |
| .TP |
| \fB-l\fR, \fB--location\fR |
| Show usage of symbols from a specific file position; |
| .TP |
| \fB-v\fR, \fB--verbose\fR |
| show information about what is being done; |
| .TP |
| \fB-h\fR, \fB--help\fR |
| show this text and exit. |
| . |
| .SH FORMAT |
| .TP |
| \fB%m\fR |
| access mode in human readable form (see |
| .BR MODE |
| below). |
| .TP |
| \fB%f\fR |
| file name. |
| .TP |
| \fB%l\fR |
| line number. |
| .TP |
| \fB%c\fR |
| column number. |
| .TP |
| \fB%C\fR |
| the name of the function in which the symbol occurs. |
| .TP |
| \fB%n\fR |
| symbol name. |
| .TP |
| \fB%s\fR |
| source code line. Indexer does not save source code lines. They are read from |
| the file during the search. |
| . |
| .SH KIND |
| .TP |
| \fBf\fR |
| function |
| .TP |
| \fBs\fR |
| strict |
| .TP |
| \fBm\fR |
| struct member |
| . |
| .SH MODE |
| The \fBMODE\fR is dumped as a 3-letter string. The first letter denotes address |
| of part, 2-nd - access by value, 3-rd - access by pointer. A special |
| value '\fIdef\fR' means a symbol definition. |
| .TP |
| \fBr\fR |
| read |
| .TP |
| \fBw\fR |
| write |
| .TP |
| \fBm\fR |
| read and write |
| . |
| .SH SEE ALSO |
| .BR sparse (1) |
| . |
| .SH HOMEPAGE |
| https://sparse.docs.kernel.org |
| . |
| .SH MAILING LIST |
| linux-sparse@vger.kernel.org |
| . |