id = "clion" name = "CLion" homepage = "https://www.jetbrains.com/clion/" description = "A cross-platform IDE for C and C++." icon = "theSVG:clion" executables = ["clion"] [dotfiles] # https://www.jetbrains.com/help/clion/directories-used-by-the-ide-to-store-settings-caches-plugins-and-logs.html # — the configuration directory is # %APPDATA%\JetBrains\CLion on Windows, # ~/Library/Application Support/JetBrains/CLion on macOS and # ~/.config/JetBrains/CLion on Linux — one configuration directory # under three names, which is [appData]. The version is part of the name, # hence the glob. Caches (~/Library/Caches, ~/.cache) and logs # (~/Library/Logs) sit outside this tree and never come along. paths = ["[appData]/JetBrains/CLion*/"] # Same page: on Windows and macOS the plugins directory is `plugins` inside the # configuration directory. Downloaded plugin jars are installs, not settings. exclude = [ "[appData]/JetBrains/CLion*/plugins/", ] # https://www.jetbrains.com/help/clion/reference-ide-settings-password-safe.html # — the IDE keeps passwords in the native keychain by default, but the "In # KeePass" option stores them in the database file c.kdbx inside this same # configuration directory. Whenever it exists it is the credential store. It # sits inside a directory `paths` already covers, so a consumer has to let # secret win over the directory. secret = ["[appData]/JetBrains/CLion*/c.kdbx"] # JetBrains' bundled Settings Sync plugin already carries these through a # JetBrains Account. self_sync = true # No machine_lines: the settings under options/, keymaps/, colors/ and # codestyles/ are the preferences a developer wants on every machine, and # picking machine-local keys out of the IDE's XML would be guesswork. [commands] format = 1 label = "Open in CLion" description = "Open a project or file in CLion. diff, merge, format, inspect and plugin installation subcommands are left out." quality = "ai-draft" base = "fig:clion" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/clion.ts" license = "MIT" [[commands.field]] id = "path" label = "Path" description = "Project directory or file to open." type = "path" position = 0 path = { kind = "any", role = "input", must_exist = true } sources = ["fig"] [[commands.field]] id = "wait" label = "Wait until closed" description = "Wait for the files to be closed before returning to the command prompt." type = "boolean" option = ["--wait"] sources = ["fig"] [[commands.field]] id = "nosplash" label = "No splash screen" description = "Do not show the splash screen when loading CLion." type = "boolean" option = ["nosplash"] sources = ["fig"] [[commands.field]] id = "dont_reopen" label = "Do not reopen projects" description = "Do not reopen projects and show the welcome screen." type = "boolean" option = ["dontReopenProjects"] sources = ["fig"] [[commands.field]] id = "disable_plugins" label = "Disable user plugins" description = "Do not load manually installed plugins." type = "boolean" option = ["disableNonBundledPlugins"] sources = ["fig"] [[commands.task]] id = "open" label = "Open a project" fields = ["path"] required = ["path"] [[commands.task]] id = "safe" label = "Open without plugins" set = { disable_plugins = [true] } fields = ["path", "disable_plugins"] required = [] [[commands.group]] id = "basic" label = "Basic" fields = ["path", "wait"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["nosplash", "dont_reopen", "disable_plugins"]