lightning 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. data/CHANGELOG.rdoc +9 -0
  2. data/README.rdoc +53 -125
  3. data/Rakefile +14 -40
  4. data/bin/lightning +4 -0
  5. data/bin/lightning-complete +1 -10
  6. data/bin/lightning-translate +4 -0
  7. data/lib/lightning.rb +36 -50
  8. data/lib/lightning/bolt.rb +53 -26
  9. data/lib/lightning/builder.rb +87 -0
  10. data/lib/lightning/commands.rb +92 -69
  11. data/lib/lightning/commands/bolt.rb +63 -0
  12. data/lib/lightning/commands/core.rb +57 -0
  13. data/lib/lightning/commands/function.rb +76 -0
  14. data/lib/lightning/commands/shell_command.rb +38 -0
  15. data/lib/lightning/commands_util.rb +75 -0
  16. data/lib/lightning/completion.rb +72 -28
  17. data/lib/lightning/completion_map.rb +42 -39
  18. data/lib/lightning/config.rb +92 -57
  19. data/lib/lightning/function.rb +70 -0
  20. data/lib/lightning/generator.rb +77 -43
  21. data/lib/lightning/generators.rb +53 -0
  22. data/lib/lightning/generators/misc.rb +12 -0
  23. data/lib/lightning/generators/ruby.rb +32 -0
  24. data/lib/lightning/util.rb +70 -0
  25. data/lib/lightning/version.rb +3 -0
  26. data/test/bolt_test.rb +16 -28
  27. data/test/builder_test.rb +54 -0
  28. data/test/commands_test.rb +98 -0
  29. data/test/completion_map_test.rb +31 -54
  30. data/test/completion_test.rb +106 -36
  31. data/test/config_test.rb +22 -56
  32. data/test/function_test.rb +90 -0
  33. data/test/generator_test.rb +73 -0
  34. data/test/lightning.yml +26 -34
  35. data/test/test_helper.rb +80 -15
  36. metadata +42 -20
  37. data/VERSION.yml +0 -4
  38. data/bin/lightning-full_path +0 -18
  39. data/bin/lightning-install +0 -7
  40. data/lib/lightning/bolts.rb +0 -12
  41. data/lightning.yml.example +0 -87
  42. data/lightning_completions.example +0 -147
  43. data/test/lightning_test.rb +0 -58
