diff runtime/syntax/hitest.vim @ 0:76efa0be13f1

Initial revision
author atsuki
date Sat, 10 Nov 2007 15:07:22 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/runtime/syntax/hitest.vim	Sat Nov 10 15:07:22 2007 +0900
@@ -0,0 +1,149 @@
+" 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 registers
+let s:hidden      = &hidden
+let s:lazyredraw  = &lazyredraw
+let s:more	  = &more
+let s:report      = &report
+let s:shortmess   = &shortmess
+let s:wrapscan    = &wrapscan
+let s:register_a  = @a
+let s:register_se = @/
+
+" set global options
+set hidden lazyredraw nomore report=99999 shortmess=aoOstTW wrapscan
+
+" print current highlight settings into register a
+redir @a
+highlight
+redir END
+
+" Open a new window if the current one isn't empty
+if line("$") != 1 || getline(1) != ""
+  new
+endif
+
+" edit temporary file
+edit Highlight\ test
+
+" set local options
+setlocal autoindent noexpandtab formatoptions=t shiftwidth=16 noswapfile tabstop=16
+let &textwidth=&columns
+
+" insert highlight settings
+% delete
+put a
+
+" remove the colored xxx items
+g/xxx /s///e
+
+" remove color settings (not needed here)
+global! /links to/ substitute /\s.*$//e
+
+" move linked groups to the end of file
+global /links to/ move $
+
+" move linked group names to the matching preferred groups
+% substitute /^\(\w\+\)\s*\(links to\)\s*\(\w\+\)$/\3\t\2 \1/e
+global /links to/ normal mz3ElD0#$p'zdd
+
+" delete empty lines
+global /^ *$/ delete
+
+" precede syntax command
+% substitute /^[^ ]*/syn keyword &\t&/
+
+" execute syntax commands
+syntax clear
+% yank a
+@a
+
+" remove syntax commands again
+% substitute /^syn keyword //
+
+" pretty formatting
+global /^/ exe "normal Wi\<CR>\t\eAA\ex"
+global /^\S/ join
+
+" find out first syntax highlighting
+let b:various = &highlight.',:Normal,:Cursor,:,'
+let b:i = 1
+while b:various =~ ':'.substitute(getline(b:i), '\s.*$', ',', '')
+   let b:i = b:i + 1
+   if b:i > line("$") | break | endif
+endwhile
+
+" insert headlines
+call 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' highlighting
+nohlsearch
+normal 0
+
+" add autocommands to remove temporary file from buffer list
+aug 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 * endif
+aug END
+
+" we don't want to save this temporary file
+set nomodified
+
+" the following trick avoids the "Press RETURN ..." prompt
+0 append
+.
+
+" restore global options and registers
+let &hidden      = s:hidden
+let &lazyredraw  = s:lazyredraw
+let &more	 = s:more
+let &report	 = s:report
+let &shortmess	 = s:shortmess
+let &wrapscan	 = s:wrapscan
+let @a		 = s:register_a
+
+" restore last search pattern
+call histdel("search", -1)
+let @/ = s:register_se
+
+" remove variables
+unlet s:hidden s:lazyredraw s:more s:report s:shortmess
+unlet s:wrapscan s:register_a s:register_se
+
+" vim: ts=8