rdm man page

rdm ā€” manual page for rdm 2.10.117

Synopsis

rdm [OPTION]...

Description

RTags is a client/server application that indexes C/C++ code and keeps a persistent file-based database of references, declarations, definitions, symbolnames etc. There's also limited support for ObjC/ObjC++. It allows you to find symbols by name (including nested class and namespace scope). Most importantly we give you proper follow-symbol and find-references support. We also have neat little things like rename-symbol, integration with clang's "fixits" (http://clang.llvm.org/diagnostics.html). We also integrate with flymake using clang's vastly superior errors and warnings. Since RTags constantly will reindex "dirty" files you get live updates of compiler errors and warnings. Since we already know how to compile your sources we have a way to quickly bring up the preprocessed output of the current source file in a buffer.

While existing taggers like gnu global, cscope, etags, ctags etc do a decent job for C they often fall a little bit short for C++. With its incredible lexical complexity, parsing C++ is an incredibly hard task and we make no bones about the fact that the only reason we are able to improve on the current tools is because of clang (http://clang.llvm.org/). RTags is named RTags in recognition of Roberto Raggi on whose C++ parser we intended to base this project but he assured us clang was the way to go. The name stuck though.

Options

--help|-h

Display this page.

--version

Display version.

--include-path|-I [arg]

Add additional include path to clang.

--isystem|-s [arg]

Add additional system include path to clang.

--define|-D [arg]

Add additional define directive to clang.

--default-argument [arg]

Add additional argument to clang.

--log-file|-L [arg]

Log to this file.

--crash-dump-file [arg]

File to dump crash log to (default is <datadir>/crash.dump).

--setenv|-e [arg]

Set this environment variable (--setenv "foobar=1").

--no-Wall|-W

Don't use -Wall.

--Weverything|-u

Use -Weverything.

--verbose|-v

Change verbosity, multiple -v's are allowed.

--job-count|-j [arg]

Spawn this many concurrent processes for indexing.

--header-error-job-count|-H [arg]

Allow this many concurrent header error jobs (default std::max(1, --job-count / 2)).

--test|-t [arg]

Run this test.

--test-timeout|-z [arg]

Timeout for test to complete.

--clean-slate|-C

Clear out all data.

--disable-sighandler|-x

Disable signal handler to dump stack for crashes.

--silent|-S

No logging to stdout/stderr.

--exclude-filter|-X [arg]

Files to exclude from rdm, default "*/CMakeFiles/*;*/cmake*/Modules/*;*/conftest.c*;/tmp/*;/private/tmp/*;/private/var/*".

--socket-file|-n [arg]

Use this file for the server socket (default ~/.rdm).

--data-dir|-d [arg]

Use this directory to store persistent data (default $XDG_CACHE_HOME/rtags otherwise ~/.cache/rtags).

--ignore-printf-fixits|-F

Disregard any clang fixit that looks like it's trying to fix format for printf and friends.

--error-limit|-f [arg]

Set error limit to argument (-ferror-limit={arg} (default 50).

--block-argument|-G [arg]

Block this argument from being passed to clang. E.g. rdm --block-argument -fno-inline

--no-spell-checking|-l

Don't pass -fspell-checking.

--large-by-value-copy|-r [arg]

Use -Wlarge-by-value-copy=[arg] when invoking clang.

--allow-multiple-sources|-m

Don't merge source files added with -c.

--no-startup-project|-o

Don't restore the last current project on startup.

--no-no-unknown-warnings-option|-Y

Don't pass -Wno-unknown-warning-option.

--ignore-compiler|-b [arg]

Ignore this compiler.

--compiler-wrappers [arg]

Consider these filenames compiler wrappers (split on ;), default ccache".

--watch-system-paths|-w

Watch system paths for changes.

--rp-visit-file-timeout|-Z [arg]

Timeout for rp visitfile commands in ms (0 means no timeout) (default 60000).

--rp-indexer-message-timeout|-T [arg]

Timeout for rp indexer-message in ms (0 means no timeout) (default 60000).

--rp-connect-timeout|-O [arg]

Timeout for connection from rp to rdm in ms (0 means no timeout) (default 0).

--rp-connect-attempts [arg]

Number of times rp attempts to connect to rdm before giving up. (default 3).

--rp-nice-value|-a [arg]

Nice value to use for rp (nice(2)) (default is no nicing).

--suspend-rp-on-crash|-q

Suspend rp in SIGSEGV handler (default off).

--rp-log-to-syslog

Make rp log to syslog.

--start-suspended|-Q

Start out suspended (no reindexing enabled).

--separate-debug-and-release|-E

Normally rdm doesn't consider release and debug as different builds. Pass this if you want it to.

--separate-32-bit-and-64-bit

Normally rdm doesn't consider -m32 and -m64 as different builds. Pass this if you want it to.

--ignore-include-path-differences-in-usr
Don't consider sources that only differ in includepaths within /usr (not including /usr/home/) as different builds.
--max-crash-count|-K [arg]

Max number of crashes before giving up a sourcefile (default 5).

--completion-cache-size|-i [arg]

Number of translation units to cache (default 10).

--completion-no-filter

Don't filter private members and destructors from completions.

--completion-logs

Log more info about completions.

--max-include-completion-depth [arg]

Max recursion depth for header completion (default 3).

--allow-Wpedantic|-P

Don't strip out -Wpedantic. This can cause problems in certain projects.

--allow-Werror

Don't strip out -Werror and -Wfatal-errors. By default these are stripped out.

--enable-compiler-manager|-R

Query compilers for their actual include paths instead of letting clang use its own.

--enable-NDEBUG|-g

Don't remove -DNDEBUG from compile lines.

--progress|-p

Report compilation progress in diagnostics output.

--max-file-map-cache-size|-y [arg]

Max files to cache per query (Should not exceed maximum number of open file descriptors allowed per process) (default 500).

--no-filemanager-watch|-M

Don't use a file system watcher for filemanager.

--no-filemanager

Don't scan project directory for files. (rc -P won't work).

--no-file-lock

Disable file locking. Not entirely safe but might improve performance on certain systems.

--pch-enabled

Enable PCH (experimental).

--no-filesystem-watcher|-B

Disable file system watching altogether. Reindexing has to be triggered manually.

--arg-transform|-V [arg]

Use arg to transform arguments. [arg] should be executable with (execv(3)).

--no-comments

Don't parse/store doxygen comments.

--inactivity-timeout [arg]

Time in seconds after which rdm will quit if there's been no activity (N.B., once rdm has quit, something will need to re-run it!).

--daemon

Run as daemon (detach from terminal).

--log-file-log-level [arg]

Log level for log file (default is error), options are: error, warning, debug or verbose-debug.

--watch-sources-only

Only watch source files (not dependencies).

--debug-locations

Set debug locations.

--validate-file-maps

Spend some time validating project data on startup.

--tcp-port [arg]

Listen on this tcp socket (default none).

--rp-path [arg]

Path to rp.

--log-timestamp

Add timestamp to logs.

--log-flush

Flush stderr/stdout after each log.

--sandbox-root [arg]

Create index using relative paths by stripping dir (enables copying of tag index db files without need to reindex).

--poll-timer [arg]

Poll the database of the current project every <arg> seconds.

--no-realpath

Don't use realpath(3) for files

--config|-c [arg]

Use this file (instead of ~/.rdmrc).

--no-rc|-N

Don't load any rc files.

See Also

rc(7)

Referenced By

rc(7).

April 2017 rdm 2.10.117 User Commands