Add default pairs base on filetype, fix #241
This commit is contained in:
parent
40ba005829
commit
fcf9f00f85
@ -16,6 +16,28 @@ if !exists('g:AutoPairs')
|
|||||||
let g:AutoPairs = {'(':')', '[':']', '{':'}',"'":"'",'"':'"', '```':'```', '"""':'"""', "'''":"'''", "`":"`"}
|
let g:AutoPairs = {'(':')', '[':']', '{':'}',"'":"'",'"':'"', '```':'```', '"""':'"""', "'''":"'''", "`":"`"}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
" default pairs base on filetype
|
||||||
|
func! AutoPairsDefaultPairs()
|
||||||
|
if exists('b:autopairs_defaultpairs')
|
||||||
|
return b:autopairs_defaultpairs
|
||||||
|
end
|
||||||
|
let r = copy(g:AutoPairs)
|
||||||
|
let allPairs = {
|
||||||
|
\ 'vim': {'\v^\s*\zs"': ''},
|
||||||
|
\ 'rust': {'\w\zs<': '>', '&\zs''': ''},
|
||||||
|
\ 'php': {'<?': '?>//n', '<?php': '?>//n'}
|
||||||
|
\ }
|
||||||
|
for [filetype, pairs] in items(allPairs)
|
||||||
|
if &filetype == filetype
|
||||||
|
for [open, close] in items(pairs)
|
||||||
|
let r[open] = close
|
||||||
|
endfor
|
||||||
|
end
|
||||||
|
endfor
|
||||||
|
let b:autopairs_defaultpairs = r
|
||||||
|
return r
|
||||||
|
endf
|
||||||
|
|
||||||
if !exists('g:AutoPairsMapBS')
|
if !exists('g:AutoPairsMapBS')
|
||||||
let g:AutoPairsMapBS = 1
|
let g:AutoPairsMapBS = 1
|
||||||
end
|
end
|
||||||
@ -161,7 +183,7 @@ endf
|
|||||||
" au FileType html let b:AutoPairs = AutoPairsDefine({'<!--' : '-->'}, ['{'])
|
" au FileType html let b:AutoPairs = AutoPairsDefine({'<!--' : '-->'}, ['{'])
|
||||||
" add <!-- --> pair and remove '{' for html file
|
" add <!-- --> pair and remove '{' for html file
|
||||||
func! AutoPairsDefine(pairs, ...)
|
func! AutoPairsDefine(pairs, ...)
|
||||||
let r = copy(g:AutoPairs)
|
let r = AutoPairsDefaultPairs()
|
||||||
if a:0 > 0
|
if a:0 > 0
|
||||||
for open in a:1
|
for open in a:1
|
||||||
unlet r[open]
|
unlet r[open]
|
||||||
@ -453,10 +475,9 @@ func! AutoPairsInit()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if !exists('b:AutoPairs')
|
if !exists('b:AutoPairs')
|
||||||
let b:AutoPairs = g:AutoPairs
|
let b:AutoPairs = AutoPairsDefaultPairs()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
if !exists('b:AutoPairsMoveCharacter')
|
if !exists('b:AutoPairsMoveCharacter')
|
||||||
let b:AutoPairsMoveCharacter = g:AutoPairsMoveCharacter
|
let b:AutoPairsMoveCharacter = g:AutoPairsMoveCharacter
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user