Skip to content

Commit d77018e

Browse files
committed
Add explicit support for MANPATH
1 parent 8127443 commit d77018e

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

path

+10-5
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
require 'optparse'
66

77
class Path
8-
def initialize(*args)
9-
path_string = args.empty? ? ENV['PATH'] : args.join(":")
8+
def initialize(var_name, *args)
9+
path_string = args.empty? ? ENV[var_name] : args.join(":")
1010
@elements = path_string.split(/:/)
1111
end
1212

@@ -22,7 +22,9 @@ end
2222

2323

2424
def parse_args
25-
options = {}
25+
options = {
26+
var_name: 'PATH'
27+
}
2628

2729
op = OptionParser.new do |opts|
2830
opts.banner = <<-EOS.gsub(/^ */, '')
@@ -37,11 +39,14 @@ def parse_args
3739
$PATH.
3840
EOS
3941

40-
options[:clean] = false
4142
opts.on("-c", "--clean", "Clean path, removing any dupes.") do
4243
options[:clean] = true
4344
end
4445

46+
opts.on("-m", "--manpath", "Examine MANPATH rather than PATH.") do
47+
options[:var_name] = 'MANPATH'
48+
end
49+
4550
opts.on("-p", "--pack", "Pack path into one long line.") do
4651
options[:pack] = true
4752
end
@@ -58,6 +63,6 @@ args, options = parse_args
5863

5964
separator = options[:pack] ? ":" : "\n"
6065

61-
path = Path.new(*args)
66+
path = Path.new(options[:var_name], *args)
6267
path.clean if options[:clean]
6368
path.show(separator)

0 commit comments

Comments
 (0)