ruby-shell 0.16 → 0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +11 -7
- data/bin/rsh +12 -4
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ea645b8bba423139ea6be4e7733105473c56e38d7a3906d45d4168b8acc2326
|
4
|
+
data.tar.gz: 5673ee1c0114d7f23526489c8110643190c49b1727b2558dd75d82bf41ad4442
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ae62a4ab5e9723e317dd8b6146e849350fcd9083b0702a00ce2ea27ead76749c9fb41156931bc22386aa6c0fe06cf9d11ebd98c64f80852c331c1c3bccd39be
|
7
|
+
data.tar.gz: 5c053d2d1c193843c5b8112bc947541ae14169cb89a8a7b5153f1808394efea7a1eb223e2a28ff25352a6a39d6beccaa199a1eb054db71b11d791dc6e68a8fe1
|
data/README.md
CHANGED
@@ -14,13 +14,16 @@ Clone this repo and drop `rsh` into your preferred bin directory. Drop `.rshrc`
|
|
14
14
|
|
15
15
|
Or simply `gem install ruby-shell`.
|
16
16
|
|
17
|
+
# Screencast
|
18
|
+
[](https://youtu.be/4P2z8oSo1u4)
|
19
|
+
|
17
20
|
# Features
|
18
21
|
* Aliases (called nicks in rsh) - both for commands and general nicks
|
19
22
|
* Syntax highlighting, matching nicks, system commands and valid dirs/files
|
20
23
|
* Tab completions for nicks, system commands, command switches and dirs/files
|
21
24
|
* Tab completion presents matches in a list to pick from
|
22
25
|
* When you start to write a command, rsh will suggest the first match in the history and present that in "toned down" letters - press the arrow right key to accept the suggestion.
|
23
|
-
* History with editing, search
|
26
|
+
* History with editing, search and repeat a history command (with `!`)
|
24
27
|
* Config file (.rshrc) updates on exit (with Ctrl-d) or not (with Ctrl-c)
|
25
28
|
* Set of simple rsh specific commands like nick, nick?, history and rmhistory
|
26
29
|
* rsh specific commands and full set of Ruby commands available via :<command>
|
@@ -37,11 +40,9 @@ Special commands:
|
|
37
40
|
* `:gnick 'h = /home/me'` to make a general alias (h) point to something (/home/me)
|
38
41
|
* `:nick?` will list all command nicks and general nicks (you can edit your nicks in .rshrc)
|
39
42
|
* `:history` will list the command history, while `:rmhistory` will delete the history
|
43
|
+
* `:version` Shows the rsh version number and the last published gem file version
|
40
44
|
* `:help` will display this help text
|
41
45
|
|
42
|
-
## Screencast
|
43
|
-
[](https://youtu.be/4P2z8oSo1u4)
|
44
|
-
|
45
46
|
## Moving around
|
46
47
|
While you `cd` around to different directories, you can see the last 10 directories visited via the command `:dirs` or the convenient shortcut `#`. Entering the number in the list (like `6` and ENTER) will jump you to that directory. Entering `-` will jump you back to the previous dir (equivalent of `1`. Entering `~` will get you to your home dir. If you want to bookmark a special directory, you can do that via a general nick like this: `:gnick "x = /path/to/a/dir/"` - this would bookmark the directory to the single letter `x`.
|
47
48
|
|
@@ -53,6 +54,12 @@ You can tab complete almost anything. Hitting `TAB` will try to complete in this
|
|
53
54
|
|
54
55
|
Hitting Shift-TAB will do a similar search through the command history - but with a general match of the search criteria (not only matching at the start).
|
55
56
|
|
57
|
+
## Open files
|
58
|
+
If you press `ENTER` after writing or tab-completing to a file, rsh will try to open the file in the user's EDITOR of choice (if it is a valid text file) or use `xdg-open` to open the file using the correct program. If you, for some reason want to use `run-mailcap` instead of `xdg-open` as the file opener, simply add `@runmailcap = true` to your `.rshrc`.
|
59
|
+
|
60
|
+
## History
|
61
|
+
Show the history with `:history`. Redo a history command with an exclamation mark and the number corresponding to the position in the history, like `!5` would do the 5th history command again.
|
62
|
+
|
56
63
|
## Integrations
|
57
64
|
rsh is integrated with the [rtfm file manager](https://github.com/isene/RTFM), with [fzf](https://github.com/junegunn/fzf) and with the programming language [XRPN](https://github.com/isene/xrpn).
|
58
65
|
|
@@ -79,9 +86,6 @@ Variable | Description
|
|
79
86
|
`@c_taboption` | Color for unselected tabcompleted item
|
80
87
|
`@c_stamp` | Color for time stamp/command
|
81
88
|
|
82
|
-
# Open files
|
83
|
-
If you press `ENTER` after writing or tab-completing to a file, rsh will try to open the file in the user's EDITOR of choice (if it is a valid text file) or use `xdg-open` to open the file using the correct program. If you, for some reason want to use `run-mailcap` instead of `xdg-open` as the file opener, simply add `@runmailcap = true` to your `.rshrc`.
|
84
|
-
|
85
89
|
# Enter the world of Ruby
|
86
90
|
By entering `:some-ruby-command` you have full access to the Ruby universe right from your command line. You can do anything from `:puts 2 + 13` or `:if 0.7 > Math::sin(34) then puts "OK" end` or whatever tickles you fancy.
|
87
91
|
|
data/bin/rsh
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
# for any damages resulting from its use. Further, I am under no
|
15
15
|
# obligation to maintain or extend this software. It is provided
|
16
16
|
# on an 'as is' basis without any expressed or implied warranty.
|
17
|
-
@version = "0.
|
17
|
+
@version = "0.17"
|
18
18
|
|
19
19
|
# MODULES, CLASSES AND EXTENSIONS
|
20
20
|
class String # Add coloring to strings (with escaping for Readline)
|
@@ -146,7 +146,7 @@ end
|
|
146
146
|
* Tab completion presents matches in a list to pick from
|
147
147
|
* When you start to write a command, rsh will suggest the first match in the history and
|
148
148
|
present that in "toned down" letters - press the arrow right key to accept the suggestion.
|
149
|
-
* History with editing, search
|
149
|
+
* History with editing, search and repeat a history command (with `!`)
|
150
150
|
* Config file (.rshrc) updates on exit (with Ctrl-d) or not (with Ctrl-c)
|
151
151
|
* Set of simple rsh specific commands like nick, nick?, history and rmhistory
|
152
152
|
* rsh specific commands and full set of Ruby commands available via :<command>
|
@@ -162,6 +162,7 @@ end
|
|
162
162
|
* `:gnick 'h = /home/me'` to make a general alias (h) point to something (/home/me)
|
163
163
|
* `:nick?` will list all command nicks and general nicks (you can edit your nicks in .rshrc)
|
164
164
|
* `:history` will list the command history, while `:rmhistory` will delete the history
|
165
|
+
* `:version` Shows the rsh version number and the last published gem file version
|
165
166
|
* `:help` will display this help text
|
166
167
|
|
167
168
|
HELP
|
@@ -547,9 +548,12 @@ end
|
|
547
548
|
def help
|
548
549
|
puts @help
|
549
550
|
end
|
551
|
+
def version
|
552
|
+
puts "rsh version = #{@version} (latest RubyGems version is #{Gem.latest_version_for("ruby-shell").version} - https://github.com/isene/rsh)"
|
553
|
+
end
|
550
554
|
def history # Show history
|
551
555
|
puts "History:"
|
552
|
-
puts
|
556
|
+
@history.each_with_index {|h,i| puts i.to_s + "; " + h}
|
553
557
|
end
|
554
558
|
def rmhistory # Delete history
|
555
559
|
@history = []
|
@@ -619,6 +623,10 @@ loop do
|
|
619
623
|
@dirs.pop
|
620
624
|
hist_clean # Clean up the history
|
621
625
|
@cmd = "ls" if @cmd == "" # Default to ls when no command is given
|
626
|
+
if @cmd.match(/^!\d+/)
|
627
|
+
hi = @history[@cmd.sub(/^!(\d+)$/, '\1').to_i+1]
|
628
|
+
@cmd = hi if hi
|
629
|
+
end
|
622
630
|
print "\n"; @c.clear_screen_down
|
623
631
|
if @cmd == "r" # Integration with rtfm (https://github.com/isene/RTFM)
|
624
632
|
t = Time.now
|
@@ -639,7 +647,7 @@ loop do
|
|
639
647
|
rescue Exception => err
|
640
648
|
puts "\n#{err}"
|
641
649
|
end
|
642
|
-
elsif @cmd == '#'
|
650
|
+
elsif @cmd == '#' # List previous directories
|
643
651
|
dirs
|
644
652
|
else # Execute command
|
645
653
|
ca = @nick.transform_keys {|k| /((^\K\s*\K)|(\|\K\s*\K))\b(?<!-)#{Regexp.escape k}\b/}
|
metadata
CHANGED
@@ -1,18 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-shell
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.17'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Geir Isene
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-06-
|
11
|
+
date: 2023-06-09 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: 'A shell written in Ruby with extensive tab completions, aliases/nicks,
|
14
14
|
history, syntax highlighting, theming and more. In continual development. New in
|
15
|
-
0.
|
15
|
+
0.17: Added the ! convention to redo history commands (like !5 to redo the 5th command
|
16
|
+
in hisotry)'
|
16
17
|
email: g@isene.com
|
17
18
|
executables:
|
18
19
|
- rsh
|