Update runtime files
This commit is contained in:
34
runtime/indent/sshconfig.vim
Normal file
34
runtime/indent/sshconfig.vim
Normal file
@ -0,0 +1,34 @@
|
||||
" Vim indent file
|
||||
" Language: ssh config file
|
||||
" Maintainer: JasonKim <git@jasonk.me>
|
||||
" Last Change: 2020 May 16
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal autoindent
|
||||
setlocal indentexpr=GetSshconfigIndent(v:lnum)
|
||||
setlocal indentkeys=o,O,*<Return>,0=~host\ ,0=~match\ ,0#,!^F
|
||||
|
||||
let b:undo_indent = "setlocal autoindent< indentexpr< indentkeys<"
|
||||
|
||||
if exists("*GetSshconfigIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
function GetSshconfigIndent(lnum)
|
||||
let sw = shiftwidth()
|
||||
let prev_lnum = prevnonblank(a:lnum - 1)
|
||||
let curr_lnum = a:lnum
|
||||
let prev_line = getline(prev_lnum)
|
||||
let curr_line = getline(curr_lnum)
|
||||
if curr_line =~? '^\s*\(host\|match\)\s'
|
||||
return 0
|
||||
elseif prev_line =~? '^\s*\(host\|match\)\s'
|
||||
return sw
|
||||
else
|
||||
return indent(prev_lnum)
|
||||
endif
|
||||
endfunction
|
||||
53
runtime/indent/testdir/sshconfig.in
Normal file
53
runtime/indent/testdir/sshconfig.in
Normal file
@ -0,0 +1,53 @@
|
||||
# vim: set filetype=sshconfig shiftwidth=4 expandtab :
|
||||
|
||||
# START_INDENT
|
||||
Host myhost
|
||||
User myuser
|
||||
PasswordAuthentication no
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host aaa
|
||||
User bbb
|
||||
Host ccc
|
||||
Host ddd
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
host aaa
|
||||
HOST bbb
|
||||
hoSt ccc
|
||||
match ddd
|
||||
MATCH eee
|
||||
MatCH fff
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host aaa
|
||||
User host
|
||||
PasswordAuthentication no
|
||||
Host *
|
||||
User user
|
||||
PasswordAuthentication no
|
||||
Host match
|
||||
User bbb
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host tab
|
||||
User myuser
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host mix
|
||||
User myuser
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host aaa
|
||||
User bbb
|
||||
Match ccc
|
||||
User ddd
|
||||
HostKeyAlgorithms ssh-ed25519
|
||||
Match eee
|
||||
# END_INDENT
|
||||
53
runtime/indent/testdir/sshconfig.ok
Normal file
53
runtime/indent/testdir/sshconfig.ok
Normal file
@ -0,0 +1,53 @@
|
||||
# vim: set filetype=sshconfig shiftwidth=4 expandtab :
|
||||
|
||||
# START_INDENT
|
||||
Host myhost
|
||||
User myuser
|
||||
PasswordAuthentication no
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host aaa
|
||||
User bbb
|
||||
Host ccc
|
||||
Host ddd
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
host aaa
|
||||
HOST bbb
|
||||
hoSt ccc
|
||||
match ddd
|
||||
MATCH eee
|
||||
MatCH fff
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host aaa
|
||||
User host
|
||||
PasswordAuthentication no
|
||||
Host *
|
||||
User user
|
||||
PasswordAuthentication no
|
||||
Host match
|
||||
User bbb
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host tab
|
||||
User myuser
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host mix
|
||||
User myuser
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host aaa
|
||||
User bbb
|
||||
Match ccc
|
||||
User ddd
|
||||
HostKeyAlgorithms ssh-ed25519
|
||||
Match eee
|
||||
# END_INDENT
|
||||
@ -64,14 +64,17 @@
|
||||
" style) is supported. Thanks Miles Wheeler for reporting.
|
||||
" 2018/02/07 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" (*) Make indentation more smart in the normal mode
|
||||
" 2020/04/26 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" (*) Fix a bug related to \[ & \]. Thanks Manuel Boni for
|
||||
" reporting.
|
||||
"
|
||||
" }}}
|
||||
|
||||
" Document: {{{
|
||||
"
|
||||
" To set the following options (ok, currently it's just one), add a line like
|
||||
" let g:tex_indent_items = 1
|
||||
" to your ~/.vimrc.
|
||||
" For proper latex experience, please put
|
||||
" let g:tex_flavor = "latex"
|
||||
" into your vimrc.
|
||||
"
|
||||
" * g:tex_indent_brace
|
||||
"
|
||||
@ -184,13 +187,18 @@ function! GetTeXIndent() " {{{
|
||||
let line = substitute(getline(lnum), '\s*%.*', '','g') " last line
|
||||
let cline = substitute(getline(v:lnum), '\s*%.*', '', 'g') " current line
|
||||
|
||||
let ccol = 1
|
||||
while cline[ccol] =~ '\s'
|
||||
let ccol += 1
|
||||
endwhile
|
||||
|
||||
" We are in verbatim, so do what our user what.
|
||||
if synIDattr(synID(v:lnum, indent(v:lnum), 1), "name") == "texZone"
|
||||
if synIDattr(synID(v:lnum, ccol, 1), "name") == "texZone"
|
||||
if empty(cline)
|
||||
return indent(lnum)
|
||||
else
|
||||
return indent(v:lnum)
|
||||
end
|
||||
endif
|
||||
endif
|
||||
|
||||
if lnum == 0
|
||||
@ -253,13 +261,13 @@ function! GetTeXIndent() " {{{
|
||||
let stay = 0
|
||||
endif
|
||||
|
||||
if cline =~ '^\s*\\\?[\]}]' && s:CheckPairedIsLastCharacter(v:lnum, indent(v:lnum))
|
||||
if cline =~ '^\s*\\\?[\]}]' && s:CheckPairedIsLastCharacter(v:lnum, ccol)
|
||||
let ind -= shiftwidth()
|
||||
let stay = 0
|
||||
endif
|
||||
|
||||
if line !~ '^\s*\\\?[\]}]'
|
||||
for i in range(indent(lnum)+1, strlen(line)-1)
|
||||
for i in range(1, strlen(line)-1)
|
||||
let char = line[i]
|
||||
if char == ']' || char == '}'
|
||||
if s:CheckPairedIsLastCharacter(lnum, i)
|
||||
|
||||
Reference in New Issue
Block a user