defmodule JacobCli.Commands.Shell.InstallExtension do use Jacob.Command alias JacobCli.Services.ShellExtensionInstaller doc("Install a shell extension.") name("shell:install-extension") desc("Install the shell extension (includes tab completion)") @doc "Install Jacob's zsh or bash extension." def run(["zsh"]), do: install(:zsh) def run(["bash"]), do: install(:bash) defp install(shell) do ShellExtensionInstaller.run(shell) write(""" Yay!! #{shell} extension installed! - you can now use tab to complete. """) end end