10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/paste2/client.rb', line 10
def initialize
@options = {}
parser = OptionParser.new do|opts|
opts.separator ''
opts.separator 'Examples:'
opts.separator " echo 'code' | paste2"
opts.separator ' paste2 < file'
opts.separator ''
opts.separator 'Specific options:'
opts.banner = 'Usage: paste2 [options]'
opts.on( '-f', '--file FILE', 'Post content from file' ) do|file|
@options[:file] = file
end
opts.on( '-d', '--description TEXT', 'Description for post' ) do|description|
@options[:description] = description
end
opts.on( '-a', '--all', 'List supported languages' ) do
puts 'Supported languages:'
Paste2::LANGUAGES.each do |lang, name|
printf "\t%-20s %s\n", lang, name
end
exit(0)
end
opts.on( '-l', '--lang LANG', 'Post content as language (default is text)' ) do|language|
if Paste2::LANGUAGES.include? language
@options[:language] = language
else
puts "Not supported language '#{language}'"
exit(1)
end
end
opts.on( '-h', '--help', 'Display this screen' ) do
@options[:help] = true
end
end
begin
parser.parse ARGV
if @options[:help]
puts parser
end
rescue => e
puts e.message
end
end
|