lightning 0.2.1 → 0.3.0

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 (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