installer: added prompt
This commit is contained in:
@@ -2,6 +2,8 @@ require 'ostruct'
|
|||||||
require 'optparse'
|
require 'optparse'
|
||||||
require 'json'
|
require 'json'
|
||||||
|
|
||||||
|
require_relative './prompt'
|
||||||
|
|
||||||
module Setup
|
module Setup
|
||||||
|
|
||||||
class Commander
|
class Commander
|
||||||
@@ -51,10 +53,12 @@ module Setup
|
|||||||
f.puts 'source ~/GitHub/rkiel/git-utilities/dotfiles/git-completion.bash'
|
f.puts 'source ~/GitHub/rkiel/git-utilities/dotfiles/git-completion.bash'
|
||||||
f.puts 'source ~/GitHub/rkiel/git-utilities/dotfiles/git-prompt.sh'
|
f.puts 'source ~/GitHub/rkiel/git-utilities/dotfiles/git-prompt.sh'
|
||||||
f.puts "export FEATURE_USER=#{options.user}" if options.user
|
f.puts "export FEATURE_USER=#{options.user}" if options.user
|
||||||
|
f.puts "export PS1='#{Setup::Prompt.new.generate(options)}'"
|
||||||
f.puts '#############################################################'
|
f.puts '#############################################################'
|
||||||
f.puts
|
f.puts
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
File.open("#{ENV['HOME']}/.bashrc", "a") do |f|
|
File.open("#{ENV['HOME']}/.bashrc", "a") do |f|
|
||||||
f.puts
|
f.puts
|
||||||
f.puts '#############################################################'
|
f.puts '#############################################################'
|
||||||
|
|||||||
114
install/lib/setup/prompt.rb
Normal file
114
install/lib/setup/prompt.rb
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
module Setup
|
||||||
|
|
||||||
|
class Prompt
|
||||||
|
USERNAME = '\u'
|
||||||
|
ABSOLUTE = '\w'
|
||||||
|
RELATIVE = '\W'
|
||||||
|
PROMPT = '\$'
|
||||||
|
HOSTNAME = '\h'
|
||||||
|
GIT = '$(__git_ps1 " %s")'
|
||||||
|
|
||||||
|
# Reset
|
||||||
|
Color_Off='\e[0m' # Text Reset
|
||||||
|
|
||||||
|
# Regular Colors
|
||||||
|
Black='\e[0;30m' # Black
|
||||||
|
Red='\e[0;31m' # Red
|
||||||
|
Green='\e[0;32m' # Green
|
||||||
|
Yellow='\e[0;33m' # Yellow
|
||||||
|
Blue='\e[0;34m' # Blue
|
||||||
|
Purple='\e[0;35m' # Purple
|
||||||
|
Cyan='\e[0;36m' # Cyan
|
||||||
|
White='\e[0;37m' # White
|
||||||
|
|
||||||
|
# Bold
|
||||||
|
BBlack='\e[1;30m' # Black
|
||||||
|
BRed='\e[1;31m' # Red
|
||||||
|
BGreen='\e[1;32m' # Green
|
||||||
|
BYellow='\e[1;33m' # Yellow
|
||||||
|
BBlue='\e[1;34m' # Blue
|
||||||
|
BPurple='\e[1;35m' # Purple
|
||||||
|
BCyan='\e[1;36m' # Cyan
|
||||||
|
BWhite='\e[1;37m' # White
|
||||||
|
|
||||||
|
# Underline
|
||||||
|
UBlack='\e[4;30m' # Black
|
||||||
|
URed='\e[4;31m' # Red
|
||||||
|
UGreen='\e[4;32m' # Green
|
||||||
|
UYellow='\e[4;33m' # Yellow
|
||||||
|
UBlue='\e[4;34m' # Blue
|
||||||
|
UPurple='\e[4;35m' # Purple
|
||||||
|
UCyan='\e[4;36m' # Cyan
|
||||||
|
UWhite='\e[4;37m' # White
|
||||||
|
|
||||||
|
# Background
|
||||||
|
On_Black='\e[40m' # Black
|
||||||
|
On_Red='\e[41m' # Red
|
||||||
|
On_Green='\e[42m' # Green
|
||||||
|
On_Yellow='\e[43m' # Yellow
|
||||||
|
On_Blue='\e[44m' # Blue
|
||||||
|
On_Purple='\e[45m' # Purple
|
||||||
|
On_Cyan='\e[46m' # Cyan
|
||||||
|
On_White='\e[47m' # White
|
||||||
|
|
||||||
|
# High Intensity
|
||||||
|
IBlack='\e[0;90m' # Black
|
||||||
|
IRed='\e[0;91m' # Red
|
||||||
|
IGreen='\e[0;92m' # Green
|
||||||
|
IYellow='\e[0;93m' # Yellow
|
||||||
|
IBlue='\e[0;94m' # Blue
|
||||||
|
IPurple='\e[0;95m' # Purple
|
||||||
|
ICyan='\e[0;96m' # Cyan
|
||||||
|
IWhite='\e[0;97m' # White
|
||||||
|
|
||||||
|
# Bold High Intensity
|
||||||
|
BIBlack='\e[1;90m' # Black
|
||||||
|
BIRed='\e[1;91m' # Red
|
||||||
|
BIGreen='\e[1;92m' # Green
|
||||||
|
BIYellow='\e[1;93m' # Yellow
|
||||||
|
BIBlue='\e[1;94m' # Blue
|
||||||
|
BIPurple='\e[1;95m' # Purple
|
||||||
|
BICyan='\e[1;96m' # Cyan
|
||||||
|
BIWhite='\e[1;97m' # White
|
||||||
|
|
||||||
|
# High Intensity backgrounds
|
||||||
|
On_IBlack='\e[0;100m' # Black
|
||||||
|
On_IRed='\e[0;101m' # Red
|
||||||
|
On_IGreen='\e[0;102m' # Green
|
||||||
|
On_IYellow='\e[0;103m' # Yellow
|
||||||
|
On_IBlue='\e[0;104m' # Blue
|
||||||
|
On_IPurple='\e[0;105m' # Purple
|
||||||
|
On_ICyan='\e[0;106m' # Cyan
|
||||||
|
On_IWhite='\e[0;107m' # White
|
||||||
|
|
||||||
|
def generate (options)
|
||||||
|
values = []
|
||||||
|
values << '['
|
||||||
|
values << color(Purple)
|
||||||
|
values << USERNAME
|
||||||
|
values << '@'
|
||||||
|
values << HOSTNAME
|
||||||
|
values << color(Color_Off)
|
||||||
|
values << ' '
|
||||||
|
values << color(BBlue)
|
||||||
|
values << RELATIVE
|
||||||
|
values << color(Green)
|
||||||
|
values << GIT
|
||||||
|
values << color(Color_Off)
|
||||||
|
values << ']'
|
||||||
|
values << PROMPT
|
||||||
|
values << ' '
|
||||||
|
|
||||||
|
values.join('')
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def color (value)
|
||||||
|
'\['+value+'\]'
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user