carta
semind(1)

semind1

Semantic indexer for c

Usage

semind [options]

semind [options] add [command options] [--] [compiler options] [files ...]

semind [options] rm [command options] pattern

semind [options] search [command options] [pattern]

semind {[options] search [command options] (-e | -l) filename:linenr:column}

Overview

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.

Subcommands

add

generates or updates semantic index file.

rm

removes files from the index by pattern. The pattern is a glob(7) wildcard pattern.

search

queries information about symbol by pattern. The pattern is a glob(7) wildcard pattern.

Options

-D, --database=FILE

specify database file (default: ./semind.sqlite).

-v, --verbose

show information about what is being done.

-h, --help

show this text and exit.

Options

--include-local-syms

include into the index local symbols.

Options

-f, --format=STRING

specify an output format. Default: '(%m) %f\t%l\t%c\t%C\t%s' (see FORMAT below).

-p, --path=PATTERN

search symbols only in specified directories.

-m, --mode=MODE

search only the specified type of access (see MODE below).

-k, --kind=KIND

specify a kind of symbol (see KIND below).

-e, --explain

Show what happens in the specified file position;

-l, --location

Show usage of symbols from a specific file position;

-v, --verbose

show information about what is being done;

-h, --help

show this text and exit.

Format

%m

access mode in human readable form (see MODE below).

%f

file name.

%l

line number.

%c

column number.

%C

the name of the function in which the symbol occurs.

%n

symbol name.

%s

source code line. Indexer does not save source code lines. They are read from the file during the search.

Kind

f

function

s

strict

m

struct member

Mode

The MODE 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 'def' means a symbol definition.

r

read

w

write

m

read and write

Homepage

https://sparse.docs.kernel.org

Mailing list

[email protected]

From sparse 0.6.5+rc1-3 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.