summaryrefslogtreecommitdiffstats
path: root/runtime/ftplugin
diff options
context:
space:
mode:
authorTim Pope <code@tpope.net>2023-12-28 12:48:27 -0500
committerChristian Brabandt <cb@256bit.org>2023-12-28 23:17:54 +0100
commitfda02d03c0cfe017e465c58b3baf8b3106287578 (patch)
tree012ecdf8dfe4e53aab0a5244dfead74d320f21cc /runtime/ftplugin
parent757714c0cba7772b987b2513559bcb74ce53ce3f (diff)
runtime(gitcommit): Updates to ftplugin and syntax
Diffstat (limited to 'runtime/ftplugin')
-rw-r--r--runtime/ftplugin/gitcommit.vim15
1 files changed, 9 insertions, 6 deletions
diff --git a/runtime/ftplugin/gitcommit.vim b/runtime/ftplugin/gitcommit.vim
index 9342799b56..3749328595 100644
--- a/runtime/ftplugin/gitcommit.vim
+++ b/runtime/ftplugin/gitcommit.vim
@@ -1,7 +1,7 @@
" Vim filetype plugin
" Language: git commit file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
-" Last Change: 2022 Jan 05
+" Last Change: 2023 Dec 28
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
@@ -12,7 +12,7 @@ let b:did_ftplugin = 1
setlocal nomodeline tabstop=8 formatoptions+=tl textwidth=72
setlocal formatoptions-=c formatoptions-=r formatoptions-=o formatoptions-=q formatoptions+=n
-setlocal formatlistpat+=\\\|^\\s*[-*+]\\s\\+
+setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}]\\s\\+\\\|^\\s*[-*+]\\s\\+
setlocal include=^+++
setlocal includeexpr=substitute(v:fname,'^[bi]/','','')
@@ -42,6 +42,11 @@ function! s:diffcomplete(A, L, P) abort
return args
endfunction
+function! s:setupdiff() abort
+ command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0, <f-args>)
+ setlocal buftype=nowrite nobuflisted noswapfile nomodifiable filetype=git
+endfunction
+
function! s:gitdiffcached(bang, ...) abort
let name = tempname()
if a:0
@@ -50,8 +55,6 @@ function! s:gitdiffcached(bang, ...) abort
let extra = "-p --stat=".&columns
endif
call system("git diff --cached --no-color --no-ext-diff ".extra." > ".shellescape(name))
- exe "pedit " . fnameescape(name)
- wincmd P
- command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0, <f-args>)
- setlocal buftype=nowrite nobuflisted noswapfile nomodifiable filetype=git
+ exe 'pedit +call\ s:setupdiff()' fnameescape(name)
+ silent! wincmd P
endfunction