lightning 0.4.0 → 0.4.1
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.
- data/.gemspec +1 -2
- data/.travis.yml +8 -0
- data/CHANGELOG.rdoc +3 -0
- data/lib/lightning/version.rb +1 -1
- data/test/bolt_commands_test.rb +7 -5
- data/test/function_test.rb +4 -2
- data/test/lightning.yml +9 -11
- metadata +69 -63
data/.gemspec
CHANGED
@@ -11,7 +11,6 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.summary = "Lightning is a commandline framework that generates shell functions which wrap around commands to autocomplete and translate full paths by their basenames."
|
12
12
|
s.description = "Lightning is a commandline framework that lets users wrap commands with shell functions that are able to refer to any filesystem path by its basename. To achieve this, a group of paths to be translated are defined with shell globs. These shell globs, known as a lightning _bolt_, are then applied to commands to produce functions. In addition to translating basenames to full paths, lightning _functions_ can autocomplete these basenames, resolve conflicts if they have the same name, leave any non-basename arguments untouched, and autocomplete directories above and below a basename. To make bolts shareable between users and functions easier to create, lightning has _generators_. A _generator_ generates filesystem-specific globs for a bolt. Lightning comes with some default generators. Users can make their own generators with generator plugins placed under ~/.lightning/generators/."
|
13
13
|
s.required_rubygems_version = ">= 1.3.6"
|
14
|
-
s.rubyforge_project = 'tagaholic'
|
15
14
|
s.executables = %w{lightning lightning-complete lightning-translate}
|
16
15
|
s.has_rdoc = 'yard'
|
17
16
|
s.rdoc_options = ['--title', "Lightning #{Lightning::VERSION} Documentation"]
|
@@ -20,7 +19,7 @@ Gem::Specification.new do |s|
|
|
20
19
|
s.add_development_dependency 'bacon-bits'
|
21
20
|
s.add_development_dependency 'bacon-rr'
|
22
21
|
s.files = Dir.glob(%w[{lib,test}/**/*.rb bin/* [A-Z]*.{txt,rdoc} ext/**/*.{rb,c} **/deps.rip]) + %w{Rakefile .gemspec}
|
23
|
-
s.files += Dir.glob(['test/*.yml', 'man/*'])
|
22
|
+
s.files += Dir.glob(['test/*.yml', 'man/*', '.travis.yml'])
|
24
23
|
s.extra_rdoc_files = ["README.rdoc", "LICENSE.txt"]
|
25
24
|
s.license = 'MIT'
|
26
25
|
end
|
data/.travis.yml
ADDED
data/CHANGELOG.rdoc
CHANGED
data/lib/lightning/version.rb
CHANGED
data/test/bolt_commands_test.rb
CHANGED
@@ -69,11 +69,13 @@ context "bolt command" do
|
|
69
69
|
bolt 'show', 'abcd'
|
70
70
|
end
|
71
71
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
72
|
+
if RUBY_VERSION > '1.9.2'
|
73
|
+
test 'show shows bolt given alias' do
|
74
|
+
create_bolt
|
75
|
+
config.bolts['abcd']['alias'] = 'ab'
|
76
|
+
mock(Commands).puts(/globs:.*c\/d.*alias: ab/m)
|
77
|
+
bolt 'show', 'ab'
|
78
|
+
end
|
77
79
|
end
|
78
80
|
|
79
81
|
test 'show prints error for nonexistent bolt' do
|
data/test/function_test.rb
CHANGED
@@ -42,8 +42,10 @@ context "Function" do
|
|
42
42
|
translate 'path1 path2', map['path1'], map['path2']
|
43
43
|
end
|
44
44
|
|
45
|
-
|
46
|
-
|
45
|
+
if RUBY_VERSION > '1.9.2'
|
46
|
+
test "translates instant multiple completions (..)" do
|
47
|
+
translate 'path.. blah a1', map['path1'], map['path2'], map['path3'], 'blah', map['a1']
|
48
|
+
end
|
47
49
|
end
|
48
50
|
|
49
51
|
test "translates instant multiple completions containing spaces" do
|
data/test/lightning.yml
CHANGED
@@ -1,14 +1,12 @@
|
|
1
1
|
---
|
2
2
|
source_file: lightning_completions
|
3
|
-
|
4
3
|
ignore_paths:
|
5
4
|
- .DS_Store
|
6
5
|
- .git
|
7
|
-
|
8
|
-
bolts:
|
6
|
+
bolts:
|
9
7
|
wild_dir:
|
10
|
-
globs:
|
11
|
-
- **/
|
8
|
+
globs:
|
9
|
+
- ! '**/'
|
12
10
|
alias: w
|
13
11
|
app:
|
14
12
|
global: true
|
@@ -17,18 +15,18 @@ bolts:
|
|
17
15
|
name: bling
|
18
16
|
- less
|
19
17
|
- shell_command: cd
|
20
|
-
name
|
21
|
-
- name
|
22
|
-
shell_command
|
23
|
-
desc
|
18
|
+
name: c
|
19
|
+
- name: oa
|
20
|
+
shell_command: open -a
|
21
|
+
desc: open mac applications
|
24
22
|
aliases:
|
25
23
|
a1: /dir/a1
|
26
24
|
a2: /dir/a2
|
27
25
|
path3: /dir/a3
|
28
26
|
desc: Desktop applications
|
29
27
|
globs:
|
30
|
-
|
31
|
-
|
28
|
+
- /Applications/*.app
|
29
|
+
- /Applications/Utilities/*.app
|
32
30
|
live_glob:
|
33
31
|
functions:
|
34
32
|
- cd
|
metadata
CHANGED
@@ -1,74 +1,81 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: lightning
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.4.1
|
4
5
|
prerelease:
|
5
|
-
version: 0.4.0
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Gabriel Horner
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-02-24 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
17
15
|
name: bacon
|
18
|
-
|
19
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70267088468000 !ruby/object:Gem::Requirement
|
20
17
|
none: false
|
21
|
-
requirements:
|
22
|
-
- -
|
23
|
-
- !ruby/object:Gem::Version
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
24
21
|
version: 1.1.0
|
25
22
|
type: :development
|
26
|
-
version_requirements: *id001
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rr
|
29
23
|
prerelease: false
|
30
|
-
|
24
|
+
version_requirements: *70267088468000
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rr
|
27
|
+
requirement: &70267088467540 !ruby/object:Gem::Requirement
|
31
28
|
none: false
|
32
|
-
requirements:
|
33
|
-
- -
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
version:
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '1.0'
|
36
33
|
type: :development
|
37
|
-
version_requirements: *id002
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
name: bacon-bits
|
40
34
|
prerelease: false
|
41
|
-
|
35
|
+
version_requirements: *70267088467540
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: bacon-bits
|
38
|
+
requirement: &70267088467160 !ruby/object:Gem::Requirement
|
42
39
|
none: false
|
43
|
-
requirements:
|
44
|
-
- -
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version:
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
47
44
|
type: :development
|
48
|
-
version_requirements: *id003
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: bacon-rr
|
51
45
|
prerelease: false
|
52
|
-
|
46
|
+
version_requirements: *70267088467160
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: bacon-rr
|
49
|
+
requirement: &70267088466680 !ruby/object:Gem::Requirement
|
53
50
|
none: false
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version:
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
58
55
|
type: :development
|
59
|
-
|
60
|
-
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *70267088466680
|
58
|
+
description: Lightning is a commandline framework that lets users wrap commands with
|
59
|
+
shell functions that are able to refer to any filesystem path by its basename. To
|
60
|
+
achieve this, a group of paths to be translated are defined with shell globs. These
|
61
|
+
shell globs, known as a lightning _bolt_, are then applied to commands to produce
|
62
|
+
functions. In addition to translating basenames to full paths, lightning _functions_
|
63
|
+
can autocomplete these basenames, resolve conflicts if they have the same name,
|
64
|
+
leave any non-basename arguments untouched, and autocomplete directories above and
|
65
|
+
below a basename. To make bolts shareable between users and functions easier to
|
66
|
+
create, lightning has _generators_. A _generator_ generates filesystem-specific
|
67
|
+
globs for a bolt. Lightning comes with some default generators. Users can make their
|
68
|
+
own generators with generator plugins placed under ~/.lightning/generators/.
|
61
69
|
email: gabriel.horner@gmail.com
|
62
|
-
executables:
|
70
|
+
executables:
|
63
71
|
- lightning
|
64
72
|
- lightning-complete
|
65
73
|
- lightning-translate
|
66
74
|
extensions: []
|
67
|
-
|
68
|
-
extra_rdoc_files:
|
75
|
+
extra_rdoc_files:
|
69
76
|
- README.rdoc
|
70
77
|
- LICENSE.txt
|
71
|
-
files:
|
78
|
+
files:
|
72
79
|
- lib/lightning/bolt.rb
|
73
80
|
- lib/lightning/builder.rb
|
74
81
|
- lib/lightning/commands/bolt.rb
|
@@ -113,34 +120,33 @@ files:
|
|
113
120
|
- test/lightning.yml
|
114
121
|
- man/lightning.1
|
115
122
|
- man/lightning.1.ronn
|
116
|
-
|
123
|
+
- .travis.yml
|
117
124
|
homepage: http://tagaholic.me/lightning/
|
118
|
-
licenses:
|
125
|
+
licenses:
|
119
126
|
- MIT
|
120
127
|
post_install_message:
|
121
|
-
rdoc_options:
|
128
|
+
rdoc_options:
|
122
129
|
- --title
|
123
|
-
- Lightning 0.4.
|
124
|
-
require_paths:
|
130
|
+
- Lightning 0.4.1 Documentation
|
131
|
+
require_paths:
|
125
132
|
- lib
|
126
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
133
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
127
134
|
none: false
|
128
|
-
requirements:
|
129
|
-
- -
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version:
|
132
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ! '>='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
133
140
|
none: false
|
134
|
-
requirements:
|
135
|
-
- -
|
136
|
-
- !ruby/object:Gem::Version
|
141
|
+
requirements:
|
142
|
+
- - ! '>='
|
143
|
+
- !ruby/object:Gem::Version
|
137
144
|
version: 1.3.6
|
138
145
|
requirements: []
|
139
|
-
|
140
|
-
|
141
|
-
rubygems_version: 1.6.1
|
146
|
+
rubyforge_project:
|
147
|
+
rubygems_version: 1.8.15
|
142
148
|
signing_key:
|
143
149
|
specification_version: 3
|
144
|
-
summary: Lightning is a commandline framework that generates shell functions which
|
150
|
+
summary: Lightning is a commandline framework that generates shell functions which
|
151
|
+
wrap around commands to autocomplete and translate full paths by their basenames.
|
145
152
|
test_files: []
|
146
|
-
|