id = "llvm" name = "LLVM" homepage = "https://llvm.org" description = "The LLVM Project is a collection of modular and reusable compiler and toolchain technologies." icon = "SimpleIcons:llvm" executables = ["clang", "clang++", "clangd", "clang-format", "clang-tidy", "llvm-config"] [dotfiles] # https://clang.llvm.org/extra/doxygen/ClangdMain_8cpp_source.html — clangd's # user config is clangd/config.yaml under ~/Library/Preferences on macOS, # $XDG_CONFIG_HOME (usually ~/.config) on other Unix systems, and # %LOCALAPPDATA% on Windows. The placeholder [preferences] is macOS-native; # the other two spellings are written literally because clangd follows XDG. paths = [ "[preferences]/clangd/config.yaml", "~/.config/clangd/config.yaml", "%LOCALAPPDATA%/clangd/config.yaml", ] secret = [] side_effect = false [commands] format = 1 label = "Compile with clang" description = "Compile or link C/C++ sources with clang. Optimisation level, -std and -W flags are left out because the completion data does not model them reliably; clang-format, clang-tidy and clangd are not covered." quality = "ai-draft" base = "fig:clang" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/clang.ts" license = "MIT" [[commands.field]] id = "sources" label = "Source files" type = "path" position = 0 multiple = true path = { kind = "file", role = "input" } sources = ["fig"] [[commands.field]] id = "output" label = "Output file" type = "path" option = ["-o"] path = { kind = "file", role = "output" } effect = "overwrite" sources = ["fig"] [[commands.field]] id = "compile_only" label = "Compile only (no link)" type = "boolean" option = ["-c"] sources = ["fig"] [[commands.field]] id = "assembly" label = "Emit assembly" type = "boolean" option = ["-S"] sources = ["fig"] [[commands.field]] id = "preprocess" label = "Preprocess only" type = "boolean" option = ["-E"] sources = ["fig"] [[commands.field]] id = "debug" label = "Debug information" type = "boolean" option = ["-g"] sources = ["fig"] [[commands.field]] id = "include_dirs" label = "Include directories" type = "path" option = ["-I"] multiple = true path = { kind = "directory", role = "input" } sources = ["fig"] [[commands.field]] id = "lib_dirs" label = "Library directories" type = "path" option = ["-L"] multiple = true path = { kind = "directory", role = "input" } sources = ["fig"] [[commands.field]] id = "defines" label = "Macro definitions" description = "NAME or NAME=value." type = "string" option = ["-D"] multiple = true sources = ["fig"] [[commands.field]] id = "no_warnings" label = "Suppress all warnings" type = "boolean" option = ["-w"] sources = ["fig"] [[commands.field]] id = "verbose" label = "Verbose" type = "boolean" option = ["-v"] sources = ["fig"] [[commands.task]] id = "build" label = "Build an executable" fields = ["sources", "output", "debug"] required = ["sources", "output"] [[commands.task]] id = "object" label = "Compile to object file" fields = ["sources", "compile_only", "debug"] required = ["sources"] set = { compile_only = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["sources", "output", "compile_only", "debug"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["assembly", "preprocess", "include_dirs", "lib_dirs", "defines", "no_warnings", "verbose"]