aboutsummaryrefslogtreecommitdiffstats
path: root/autoload
diff options
context:
space:
mode:
authorTeddy Wing2015-07-19 11:19:06 -0400
committerTeddy Wing2015-07-19 11:24:54 -0400
commita5e9b6c85c15ad9b8ce011171412fa5766d39e02 (patch)
treed3a1b29538eb60acabfaa6bb4647e45d186e2709 /autoload
parent0adb3c1b578fb0118de6387bddeea633bb1e1a94 (diff)
downloadauditory.vim-a5e9b6c85c15ad9b8ce011171412fa5766d39e02.tar.bz2
autoload/auditory.vim: Reenable visual mode 'x' mapping
Needed to come up with a way to add it to the `mappings` dictionary without overriding the existing normal mode 'x' mapping. Prefixed it with `v_` for the dictionary key so that it doesn't conflict, but that could easily be the start of a mapping (for whatever reason), so added a `map_from` field to make it explicit what we're mapping from in cases where the dict key is unclear. Also added another field to the dict to specify a custom mapping command. It will default to `nnoremap` as that's the one we use for most of our commands, but you can change it if you need another mode as we do for this visual 'x' mapping.
Diffstat (limited to 'autoload')
-rw-r--r--autoload/auditory.vim18
1 files changed, 13 insertions, 5 deletions
diff --git a/autoload/auditory.vim b/autoload/auditory.vim
index 4980ba5..79ac524 100644
--- a/autoload/auditory.vim
+++ b/autoload/auditory.vim
@@ -412,10 +412,12 @@ let s:mappings['x'] = {
\ 'audio': '/Resources/Normal_Mode/Delete.wav',
\ 'map_to': "exec 'normal!' v:count1 . 'x'<cr>",
\ }
-" let s:mappings['x'] = {
-" \ 'audio': '/Resources/Normal_Mode/Delete.wav',
-" \ 'map_to': "exec 'normal!' v:count1 . 'x'<cr>",
-" \ }
+let s:mappings['v_x'] = {
+ \ 'audio': '/Resources/Normal_Mode/Delete.wav',
+ \ 'map_command': 'vnoremap',
+ \ 'map_from': 'x',
+ \ 'map_to': "exec 'normal!' v:count1 . 'x'<cr>",
+\ }
" nnoremap <silent> d :<c-u>call auditory#Play('/Resources/Normal_Mode/Delete.wav') \| exec 'normal!' v:count1 . 'd'<cr>
" nnoremap <silent> d :<c-u>set opfunc=d \| call auditory#Play('/Resources/Normal_Mode/Delete.wav') \| exec 'normal!' v:count1 . @g<cr>
@@ -439,7 +441,13 @@ function! auditory#AssignNormalModeMappings()
" Otherwise <cr> to exit command mode.
let l:pipe = match(value.map_to, 'exec') !=# -1 ? ' \| ' : '<cr>'
- execute 'nnoremap <silent>' . key .
+ " Default to nnoremap
+ let l:cmd = has_key(value, 'map_command') ? value.map_command : 'nnoremap'
+
+ " If `map_from` is specified, we can't rely on `key` to provide it
+ let l:map_from = has_key(value, 'map_from') ? value.map_from : key
+
+ execute l:cmd . ' <silent>' . l:map_from .
\ ' :<c-u>call auditory#Play("' . value.audio . '")' .
\ l:pipe . value.map_to
endfor