id = "coteditor" name = "CotEditor" homepage = "https://coteditor.com" description = "Lightweight Plain Text Editor for macOS." # The app icon its homepage publishes; the 1024px one beside it is too large # to cache. icon = "https://coteditor.com/img/appicon/128@2x.png" # `cot` is the command-line tool CotEditor installs to open files in the # editor. It carries no configuration of its own, so it is filed under the # editor whose settings it reaches — the same way `subl` is filed under # Sublime Text. executables = ["cot"] platforms = ["macos"] [dotfiles] # CotEditor is sandboxed — CotEditor/CotEditor.entitlements sets # com.apple.security.app-sandbox — so everything below resolves inside its # container rather than straight under ~/Library. # CotEditor/Sources/Setting Managers/SettingFileManaging.swift: # applicationSupportDirectory(component:) is ".applicationSupportDirectory" # with "CotEditor" and then a per-manager subdirectory appended, and # userSettingDirectoryURL is that path — "The user setting directory URL in # Application Support". The subdirectory names come from the managers # themselves: "Syntaxes" (SyntaxManager.swift), "Themes" (ThemeManager.swift) # and "Replacements" (ReplacementManager.swift), so the CotEditor directory is # listed whole rather than one subdirectory at a time. # Everything in the settings window — appearance, the format defaults, the key # bindings KeyBindingManager loads — is UserDefaults, which for a sandboxed app # is the plist inside the container. paths = [ "~/Library/Containers/com.coteditor.CotEditor/Data/Library/Application Support/CotEditor/", "~/Library/Containers/com.coteditor.CotEditor/Data/Library/Preferences/com.coteditor.CotEditor.plist", ] # The caches the Homebrew cask `coteditor` zaps (~/Library/Caches/…, the # generated help indexes) are outside the two paths above. # Syntax definitions, themes and multiple-replacement sets are documents the # user wrote. Nothing here is a credential. secret = [] # No machine_lines: the plist is a binary property list, which neither prefix # nor key_path matching can read, and the setting files are the preferences a # user wants on every Mac. [commands] format = 1 label = "Open in CotEditor" description = "Open files in CotEditor, optionally at a line and column, or create a blank document." quality = "ai-draft" base = "fig:cot" 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/cot.ts" license = "MIT" [[commands.field]] id = "files" label = "Files" type = "path" position = 0 multiple = true path = { kind = "file", role = "input" } sources = ["fig"] [[commands.field]] id = "line" label = "Line" description = "Jump to a specific line in the opened document." type = "integer" option = ["--line", "-l"] sources = ["fig"] [[commands.field]] id = "column" label = "Column" description = "Jump to a specific column in the opened document." type = "integer" option = ["--column", "-c"] sources = ["fig"] [[commands.field]] id = "wait" label = "Wait until closed" type = "boolean" option = ["--wait", "-w"] sources = ["fig"] [[commands.field]] id = "background" label = "Keep in background" description = "Do not bring the application to the foreground." type = "boolean" option = ["--background", "-g"] sources = ["fig"] [[commands.field]] id = "new" label = "New blank document" type = "boolean" option = ["--new", "-n"] sources = ["fig"] [[commands.task]] id = "open" label = "Open files" fields = ["files", "line", "column", "wait", "background"] required = ["files"] [[commands.task]] id = "new" label = "New document" set = { new = [true] } fields = ["new", "background"] required = [] [[commands.group]] id = "basic" label = "Basic" fields = ["files", "line", "column", "new"] [[commands.group]] id = "advanced" label = "Behavior" fields = ["wait", "background"]