defmodule JacobCli.Commands.Shell.InstallExtension do use Jacob.Command import Jacob.Ui.Colors alias JacobCli.Services.ShellExtensionInstaller @moduledoc "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(["shell:install-extension", "zsh"]), do: install(:zsh) def run(["shell:install-extension", "bash"]), do: install(:bash) defp install(shell) do ShellExtensionInstaller.run(shell) IO.puts(""" #{g("Yay!! #{shell} extension installed!")} - you can now use tab to complete. """) end end