From 7c33b14a84fd506904a010239adb92eefb41e0e4 Mon Sep 17 00:00:00 2001 From: ache Date: Mon, 13 Nov 2017 14:33:55 +0100 Subject: New SVG/HTML syntax support --- plugin/svg.vim | 105 --------------------------------------------------------- 1 file changed, 105 deletions(-) delete mode 100644 plugin/svg.vim (limited to 'plugin') diff --git a/plugin/svg.vim b/plugin/svg.vim deleted file mode 100644 index b1597a9..0000000 --- a/plugin/svg.vim +++ /dev/null @@ -1,105 +0,0 @@ -" Vim indent file -" -" Language: svg -" Maintainer: Jason Shell -" Last Change: 2015 Sep 23 -" Notes: 1) will be confused by unbalanced tags in comments - -" Only load this indent file when no other was loaded. -if exists('b:did_indent') - finish -endif -let b:did_indent = 1 -let s:keepcpo= &cpo -set cpo&vim - -" [-- local settings (must come before aborting the script) --] -setlocal indentexpr=SvgIndentGet(v:lnum,1) -setlocal indentkeys=o,O,*,<>>,<<>,/,{,} - -if !exists('b:svg_indent_open') - let b:svg_indent_open = '.\{-}<\a' - " pre tag, e.g.
- " let b:svg_indent_open = '.\{-}<[/]\@!\(address\)\@!' -endif - -if !exists('b:svg_indent_close') - let b:svg_indent_close = '.\{-} - " let b:svg_indent_close = '.\{-}SvgIndentWithPattern(line, pat) - let s = substitute('x'.a:line, a:pat, "\1", 'g') - return strlen(substitute(s, "[^\1].*$", '', '')) -endfun - -" [-- check if it's svg --] -fun! SvgIndentSynCheck(lnum) - if '' != &syntax - let syn1 = synIDattr(synID(a:lnum, 1, 1), 'name') - let syn2 = synIDattr(synID(a:lnum, strlen(getline(a:lnum)) - 1, 1), 'name') - if '' != syn1 && syn1 !~ 'svg' && '' != syn2 && syn2 !~ 'svg' - " don't indent pure non-xml code - return 0 - - " elseif syn1 =~ '^xmlComment' && syn2 =~ '^xmlComment' - elseif syn1 =~ '^svgComment' && syn2 =~ '^svgComment' - " indent comments specially - return -1 - endif - endif - return 1 -endfun - -" [-- return the sum of indents of a:lnum --] -fun! SvgIndentSum(lnum, style, add) - let line = getline(a:lnum) - if a:style == match(line, '^\s*SvgIndentWithPattern(line, b:svg_indent_open) - \ - SvgIndentWithPattern(line, b:svg_indent_close) - \ - SvgIndentWithPattern(line, '.\{-}/>'))) + a:add - else - return a:add - endif -endfun - -fun! SvgIndentGet(lnum, use_syntax_check) - " Find a non-empty line above the current line. - let lnum = prevnonblank(a:lnum - 1) - - " Hit the start of the file, use zero indent. - if lnum == 0 - return 0 - endif - - if a:use_syntax_check - let check_lnum = SvgIndentSynCheck(lnum) - let check_alnum = SvgIndentSynCheck(a:lnum) - if 0 == check_lnum || 0 == check_alnum - return indent(a:lnum) - elseif -1 == check_lnum || -1 == check_alnum - return -1 - endif - endif - - let ind = SvgIndentSum(lnum, -1, indent(lnum)) - let ind = SvgIndentSum(a:lnum, 0, ind) - - return ind -endfun - -let &cpo = s:keepcpo -unlet s:keepcpo -- cgit v1.2.3 From 85492b6f67c281f5156ca7c493543ec8aa403812 Mon Sep 17 00:00:00 2001 From: ache Date: Mon, 15 Jan 2018 09:18:33 +0100 Subject: auto fold ! --- plugin/perso.vim | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'plugin') diff --git a/plugin/perso.vim b/plugin/perso.vim index 8b3217d..360c8f8 100755 --- a/plugin/perso.vim +++ b/plugin/perso.vim @@ -94,6 +94,10 @@ autocmd FileType mail let b:comment_leader = '>' autocmd FileType vim let b:comment_leader = '"' autocmd FileType haskell let b:comment_leader = '--' + +autocmd FileType c,cpp,java,go,scala set foldmethod=syntax + + noremap ,cc :silent s/^/=escape(b:comment_leader,'\/')/:nohlsearch noremap ,cu :silent s/^\V=escape(b:comment_leader,'\/')//e:nohlsearch -- cgit v1.2.3