Class: RosettAi::Thor::Tasks::Completion

Inherits:
Thor
  • Object
show all
Defined in:
lib/rosett_ai/thor/tasks/completion.rb

Overview

Thor subcommand for generating shell completion scripts.

Generates bash, zsh, and fish completion scripts from the Thor command registry. Scripts are output to stdout for piping or can be installed to the standard completion directory.

Author:

  • hugo

  • claude

Constant Summary collapse

INSTALL_PATHS =
{
  'bash' => '/usr/share/bash-completion/completions/rai',
  'zsh' => '/usr/share/zsh/vendor-completions/_rai',
  'fish' => "#{Dir.home}/.config/fish/completions/raictl.fish"
}.freeze

Instance Method Summary collapse

Instance Method Details

#bashObject



32
33
34
# File 'lib/rosett_ai/thor/tasks/completion.rb', line 32

def bash
  output_completion('bash')
end

#fishObject



56
57
58
# File 'lib/rosett_ai/thor/tasks/completion.rb', line 56

def fish
  output_completion('fish')
end

#installObject



81
82
83
84
85
86
87
88
# File 'lib/rosett_ai/thor/tasks/completion.rb', line 81

def install
  shell = detect_shell
  generator = RosettAi::Completion::Generator.new
  script = generator.generate(shell)
  path = INSTALL_PATHS.fetch(shell)

  install_script(script, path, shell)
end

#zshObject



44
45
46
# File 'lib/rosett_ai/thor/tasks/completion.rb', line 44

def zsh
  output_completion('zsh')
end