BEAR(1) General Commands Manual BEAR(1) (NAME) bear - Clang (SYNOPSIS) bear [OPTIONS] -- BUILD_COMMAND... bear intercept [OPTIONS] --output FILE -- BUILD_COMMAND... bear semantic [OPTIONS] bear parse-sh [OPTIONS] (DESCRIPTION) Bear JSON (compile_commands.json). Clang clangd clang-tidy : . Bear . Bear . . (dry run) . . (Modes) (Combined mode) () bear -- . Bear : . . (Intercept mode) bear intercept . . (Semantic mode) bear semantic : ( bear intercept ) . intercept . (Parse-sh mode) bear parse-sh . (make -n) : CI. (COMMANDS) . (Interception methods) . (Preload) ( BSD) exec() . (Wrapper) ( macOS ) . Preload (statically linked) macOS (SIP) wrapper . Wrapper : (<>) Bear ( ). (OPTIONS) -c, --config FILE . ( ). . -o, --output FILE (: compile_commands.json). - . bear semantic --output - ( ). -a, --append . ( duplicates ). --overwrite . Bear . --append . --overwrite . -h, --help . -V, --version . (COMMANDS) bear intercept . bear intercept [OPTIONS] --output FILE -- BUILD_COMMAND... -o, --output FILE . - : . bear semantic . : . bear semantic [OPTIONS] -i, --input FILE (: - ). (pipe) . . -o, --output FILE (: compile_commands.json). - --output - --append . -a, --append : . --overwrite : . --append . bear parse-sh . make -n : make -n | bear parse-sh bear parse-sh [OPTIONS] -i, --input FILE (: - ). -o, --output FILE (: compile_commands.json). - --output - --append . -a, --append : . --overwrite : . --append . -C, --directory DIR . ( CI ) . . . (ar mv mkdir) . POSIX : ; && || & | cd ({ ...; } cd ) Entering directory / Leaving directory make . -make make -nw make . . (glob) here-documents if for . . : exec() bear parse-sh . (make -n ) PATH POSIX . bear -- . : . canonical absolute ( format.paths ). (OUTPUT) Bear JSON Clang JSON Compilation Database : JSON : directory . file . arguments . Bear command (shell-escaping) . command ( format.entries.use_array_format false ). output (). Bear : file output directory . format.paths . : o swiftc: .swift ( ). CMake SourceKit-LSP . . swift-frontend swiftc . o valac: valac ( valac .vala/.gs ) file . valac C C ( clangd ). (CONFIGURATION) Bear YAML ( ) --config . . schema . : schema: "4.2" intercept: mode: wrapper # : preload BSD compilers: - path: /usr/bin/cc as: gcc - path: /usr/local/bin/gcc ignore: true sources: directories: - path: /project/tests action: exclude files: - pattern: "moc_*.cpp" action: exclude - pattern: "*.pb.cc" action: exclude duplicates: match_on: # : directory, file - file - arguments format: paths: directory: canonical # : as-is file: canonical # : as-is entries: use_array_format: true include_output_field: true arguments: from_response_files: false from_environment: true headers: enabled: true # : false strategy: siblings . . intercept ( ): o mode: preload ( BSD) wrapper ( macOS ). compilers . Bear GCC Clang ( ) swiftc valac MPI . bear semantic --print-compilers . : (ccache distcc sccache icecc) : ccache gcc -c main.c gcc -c main.c . MPI . C++20 ( .cppm .ixx ) .pcm file . wrapper . ignore Bear PATH . Bear . (CC CXX ) . Preload : . : o path: . . o as: . Bear gcc . o ignore: . false. cc c++ HPE Cray PrgEnv CC --version . : compilers: - path: /usr/bin/cc as: clang sources . o directories: path action (include exclude). o files: (glob) pattern action (include exclude). . : . . . ( moc protobuf). duplicates . o match_on: (file arguments directory command output). . directory file arguments . --append . format . o paths.directory, paths.file: : as-is ( ) canonical ( ) relative ( directory) absolute. o entries.use_array_format: arguments () command. command false . o entries.include_output_field: output . o arguments.from_response_files: @file . . o arguments.from_environment: . GCC/Clang ( CPATH C_INCLUDE_PATH) include CL / _CL_ MSVC / . . headers () . Bear C/C++/Objective-C . . o enabled: . false. o strategy: : o siblings (): . . o dependency-files: .d make . . . . (EXIT STATUS) combined intercept Bear : . semantic . parse-sh - - ( ). . Bear . (ENVIRONMENT) RUST_LOG . Bear bear: message . (error warn info debug) Bear . . (FILES) bear.yml : ./bear.yml . $XDG_CONFIG_HOME/bear.yml, $XDG_CONFIG_HOME/Bear/bear.yml (Unix) $XDG_CONFIG_HOME . $HOME/.config/bear.yml, $HOME/.config/Bear/bear.yml (Unix) $XDG_CONFIG_HOME . %LOCALAPPDATA%\bear.yml, %LOCALAPPDATA%\Bear\bear.yml (Windows) %LOCALAPPDATA% . %APPDATA%\bear.yml, %APPDATA%\Bear\bear.yml (Windows) %APPDATA% . (EXAMPLES) Make: bear -- make CMake preload Bear : cmake -B build bear -- cmake --build build wrapper Bear : bear -- cmake -B build bear -- cmake --build build . : bear intercept --output events.json -- make bear semantic --input events.json bear --config strict.yml semantic --input events.json --output strict.json : make -n | bear parse-sh Make -w : make -nw | bear parse-sh : bear --append -- make -C src/module ( moc protobuf) bear.yml: sources: files: - pattern: "moc_*.cpp" action: exclude - pattern: "*.pb.cc" action: exclude - pattern: "*.pb.h" action: exclude include/ + src/ .d : headers: enabled: true strategy: dependency-files (TROUBLESHOOTING) (Debug logging) Bear : RUST_LOG=debug bear -- (Empty output) : . Bear . (clean build) . wrapper . Bear . (Compiler variables with flags) wrapper Bear GNU Make (CC="gcc -std=c11" make) : . CFLAGS / CXXFLAGS / LDFLAGS . (Preload errors in cross-compilation) version 'GLIBC_2.33' not found (required by .../libexec.so) Bear glibc SDK . Bear glibc SDK . Vala (Language servers on Vala projects) vala-language-server command arguments format.entries.use_array_format: false . C/Vala clangd valac .clangd : If: PathMatch: .*\.vala Diagnostics: Suppress: '*' (Getting help) . RUST_LOG=debug . (SEE ALSO) clangd(1), clang-tidy(1), make(1) : Clang JSON: : (COPYRIGHT) Copyright (C) 2012-2026 by Laszlo Nagy (AUTHORS) Laszlo Nagy. Bear User Manuals September 5, 2026 BEAR(1)