ver 2009.11.29 → 2009.12.14
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/AUTHORS +6 -0
- data/CHANGELOG +353 -1
- data/LICENSE +18 -0
- data/MANIFEST +11 -1
- data/Rakefile +2 -1
- data/bin/ver +3 -12
- data/config/detect.rb +1 -1
- data/config/keymap/diakonos.rb +181 -0
- data/config/keymap/emacs.rb +24 -24
- data/config/keymap/vim.rb +162 -127
- data/config/rc.rb +29 -14
- data/config/syntax/Nemerle.json +3 -3
- data/lib/ver.rb +88 -134
- data/lib/ver/entry.rb +5 -0
- data/lib/ver/exception_view.rb +97 -0
- data/lib/ver/hover_completion.rb +14 -7
- data/lib/ver/keymap.rb +30 -1
- data/lib/ver/layout.rb +20 -14
- data/lib/ver/methods.rb +6 -15
- data/lib/ver/methods/bookmark.rb +189 -0
- data/lib/ver/methods/completion.rb +2 -2
- data/lib/ver/methods/control.rb +109 -26
- data/lib/ver/methods/ctags.rb +28 -4
- data/lib/ver/methods/delete.rb +85 -4
- data/lib/ver/methods/insert.rb +73 -52
- data/lib/ver/methods/move.rb +122 -35
- data/lib/ver/methods/open.rb +4 -43
- data/lib/ver/methods/search.rb +46 -17
- data/lib/ver/methods/select.rb +121 -24
- data/lib/ver/methods/undo.rb +23 -0
- data/lib/ver/methods/views.rb +5 -0
- data/lib/ver/mode.rb +18 -17
- data/lib/ver/status.rb +2 -2
- data/lib/ver/status/context.rb +166 -0
- data/lib/ver/text.rb +43 -81
- data/lib/ver/text/index.rb +24 -7
- data/lib/ver/undo.rb +289 -0
- data/lib/ver/vendor/sized_array.rb +70 -0
- data/lib/ver/vendor/textpow.rb +6 -1
- data/lib/ver/version.rb +3 -0
- data/lib/ver/view.rb +11 -8
- data/lib/ver/view/list/grep.rb +15 -4
- data/lib/ver/view/term.rb +9 -3
- data/spec/helper.rb +94 -0
- data/ver.gemspec +9 -6
- metadata +25 -5
- data/spec/keymap.rb +0 -224
data/Rakefile
CHANGED
@@ -10,7 +10,8 @@ PROJECT_README = 'README.textile'
|
|
10
10
|
PROJECT_VERSION = ENV['VERSION'] || Date.today.strftime('%Y.%m.%d')
|
11
11
|
|
12
12
|
DEPENDENCIES = {
|
13
|
-
'ffi-tk'
|
13
|
+
'ffi-tk' => {:version => '2009.12.14'},
|
14
|
+
'eventmachine' => {:version => '0.12.10'},
|
14
15
|
}
|
15
16
|
|
16
17
|
GEMSPEC = Gem::Specification.new{|s|
|
data/bin/ver
CHANGED
@@ -26,16 +26,8 @@ module VER
|
|
26
26
|
# TODO: remove before release
|
27
27
|
$LOAD_PATH.unshift(ROOT)
|
28
28
|
|
29
|
-
|
30
|
-
|
31
|
-
trap(:HUP){ 'terminal disconnected' }
|
32
|
-
require 'ver'
|
33
|
-
run(options)
|
34
|
-
end
|
35
|
-
else
|
36
|
-
require 'ver'
|
37
|
-
run(options)
|
38
|
-
end
|
29
|
+
require 'ver'
|
30
|
+
run(options)
|
39
31
|
end
|
40
32
|
|
41
33
|
def install_tm_bundle(path)
|
@@ -86,8 +78,7 @@ options = { fork: true }
|
|
86
78
|
op = OptionParser.new{|o|
|
87
79
|
o.on('-Eex[:in]', '--encoding EXTERNAL[:INTERNAL]', 'used encoding'){|enc|
|
88
80
|
options[:encoding] = enc }
|
89
|
-
o.on('--font
|
90
|
-
o.on('--font-size INT', 'font size'){|fs| options[:font_size] = fs }
|
81
|
+
o.on('--font FONT', 'font family'){|fn| options[:font] = fn }
|
91
82
|
o.on('-f', '--nofork', 'stay attached to terminal'){ options[:fork] = false }
|
92
83
|
o.on('-k', '--keymap NAME', 'vim or emacs'){|k| options[:keymap] = k }
|
93
84
|
o.separator ' '
|
data/config/detect.rb
CHANGED
@@ -66,7 +66,7 @@ module VER::Syntax::Detector
|
|
66
66
|
exts "HTML (ASP.net)", ["aspx", "ascx"]
|
67
67
|
exts "HTML (Active4D)", ["a4d", "a4p"]
|
68
68
|
exts "HTML (Erlang)", ["yaws"]
|
69
|
-
exts "HTML (Tcl)", ["
|
69
|
+
exts "HTML (Tcl)", ["adp", "inc"]
|
70
70
|
exts "HTML", ["html", "htm", "shtml", "xhtml", "phtml", "php", "inc", "tmpl", "tpl", "ctp"]
|
71
71
|
head "HTML", /<!DOCTYPE|<(?i:html)|<\?(?i:php)/
|
72
72
|
exts "Haskell", ["hs"]
|
@@ -0,0 +1,181 @@
|
|
1
|
+
module VER
|
2
|
+
class Keymap
|
3
|
+
def self.diakonos(options)
|
4
|
+
diakonos = new(options)
|
5
|
+
diakonos.mode = options.fetch(:mode, :buffer)
|
6
|
+
diakonos.arguments = false
|
7
|
+
|
8
|
+
diakonos.in_mode :basic do
|
9
|
+
key :quit, %w[Control-q]
|
10
|
+
end
|
11
|
+
|
12
|
+
diakonos.in_mode :buffers do
|
13
|
+
key :view_close, %w[Control-w]
|
14
|
+
|
15
|
+
1.upto(9) do |n|
|
16
|
+
key [:view_focus, n], ["Alt-#{n}"], ["Escape", n.to_s]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
diakonos.in_mode :readline do
|
21
|
+
key [:kill_motion, :backward_char], %w[BackSpace]
|
22
|
+
key [:kill_motion, :forward_char], %w[Delete], %w[Control-d]
|
23
|
+
key [:kill_motion, :backward_word], %w[Control-w]
|
24
|
+
key :backward_char, %w[Left], %w[Control-b]
|
25
|
+
key :forward_char, %w[Right], %w[Control-f]
|
26
|
+
key :backward_word, %w[Shift-Left], %w[Alt-b]
|
27
|
+
key :forward_word, %w[Shift-Right], %w[Alt-f]
|
28
|
+
key :beginning_of_line, %w[Home], %w[Control-a]
|
29
|
+
key :end_of_line, %w[End], %w[Control-e]
|
30
|
+
key :insert_selection, %w[Shift-Insert]
|
31
|
+
key :accept_line, %w[Return]
|
32
|
+
key :previous_history, %w[Up], %w[Control-p]
|
33
|
+
key :next_history, %w[Down], %w[Control-n]
|
34
|
+
key :beginning_of_history, %w[Control-less]
|
35
|
+
key :end_of_history, %w[Control-greater]
|
36
|
+
key :transpose_chars, %w[Control-t]
|
37
|
+
key :insert_tab, %w[Control-v Tab]
|
38
|
+
|
39
|
+
KEYSYMS.each do |sym, name|
|
40
|
+
key [:insert_string, sym], [name]
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
diakonos.in_mode :status_query do
|
45
|
+
inherits :basic, :readline
|
46
|
+
|
47
|
+
key :ask_abort, %w[Escape], %w[Control-c]
|
48
|
+
key :history_prev, %w[Up], %w[Control-p]
|
49
|
+
key :history_next, %w[Down], %w[Control-n]
|
50
|
+
key :history_complete, %w[Tab]
|
51
|
+
key :ask_submit, %w[Return]
|
52
|
+
|
53
|
+
missing :insert_string
|
54
|
+
end
|
55
|
+
|
56
|
+
diakonos.in_mode :bookmark do
|
57
|
+
key :bookmark_toggle, %w[Alt-b Alt-b]
|
58
|
+
key :next_bookmark, %w[Alt-b Alt-n]
|
59
|
+
key :prev_bookmark, %w[Alt-b Alt-p]
|
60
|
+
|
61
|
+
key :named_bookmark_add, %w[Alt-b Alt-a]
|
62
|
+
key :named_bookmark_remove, %w[Alt-b Alt-r]
|
63
|
+
key :named_bookmark_visit, %w[Alt-b Alt-g]
|
64
|
+
|
65
|
+
# these are only valid on US keymap, don't know a better way.
|
66
|
+
key [:named_bookmark_add, '1'], %w[Alt-b Alt-exclam]
|
67
|
+
key [:named_bookmark_add, '2'], %w[Alt-b Alt-at]
|
68
|
+
key [:named_bookmark_add, '3'], %w[Alt-b Alt-numbersign]
|
69
|
+
key [:named_bookmark_add, '4'], %w[Alt-b Alt-dollar]
|
70
|
+
key [:named_bookmark_add, '5'], %w[Alt-b Alt-percent]
|
71
|
+
|
72
|
+
key [:named_bookmark_visit, '1'], %w[Alt-b Alt-1]
|
73
|
+
key [:named_bookmark_visit, '2'], %w[Alt-b Alt-2]
|
74
|
+
key [:named_bookmark_visit, '3'], %w[Alt-b Alt-3]
|
75
|
+
key [:named_bookmark_visit, '4'], %w[Alt-b Alt-4]
|
76
|
+
key [:named_bookmark_visit, '5'], %w[Alt-b Alt-5]
|
77
|
+
end
|
78
|
+
|
79
|
+
diakonos.in_mode :ctags do
|
80
|
+
key :ctags_go, %w[Alt-t]
|
81
|
+
key :ctags_find_current, %w[Alt-parenright]
|
82
|
+
key :ctags_prev, %w[Alt-parenleft]
|
83
|
+
end
|
84
|
+
|
85
|
+
diakonos.in_mode :search do
|
86
|
+
key :status_search_next, %w[Control-f]
|
87
|
+
key :search_next, %w[F3]
|
88
|
+
key :search_clear, %w[Control-Alt-u]
|
89
|
+
|
90
|
+
# TODO: this doesn't work, investiate.
|
91
|
+
key :search_prev, %w[Shift-F3]
|
92
|
+
end
|
93
|
+
|
94
|
+
diakonos.in_mode :select do
|
95
|
+
key :start_select_char_mode, %w[Control-space]
|
96
|
+
key :start_select_line_mode, %w[Escape Control-space], %w[Control-Alt-space]
|
97
|
+
end
|
98
|
+
|
99
|
+
diakonos.in_mode :buffer do
|
100
|
+
inherits :basic, :buffers, :readline, :bookmark, :search, :select
|
101
|
+
|
102
|
+
key :backward_char, %w[Left]
|
103
|
+
key :forward_char, %w[Right]
|
104
|
+
key :previous_line, %w[Up]
|
105
|
+
key :next_line, %w[Down]
|
106
|
+
key :beginning_of_line, %w[Home]
|
107
|
+
key :end_of_line, %w[End]
|
108
|
+
key :page_up, %w[Prior]
|
109
|
+
key :page_down, %w[Next]
|
110
|
+
key :end_of_file, %w[Alt-greater]
|
111
|
+
key :go_line, %w[Alt-less]
|
112
|
+
|
113
|
+
key :forward_scroll, %w[Alt-n]
|
114
|
+
key :backward_scroll, %w[Alt-p]
|
115
|
+
|
116
|
+
key [:delete_motion, :backward_char], %w[BackSpace]
|
117
|
+
key [:delete_motion, :forward_char], %w[Delete]
|
118
|
+
key :kill_line, %w[Control-k], %w[Control-d Control-d]
|
119
|
+
key [:delete_motion, :end_of_line], %w[Control-Alt-k], %w[Control-d dollar]
|
120
|
+
key [:delete_motion, :end_of_line], %w[Control-Alt-k], %w[Control-d dollar]
|
121
|
+
|
122
|
+
key :insert_indented_newline, %w[Return]
|
123
|
+
|
124
|
+
key :indent_line, %w[Alt-i], %w[Escape i]
|
125
|
+
key :unindent_line, %w[Alt-I], %w[Escape I]
|
126
|
+
|
127
|
+
key :complete_word, %w[Alt-e], %w[Escape e]
|
128
|
+
|
129
|
+
key :exec_into_new, %w[F2]
|
130
|
+
key :exec_into_void, %w[F8]
|
131
|
+
key [:exec_into_new, 'ruby -c $f'], %w[Control-Alt-c]
|
132
|
+
|
133
|
+
key :insert_tab, %w[Control-t]
|
134
|
+
key :paste, %w[Control-v]
|
135
|
+
key :undo, %w[Control-z]
|
136
|
+
key :redo, %w[Control-y]
|
137
|
+
|
138
|
+
=begin
|
139
|
+
# TODO
|
140
|
+
key :top_of_view, %w[Alt-comma], %w[Escape comma]
|
141
|
+
key :bottom_of_view, %w[Alt-period], %w[Escape period]
|
142
|
+
key :previous_cursor, %w[Control-j]
|
143
|
+
key :forward_cursor, %w[Control-l]
|
144
|
+
|
145
|
+
key :ask_go_line, %w[Control-g]
|
146
|
+
|
147
|
+
|
148
|
+
key :forward_join_lines, %w[Alt-j], %w[Escape j]
|
149
|
+
key :backward_join_lines, %w[Alt-J], %w[Escape J]
|
150
|
+
=end
|
151
|
+
|
152
|
+
KEYSYMS.each do |sym, name|
|
153
|
+
key [:insert_string, sym], [name]
|
154
|
+
end
|
155
|
+
|
156
|
+
missing :insert_string
|
157
|
+
end
|
158
|
+
|
159
|
+
diakonos.in_mode :select_char do
|
160
|
+
inherits :buffer
|
161
|
+
|
162
|
+
key :copy_selection, %w[Control-c]
|
163
|
+
key :kill_selection, %w[Control-x]
|
164
|
+
key :delete_selection, %w[BackSpace], %w[Delete]
|
165
|
+
key :replace_selection_with_clipboard, %w[Control-v]
|
166
|
+
end
|
167
|
+
|
168
|
+
diakonos.in_mode :hover_completion do
|
169
|
+
inherits :basic
|
170
|
+
|
171
|
+
key :go_up, %w[Up], %w[Control-n]
|
172
|
+
key :go_down, %w[Down], %w[Control-p]
|
173
|
+
key :continue_completion, %w[Right], %w[Tab]
|
174
|
+
key :submit, %w[Return]
|
175
|
+
key :cancel, %w[Escape], %w[BackSpace]
|
176
|
+
end
|
177
|
+
|
178
|
+
diakonos
|
179
|
+
end
|
180
|
+
end
|
181
|
+
end
|
data/config/keymap/emacs.rb
CHANGED
@@ -17,29 +17,29 @@ module VER
|
|
17
17
|
mode.arguments = false
|
18
18
|
mode.missing :insert_string
|
19
19
|
|
20
|
-
mode.map :quit,
|
21
|
-
mode.map :
|
22
|
-
mode.map :
|
23
|
-
mode.map :
|
24
|
-
mode.map :
|
25
|
-
mode.map :
|
26
|
-
mode.map :
|
27
|
-
mode.map :
|
28
|
-
mode.map :
|
29
|
-
mode.map :
|
30
|
-
mode.map :
|
31
|
-
mode.map :go_line,
|
32
|
-
mode.map :
|
33
|
-
mode.map :undo,
|
34
|
-
mode.map :redo,
|
35
|
-
mode.map :join_lines,
|
36
|
-
mode.map :insert_newline,
|
37
|
-
mode.map :
|
38
|
-
mode.map :
|
39
|
-
mode.map :
|
40
|
-
mode.map :
|
41
|
-
mode.map :
|
42
|
-
mode.map :
|
20
|
+
mode.map :quit, %w[Control-x Control-c]
|
21
|
+
mode.map :page_down, %w[Control-v], %w[Next]
|
22
|
+
mode.map :page_up, %w[Alt-v], %w[Prior]
|
23
|
+
mode.map :previous_line, %w[Control-p], %w[Up]
|
24
|
+
mode.map :next_line, %w[Control-n], %w[Down]
|
25
|
+
mode.map :backward_char, %w[Control-b], %w[Left]
|
26
|
+
mode.map :forward_char, %w[Control-f], %w[Right]
|
27
|
+
mode.map :backward_word, %w[Alt-b]
|
28
|
+
mode.map :forward_word, %w[Alt-f]
|
29
|
+
mode.map :beginning_of_line, %w[Control-a]
|
30
|
+
mode.map :end_of_line, %w[Control-e]
|
31
|
+
mode.map :go_line, %w[Control-less]
|
32
|
+
mode.map :end_of_file, %w[Control-greater]
|
33
|
+
mode.map :undo, %w[Control-slash], %w[Undo]
|
34
|
+
mode.map :redo, %w[Redo]
|
35
|
+
mode.map :join_lines, %w[Control-j]
|
36
|
+
mode.map :insert_newline, %w[Return]
|
37
|
+
mode.map [:delete_motion, :backward_char], %w[BackSpace]
|
38
|
+
mode.map [:delete_motion, :forward_char], %w[Control-d], %w[Delete]
|
39
|
+
mode.map [:kill_motion, :end_of_line], %w[Control-k]
|
40
|
+
mode.map :kill_sentence, %w[Alt-k]
|
41
|
+
mode.map [:kill_motion, :forward_word], %w[Alt-d]
|
42
|
+
mode.map [:kill_motion, :backward_word], %w[Alt-BackSpace]
|
43
43
|
|
44
44
|
# HACK, this probably shouldn't switch modes.
|
45
45
|
mode.map [:start_selection, :block], %w[Control-space]
|
@@ -63,4 +63,4 @@ module VER
|
|
63
63
|
emacs
|
64
64
|
end
|
65
65
|
end
|
66
|
-
end
|
66
|
+
end
|
data/config/keymap/vim.rb
CHANGED
@@ -14,11 +14,14 @@ module VER
|
|
14
14
|
mode.map :start_control_mode, %w[Escape], %w[Control-c]
|
15
15
|
mode.map :open_method_list, %w[F10]
|
16
16
|
mode.map :open_terminal, %w[F9]
|
17
|
-
mode.map :open_grep_list, %w[Alt-g], %w[Control-m g]
|
18
17
|
mode.map :describe_key, %w[Control-h k]
|
19
18
|
mode.map :help_for_help, %w[Control-h question], %w[F1], %w[Help]
|
20
19
|
mode.map :tags_at, %w[Control-g t]
|
21
20
|
|
21
|
+
mode.map :open_grep_list, %w[Control-Alt-g], %w[Control-m Control-g]
|
22
|
+
mode.map :grep_buffer, %w[Alt-g], %w[Control-m g]
|
23
|
+
mode.map :grep_buffers, %w[Alt-G], %w[Control-m G]
|
24
|
+
|
22
25
|
mode.map :buffer_switch, %w[Alt-b], %w[Control-m b]
|
23
26
|
mode.map :window_switch, %w[Alt-B], %w[Control-m B]
|
24
27
|
mode.map :open_console, %w[Control-exclam]
|
@@ -58,7 +61,9 @@ module VER
|
|
58
61
|
mode.map :page_up, %w[Control-b], %w[Prior]
|
59
62
|
mode.map :prev_newline_block, %w[braceright]
|
60
63
|
mode.map :backward_word, %w[b], %w[Shift-Left]
|
64
|
+
mode.map :backward_chunk, %w[B]
|
61
65
|
mode.map :forward_word, %w[w], %w[Shift-Right]
|
66
|
+
mode.map :forward_chunk, %w[W]
|
62
67
|
mode.map :word_right_end, %w[e]
|
63
68
|
mode.map :matching_brace, %w[percent]
|
64
69
|
end
|
@@ -76,34 +81,44 @@ module VER
|
|
76
81
|
|
77
82
|
vim.add_mode :ctags do |mode|
|
78
83
|
mode.map :ctags_find_current, %w[Control-bracketright] # C-]
|
84
|
+
mode.map :ctags_prev, %w[Control-bracketleft] # C-[
|
85
|
+
end
|
86
|
+
|
87
|
+
vim.add_mode :bookmark do |mode|
|
88
|
+
mode.arguments = false
|
89
|
+
|
90
|
+
mode.map :char_bookmark_add, %w[m]
|
91
|
+
mode.map :char_bookmark_visit, %w[quoteleft]
|
92
|
+
# vim also has quoteright to jump to the start of the line, but who
|
93
|
+
# needs that *_*
|
79
94
|
end
|
80
95
|
|
81
96
|
vim.add_mode :complete do |mode|
|
82
97
|
mode.arguments = false
|
83
98
|
|
84
|
-
mode.
|
85
|
-
mode.
|
86
|
-
mode.
|
87
|
-
mode.
|
88
|
-
mode.
|
89
|
-
mode.
|
99
|
+
mode.map :complete_file, %w[Control-x Control-f]
|
100
|
+
mode.map :complete_line, %w[Control-x Control-l]
|
101
|
+
mode.map :complete_word, %w[Control-x Control-w]
|
102
|
+
mode.map :complete_aspell, %w[Control-x Control-a]
|
103
|
+
mode.map :complete_tm, %w[Control-x Control-x]
|
104
|
+
mode.map :smart_tab, %w[Tab]
|
90
105
|
end
|
91
106
|
|
92
107
|
vim.add_mode :control do |mode|
|
93
|
-
mode.inherits :basic, :move, :views, :search, :ctags
|
108
|
+
mode.inherits :basic, :move, :views, :search, :ctags, :bookmark
|
94
109
|
|
95
110
|
mode.map :copy_left_word, %w[y b]
|
96
111
|
mode.map :copy_line, %w[y y], %w[Y]
|
97
112
|
mode.map :copy_right_word, %w[y w]
|
98
|
-
mode.map :
|
113
|
+
mode.map :kill_line, %w[d d]
|
99
114
|
mode.map :change_line, %w[c c]
|
100
|
-
mode.map [:
|
101
|
-
mode.map [:
|
102
|
-
mode.map [:
|
115
|
+
mode.map [:kill_motion, :backward_char], %w[X]
|
116
|
+
mode.map [:kill_motion, :forward_char], %w[x]
|
117
|
+
mode.map [:kill_motion, :end_of_line], %w[D]
|
103
118
|
mode.map [:change_motion, :end_of_line], %w[C]
|
104
119
|
|
105
120
|
mode.map :change_motion, ['c', :move]
|
106
|
-
mode.map :
|
121
|
+
mode.map :kill_motion, ['d', :move]
|
107
122
|
|
108
123
|
mode.map :eol_then_insert_mode, %w[A]
|
109
124
|
mode.map :forward_char_then_insert_mode, %w[a]
|
@@ -113,7 +128,6 @@ module VER
|
|
113
128
|
mode.map :insert_indented_newline_below, %w[o]
|
114
129
|
mode.map :join_lines, %w[J]
|
115
130
|
mode.map :paste, %w[p]
|
116
|
-
mode.map :redo, %w[Control-r]
|
117
131
|
mode.map :replace_char, %w[r]
|
118
132
|
mode.map :smart_evaluate, %w[Alt-e], %w[Control-m e]
|
119
133
|
mode.map :sol_then_insert_mode, %w[I]
|
@@ -125,24 +139,23 @@ module VER
|
|
125
139
|
mode.map :status_theme_select, %w[Alt-t], %w[Control-m t]
|
126
140
|
mode.map :syntax_switch, %w[Control-y]
|
127
141
|
mode.map :theme_switch, %w[Control-t]
|
128
|
-
mode.map :undo, %w[u]
|
129
142
|
mode.map :unindent_line, %w[less]
|
130
143
|
mode.map :wrap_line, %w[g w]
|
131
144
|
mode.map :preview, %w[F5]
|
132
145
|
mode.map :status_ex, %w[colon]
|
133
146
|
mode.map :syntax_indent_file, %w[equal]
|
134
|
-
|
147
|
+
mode.map :repeat_command, %w[period]
|
135
148
|
|
136
|
-
|
137
|
-
mode.
|
149
|
+
mode.map :undo, %w[u]
|
150
|
+
mode.map :redo, %w[Control-r]
|
138
151
|
end
|
139
152
|
|
140
153
|
vim.add_mode :readline do |mode|
|
141
154
|
mode.arguments = false
|
142
155
|
|
143
|
-
mode.map [:
|
144
|
-
mode.map [:
|
145
|
-
mode.map [:
|
156
|
+
mode.map [:kill_motion, :backward_char], %w[BackSpace]
|
157
|
+
mode.map [:kill_motion, :forward_char], %w[Delete], %w[Control-d]
|
158
|
+
mode.map [:kill_motion, :backward_word], %w[Control-w]
|
146
159
|
mode.map :backward_char, %w[Left], %w[Control-b]
|
147
160
|
mode.map :forward_char, %w[Right], %w[Control-f]
|
148
161
|
mode.map :backward_word, %w[Shift-Left], %w[Alt-b]
|
@@ -177,11 +190,18 @@ module VER
|
|
177
190
|
mode.missing :insert_string
|
178
191
|
end
|
179
192
|
|
193
|
+
vim.add_mode :replace do |mode|
|
194
|
+
mode.inherits :insert
|
195
|
+
mode.arguments = false
|
196
|
+
|
197
|
+
mode.missing :replace_string
|
198
|
+
end
|
199
|
+
|
180
200
|
vim.add_mode :select do |mode|
|
181
201
|
mode.inherits :basic, :move, :search
|
182
202
|
|
183
203
|
mode.map :copy_selection, %w[y], %w[Y]
|
184
|
-
mode.map :
|
204
|
+
mode.map :kill_selection, %w[d], %w[D], %w[x], %w[BackSpace], %w[Delete]
|
185
205
|
mode.map :indent_selection, %w[greater]
|
186
206
|
mode.map :pipe_selection, %w[exclam]
|
187
207
|
mode.map :smart_evaluate, %w[Alt-e], %w[Control-e]
|
@@ -213,11 +233,11 @@ module VER
|
|
213
233
|
mode.inherits :basic, :readline
|
214
234
|
mode.arguments = false
|
215
235
|
|
216
|
-
mode.
|
217
|
-
mode.
|
218
|
-
mode.
|
219
|
-
mode.
|
220
|
-
mode.
|
236
|
+
mode.map :ask_abort, %w[Escape], %w[Control-c]
|
237
|
+
mode.map :history_prev, %w[Up], %w[Control-p]
|
238
|
+
mode.map :history_next, %w[Down], %w[Control-n]
|
239
|
+
mode.map :history_complete, %w[Tab]
|
240
|
+
mode.map :ask_submit, %w[Return]
|
221
241
|
|
222
242
|
mode.missing :insert_string
|
223
243
|
end
|
@@ -226,12 +246,12 @@ module VER
|
|
226
246
|
mode.inherits :basic, :readline
|
227
247
|
mode.arguments = false
|
228
248
|
|
229
|
-
# mode.
|
230
|
-
mode.
|
231
|
-
mode.
|
232
|
-
mode.
|
233
|
-
mode.
|
234
|
-
mode.
|
249
|
+
# mode.map :update, %w[Key]
|
250
|
+
mode.map :pick_selection, %w[Return]
|
251
|
+
mode.map :cancel, %w[Escape], %w[Control-c]
|
252
|
+
mode.map :line_up, %w[Up]
|
253
|
+
mode.map :line_down, %w[Down]
|
254
|
+
mode.map :completion, %w[Tab]
|
235
255
|
|
236
256
|
mode.missing :insert_string
|
237
257
|
end
|
@@ -239,111 +259,126 @@ module VER
|
|
239
259
|
vim.add_mode :list_view_list do |mode|
|
240
260
|
mode.inherits :basic
|
241
261
|
|
242
|
-
mode.
|
243
|
-
mode.
|
244
|
-
mode.
|
262
|
+
mode.map :pick_selection, %w[Return], %w[Double-Button-1]
|
263
|
+
mode.map :line_up, %w[Up]
|
264
|
+
mode.map :line_down, %w[Down]
|
245
265
|
end
|
246
266
|
|
247
267
|
vim.add_mode :hover_completion do |mode|
|
248
268
|
mode.inherits :basic
|
249
269
|
|
250
|
-
mode.
|
251
|
-
mode.
|
252
|
-
mode.
|
253
|
-
mode.
|
254
|
-
mode.
|
270
|
+
mode.map :go_up, %w[Up], %w[k]
|
271
|
+
mode.map :go_down, %w[Down], %w[j]
|
272
|
+
mode.map :continue_completion, %w[Right], %w[l]
|
273
|
+
mode.map :submit, %w[Return]
|
274
|
+
mode.map :cancel, %w[Escape], %w[BackSpace]
|
255
275
|
end
|
256
276
|
|
277
|
+
vim.ignore_sends = [
|
278
|
+
:repeat_command,
|
279
|
+
:start_control_mode,
|
280
|
+
:start_insert_mode,
|
281
|
+
:start_replace_mode,
|
282
|
+
:start_select_block_mode,
|
283
|
+
:start_select_char_mode,
|
284
|
+
:start_select_line_mode,
|
285
|
+
]
|
286
|
+
|
287
|
+
vim.accumulate_sends = [
|
288
|
+
:insert_string
|
289
|
+
]
|
290
|
+
|
291
|
+
vim
|
292
|
+
end
|
293
|
+
end
|
294
|
+
end
|
295
|
+
|
296
|
+
__END__
|
257
297
|
vim.add_mode :console_entry do |mode|
|
258
298
|
mode.inherits :basic, :readline
|
259
299
|
mode.arguments = false
|
260
300
|
|
261
|
-
# mode.
|
262
|
-
# mode.
|
263
|
-
# mode.
|
264
|
-
# mode.
|
265
|
-
|
266
|
-
mode.
|
267
|
-
mode.
|
268
|
-
mode.
|
269
|
-
mode.
|
270
|
-
mode.
|
271
|
-
mode.
|
272
|
-
mode.
|
273
|
-
mode.
|
274
|
-
mode.
|
275
|
-
mode.
|
276
|
-
mode.
|
277
|
-
mode.
|
278
|
-
mode.
|
279
|
-
mode.
|
280
|
-
mode.
|
281
|
-
mode.
|
282
|
-
mode.
|
283
|
-
mode.
|
284
|
-
mode.
|
285
|
-
mode.
|
286
|
-
mode.
|
287
|
-
mode.
|
288
|
-
mode.
|
289
|
-
mode.
|
290
|
-
mode.
|
291
|
-
mode.
|
292
|
-
mode.
|
293
|
-
mode.
|
294
|
-
mode.
|
295
|
-
mode.
|
296
|
-
mode.
|
297
|
-
mode.
|
298
|
-
mode.
|
299
|
-
mode.
|
300
|
-
mode.
|
301
|
-
mode.
|
302
|
-
mode.
|
303
|
-
mode.
|
304
|
-
mode.
|
305
|
-
mode.
|
306
|
-
mode.
|
307
|
-
mode.
|
308
|
-
mode.
|
309
|
-
mode.
|
310
|
-
mode.
|
311
|
-
mode.
|
312
|
-
mode.
|
313
|
-
mode.
|
314
|
-
mode.
|
315
|
-
mode.
|
316
|
-
mode.
|
317
|
-
mode.
|
318
|
-
mode.
|
319
|
-
mode.
|
320
|
-
mode.
|
321
|
-
mode.
|
322
|
-
mode.
|
323
|
-
mode.
|
324
|
-
mode.
|
325
|
-
mode.
|
326
|
-
mode.
|
327
|
-
mode.
|
328
|
-
mode.
|
329
|
-
mode.
|
330
|
-
mode.
|
331
|
-
mode.
|
332
|
-
mode.
|
333
|
-
mode.
|
334
|
-
mode.
|
335
|
-
mode.
|
336
|
-
mode.
|
337
|
-
mode.
|
338
|
-
mode.
|
339
|
-
mode.
|
340
|
-
mode.
|
341
|
-
mode.
|
301
|
+
# mode.map :execute, %w[Return]
|
302
|
+
# mode.map :cancel, %w[Escape], %w[Control-c]
|
303
|
+
# mode.map :history_up, %w[Up]
|
304
|
+
# mode.map :history_down, %w[Down]
|
305
|
+
|
306
|
+
mode.map :vi_eof_maybe, %w[Control-d]
|
307
|
+
mode.map :emacs_editing_mode, %w[Control-e]
|
308
|
+
mode.map :abort, %w[Control-g]
|
309
|
+
mode.map :backward_char, %w[Control-h]
|
310
|
+
mode.map :accept_line, %w[Control-j], %w[Control-m]
|
311
|
+
mode.map :kill_line, %w[Control-k]
|
312
|
+
mode.map :clear_screen, %w[Control-l]
|
313
|
+
mode.map :next_history, %w[Control-n]
|
314
|
+
mode.map :previous_history, %w[Control-p], %w[minus]
|
315
|
+
mode.map :quoted_insert, %w[Control-o], %w[Control-V]
|
316
|
+
mode.map :reverse_search_history, %w[Control-r]
|
317
|
+
mode.map :forward_search_history, %w[Control-s]
|
318
|
+
mode.map :transpose_chars, %w[Control-t]
|
319
|
+
mode.map :unix_line_discard, %w[Control-u]
|
320
|
+
mode.map :unix_word_rubout, %w[Control-w]
|
321
|
+
mode.map :yank, %w[Control-y]
|
322
|
+
mode.map :vi_undo, %w[Control-underscore]
|
323
|
+
mode.map :forwad_char, %w[space]
|
324
|
+
mode.map :insert_comment, %w[numbersign]
|
325
|
+
mode.map :end_of_line, %w[dollar]
|
326
|
+
mode.map :vi_match, %w[percent]
|
327
|
+
mode.map :vi_tilde_expand, %w[ampersand]
|
328
|
+
mode.map :vi_complete, %w[asterisk]
|
329
|
+
mode.map :next_history, %w[plus]
|
330
|
+
mode.map :vi_char_search, %w[comma]
|
331
|
+
mode.map :vi_redo, %w[period]
|
332
|
+
mode.map :vi_search, %w[numbersign]
|
333
|
+
mode.map :beginning_of_line, %w[KeyPress-0]
|
334
|
+
mode.map :vi_char_search, %w[semicolon]
|
335
|
+
mode.map :vi_complete, %w[equal]
|
336
|
+
mode.map :vi_search, %w[question]
|
337
|
+
mode.map :vi_append_eol, %w[A]
|
338
|
+
mode.map :vi_prev_word, %w[B]
|
339
|
+
mode.map :vi_change_to, %w[C]
|
340
|
+
mode.map :vi_delete_to, %w[D]
|
341
|
+
mode.map :vi_end_word, %w[E]
|
342
|
+
mode.map :vi_char_search, %w[F]
|
343
|
+
mode.map :vi_fetch_history, %w[G]
|
344
|
+
mode.map :vi_insert_beg, %w[I]
|
345
|
+
mode.map :vi_search_again, %w[N]
|
346
|
+
mode.map :vi_put, %w[P]
|
347
|
+
mode.map :vi_replace, %w[R]
|
348
|
+
mode.map :vi_subst, %w[S]
|
349
|
+
mode.map :vi_char_search, %w[T]
|
350
|
+
mode.map :revert_line, %w[U]
|
351
|
+
mode.map :vi_next_word, %w[W]
|
352
|
+
mode.map :backward_delete_char, %w[X]
|
353
|
+
mode.map :vi_yank_to, %w[Y]
|
354
|
+
mode.map :vi_complete, %w[backslash]
|
355
|
+
mode.map :vi_first_print, %w[asciicircum]
|
356
|
+
mode.map :vi_yank_arg, %w[underscore]
|
357
|
+
mode.map :vi_goto_mark, %w[quoteleft]
|
358
|
+
mode.map :vi_append_mode, %w[a]
|
359
|
+
mode.map :vi_prev_word, %w[b]
|
360
|
+
mode.map :vi_change_to, %w[c]
|
361
|
+
mode.map :vi_delete_to, %w[d]
|
362
|
+
mode.map :vi_end_word, %w[e]
|
363
|
+
mode.map :vi_char_search, %w[f]
|
364
|
+
mode.map :backward_char, %w[h]
|
365
|
+
mode.map :vi_insertion_mode, %w[i]
|
366
|
+
mode.map :next_history, %w[j]
|
367
|
+
mode.map :prev_history, %w[k]
|
368
|
+
mode.map :forward_char, %w[l]
|
369
|
+
mode.map :forward_char, %w[l]
|
370
|
+
mode.map :vi_set_mark, %w[m]
|
371
|
+
mode.map :vi_search_again, %w[n]
|
372
|
+
mode.map :vi_put, %w[p]
|
373
|
+
mode.map :vi_change_char, %w[r]
|
374
|
+
mode.map :vi_subst, %w[s]
|
375
|
+
mode.map :vi_char_search, %w[t]
|
376
|
+
mode.map :vi_undo, %w[u]
|
377
|
+
mode.map :vi_next_word, %w[w]
|
378
|
+
mode.map :vi_delete, %w[x]
|
379
|
+
mode.map :vi_yank_to, %w[y]
|
380
|
+
mode.map :vi_column, %w[bar]
|
381
|
+
mode.map :vi_change_case, %w[asciitilde]
|
342
382
|
|
343
383
|
mode.missing :insert_string
|
344
384
|
end
|
345
|
-
|
346
|
-
vim
|
347
|
-
end
|
348
|
-
end
|
349
|
-
end
|