---
source: crates/arf-console/src/cli/mod.rs
expression: completions
---
# Print an optspec for argparse to handle cmd's options that are independent of any subcommand.
function __fish_arf_global_optspecs
string join \n e/eval= f/file= reprex= c/config= r-home= with-r-version= no-r-source-overrides no-r-auto-discovery no-banner vanilla no-environ no-site-file no-init-file max-connections= max-ppsize= min-nsize= min-vsize= q/quiet no-save save no-restore no-restore-data restore-data interactive no-echo slave restore verbose encoding= d/debugger= debugger-args= g/gui= arch= args no-readline no-restore-history with-ipc ipc-bind= ipc-pid-file= ipc-eval-allow-function= ipc-eval-unrestricted no-auto-match no-completion history-dir= no-history h/help V/version
end
function __fish_arf_needs_command
# Figure out if the current invocation already has a command.
set -l cmd (commandline -opc)
set -e cmd[1]
argparse -s (__fish_arf_global_optspecs) -- $cmd 2>/dev/null
or return
if set -q argv[1]
# Also print the command, so this can be used to figure out what it is.
echo $argv[1]
return 1
end
return 0
end
function __fish_arf_using_subcommand
set -l cmd (__fish_arf_needs_command)
test -z "$cmd"
and return 1
contains -- $cmd[1] $argv
end
complete -c arf -n "__fish_arf_needs_command" -s e -l eval -d 'Evaluate R expression and exit' -r
complete -c arf -n "__fish_arf_needs_command" -s f -l file -d '[R] Take input from FILE' -r -F
complete -c arf -n "__fish_arf_needs_command" -l reprex -d 'Set reprex mode (off, on, or format)' -r -f -a "off\t'Evaluate normally'
on\t'Evaluate and show reprex output'
format\t'Format code with the configured formatter before reprex evaluation'"
complete -c arf -n "__fish_arf_needs_command" -s c -l config -d 'Path to configuration file' -r -F
complete -c arf -n "__fish_arf_needs_command" -l r-home -d 'Highest-priority R source: use this explicit R_HOME path' -r -f -a "(__fish_complete_directories)"
complete -c arf -n "__fish_arf_needs_command" -l with-r-version -d 'Highest-priority R source: use this R version via rig' -r
complete -c arf -n "__fish_arf_needs_command" -l max-connections -d '[R] Set max number of connections to N' -r
complete -c arf -n "__fish_arf_needs_command" -l max-ppsize -d '[R] Set max size of protect stack to N' -r
complete -c arf -n "__fish_arf_needs_command" -l min-nsize -d '[R] Set min number of fixed size obj\'s ("cons cells") to N' -r
complete -c arf -n "__fish_arf_needs_command" -l min-vsize -d '[R] Set vector heap minimum to N bytes; \'4M\' = 4 MegaB' -r
complete -c arf -n "__fish_arf_needs_command" -l encoding -d '[R] Specify encoding to be used for stdin (no-op)' -r
complete -c arf -n "__fish_arf_needs_command" -s d -l debugger -d '[R] Run R through debugger NAME (no-op)' -r
complete -c arf -n "__fish_arf_needs_command" -l debugger-args -d '[R] Pass ARGS as arguments to the debugger (no-op)' -r
complete -c arf -n "__fish_arf_needs_command" -s g -l gui -d '[R] Use TYPE as GUI (no-op)' -r
complete -c arf -n "__fish_arf_needs_command" -l arch -d '[R] Specify a sub-architecture (no-op)' -r
complete -c arf -n "__fish_arf_needs_command" -l ipc-bind -d 'Bind IPC socket to a specific path instead of the default (requires --with-ipc)' -r -F
complete -c arf -n "__fish_arf_needs_command" -l ipc-pid-file -d 'Write server PID to a file on startup (requires --with-ipc)' -r -F
complete -c arf -n "__fish_arf_needs_command" -l ipc-eval-allow-function -d 'Add an exact function target to the IPC evaluate allowlist. May be repeated; package-qualified targets use `package::function`' -r
complete -c arf -n "__fish_arf_needs_command" -l history-dir -d 'Custom history directory (overrides default XDG location)' -r -f -a "(__fish_complete_directories)"
complete -c arf -n "__fish_arf_needs_command" -l no-r-source-overrides -d 'Disable experimental directory-level R source overrides'
complete -c arf -n "__fish_arf_needs_command" -l no-r-auto-discovery -d 'Test-support flag for reproducing a machine with no R installed'
complete -c arf -n "__fish_arf_needs_command" -l no-banner -d 'Suppress the startup banner'
complete -c arf -n "__fish_arf_needs_command" -l vanilla -d 'Start R in vanilla mode (no init files, no save/restore)'
complete -c arf -n "__fish_arf_needs_command" -l no-environ -d '[R] Don\'t read the site and user environment files'
complete -c arf -n "__fish_arf_needs_command" -l no-site-file -d '[R] Don\'t read the site-wide Rprofile'
complete -c arf -n "__fish_arf_needs_command" -l no-init-file -d '[R] Don\'t read the user\'s .Rprofile'
complete -c arf -n "__fish_arf_needs_command" -s q -l quiet -d '[R] Don\'t print R startup message'
complete -c arf -n "__fish_arf_needs_command" -l no-save -d '[R] Don\'t save workspace at end of session (default)'
complete -c arf -n "__fish_arf_needs_command" -l save -d '[R] Save workspace at end of session'
complete -c arf -n "__fish_arf_needs_command" -l no-restore -d '[R] Don\'t restore previously saved objects (default)'
complete -c arf -n "__fish_arf_needs_command" -l no-restore-data -d '[R] Don\'t restore previously saved objects'
complete -c arf -n "__fish_arf_needs_command" -l restore-data -d '[R] Restore previously saved objects'
complete -c arf -n "__fish_arf_needs_command" -l interactive -d '[R] Force R to run interactively (no-op, always interactive)'
complete -c arf -n "__fish_arf_needs_command" -l no-echo -d '[R] Don\'t echo input (no-op, arf controls its own echo)'
complete -c arf -n "__fish_arf_needs_command" -l slave -d '[R] Combine --quiet --no-save --no-restore (deprecated in R 4.0, use --no-echo)'
complete -c arf -n "__fish_arf_needs_command" -l restore -d '[R] Restore previously saved objects (opposite of --no-restore)'
complete -c arf -n "__fish_arf_needs_command" -l verbose -d '[R] Print more information about progress (no-op)'
complete -c arf -n "__fish_arf_needs_command" -l args -d '[R] In R, skip the rest of the command line. arf accepts this flag for compatibility but does NOT consume trailing arguments; unknown flags after --args will still cause a parse error'
complete -c arf -n "__fish_arf_needs_command" -l no-readline -d '[R] Don\'t use readline (no-op)'
complete -c arf -n "__fish_arf_needs_command" -l no-restore-history -d '[R] Don\'t restore history (no-op)'
complete -c arf -n "__fish_arf_needs_command" -l with-ipc -d 'Enable IPC server for external tool access (AI agents, vscode-R, etc.)'
complete -c arf -n "__fish_arf_needs_command" -l ipc-eval-unrestricted -d 'Disable the IPC evaluate allowlist for this server startup only'
complete -c arf -n "__fish_arf_needs_command" -l no-auto-match -d 'Disable auto-matching of brackets and quotes (for testing)'
complete -c arf -n "__fish_arf_needs_command" -l no-completion -d 'Disable completion menu (for testing)'
complete -c arf -n "__fish_arf_needs_command" -l no-history -d 'Keep history only in memory for this session (no history loaded or saved)'
complete -c arf -n "__fish_arf_needs_command" -s h -l help -d 'Print help (see more with \'--help\')'
complete -c arf -n "__fish_arf_needs_command" -s V -l version -d 'Print version'
complete -c arf -n "__fish_arf_needs_command" -f -a "completions" -d 'Generate shell completion scripts'
complete -c arf -n "__fish_arf_needs_command" -f -a "config" -d 'Configuration management'
complete -c arf -n "__fish_arf_needs_command" -f -a "history" -d 'History management'
complete -c arf -n "__fish_arf_needs_command" -f -a "ipc" -d 'Interact with a running arf session via IPC'
complete -c arf -n "__fish_arf_needs_command" -f -a "headless" -d 'Run R with IPC server only (no interactive REPL)'
complete -c arf -n "__fish_arf_needs_command" -f -a "r" -d 'R source resolution commands'
complete -c arf -n "__fish_arf_needs_command" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c arf -n "__fish_arf_using_subcommand completions" -s h -l help -d 'Print help'
complete -c arf -n "__fish_arf_using_subcommand config; and not __fish_seen_subcommand_from init check help" -s h -l help -d 'Print help'
complete -c arf -n "__fish_arf_using_subcommand config; and not __fish_seen_subcommand_from init check help" -f -a "init" -d 'Generate a default configuration file'
complete -c arf -n "__fish_arf_using_subcommand config; and not __fish_seen_subcommand_from init check help" -f -a "check" -d 'Validate the configuration file'
complete -c arf -n "__fish_arf_using_subcommand config; and not __fish_seen_subcommand_from init check help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c arf -n "__fish_arf_using_subcommand config; and __fish_seen_subcommand_from init" -s f -l force -d 'Overwrite existing configuration file'
complete -c arf -n "__fish_arf_using_subcommand config; and __fish_seen_subcommand_from init" -s h -l help -d 'Print help'
complete -c arf -n "__fish_arf_using_subcommand config; and __fish_seen_subcommand_from check" -s c -l config -d 'Path to configuration file to check (defaults to XDG config location)' -r -F
complete -c arf -n "__fish_arf_using_subcommand config; and __fish_seen_subcommand_from check" -s h -l help -d 'Print help (see more with \'--help\')'
complete -c arf -n "__fish_arf_using_subcommand config; and __fish_seen_subcommand_from help" -f -a "init" -d 'Generate a default configuration file'
complete -c arf -n "__fish_arf_using_subcommand config; and __fish_seen_subcommand_from help" -f -a "check" -d 'Validate the configuration file'
complete -c arf -n "__fish_arf_using_subcommand config; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c arf -n "__fish_arf_using_subcommand history; and not __fish_seen_subcommand_from schema import export help" -s h -l help -d 'Print help'
complete -c arf -n "__fish_arf_using_subcommand history; and not __fish_seen_subcommand_from schema import export help" -f -a "schema" -d 'Display history database schema and example R code'
complete -c arf -n "__fish_arf_using_subcommand history; and not __fish_seen_subcommand_from schema import export help" -f -a "import" -d 'Import history from another source (experimental)'
complete -c arf -n "__fish_arf_using_subcommand history; and not __fish_seen_subcommand_from schema import export help" -f -a "export" -d 'Export history to a unified SQLite file (experimental)'
complete -c arf -n "__fish_arf_using_subcommand history; and not __fish_seen_subcommand_from schema import export help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from schema" -s h -l help -d 'Print help'
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from import" -l from -d 'Source format to import from' -r -f -a "radian\t'radian history file (~/.radian_history)'
r\t'R native history file (.Rhistory)'
arf\t'Another arf SQLite history database'"
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from import" -l file -d 'Path to the history file/database to import. Defaults: radian=~/.radian_history, r=.Rhistory, arf=persistent history `dir`/r.db' -r -F
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from import" -l hostname -d 'Override hostname for imported entries. Marks entries to distinguish them from native arf history' -r
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from import" -l r-table -d 'Table name for R history when importing from unified export file' -r
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from import" -l shell-table -d 'Table name for shell history when importing from unified export file' -r
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from import" -l dry-run -d 'Perform a dry run without actually importing'
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from import" -l import-duplicates -d 'Import duplicate entries instead of skipping them. By default, entries that already exist in the target database are skipped (anti-join on command text and timestamp)'
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from import" -l unified -d 'Force unified mode for metadata-less legacy files (imports both R and shell history)'
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from import" -s h -l help -d 'Print help (see more with \'--help\')'
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from export" -l file -d 'Path to the output SQLite file' -r -F
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from export" -l r-table -d 'Table name for R history in the output file' -r
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from export" -l shell-table -d 'Table name for shell history in the output file' -r
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from export" -s h -l help -d 'Print help (see more with \'--help\')'
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from help" -f -a "schema" -d 'Display history database schema and example R code'
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from help" -f -a "import" -d 'Import history from another source (experimental)'
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from help" -f -a "export" -d 'Export history to a unified SQLite file (experimental)'
complete -c arf -n "__fish_arf_using_subcommand history; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c arf -n "__fish_arf_using_subcommand ipc; and not __fish_seen_subcommand_from list eval send session shutdown history help" -s h -l help -d 'Print help (see more with \'--help\')'
complete -c arf -n "__fish_arf_using_subcommand ipc; and not __fish_seen_subcommand_from list eval send session shutdown history help" -f -a "list" -d 'List active arf sessions as JSON'
complete -c arf -n "__fish_arf_using_subcommand ipc; and not __fish_seen_subcommand_from list eval send session shutdown history help" -f -a "eval" -d 'Evaluate R code and return captured output as JSON'
complete -c arf -n "__fish_arf_using_subcommand ipc; and not __fish_seen_subcommand_from list eval send session shutdown history help" -f -a "send" -d 'Send code as user input to a running session'
complete -c arf -n "__fish_arf_using_subcommand ipc; and not __fish_seen_subcommand_from list eval send session shutdown history help" -f -a "session" -d 'Get session information as JSON (arf + R environment)'
complete -c arf -n "__fish_arf_using_subcommand ipc; and not __fish_seen_subcommand_from list eval send session shutdown history help" -f -a "shutdown" -d 'Shut down a running arf headless session (returns JSON `{"accepted": true}`)'
complete -c arf -n "__fish_arf_using_subcommand ipc; and not __fish_seen_subcommand_from list eval send session shutdown history help" -f -a "history" -d 'Query command history from a running session'
complete -c arf -n "__fish_arf_using_subcommand ipc; and not __fish_seen_subcommand_from list eval send session shutdown history help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from list" -s h -l help -d 'Print help (see more with \'--help\')'
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from eval" -l pid -d 'PID of the target arf session (optional if only one session is running)' -r
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from eval" -l timeout -d 'Timeout in milliseconds for waiting for the response (default: 300000 = 5 minutes). This does NOT cancel the R evaluation — long-running code keeps R busy after timeout' -r
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from eval" -l visible -d 'Also show output in the session (REPL or headless stdout)'
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from eval" -s h -l help -d 'Print help (see more with \'--help\')'
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from send" -l pid -d 'PID of the target arf session (optional if only one session is running)' -r
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from send" -s h -l help -d 'Print help (see more with \'--help\')'
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from session" -l pid -d 'PID of the target arf session (optional if only one session is running)' -r
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from session" -s h -l help -d 'Print help (see more with \'--help\')'
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from shutdown" -l pid -d 'PID of the target arf session (optional if only one session is running)' -r
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from shutdown" -s h -l help -d 'Print help (see more with \'--help\')'
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from history" -l limit -d 'Maximum number of entries to return (must be positive)' -r
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from history" -l cwd -d 'Filter entries by exact working directory' -r
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from history" -l grep -d 'Filter entries whose command contains this substring' -r
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from history" -l since -d 'Only return entries after this timestamp (RFC 3339 or YYYY-MM-DD)' -r
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from history" -l pid -d 'PID of the target arf session (optional if only one session is running)' -r
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from history" -l all-sessions -d 'Include entries from all sessions, not just the current one'
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from history" -s h -l help -d 'Print help (see more with \'--help\')'
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from help" -f -a "list" -d 'List active arf sessions as JSON'
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from help" -f -a "eval" -d 'Evaluate R code and return captured output as JSON'
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from help" -f -a "send" -d 'Send code as user input to a running session'
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from help" -f -a "session" -d 'Get session information as JSON (arf + R environment)'
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from help" -f -a "shutdown" -d 'Shut down a running arf headless session (returns JSON `{"accepted": true}`)'
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from help" -f -a "history" -d 'Query command history from a running session'
complete -c arf -n "__fish_arf_using_subcommand ipc; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c arf -n "__fish_arf_using_subcommand headless" -s c -l config -d 'Path to configuration file' -r -F
complete -c arf -n "__fish_arf_using_subcommand headless" -l r-home -d 'Highest-priority R source: use this explicit R_HOME path' -r -f -a "(__fish_complete_directories)"
complete -c arf -n "__fish_arf_using_subcommand headless" -l with-r-version -d 'Highest-priority R source: use this R version via rig' -r
complete -c arf -n "__fish_arf_using_subcommand headless" -l ipc-bind -d 'Bind IPC socket to a specific path instead of the default. On Unix, ensure the parent directory is user-private (mode 0700) to avoid a brief permission window before the socket is restricted' -r -F
complete -c arf -n "__fish_arf_using_subcommand headless" -l ipc-pid-file -d 'Write server PID to a file (removed on shutdown)' -r -F
complete -c arf -n "__fish_arf_using_subcommand headless" -l ipc-eval-allow-function -d 'Add an exact function target to the IPC evaluate allowlist. May be repeated; package-qualified targets use `package::function`' -r
complete -c arf -n "__fish_arf_using_subcommand headless" -l log-file -d 'Redirect log output to a file instead of stderr' -r -F
complete -c arf -n "__fish_arf_using_subcommand headless" -l max-connections -d '[R] Set max number of connections to N' -r
complete -c arf -n "__fish_arf_using_subcommand headless" -l max-ppsize -d '[R] Set max size of protect stack to N' -r
complete -c arf -n "__fish_arf_using_subcommand headless" -l min-nsize -d '[R] Set min number of fixed size obj\'s ("cons cells") to N' -r
complete -c arf -n "__fish_arf_using_subcommand headless" -l min-vsize -d '[R] Set vector heap minimum to N bytes; \'4M\' = 4 MegaB' -r
complete -c arf -n "__fish_arf_using_subcommand headless" -l history-dir -d 'Custom history directory (overrides default XDG location)' -r -f -a "(__fish_complete_directories)"
complete -c arf -n "__fish_arf_using_subcommand headless" -l no-r-source-overrides -d 'Disable experimental directory-level R source overrides'
complete -c arf -n "__fish_arf_using_subcommand headless" -l no-r-auto-discovery -d 'Test-support flag for reproducing a machine with no R installed'
complete -c arf -n "__fish_arf_using_subcommand headless" -l ipc-eval-unrestricted -d 'Disable the IPC evaluate allowlist for this server startup only'
complete -c arf -n "__fish_arf_using_subcommand headless" -l quiet -d 'Suppress status messages on stderr (IPC path, ready, shutdown)'
complete -c arf -n "__fish_arf_using_subcommand headless" -l json -d 'Print session info as JSON to stdout when ready'
complete -c arf -n "__fish_arf_using_subcommand headless" -l vanilla -d 'Start R in vanilla mode (no init files, no save/restore)'
complete -c arf -n "__fish_arf_using_subcommand headless" -l no-environ -d '[R] Don\'t read the site and user environment files'
complete -c arf -n "__fish_arf_using_subcommand headless" -l no-site-file -d '[R] Don\'t read the site-wide Rprofile'
complete -c arf -n "__fish_arf_using_subcommand headless" -l no-init-file -d '[R] Don\'t read the user\'s .Rprofile'
complete -c arf -n "__fish_arf_using_subcommand headless" -l no-history -d 'Keep history only in memory for this session (no history loaded or saved)'
complete -c arf -n "__fish_arf_using_subcommand headless" -s h -l help -d 'Print help (see more with \'--help\')'
complete -c arf -n "__fish_arf_using_subcommand r; and not __fish_seen_subcommand_from resolve help" -s h -l help -d 'Print help'
complete -c arf -n "__fish_arf_using_subcommand r; and not __fish_seen_subcommand_from resolve help" -f -a "resolve" -d 'Resolve the R installation arf would use without starting R'
complete -c arf -n "__fish_arf_using_subcommand r; and not __fish_seen_subcommand_from resolve help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c arf -n "__fish_arf_using_subcommand r; and __fish_seen_subcommand_from resolve" -s c -l config -d 'Path to configuration file' -r -F
complete -c arf -n "__fish_arf_using_subcommand r; and __fish_seen_subcommand_from resolve" -l r-home -d 'Highest-priority R source: use this explicit R_HOME path' -r -f -a "(__fish_complete_directories)"
complete -c arf -n "__fish_arf_using_subcommand r; and __fish_seen_subcommand_from resolve" -l with-r-version -d 'Highest-priority R source: use this R version via rig' -r
complete -c arf -n "__fish_arf_using_subcommand r; and __fish_seen_subcommand_from resolve" -l no-r-source-overrides -d 'Disable experimental directory-level R source overrides'
complete -c arf -n "__fish_arf_using_subcommand r; and __fish_seen_subcommand_from resolve" -l no-r-auto-discovery -d 'Test-support flag for reproducing a machine with no R installed'
complete -c arf -n "__fish_arf_using_subcommand r; and __fish_seen_subcommand_from resolve" -s h -l help -d 'Print help (see more with \'--help\')'
complete -c arf -n "__fish_arf_using_subcommand r; and __fish_seen_subcommand_from help" -f -a "resolve" -d 'Resolve the R installation arf would use without starting R'
complete -c arf -n "__fish_arf_using_subcommand r; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c arf -n "__fish_arf_using_subcommand help; and not __fish_seen_subcommand_from completions config history ipc headless r help" -f -a "completions" -d 'Generate shell completion scripts'
complete -c arf -n "__fish_arf_using_subcommand help; and not __fish_seen_subcommand_from completions config history ipc headless r help" -f -a "config" -d 'Configuration management'
complete -c arf -n "__fish_arf_using_subcommand help; and not __fish_seen_subcommand_from completions config history ipc headless r help" -f -a "history" -d 'History management'
complete -c arf -n "__fish_arf_using_subcommand help; and not __fish_seen_subcommand_from completions config history ipc headless r help" -f -a "ipc" -d 'Interact with a running arf session via IPC'
complete -c arf -n "__fish_arf_using_subcommand help; and not __fish_seen_subcommand_from completions config history ipc headless r help" -f -a "headless" -d 'Run R with IPC server only (no interactive REPL)'
complete -c arf -n "__fish_arf_using_subcommand help; and not __fish_seen_subcommand_from completions config history ipc headless r help" -f -a "r" -d 'R source resolution commands'
complete -c arf -n "__fish_arf_using_subcommand help; and not __fish_seen_subcommand_from completions config history ipc headless r help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c arf -n "__fish_arf_using_subcommand help; and __fish_seen_subcommand_from config" -f -a "init" -d 'Generate a default configuration file'
complete -c arf -n "__fish_arf_using_subcommand help; and __fish_seen_subcommand_from config" -f -a "check" -d 'Validate the configuration file'
complete -c arf -n "__fish_arf_using_subcommand help; and __fish_seen_subcommand_from history" -f -a "schema" -d 'Display history database schema and example R code'
complete -c arf -n "__fish_arf_using_subcommand help; and __fish_seen_subcommand_from history" -f -a "import" -d 'Import history from another source (experimental)'
complete -c arf -n "__fish_arf_using_subcommand help; and __fish_seen_subcommand_from history" -f -a "export" -d 'Export history to a unified SQLite file (experimental)'
complete -c arf -n "__fish_arf_using_subcommand help; and __fish_seen_subcommand_from ipc" -f -a "list" -d 'List active arf sessions as JSON'
complete -c arf -n "__fish_arf_using_subcommand help; and __fish_seen_subcommand_from ipc" -f -a "eval" -d 'Evaluate R code and return captured output as JSON'
complete -c arf -n "__fish_arf_using_subcommand help; and __fish_seen_subcommand_from ipc" -f -a "send" -d 'Send code as user input to a running session'
complete -c arf -n "__fish_arf_using_subcommand help; and __fish_seen_subcommand_from ipc" -f -a "session" -d 'Get session information as JSON (arf + R environment)'
complete -c arf -n "__fish_arf_using_subcommand help; and __fish_seen_subcommand_from ipc" -f -a "shutdown" -d 'Shut down a running arf headless session (returns JSON `{"accepted": true}`)'
complete -c arf -n "__fish_arf_using_subcommand help; and __fish_seen_subcommand_from ipc" -f -a "history" -d 'Query command history from a running session'
complete -c arf -n "__fish_arf_using_subcommand help; and __fish_seen_subcommand_from r" -f -a "resolve" -d 'Resolve the R installation arf would use without starting R'