aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2018-08-30 11:31:09 +1200
committerTom Ryder <tom@sanctum.geek.nz>2018-08-30 11:31:09 +1200
commit8d05640f2c085836b183a9cbfc434e4b7187060e (patch)
tree1575d7dd079dc9f4b06279dc5fb0887665d2e138
parentMerge branch 'release/v1.63.0' (diff)
parentBump VERSION (diff)
downloaddotfiles-8d05640f2c085836b183a9cbfc434e4b7187060e.tar.gz
dotfiles-8d05640f2c085836b183a9cbfc434e4b7187060e.zip
Merge branch 'release/v1.64.0'v1.64.0
* release/v1.64.0: Bump VERSION Spin out repeated blank lines map to new plugin Leave final blank for mail line squeeze, not first Count quoted blank lines for mail line squeeze
-rw-r--r--.gitmodules3
-rw-r--r--VERSION4
-rw-r--r--vim/after/ftplugin/mail.vim12
-rw-r--r--vim/autoload/mail.vim4
m---------vim/bundle/squeeze_repeat_blanks0
-rw-r--r--vim/vimrc6
6 files changed, 20 insertions, 9 deletions
diff --git a/.gitmodules b/.gitmodules
index ebf3872a..6d232f3e 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -53,6 +53,9 @@
[submodule "vim/bundle/shebang_create_exec"]
path = vim/bundle/shebang_create_exec
url = https://sanctum.geek.nz/code/vim-shebang-create-exec.git
+[submodule "vim/bundle/squeeze_repeat_blanks"]
+ path = vim/bundle/squeeze_repeat_blanks
+ url = https://sanctum.geek.nz/code/vim-squeeze-repeat-blanks.git
[submodule "vim/bundle/strip_trailing_whitespace"]
path = vim/bundle/strip_trailing_whitespace
url = https://sanctum.geek.nz/code/vim-strip-trailing-whitespace.git
diff --git a/VERSION b/VERSION
index e4ace7d4..1f70db18 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-tejr dotfiles v1.63.0
-Tue Aug 28 23:08:40 UTC 2018
+tejr dotfiles v1.64.0
+Wed Aug 29 23:31:09 UTC 2018
diff --git a/vim/after/ftplugin/mail.vim b/vim/after/ftplugin/mail.vim
index df0f043d..609cd92f 100644
--- a/vim/after/ftplugin/mail.vim
+++ b/vim/after/ftplugin/mail.vim
@@ -29,6 +29,13 @@ endif
setlocal formatoptions+=w
let b:undo_ftplugin .= '|setlocal formatoptions<'
+" Define what constitutes a 'blank line' for the squeeze_repeat_blanks.vim
+" plugin, if loaded, to include leading quotes and spaces
+if exists('g:loaded_squeeze_repeat_blanks')
+ let b:squeeze_repeat_blanks_blank = '^[ >]*$'
+ let b:undo_ftplugin .= '|unlet b:squeeze_repeat_blanks_blank'
+endif
+
" Stop here if the user doesn't want ftplugin mappings
if exists('g:no_plugin_maps') || exists('g:no_mail_maps')
finish
@@ -83,8 +90,3 @@ let b:undo_ftplugin .= '|nunmap <buffer> <LocalLeader>['
\ . '|ounmap <buffer> <LocalLeader>]'
\ . '|xunmap <buffer> <LocalLeader>['
\ . '|xunmap <buffer> <LocalLeader>]'
-
-" Quick map to strip multiple blank lines in the entire buffer; this comes up
-" a lot when replying to stripped HTML mail
-nnoremap <buffer> <silent> <LocalLeader>x
- \ :<C-U>call mail#ContractMultipleBlankLines()<CR>
diff --git a/vim/autoload/mail.vim b/vim/autoload/mail.vim
index 0c3b7eb7..967aac17 100644
--- a/vim/autoload/mail.vim
+++ b/vim/autoload/mail.vim
@@ -73,10 +73,10 @@ function! mail#ContractMultipleBlankLines() abort
let l:deletions = []
let l:blank = 0
for l:num in range(1, line('$'))
- if strlen(getline(l:num)) > 0
+ if getline(l:num) !~# '^[> ]*$'
let l:blank = 0
elseif l:blank
- let l:deletions += [l:num]
+ let l:deletions += [l:num - 1]
else
let l:blank = 1
endif
diff --git a/vim/bundle/squeeze_repeat_blanks b/vim/bundle/squeeze_repeat_blanks
new file mode 160000
+Subproject e0e624a9b467c9b99de5bd76c9eda73c0701464
diff --git a/vim/vimrc b/vim/vimrc
index 80587d35..caa52867 100644
--- a/vim/vimrc
+++ b/vim/vimrc
@@ -365,6 +365,12 @@ if exists(':xmap')
xmap <Bslash>x :StripTrailingWhitespace<CR>
endif
+" \X squeezes repeated blank lines via a custom plugin
+nmap <Bslash>X :SqueezeRepeatBlanks<CR>
+if exists(':xmap')
+ xmap <Bslash>X :SqueezeRepeatBlanks<CR>
+endif
+
" \y shows all registers
nnoremap <Bslash>y :<C-U>registers<CR>