149 lines · 3.6 KB · Text
RawDownload
" Vim syntax file" Language:	none; used to see highlighting" Maintainer:	Ronald Schild <rs@scutum.de>" Last Change:	2001 Sep 02" Version:	5.4n.1 " To see your current highlight settings, do"    :so $VIMRUNTIME/syntax/hitest.vim " save global options and registerslet s:hidden      = &hiddenlet s:lazyredraw  = &lazyredrawlet s:more	  = &morelet s:report      = &reportlet s:shortmess   = &shortmesslet s:wrapscan    = &wrapscanlet s:register_a  = @alet s:register_se = @/ " set global optionsset hidden lazyredraw nomore report=99999 shortmess=aoOstTW wrapscan " print current highlight settings into register aredir @ahighlightredir END " Open a new window if the current one isn't emptyif line("$") != 1 || getline(1) != ""  newendif " edit temporary fileedit Highlight\ test " set local optionssetlocal autoindent noexpandtab formatoptions=t shiftwidth=16 noswapfile tabstop=16let &textwidth=&columns " insert highlight settings% deleteput a " remove the colored xxx itemsg/xxx /s///e " remove color settings (not needed here)global! /links to/ substitute /\s.*$//e " move linked groups to the end of fileglobal /links to/ move $ " move linked group names to the matching preferred groups% substitute /^\(\w\+\)\s*\(links to\)\s*\(\w\+\)$/\3\t\2 \1/eglobal /links to/ normal mz3ElD0#$p'zdd " delete empty linesglobal /^ *$/ delete " precede syntax command% substitute /^[^ ]*/syn keyword &\t&/ " execute syntax commandssyntax clear% yank a@a " remove syntax commands again% substitute /^syn keyword // " pretty formattingglobal /^/ exe "normal Wi\<CR>\t\eAA\ex"global /^\S/ join " find out first syntax highlightinglet b:various = &highlight.',:Normal,:Cursor,:,'let b:i = 1while b:various =~ ':'.substitute(getline(b:i), '\s.*$', ',', '')   let b:i = b:i + 1   if b:i > line("$") | break | endifendwhile " insert headlinescall append(0, "Highlighting groups for various occasions")call append(1, "-----------------------------------------") if b:i < line("$")-1   let b:synhead = "Syntax highlighting groups"   if exists("hitest_filetypes")      redir @a      let      redir END      let @a = substitute(@a, 'did_\(\w\+\)_syn\w*_inits\s*#1', ', \1', 'g')      let @a = substitute(@a, "\n\\w[^\n]*", '', 'g')      let @a = substitute(@a, "\n", '', 'g')      let @a = substitute(@a, '^,', '', 'g')      if @a != ""	 let b:synhead = b:synhead." - filetype"	 if @a =~ ','	    let b:synhead = b:synhead."s"	 endif	 let b:synhead = b:synhead.":".@a      endif   endif   call append(b:i+1, "")   call append(b:i+2, b:synhead)   call append(b:i+3, substitute(b:synhead, '.', '-', 'g'))endif " remove 'hls' highlightingnohlsearchnormal 0 " add autocommands to remove temporary file from buffer listaug highlighttest   au!   au BufUnload Highlight\ test if expand("<afile>") == "Highlight test"   au BufUnload Highlight\ test    bdelete! Highlight\ test   au BufUnload Highlight\ test endif   au VimLeavePre * if bufexists("Highlight test")   au VimLeavePre *    bdelete! Highlight\ test   au VimLeavePre * endifaug END " we don't want to save this temporary fileset nomodified " the following trick avoids the "Press RETURN ..." prompt0 append. " restore global options and registerslet &hidden      = s:hiddenlet &lazyredraw  = s:lazyredrawlet &more	 = s:morelet &report	 = s:reportlet &shortmess	 = s:shortmesslet &wrapscan	 = s:wrapscanlet @a		 = s:register_a " restore last search patterncall histdel("search", -1)let @/ = s:register_se " remove variablesunlet s:hidden s:lazyredraw s:more s:report s:shortmessunlet s:wrapscan s:register_a s:register_se " vim: ts=8