ruby-shell 0.17 → 0.20
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/.rshrc +9 -4
- data/README.md +14 -0
- data/bin/rsh +15 -5
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b228176dfbc09b05c908d44bd1121aa7bd9c0c18c6cbf06c09a74bc9c4e492bb
|
4
|
+
data.tar.gz: 8ff9a56792681fcc704ec6de601255a43c4b5e23a88b100f121d5e2c33c9aa7a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c6b7100c0eda1aa62a1f74839d5c6bbaa80f99f788ed106f3f98c7b0e7ee8ee705dcfe69cb692ebd0f275e264324cec53bc2874e4e638b705c6b9a49277a6fc
|
7
|
+
data.tar.gz: 9d01e0a80972585cef90ed9e90f865f13aebb03e04502084a4a9f65500430ca548e19b3a5eb8c9dbfd594bcefe836bb33aea110f7ace4e20b6253ca270621fff
|
data/.rshrc
CHANGED
@@ -1,10 +1,13 @@
|
|
1
1
|
# vim: set ft=ruby sw=2 sts=2 et :
|
2
2
|
|
3
|
+
# ENVIRONMENT
|
4
|
+
#@lscolors = "/home/geir/.local/share/lscolors.sh"
|
5
|
+
ENV["EDITOR"] = "vim"
|
6
|
+
ENV["MANPAGER"] = "vim +MANPAGER -"
|
7
|
+
|
3
8
|
# PROMPT
|
4
|
-
# The numbers in parenthesis are 256 color codes (the '.c()' is a String extention
|
5
|
-
# to color text in the terminal. Add '.b' for bold and '.i' for italics.
|
6
9
|
if @user == "root"
|
7
|
-
@prompt = "#{@user}@#{@node}".c(160) + ":".c(255) + " #{Dir.pwd}/".c(196) + " ".c(7)
|
10
|
+
@prompt = "#{@user}@#{@node}".c(160).b + ":".c(255) + " #{Dir.pwd}/".c(196) + " ".c(7)
|
8
11
|
else
|
9
12
|
@prompt = "#{@user}@#{@node}".c(46) + ":".c(255) + " #{Dir.pwd}/".c(196) + " ".c(7)
|
10
13
|
end
|
@@ -20,5 +23,7 @@ end
|
|
20
23
|
@c_taboption = 244 # Color for unselected tabcompleted item
|
21
24
|
@c_stamp = 244 # Color for time stamp/command
|
22
25
|
|
23
|
-
#
|
26
|
+
# NICKS AND HISTORY
|
24
27
|
@nick = {"ls"=>"ls --color -F"}
|
28
|
+
@gnick = {}
|
29
|
+
@history = []
|
data/README.md
CHANGED
@@ -86,6 +86,20 @@ Variable | Description
|
|
86
86
|
`@c_taboption` | Color for unselected tabcompleted item
|
87
87
|
`@c_stamp` | Color for time stamp/command
|
88
88
|
|
89
|
+
## The .rshrc
|
90
|
+
`.rshrc` is the configuration file for rsh and it is located in your home directory. It is created when you first start rsh and you can modify it to suit your needs. A more detailed .rshrc is found in the the [rsh github repo](https://github.com/isene/rsh) - you can drop this into your home dir if you like. Set the basic environment variables like this:
|
91
|
+
```
|
92
|
+
ENV["EDITOR"] = "vim"
|
93
|
+
ENV["MANPAGER"] = "vim +MANPAGER -"
|
94
|
+
```
|
95
|
+
Also, a special variable for better LS_COLOR setup:
|
96
|
+
```
|
97
|
+
@lscolors = "/home/geir/.local/share/lscolors.sh"
|
98
|
+
```
|
99
|
+
Point `@lscolors` to a file that sets your LS_COLORS variable. Use [my extended LS_COLORS setup](https://github.com/isene/LS_COLORS) to make this really fancy.
|
100
|
+
|
101
|
+
You can add any Ruby code to your .rshrc.
|
102
|
+
|
89
103
|
# Enter the world of Ruby
|
90
104
|
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.
|
91
105
|
|
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.20"
|
18
18
|
|
19
19
|
# MODULES, CLASSES AND EXTENSIONS
|
20
20
|
class String # Add coloring to strings (with escaping for Readline)
|
@@ -422,7 +422,7 @@ def tab_switch(str) # TAB completion for command switches (TAB after "-")
|
|
422
422
|
begin
|
423
423
|
hlp = `#{str} --help`
|
424
424
|
hlp = hlp.split("\n").grep(/^\s*-{1,2}[^-]/)
|
425
|
-
hlp = hlp.map
|
425
|
+
hlp = hlp.map{|h| h.sub(/^\s*/, '').sub(/^--/, ' --')}
|
426
426
|
switch = tabselect(hlp)
|
427
427
|
switch = switch.sub(/ .*/, '').sub(/,/, '')
|
428
428
|
@tabsearch = switch if switch
|
@@ -551,9 +551,9 @@ end
|
|
551
551
|
def version
|
552
552
|
puts "rsh version = #{@version} (latest RubyGems version is #{Gem.latest_version_for("ruby-shell").version} - https://github.com/isene/rsh)"
|
553
553
|
end
|
554
|
-
def history # Show history
|
554
|
+
def history # Show most recent history (up to 50 entries)
|
555
555
|
puts "History:"
|
556
|
-
@history.each_with_index {|h,i| puts i.to_s + "; " + h}
|
556
|
+
@history.each_with_index {|h,i| puts i.to_s + "; " + h if i < 50}
|
557
557
|
end
|
558
558
|
def rmhistory # Delete history
|
559
559
|
@history = []
|
@@ -599,6 +599,16 @@ begin # Load .rshrc and populate @history
|
|
599
599
|
trap "SIGINT" do print "\n"; exit end
|
600
600
|
firstrun unless File.exist?(Dir.home+'/.rshrc') # Initial loading - to get history
|
601
601
|
load(Dir.home+'/.rshrc')
|
602
|
+
ENV["SHELL"] = __FILE__
|
603
|
+
ENV["TERM"] = "rxvt-unicode-256color"
|
604
|
+
ENV["PATH"] ? ENV["PATH"] += ":" : ENV["PATH"] = ""
|
605
|
+
ENV["PATH"] += "/home/#{@user}/bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
606
|
+
if File.exist?(@lscolors)
|
607
|
+
ls = File.read(@lscolors)
|
608
|
+
ls.sub!(/export.*/, '')
|
609
|
+
ls.sub!(/^LS_COLORS=/, 'ENV["LS_COLORS"]=')
|
610
|
+
eval(ls)
|
611
|
+
end
|
602
612
|
@c = Cursor # Initiate @c as Cursor
|
603
613
|
@c.save # Get max row & col
|
604
614
|
@c.row(8000)
|
@@ -669,7 +679,7 @@ loop do
|
|
669
679
|
res = `fzf`.chomp
|
670
680
|
Dir.chdir(File.dirname(res))
|
671
681
|
else
|
672
|
-
if File.exist?(@cmd)
|
682
|
+
if File.exist?(@cmd) and not File.executable?(@cmd)
|
673
683
|
if File.read(@cmd).force_encoding("UTF-8").valid_encoding?
|
674
684
|
system("#{ENV['EDITOR']} #{@cmd}") # Try open with user's editor
|
675
685
|
else
|
metadata
CHANGED
@@ -1,19 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-shell
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.20'
|
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-12 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.
|
16
|
-
in hisotry)'
|
15
|
+
0.20: Changes needed to make rsh a proper login shell.'
|
17
16
|
email: g@isene.com
|
18
17
|
executables:
|
19
18
|
- rsh
|