id = "emacs"
name = "GNU Emacs"
homepage = "https://www.gnu.org/software/emacs/"
description = "An extensible, customizable, free/libre text editor — and more."
icon = "SimpleIcons:gnuemacs"
executables = ["emacs", "emacsclient"]
[dotfiles]
paths = [
"~/.emacs",
"~/.emacs.el",
"~/.emacs.d/init.el",
"~/.emacs.d/early-init.el",
"~/.config/emacs/init.el",
"~/.config/emacs/early-init.el",
]
exclude = [
"~/.emacs.d/elpa/",
"~/.emacs.d/eln-cache/",
"~/.emacs.d/auto-save-list/",
"~/.emacs.d/transient/",
"~/.emacs.d/url/",
"~/.emacs.d/straight/",
"~/.config/emacs/elpa/",
"~/.config/emacs/eln-cache/",
"~/.config/emacs/auto-save-list/",
]
secret = ["~/.authinfo", "~/.authinfo.gpg"]
[commands]
format = 1
label = "Open in Emacs"
description = "Start Emacs on files or a batch session. Only common startup flags."
quality = "ai-draft"
base = "fig:emacs"
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/emacs.ts"
license = "MIT"
[[commands.field]]
id = "value"
label = "Files"
type = "path"
position = 0
multiple = true
path = { kind = "any", role = "input" }
sources = ["fig"]
[[commands.field]]
id = "no_init_file"
label = "Skip init file"
type = "boolean"
option = ["--no-init-file", "-q"]
sources = ["fig"]
[[commands.field]]
id = "quick"
label = "Quick start"
type = "boolean"
option = ["--quick", "-Q"]
sources = ["fig"]
[[commands.field]]
id = "debug_init"
label = "Debug init file"
type = "boolean"
option = ["--debug-init"]
sources = ["fig"]
[[commands.field]]
id = "no_splash"
label = "No splash screen"
type = "boolean"
option = ["--no-splash"]
sources = ["fig"]
[[commands.field]]
id = "batch"
label = "Batch mode"
type = "boolean"
option = ["--batch"]
sources = ["fig"]
[[commands.field]]
id = "daemon"
label = "Start daemon"
type = "boolean"
option = ["--daemon"]
sources = ["fig"]
[[commands.task]]
id = "edit"
label = "Open files"
fields = ["value", "no_init_file", "quick"]
required = ["value"]
[[commands.task]]
id = "debug"
label = "Debug init file"
set = { debug_init = [true] }
fields = ["debug_init"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["value", "no_init_file", "quick", "debug_init"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["batch", "daemon", "no_splash"]