RDM(7)

NAME
rdm - manual page for rdm 2.41.133

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.

--no-libclang-include-path
    Don't use the include path from libclang.

--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 (default to the number of available processing units or 2 otherwise).

--test|-t [arg]
    Run this test.

--tempdir [arg]
    Use this directory for temporary files. Clang generates a lot of these and rtags will periodically clean out this directory (default is $TMPDIR/rtags/)

--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 is XDG_RUNTIME_DIR/rdm.socket else ~/.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).

--max-socket-write-buffer-size [arg]
    Max number of bytes buffered after EAGAIN.

--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.

--completion-diagnostics [optional]
    Send diagnostics from completion thread.

--rp-daemon [arg]
    Keep this many rp daemons alive and cache the last tu. Default to 1

--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. This is now the default. Kept for backwards compatibility.

--disable-compiler-manager
    Do not 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 [arg]
    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)