mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
48 lines
1.2 KiB
Ruby
48 lines
1.2 KiB
Ruby
![]() |
# typed: strict
|
||
|
# frozen_string_literal: true
|
||
|
|
||
|
require "abstract_command"
|
||
|
require "aliases/aliases"
|
||
|
|
||
|
module Homebrew
|
||
|
module Cmd
|
||
|
class Alias < AbstractCommand
|
||
|
cmd_args do
|
||
|
usage_banner "`alias` [<alias> ... | <alias>=<command>]"
|
||
|
description <<~EOS
|
||
|
Show existing aliases. If no aliases are given, print the whole list.
|
||
|
EOS
|
||
|
switch "--edit",
|
||
|
description: "Edit aliases in a text editor. Either one or all aliases may be opened at once. " \
|
||
|
"If the given alias doesn't exist it'll be pre-populated with a template."
|
||
|
named_args max: 1
|
||
|
end
|
||
|
|
||
|
sig { override.void }
|
||
|
def run
|
||
|
name = args.named.first
|
||
|
name, command = name.split("=", 2) if name.present?
|
||
|
|
||
|
Aliases.init
|
||
|
|
||
|
if name.nil?
|
||
|
if args.edit?
|
||
|
Aliases.edit_all
|
||
|
else
|
||
|
Aliases.show
|
||
|
end
|
||
|
elsif command.nil?
|
||
|
if args.edit?
|
||
|
Aliases.edit name
|
||
|
else
|
||
|
Aliases.show name
|
||
|
end
|
||
|
else
|
||
|
Aliases.add name, command
|
||
|
Aliases.edit name if args.edit?
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|