id = "octave"
name = "GNU Octave"
homepage = "https://octave.org/"
description = "A high-level interpreted language for numerical computing."
executables = ["octave"]
[dotfiles]
paths = [
"~/.octaverc",
"[configHome]/octave/octaverc",
"%APPDATA%/octave/octaverc",
]
secret = []
side_effect = false
[commands]
format = 1
label = "Run Octave"
description = "Start Octave, run a script file, or evaluate an expression. GUI-related and path-override options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false }
[[commands.source]]
id = "docs"
kind = "manual"
url = "https://docs.octave.org/latest/Command-Line-Options.html"
revision = "latest"
evidence = '''
--eval code
-e code
Evaluate code and exit when finished unless --persist is also specified.
--interactive
-i
Force interactive behavior.
--no-gui
-G
Disable the graphical user interface (GUI) and use the command line interface (CLI) instead.
--no-history
-H
Disable recording of command-line history.
--no-init-all
--norc
-f
Don't read any of the system or user initialization files at startup.
--no-window-system
-W
Disable use of a windowing system including graphics.
--path path
-p path
Add path to the head of the search path for function files.
--persist
Go to interactive mode after --eval or reading from a file named on the command line.
--quiet
--silent
-q
Don't print the usual greeting and version message at startup.
--traditional
--braindead
For compatibility with MATLAB, set initial values for user preferences
'''
[[commands.field]]
id = "eval"
label = "Evaluate code"
description = "Octave code to run; exits when finished unless Keep interactive is set."
type = "string"
option = ["--eval", "-e"]
sources = ["docs"]
[[commands.field]]
id = "persist"
label = "Keep interactive afterwards"
type = "boolean"
option = ["--persist"]
sources = ["docs"]
[[commands.field]]
id = "quiet"
label = "Skip startup banner"
type = "boolean"
option = ["--quiet", "--silent", "-q"]
sources = ["docs"]
[[commands.field]]
id = "no_gui"
label = "Command line only (no GUI)"
type = "boolean"
option = ["--no-gui", "-G"]
sources = ["docs"]
[[commands.field]]
id = "no_window_system"
label = "No windowing system"
type = "boolean"
option = ["--no-window-system", "-W"]
sources = ["docs"]
[[commands.field]]
id = "norc"
label = "Skip initialization files"
type = "boolean"
option = ["--norc", "--no-init-all", "-f"]
sources = ["docs"]
[[commands.field]]
id = "no_history"
label = "Disable command history"
type = "boolean"
option = ["--no-history", "-H"]
sources = ["docs"]
[[commands.field]]
id = "traditional"
label = "MATLAB-compatible defaults"
type = "boolean"
option = ["--traditional", "--braindead"]
sources = ["docs"]
[[commands.field]]
id = "path"
label = "Add to function search path"
type = "path"
option = ["--path", "-p"]
multiple = true
path = { kind = "directory", role = "input", must_exist = true }
sources = ["docs"]
[[commands.field]]
id = "file"
label = "Script file"
type = "path"
position = 0
path = { kind = "file", role = "input", must_exist = true }
sources = ["docs"]
[[commands.task]]
id = "run_script"
label = "Run a script"
fields = ["file", "quiet", "persist", "norc"]
required = ["file"]
set = { quiet = [true] }
[[commands.task]]
id = "eval"
label = "Evaluate an expression"
fields = ["eval", "quiet", "norc"]
required = ["eval"]
set = { quiet = [true] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["file", "eval", "persist", "quiet"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["norc", "no_gui", "no_window_system", "no_history", "traditional", "path"]