FIND-ALL-SYMBOLS(1)
π FIND-ALL-SYMBOLS π
okay bestie, welcome to FIND-ALL-SYMBOLS(1) β yes that's the manual name, it's giving very "I live in a terminal and I'm thriving". This is the user-commands girlie, section 1, and she's about to tell you everything about find-all-symbols version 14. no gatekeeping here π«Ά
β¨ NAME β¨
find-all-symbols β it's literally the manual page for find-all-symbols version 14. that's the whole name section, short and iconic π
πΈ DESCRIPTION πΈ
okay so here's the vibe, and I'm putting it in a little box so you can screenshot it:
USAGE: find-all-symbols [options] <source0> [... <sourceN>]
and then, the moment you've all been waiting for:
OPTIONS:
π Generic Options π
these are the universal besties, the ones that show up everywhere:
--helpβ shows you the available options. and if you want the secret menu, pass--help-hiddenfor more. π--help-listβ shows you the list of available options. and again,--help-list-hiddenfor more, because there's always more, there's always lore. π--versionβ displays the version of this program. yes, the whole point of this page, slay. β
π¦ find_all_symbols options π¦
okay now the main character options, the ones specific to this tool, let's gooo:
--extra-arg=<string>β an additional argument to append to the compiler command line. appended, bestie, so it goes at the end. π₯--extra-arg-before=<string>β an additional argument to prepend to the compiler command line. prepended! so it goes at the front. order matters, iykyk. β¨--merge-dir=<string>β the directory for merging symbols.--output-dir=<string>β the output directory for saving the results. π-p=<string>β build path.
π about that build path π
so -p <build-path> is used to read a compile command database. no cap, that's what it does.
for example, it can be a CMake build directory in which a file named compile_commands.json exists β and to get that output you use the -DCMAKE_EXPORT_COMPILE_COMMANDS=ON CMake option. π
when no build path is specified, a search for compile_commands.json will be attempted through all parent paths of the first input file. it goes looking, it's very determined. π§
see: https://clang.llvm.org/docs/HowToSetupToolingForLLVM.html for an example of setting up Clang Tooling on a source tree. π
π about those source files π
<source0> ... β you specify the paths of source files. these paths are looked up in the compile command database. here's the tea, and it's a lot of tea, so read carefully:
- if the path of a file is absolute, it needs to point into CMake's source tree.
- if the path is relative, the current working directory needs to be in the CMake source tree, and the file must be in a subdirectory of the current working directory.
"./"prefixes in the relative files will be automatically removed, but the rest of a relative path must be a suffix of a path in the compile command database.
like, the rules are the rules, and the rules are strict. π«Ά
More help text...
(yes that's literally all it says there. they left us on read. π)
and that's the whole page, bestie!! no crumbs left, every option accounted for, nothing skipped, we ate and left no plate π½οΈβ¨
this was find-all-symbols version 14, from May 2025, and the manual page is FIND-ALL-SYMBOLS(1). mwah, go compile something gorgeous ππ
π
π¦ where this page comes from
- ubuntu questing: clang-tools-14 1:14.0.6-20ubuntu3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms