Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions plugin/paredit.vim
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ function! PareditInitBuffer()
let b:paredit_init = 1
" in case they are accidentally removed
" Also define regular expressions to identify special characters used by paredit
if &ft =~ '.*\(clojure\|scheme\|racket\).*'
if &ft =~ '.*\(clojure\|scheme\|racket\|hy\).*'
let b:any_matched_char = '(\|)\|\[\|\]\|{\|}\|\"'
let b:any_matched_pair = '()\|\[\]\|{}\|\"\"'
let b:any_opening_char = '(\|\[\|{'
Expand All @@ -107,7 +107,7 @@ function! PareditInitBuffer()
inoremap <buffer> <expr> " PareditInsertQuotes()
inoremap <buffer> <expr> <BS> PareditBackspace(0)
inoremap <buffer> <expr> <Del> PareditDel()
if &ft =~ '.*\(clojure\|scheme\|racket\).*' && g:paredit_smartjump
if &ft =~ '.*\(clojure\|scheme\|racket\|hy\).*' && g:paredit_smartjump
nnoremap <buffer> <silent> ( :<C-U>call PareditSmartJumpOpening(0)<CR>
nnoremap <buffer> <silent> ) :<C-U>call PareditSmartJumpClosing(0)<CR>
vnoremap <buffer> <silent> ( <Esc>:<C-U>call PareditSmartJumpOpening(1)<CR>
Expand Down Expand Up @@ -150,7 +150,7 @@ function! PareditInitBuffer()
execute 'nmap <buffer> <silent> ' . g:paredit_leader.'<Up> d[(,S'
execute 'nmap <buffer> <silent> ' . g:paredit_leader.'<Down> d])%,S'
call RepeatableNNoRemap(g:paredit_leader . 'I', ':<C-U>call PareditRaise()')
if &ft =~ '.*\(clojure\|scheme\|racket\).*'
if &ft =~ '.*\(clojure\|scheme\|racket\|hy\).*'
inoremap <buffer> <expr> [ PareditInsertOpening('[',']')
inoremap <buffer> <silent> ] <C-R>=(pumvisible() ? "\<lt>C-Y>" : "")<CR><C-O>:let save_ve=&ve<CR><C-O>:set ve=all<CR><C-O>:<C-U>call PareditInsertClosing('[',']')<CR><C-O>:let &ve=save_ve<CR>
inoremap <buffer> <expr> { PareditInsertOpening('{','}')
Expand Down Expand Up @@ -219,7 +219,7 @@ function! PareditInitBuffer()
silent! unmap <buffer> cb
silent! unmap <buffer> ciw
silent! unmap <buffer> caw
if &ft =~ '.*\(clojure\|scheme\|racket\).*'
if &ft =~ '.*\(clojure\|scheme\|racket\|hy\).*'
silent! iunmap <buffer> [
silent! iunmap <buffer> ]
silent! iunmap <buffer> {
Expand Down Expand Up @@ -251,7 +251,7 @@ endfunction
" Include all prefix and special characters in 'iskeyword'
function! s:SetKeyword()
let old_value = &iskeyword
if &ft =~ '.*\(clojure\|scheme\|racket\).*'
if &ft =~ '.*\(clojure\|scheme\|racket\|hy\).*'
setlocal iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94,~,#,\|,&
else
setlocal iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94,~,#,\|,&,.,{,},[,]
Expand Down Expand Up @@ -574,7 +574,7 @@ function! s:IsBalanced()
return 0
endif

if &ft =~ '.*\(clojure\|scheme\|racket\).*'
if &ft =~ '.*\(clojure\|scheme\|racket\|hy\).*'
let b1 = searchpair( '\[', '', '\]', 'brnmW', s:skip_sc, matchb )
let b2 = searchpair( '\[', '', '\]', 'rnmW', s:skip_sc, matchf )
if !(b1 == b2) && !(b1 == b2 - 1 && line[c-1] == '[') && !(b1 == b2 + 1 && line[c-1] == ']')
Expand Down Expand Up @@ -637,15 +637,15 @@ function! s:Unbalanced( matched )
while 1
let matched = tmp
let tmp = substitute( tmp, '(\(\s*\))', ' \1 ', 'g')
if &ft =~ '.*\(clojure\|scheme\|racket\).*'
if &ft =~ '.*\(clojure\|scheme\|racket\|hy\).*'
let tmp = substitute( tmp, '\[\(\s*\)\]', ' \1 ', 'g')
let tmp = substitute( tmp, '{\(\s*\)}', ' \1 ', 'g')
endif
let tmp = substitute( tmp, '"\(\s*\)"', ' \1 ', 'g')
if tmp == matched
" All paired chars eliminated
let tmp = substitute( tmp, ')\(\s*\)(', ' \1 ', 'g')
if &ft =~ '.*\(clojure\|scheme\|racket\).*'
if &ft =~ '.*\(clojure\|scheme\|racket\|\).*'
let tmp = substitute( tmp, '\]\(\s*\)\[', ' \1 ', 'g')
let tmp = substitute( tmp, '}\(\s*\){', ' \1 ', 'g')
endif
Expand Down Expand Up @@ -810,7 +810,7 @@ function! s:ReGatherUp()
normal! ddk
endwhile
normal! Jl
elseif g:paredit_electric_return && getline('.') =~ '^\s*\(\]\|}\)' && &ft =~ '.*\(clojure\|scheme\|racket\).*'
elseif g:paredit_electric_return && getline('.') =~ '^\s*\(\]\|}\)' && &ft =~ '.*\(clojure\|scheme\|racket\|hy\).*'
" Re-gather electric returns in the current line for ']' and '}'
normal! k
while getline( line('.') ) =~ '^\s*$'
Expand Down Expand Up @@ -865,7 +865,7 @@ function! PareditInsertClosing( open, close )
normal! Jl
return
endif
if len(nextline) > 0 && nextline[0] =~ '\]\|}' && &ft =~ '.*\(clojure\|scheme\|racket\).*'
if len(nextline) > 0 && nextline[0] =~ '\]\|}' && &ft =~ '.*\(clojure\|scheme\|racket\|hy\).*'
" Re-gather electric returns in the line of the closing ']' or '}'
call setline( line('.'), substitute( line, '\s*$', '', 'g' ) )
normal! Jxl
Expand Down Expand Up @@ -1495,7 +1495,7 @@ function! s:FindClosing()
endif
call setpos( '.', [0, l, c, 0] )

if &ft =~ '.*\(clojure\|scheme\|racket\).*'
if &ft =~ '.*\(clojure\|scheme\|racket\|hy\).*'
call PareditFindClosing( '[', ']', 0 )
let lp = line( '.' )
let cp = col( '.' )
Expand Down