ruby-shell 0.11 → 0.13

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -0
  3. data/bin/rsh +17 -4
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 002e79c6d55d5d7f9aedab8fd39f1e1712a00cc5346d5971017023bb98be6a36
4
- data.tar.gz: e55bcd60840eb1e244dfd74868a0efe28c9fa4d5eb85da778dd5642219a23647
3
+ metadata.gz: 60559c89ac1578e5677855dba379bd293acb3279bb132a072b7218c58055fce0
4
+ data.tar.gz: 4bc782571e3e56fc19177a24c22c386d4ac764bcb12a8042f8fed3c9563822dc
5
5
  SHA512:
6
- metadata.gz: d14305387565d0c2ec54843d4a3f256563e7079567c6f75b51a3357494582439f49648b43a0c60a7b509b5f01a52bcee23e293dbbbf47d82fbb8d58325173f58
7
- data.tar.gz: e5647e1c8b7218a50e76fab9cf1170ed5c5df863ad6530f66a571f083a881deaf3a94bad242d0543585f4c65bd38f7496466764c525d3ec8adfac25552997741
6
+ metadata.gz: 8a41cfe97a651db1d15d3ea5f06552d2b353d50fb8effa918ce701c907c3735f04e2c049c2922a3e9764e2372d7eadb2225589ad590179575bde9c70c05efd8b
7
+ data.tar.gz: 60e7c66ff3c6db7cbc9e50f226de7469a95737a202d0373c13e7155f430142e38b9a175eec986788887b1cebb4a88991e45262a6c6e5f2f29e1d8c6e287d00dc
data/README.md CHANGED
@@ -73,6 +73,9 @@ Variable | Description
73
73
  `@c_taboption` | Color for unselected tabcompleted item
74
74
  `@c_stamp` | Color for time stamp/command
75
75
 
76
+ # Open files
77
+ 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`.
78
+
76
79
  # Enter the world of Ruby
77
80
  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.
78
81
 
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.11"
17
+ @version = "0.13"
18
18
 
19
19
  # MODULES, CLASSES AND EXTENSIONS
20
20
  class String # Add coloring to strings (with escaping for Readline)
@@ -125,6 +125,8 @@ begin # Initialization
125
125
  # History
126
126
  @histsize = 100 # Max history if not set in .rshrc
127
127
  @hloaded = false # Variable to determine if history is loaded
128
+ # Use run-mailcap instead of xgd-open? Set = true in .rshrc if iyou want run-mailcap
129
+ @runmailcap = false
128
130
  # Variable initializations
129
131
  @cmd = "" # Initiate variable @cmd
130
132
  end
@@ -585,14 +587,15 @@ loop do
585
587
  system("rtfm #{tf}")
586
588
  Dir.chdir(File.read(tf))
587
589
  File.delete(tf)
590
+ system("git status .") if Dir.exist?(".git")
588
591
  next
589
592
  end
590
593
  @cmd = "echo \"#{@cmd[1...]},prx,off\" | xrpn" if @cmd =~ /^\=/ # Integration with xrpn (https://github.com/isene/xrpn)
591
594
  if @cmd.match(/^\s*:/) # Ruby commands are prefixed with ":"
592
595
  begin
593
596
  eval(@cmd[1..-1])
594
- rescue StandardError => err
595
- #rescue Exception => err
597
+ #rescue StandardError => err
598
+ rescue Exception => err
596
599
  puts "\n#{err}"
597
600
  end
598
601
  else # Execute command
@@ -601,6 +604,7 @@ loop do
601
604
  dir = @cmd.strip.sub(/~/, Dir.home)
602
605
  if Dir.exist?(dir)
603
606
  Dir.chdir(dir)
607
+ system("git status .") if Dir.exist?(".git")
604
608
  else
605
609
  ca = @nick.transform_keys {|k| /((^\K\s*\K)|(\|\K\s*\K))\b(?<!-)#{Regexp.escape k}\b/}
606
610
  @cmd = @cmd.gsub(Regexp.union(ca.keys), @nick)
@@ -611,7 +615,16 @@ loop do
611
615
  res = `#{@cmd}`.chomp
612
616
  Dir.chdir(File.dirname(res))
613
617
  else
614
- if File.exist?(@cmd) then system("#{ENV['EDITOR']} #{@cmd}") # Try open with user's editor
618
+ if File.exist?(@cmd)
619
+ if File.read(@cmd).force_encoding("UTF-8").valid_encoding?
620
+ system("#{ENV['EDITOR']} #{@cmd}") # Try open with user's editor
621
+ else
622
+ if @runmailcap
623
+ Thread.new { system("run-mailcap #{@cmd} 2>/dev/null") }
624
+ else
625
+ Thread.new { system("xdg-open #{@cmd} 2>/dev/null") }
626
+ end
627
+ end
615
628
  elsif system(@cmd) # Try execute the command
616
629
  else puts "No such command: #{@cmd}"
617
630
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-shell
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.11'
4
+ version: '0.13'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geir Isene
@@ -12,7 +12,7 @@ date: 2023-06-04 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.11: Added command :help to display the help text'
15
+ 0.13: Automatic git status when entering a git repo/dir.'
16
16
  email: g@isene.com
17
17
  executables:
18
18
  - rsh