id = "phpstorm" name = "PhpStorm" homepage = "https://www.jetbrains.com/phpstorm/" description = "The PHP IDE that makes you productive." icon = "theSVG:phpstorm" executables = ["phpstorm"] [dotfiles] # https://www.jetbrains.com/help/phpstorm/directories-used-by-the-ide-to-store-settings-caches-plugins-and-logs.html # — the configuration directory is # %APPDATA%\JetBrains\PhpStorm on Windows, # ~/Library/Application Support/JetBrains/PhpStorm on macOS and # ~/.config/JetBrains/PhpStorm on Linux: the three spellings of # [appData]. The version is part of the directory name, hence the glob, which # a base directory is free to carry. Caches (~/Library/Caches/JetBrains, # ~/.cache/JetBrains, %LOCALAPPDATA%\JetBrains) and logs (~/Library/Logs, # %LOCALAPPDATA%\JetBrains\PhpStorm\log) sit outside this tree and # never come along. paths = ["[appData]/JetBrains/PhpStorm*/"] # Same page: on Windows and macOS the plugins directory is `plugins` inside the # configuration directory, while on Linux it is elsewhere entirely # (~/.local/share/JetBrains/PhpStorm) and out of this tree already. # Downloaded plugin jars are installs, not settings. exclude = [ "[appData]/JetBrains/PhpStorm*/plugins/", ] # https://www.jetbrains.com/help/phpstorm/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, and # it sits inside a directory `paths` already covers, so a consumer has to let # secret win over the directory. secret = ["[appData]/JetBrains/PhpStorm*/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 PhpStorm" description = "Open a project or file in PhpStorm from the terminal. Diff, merge, format and inspect modes are left out." quality = "ai-draft" base = "fig:phpstorm" 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/phpstorm.ts" license = "MIT" [[commands.field]] id = "path" label = "File or folder" type = "path" position = 0 path = { kind = "any", role = "input" } sources = ["fig"] [[commands.field]] id = "wait" label = "Wait until closed" type = "boolean" option = ["--wait"] sources = ["fig"] [[commands.task]] id = "open" label = "Open path" fields = ["path", "wait"] required = ["path"] [[commands.group]] id = "basic" label = "Basic" fields = ["path", "wait"]