id = "goland" name = "GoLand" homepage = "https://www.jetbrains.com/go/" description = "A cross-platform Go IDE with extended support for JavaScript, TypeScript, and databases." icon = "theSVG:goland" executables = ["goland"] [dotfiles] # https://www.jetbrains.com/help/go/directories-used-by-the-ide-to-store-settings-caches-plugins-and-logs.html # — the configuration directory is JetBrains/GoLand inside the # [appData] base directory: %APPDATA% on Windows, # ~/Library/Application Support on macOS and the XDG config home on Linux. # The same page names its # contents: codestyles, colors, fileTemplates, filetypes, inspection, keymaps, # options, scratches, settingsSync, templates and tools. The version is part of # the directory name, hence the glob. Caches (~/Library/Caches, ~/.cache, # %LOCALAPPDATA%) and logs (~/Library/Logs) sit outside this tree and never # come along. paths = ["[appData]/JetBrains/GoLand*/"] # 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/GoLand). Downloaded plugin jars are # installs, not settings; carving them out of the configuration directory covers # the two platforms that keep them there, and the Linux tree is out of `paths` # already. exclude = [ "[appData]/JetBrains/GoLand*/plugins/", ] # https://www.jetbrains.com/help/go/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/GoLand*/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 GoLand" description = "Launch GoLand on a project or file from the terminal." quality = "ai-draft" base = "fig:goland" 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/goland.ts" license = "MIT" [[commands.field]] id = "path" label = "Project or file" description = "Folder or file to open." type = "path" position = 0 path = { kind = "any", role = "input" } sources = ["fig"] [[commands.field]] id = "wait" label = "Wait until closed" description = "Do not return to the prompt until the files are closed." type = "boolean" option = ["--wait"] sources = ["fig"] [[commands.field]] id = "nosplash" label = "No splash screen" type = "boolean" option = ["nosplash"] sources = ["fig"] [[commands.field]] id = "dont_reopen" label = "Do not reopen projects" description = "Show the welcome screen instead." type = "boolean" option = ["dontReopenProjects"] sources = ["fig"] [[commands.field]] id = "no_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", "wait"] required = ["path"] [[commands.task]] id = "safe" label = "Open without plugins" fields = ["path", "no_plugins", "dont_reopen"] required = ["path"] set = { no_plugins = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["path", "wait"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["nosplash", "dont_reopen", "no_plugins"]