@@ -1,147 +0,0 @@
1
- #### This file was generated by Lightning. ####
2
- #LBIN_PATH="$PWD/bin/" #only use for development
3
- LBIN_PATH=""
4
-
5
- #my code directories
6
- c () {
7
- if [ -z "$1" ]; then
8
- echo "No arguments given"
9
- return
10
- fi
11
- FULL_PATH="`${LBIN_PATH}lightning-full_path cd-c $@`"
12
- if [ $1 == '-test' ]; then
13
- CMD="cd '$FULL_PATH'"
14
- echo $CMD
15
- else
16
- cd "$FULL_PATH"
17
- fi
18
- }
19
- complete -o default -C "${LBIN_PATH}lightning-complete cd-c" c
20
-
21
-
22
- cd-g () {
23
- if [ -z "$1" ]; then
24
- echo "No arguments given"
25
- return
26
- fi
27
- FULL_PATH="`${LBIN_PATH}lightning-full_path gem $@`"
28
- if [ $1 == '-test' ]; then
29
- CMD="cd '$FULL_PATH'"
30
- echo $CMD
31
- else
32
- cd "$FULL_PATH"
33
- fi
34
- }
35
- complete -o default -C "${LBIN_PATH}lightning-complete gem" cd-g
36
-
37
-
38
- m-g () {
39
- if [ -z "$1" ]; then
40
- echo "No arguments given"
41
- return
42
- fi
43
- FULL_PATH="`${LBIN_PATH}lightning-full_path gem $@`"
44
- if [ $1 == '-test' ]; then
45
- CMD="mate '$FULL_PATH'"
46
- echo $CMD
47
- else
48
- mate "$FULL_PATH"
49
- fi
50
- }
51
- complete -o default -C "${LBIN_PATH}lightning-complete gem" m-g
52
-
53
- #open gem's doc in browser
54
- o-g () {
55
- if [ -z "$1" ]; then
56
- echo "No arguments given"
57
- return
58
- fi
59
- FULL_PATH="`${LBIN_PATH}lightning-full_path gem_rdoc $@`/rdoc/index.html"
60
- if [ $1 == '-test' ]; then
61
- CMD="open '$FULL_PATH'"
62
- echo $CMD
63
- else
64
- open "$FULL_PATH"
65
- fi
66
- }
67
- complete -o default -C "${LBIN_PATH}lightning-complete gem_rdoc" o-g
68
-
69
- #ruby core files
70
- v-r () {
71
- if [ -z "$1" ]; then
72
- echo "No arguments given"
73
- return
74
- fi
75
- FULL_PATH="`${LBIN_PATH}lightning-full_path vim-v-r $@`"
76
- if [ $1 == '-test' ]; then
77
- CMD="vim '$FULL_PATH'"
78
- echo $CMD
79
- else
80
- vim "$FULL_PATH"
81
- fi
82
- }
83
- complete -o default -C "${LBIN_PATH}lightning-complete vim-v-r" v-r
84
-
85
- #ruby core directories
86
- cd-r () {
87
- if [ -z "$1" ]; then
88
- echo "No arguments given"
89
- return
90
- fi
91
- FULL_PATH="`${LBIN_PATH}lightning-full_path cd-cd-r $@`"
92
- if [ $1 == '-test' ]; then
93
- CMD="cd '$FULL_PATH'"
94
- echo $CMD
95
- else
96
- cd "$FULL_PATH"
97
- fi
98
- }
99
- complete -o default -C "${LBIN_PATH}lightning-complete cd-cd-r" cd-r
100
-
101
- #open mac applications
102
- oa () {
103
- if [ -z "$1" ]; then
104
- echo "No arguments given"
105
- return
106
- fi
107
- FULL_PATH="`${LBIN_PATH}lightning-full_path open-oa $@`"
108
- if [ $1 == '-test' ]; then
109
- CMD="open -a '$FULL_PATH'"
110
- echo $CMD
111
- else
112
- open -a "$FULL_PATH"
113
- fi
114
- }
115
- complete -o default -C "${LBIN_PATH}lightning-complete open-oa" oa
116
-
117
- #open files when in the base directory of a ruby gem project
118
- v-g () {
119
- if [ -z "$1" ]; then
120
- echo "No arguments given"
121
- return
122
- fi
123
- FULL_PATH="`${LBIN_PATH}lightning-full_path vim-v-g $@`"
124
- if [ $1 == '-test' ]; then
125
- CMD="vim '$FULL_PATH'"
126
- echo $CMD
127
- else
128
- vim "$FULL_PATH"
129
- fi
130
- }
131
- complete -o default -C "${LBIN_PATH}lightning-complete vim-v-g" v-g
132
-
133
- #open files when in the base directory of a rails project
134
- v-rr () {
135
- if [ -z "$1" ]; then
136
- echo "No arguments given"
137
- return
138
- fi
139
- FULL_PATH="`${LBIN_PATH}lightning-full_path vim-v-rr $@`"
140
- if [ $1 == '-test' ]; then
141
- CMD="vim '$FULL_PATH'"
142
- echo $CMD
143
- else
144
- vim "$FULL_PATH"
145
- fi
146
- }
147
- complete -o default -C "${LBIN_PATH}lightning-complete vim-v-rr" v-rr
@@ -1,58 +0,0 @@
1
- require File.join(File.dirname(__FILE__), 'test_helper')
2
-
3
- class LightningTest < Test::Unit::TestCase
4
- context "Generator" do
5
- before(:all) do
6
- @config_file = File.dirname(__FILE__) + '/lightning_completions'
7
- Lightning.config[:generated_file] = @config_file
8
- Lightning::Generator.generate_completions
9
- end
10
- after(:all) { FileUtils.rm_f(Lightning.config[:generated_file]) }
11
-
12
- test "generates file in expected location" do
13
- assert File.exists?(@config_file)
14
- end
15
-
16
- #this depends on oa
17
- test "generates expected output for a command" do
18
- generated_command = <<-EOS.gsub(/^\s{6}/,'')
19
- #open mac applications
20
- oa () {
21
- if [ -z "$1" ]; then
22
- echo "No arguments given"
23
- return
24
- fi
25
- FULL_PATH="`${LBIN_PATH}lightning-full_path oa $@`"
26
- if [ $1 == '-test' ]; then
27
- CMD="open -a '$FULL_PATH'"
28
- echo $CMD
29
- else
30
- open -a "$FULL_PATH"
31
- fi
32
- }
33
- complete -o default -C "${LBIN_PATH}lightning-complete oa" oa
34
- EOS
35
- output = File.read(@config_file)
36
- assert output.include?(generated_command)
37
- end
38
- end
39
-
40
- context "Lightning" do
41
- test "complete() returns correctly for valid command" do
42
- Lightning::Completion.stub!(:complete, :return=>'blah')
43
- assert_equal 'blah', Lightning.complete('oa', 'blah')
44
- end
45
-
46
- test "complete() reports error for invalid command" do
47
- assert ! Lightning.complete('invalid','invalid').grep(/Error/).empty?
48
- end
49
-
50
- test "translate() returns errorless for valid command" do
51
- assert Lightning.translate('oa', 'blah').grep(/Error/).empty?
52
- end
53
-
54
- test "translate() reports error for invalid command" do
55
- assert ! Lightning.translate('invalid', 'blah').grep(/Error/).empty?
56
- end
57
- end
58
- end