Top Level Namespace
- Includes:
- HighLine::SystemExtensions
Defined Under Namespace
Modules: BuiltinCommands, CommandCenter, FileUtils, Kernel, Naksh, Parser, Paths, Pipes, Ren Classes: Array, AutoComplete, BashDhakaEvaluator, BashDhakaGrammar, BashDhakaLexerSpecification, ChittagongExceptionResult, ChittagongResult, ChittagongSuccessResult, Command, CompatibilityError, Function, Hell, InOut, NkcLoadError, NoCommandError, NoGuessError, NotExpectedFiletypeError, PathEntry, Pathname, Regexp, Rust, String
Constant Summary collapse
- ERASE_CHAR =
Created by me on 2011-12-07.
Copyright (c) 2011. All pwnage reserved.
"\e[P"
- CLEAR =
Did I mention this is ripped from JEG2’s HighLine
"\e[0m"
- BOLD =
The start of an ANSI bold sequence.
"\e[1m"
- DARK =
The start of an ANSI dark sequence. (Terminal support uncommon.)
"\e[2m"
- UNDERLINE =
The start of an ANSI underline sequence.
"\e[4m"
- UNDERSCORE =
An alias for UNDERLINE.
UNDERLINE
- BLINK =
The start of an ANSI blink sequence. (Terminal support uncommon.)
"\e[5m"
- REVERSE =
The start of an ANSI reverse sequence.
"\e[7m"
- CONCEALED =
The start of an ANSI concealed sequence. (Terminal support uncommon.)
"\e[8m"
- BLACK =
Set the terminal’s foreground ANSI color to black.
"\e[30m"
- RED =
Set the terminal’s foreground ANSI color to red.
"\e[31m"
- GREEN =
Set the terminal’s foreground ANSI color to green.
"\e[32m"
- YELLOW =
Set the terminal’s foreground ANSI color to yellow.
"\e[33m"
- BLUE =
Set the terminal’s foreground ANSI color to blue.
"\e[34m"
- MAGENTA =
Set the terminal’s foreground ANSI color to magenta.
"\e[35m"
- CYAN =
Set the terminal’s foreground ANSI color to cyan.
"\e[36m"
- WHITE =
Set the terminal’s foreground ANSI color to white.
"\e[37m"
- ON_BLACK =
Set the terminal’s background ANSI color to black.
"\e[40m"
- ON_RED =
Set the terminal’s background ANSI color to red.
"\e[41m"
- ON_GREEN =
Set the terminal’s background ANSI color to green.
"\e[42m"
- ON_YELLOW =
Set the terminal’s background ANSI color to yellow.
"\e[43m"
- ON_BLUE =
Set the terminal’s background ANSI color to blue.
"\e[44m"
- ON_MAGENTA =
Set the terminal’s background ANSI color to magenta.
"\e[45m"
- ON_CYAN =
Set the terminal’s background ANSI color to cyan.
"\e[46m"
- ON_WHITE =
Set the terminal’s background ANSI color to white.
"\e[47m"
Instance Method Summary collapse
-
#_(str) ⇒ Object
hack to make stuff work if you don’t use gettext.
-
#chmod ⇒ Object
Change the mode of each FILE to OCTAL-MODE.
-
#cp ⇒ Object
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
-
#help ⇒ Object
Display help message.
-
#install ⇒ Object
Copy SOURCE to DEST.
-
#ln ⇒ Object
Create a link to the specified TARGET with LINK_NAME.
-
#mkdir ⇒ Object
Create the DIR, if they do not already exist.
-
#mv ⇒ Object
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
-
#rm ⇒ Object
Remove the FILE.
-
#rmdir ⇒ Object
Remove the DIR.
- #setup(options = "") {|ARGV, opt_hash| ... } ⇒ Object
-
#touch ⇒ Object
Update the access and modification times of each FILE to the current time.
Instance Method Details
#_(str) ⇒ Object
hack to make stuff work if you don’t use gettext
60 61 62 |
# File 'lib/naksh.rb', line 60 def _(str) str end |
#chmod ⇒ Object
Change the mode of each FILE to OCTAL-MODE.
ruby -run -e chmod -- [OPTION] OCTAL-MODE FILE
-v verbose
200 201 202 203 204 205 |
# File 'lib/old/un.rb', line 200 def chmod setup do |argv, | mode = argv.shift.oct FileUtils.chmod mode, argv, end end |
#cp ⇒ Object
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY
ruby -run -e cp -- [OPTION] SOURCE DEST
-p preserve file attributes if possible
-r copy recursively
-v verbose
73 74 75 76 77 78 79 80 81 82 |
# File 'lib/old/un.rb', line 73 def cp setup("pr") do |argv, | cmd = "cp" cmd += "_r" if .delete :r [:preserve] = true if .delete :p dest = argv.pop argv = argv[0] if argv.size == 1 FileUtils.send cmd, argv, dest, end end |
#help ⇒ Object
Display help message.
ruby -run -e help [COMMAND]
227 228 229 230 231 232 233 234 235 236 237 238 239 240 |
# File 'lib/old/un.rb', line 227 def help setup do |argv,| all = argv.empty? open(__FILE__) do |me| while me.gets("##\n") if help = me.gets("\n\n") if all or argv.delete help[/-e \w+/].sub(/-e /, "") print help.gsub(/^# ?/, "") end end end end end end |
#install ⇒ Object
Copy SOURCE to DEST.
ruby -run -e install -- [OPTION] SOURCE DEST
-p apply access/modification times of SOURCE files to
corresponding destination files
-m set permission mode (as in chmod), instead of 0755
-v verbose
182 183 184 185 186 187 188 189 190 |
# File 'lib/old/un.rb', line 182 def install setup("pm:") do |argv, | [:mode] = (mode = .delete :m) ? mode.oct : 0755 [:preserve] = true if .delete :p dest = argv.pop argv = argv[0] if argv.size == 1 FileUtils.install argv, dest, end end |
#ln ⇒ Object
Create a link to the specified TARGET with LINK_NAME.
ruby -run -e ln -- [OPTION] TARGET LINK_NAME
-s make symbolic links instead of hard links
-f remove existing destination files
-v verbose
94 95 96 97 98 99 100 101 102 103 |
# File 'lib/old/un.rb', line 94 def ln setup("sf") do |argv, | cmd = "ln" cmd += "_s" if .delete :s [:force] = true if .delete :f dest = argv.pop argv = argv[0] if argv.size == 1 FileUtils.send cmd, argv, dest, end end |
#mkdir ⇒ Object
Create the DIR, if they do not already exist.
ruby -run -e mkdir -- [OPTION] DIR
-p no error if existing, make parent directories as needed
-v verbose
149 150 151 152 153 154 155 |
# File 'lib/old/un.rb', line 149 def mkdir setup("p") do |argv, | cmd = "mkdir" cmd += "_p" if .delete :p FileUtils.send cmd, argv, end end |
#mv ⇒ Object
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
ruby -run -e mv -- [OPTION] SOURCE DEST
-v verbose
113 114 115 116 117 118 119 |
# File 'lib/old/un.rb', line 113 def mv setup do |argv, | dest = argv.pop argv = argv[0] if argv.size == 1 FileUtils.mv argv, dest, end end |
#rm ⇒ Object
Remove the FILE
ruby -run -e rm -- [OPTION] FILE
-f ignore nonexistent files
-r remove the contents of directories recursively
-v verbose
131 132 133 134 135 136 137 138 |
# File 'lib/old/un.rb', line 131 def rm setup("fr") do |argv, | cmd = "rm" cmd += "_r" if .delete :r [:force] = true if .delete :f FileUtils.send cmd, argv, end end |
#rmdir ⇒ Object
Remove the DIR.
ruby -run -e rmdir -- [OPTION] DIR
-v verbose
165 166 167 168 169 |
# File 'lib/old/un.rb', line 165 def rmdir setup do |argv, | FileUtils.rmdir argv, end end |
#setup(options = "") {|ARGV, opt_hash| ... } ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/old/un.rb', line 37 def setup( = "") ARGV.map! do |x| case x when /^-/ x.delete "^-#{}v" when /[*?\[{]/ Dir[x] else x end end ARGV.flatten! ARGV.delete_if{|x| x == "-"} opt_hash = {} OptionParser.new do |o| .scan(/.:?/) do |s| o.on("-" + s.tr(":", " ")) do |val| opt_hash[s.delete(":").intern] = val end end o.on("-v") do opt_hash[:verbose] = true end o.parse! end yield ARGV, opt_hash end |