Module: Jade::CLI
- Defined in:
- lib/jade/cli.rb,
lib/jade/cli/q.rb,
lib/jade/cli/fmt.rb,
lib/jade/cli/lsp.rb
Defined Under Namespace
Constant Summary collapse
- SUBCOMMANDS =
{ 'fmt' => 'Fmt', 'lsp' => 'Lsp', 'q' => 'Q', }.freeze
Class Method Summary collapse
Class Method Details
.run(argv) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/jade/cli.rb', line 13 def run(argv) sub, *rest = argv case sub when nil, '-h', '--help', 'help' usage when *SUBCOMMANDS.keys require "jade/cli/#{sub}" const_get(SUBCOMMANDS.fetch(sub)).run(rest) else warn "jade: unknown command #{sub.inspect}\n\n" usage($stderr) exit 1 end end |
.usage(io = $stdout) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/jade/cli.rb', line 31 def usage(io = $stdout) io.puts <<~TXT Usage: jade COMMAND [ARGS] fmt Format .jd source (stdin or file). lsp Run the language server (stdio JSON-RPC). q Headless query interface (hover/symbols/defn/refs). Run `jade COMMAND --help` for command-specific options. TXT end |