FIND-ALL-SYMBOLS(1)

πŸ“¦ version 11.1.0, in ubuntu jammy

πŸ’– NAME πŸ’–

find-all-symbols β€” bestie, it's the manual page for find-all-symbols 11, and I'm gonna walk you through it like we're texting at 2am πŸ¦‹


✨ DESCRIPTION ✨

okay so here's the whole vibe, the usage line first because that's the main character:

USAGE: find-all-symbols [options] <source0> [... <sourceN>]

and then the options, which we're gonna go through one by one, no skips, no shortcuts, periodt πŸ’…

🌸 Generic Options 🌸

  • --help β€” shows you all the available options (--help-hidden if you wanna see even more, lowkey nosy but valid)
  • --help-list β€” displays a list of the available options (--help-list-hidden for even more of them)
  • --version β€” tells you the version of this program, iykyk

πŸŽ€ find_all_symbols options πŸŽ€

  • --extra-arg=<string> β€” an extra argument to append to the compiler command line, fr fr
  • --extra-arg-before=<string> β€” an extra argument to prepend to the compiler command line (note: *pre*pend, not append, she's different)
  • --merge-dir=<string> β€” the directory for merging symbols
  • --output-dir=<string> β€” the output directory for saving the results
  • -p=<string> β€” build path

🧚 the -p <build-path> situation 🧚

okay so -p <build-path> is what you use to read a compile command database.

for example, it can be a CMake build directory where a file named compile_commands.json exists β€” use the -DCMAKE_EXPORT_COMPILE_COMMANDS=ON CMake option to get that output. and when no build path is specified at all, it'll attempt a search for compile_commands.json through all parent paths of the first input file. see https://clang.llvm.org/docs/HowToSetupToolingForLLVM.html for an example of setting up Clang Tooling on a source tree 🌈

πŸ’œ the <source0> ... part πŸ’œ

<source0> ... these specify the paths of source files. and listen, these paths get looked up in the compile command database, so:

  • 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 get automatically removed (cute of them honestly), but the rest of a relative path must be a suffix of a path in the compile command database
and then... More help text... β€” yeah that's literally all it says bestie, we don't gatekeep, we just report πŸ’€

and that's the page!! this was the find-all-symbols 11 manual, dated January 2022, living its little life under FIND-ALL-SYMBOLS(1). slay, ate, no crumbs, bye bestie 🫢✨

πŸ“¦ where this page comes from