class RenameWish
Public Instance Methods
aliases()
click to toggle source
# File lib/zoom/wish/rename_wish.rb, line 4 def aliases return ["mv", "rename"] end
description()
click to toggle source
# File lib/zoom/wish/rename_wish.rb, line 8 def description return "Rename the specified profile" end
execute(args, djinni_env = {})
click to toggle source
# File lib/zoom/wish/rename_wish.rb, line 12 def execute(args, djinni_env = {}) if (args.split(" ").length != 2) usage return end config = djinni_env["config"] old, new = args.split(" ") if (!config.has_profile?(old)) puts("Profile does not exist: #{old}") elsif (config.has_profile?(new)) puts("Profile already exists: #{new}") else profiles = config.parse_profiles profiles[new] = profiles.delete(old) profiles[new].name(new) config.set_profiles(profiles) # Update prompt if (config.get_current_profile_name == old) config.set_current_profile_name(new) prompt_color = djinni_env["prompt_color"] if (prompt_color) prompt = "zoom(#{new})> ".send(prompt_color) else prompt = "zoom(#{new})> " end djinni_env["djinni_prompt"] = prompt end end end
tab_complete(input, djinni_env = {})
click to toggle source
# File lib/zoom/wish/rename_wish.rb, line 45 def tab_complete(input, djinni_env = {}) return [{}, "", ""] if (input.include?(" ")) profiles = djinni_env["config"].parse_profiles completions = Hash.new profiles.keys.sort do |a, b| a.downcase <=> b.downcase end.each do |name| profile = profiles[name] completions[name] = profile.to_s.split("\n")[1].strip end completions.keep_if do |name, desc| name.downcase.start_with?(input.downcase) end return [completions, input, " "] end
usage()
click to toggle source
# File lib/zoom/wish/rename_wish.rb, line 65 def usage puts("#{aliases.join(", ")} <old_name> <new_name>") puts(" #{description}.") end