clojureSpec top-level property
Completion spec for clojure CLI
Implementation
final FigSpec clojureSpec = FigSpec(
name: 'clojure',
description:
'Use the Clojure tools to run Clojure programs on the JVM, start a REPL, or invoke a specific function with data',
parserDirectives: ParserDirectives(flagsArePosixNoncompliant: true),
options: [
Option(
name: '-P',
description:
'Prepare deps - download libs, cache classpath, but don\'t exec'),
Option(
name: '-J',
description: 'Pass opt through in java_opts',
insertValue: '-J{cursor}'),
Option(
name: '-Sdeps',
description: 'Pass the deps data on the command line',
args: [Arg(name: 'edn', description: 'The deps data in edn')]),
Option(
name: '-Spath',
description: 'Compute classpath and echo to stdout only'),
Option(
name: '-Scp',
description:
'Use specified classpath instead of cached or computed one',
args: [Arg(name: 'cp', description: 'The classpath to use')]),
Option(
name: '-Sdescribe',
description:
'Print environment and command parsing information as data'),
Option(
name: '-Sforce',
description: 'Ignore classpath cache and force recomputation'),
Option(
name: '-Spom',
description: 'Generate (or update) pom.xml with deps and paths'),
Option(
name: '-Srepro',
description: 'Ignore the ~/.clojure/deps.edn config file'),
Option(
name: '-Sthreads',
description:
'Set the number of threads to use when downloading dependencies'),
Option(
name: '-Strace',
description: 'Write a trace.edn file that traces deps expansion'),
Option(name: '-Stree', description: 'Print dependency tree'),
Option(name: '-Sverbose', description: 'Print all path locations'),
Option(
name: ['-version', '--version'],
description: 'Print the Clojure CLI version'),
Option(
name: ['-i', '--init'],
description: 'Load a file or resource',
args: [Arg(name: 'path')]),
Option(
name: ['-e', '--eval'],
description: 'Evaluate expressions in string; print non-nil values',
args: [Arg(name: 'string')]),
Option(
name: '--report',
description: 'Report uncaught exceptions',
args: [
Arg(name: 'target', description: 'Where to report', suggestions: [
FigSuggestion(name: 'file'),
FigSuggestion(name: 'stderr'),
FigSuggestion(name: 'none')
])
]),
Option(
name: ['-m', '--main'],
description: 'Call the -main function from a namespace with args',
args: [
Arg(
name: 'ns-name',
description: 'The namespace of the -main function'),
Arg(
name: 'args',
description: 'The arguments to pass to the -main function',
isVariadic: true)
]),
Option(name: ['-r', '--repl'], description: 'Run a REPL'),
Option(name: ['-h', '-?', '--help'], description: 'Show help for clojure')
]);