diff options
author | lagygoill <lacygoill@lacygoill.me> | 2023-03-10 18:37:11 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2023-03-10 18:37:11 +0000 |
commit | 4df0772a41c361a1c40d220f6fad0b1e1653fc5b (patch) | |
tree | d3611ca8d53da5191cb168e59e9d1142096e89d0 /runtime/syntax | |
parent | c0bdbfb2ee026e913e23a5d6bcaa97d44d9a6406 (diff) |
patch 9.0.1399: highlight test script has a few problemsv9.0.1399
Problem: Highlight test script has a few problems.
Solution: Rewrite the script in Vim9 syntax. (closes #10379)
Diffstat (limited to 'runtime/syntax')
-rw-r--r-- | runtime/syntax/hitest.vim | 147 |
1 files changed, 4 insertions, 143 deletions
diff --git a/runtime/syntax/hitest.vim b/runtime/syntax/hitest.vim index 9d60cec802..27b8eab73a 100644 --- a/runtime/syntax/hitest.vim +++ b/runtime/syntax/hitest.vim @@ -1,149 +1,10 @@ " Vim syntax file " Language: none; used to see highlighting -" Maintainer: Ronald Schild <rs@scutum.de> -" Last Change: 2019 Jun 06 -" Version: 5.4n.1 -" Additional Changes By: Lifepillar, Bram +" Maintainer: github user lacygoill +" Last Change: 2023 Mar 08 " 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:whichwrap = &whichwrap -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 -set whichwrap& - -" print current highlight settings into register a -redir @a -silent 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=18 noswapfile tabstop=18 -let &textwidth=&columns - -" insert highlight settings -% delete -put a - -" remove cleared groups -silent! g/ cleared$/d - -" remove the colored xxx items -g/xxx /s///e - -" remove color settings (not needed here) -global! /links to/ substitute /\s.*$//e - -" Move split 'links to' lines to the same line -% substitute /^\(\w\+\)\n\s*\(links to.*\)/\1\t\2/e - -" move linked groups to the end of file -global /links to/ move $ - -" move linked group names to the matching preferred groups -" TODO: this fails if the group linked to isn't defined -% substitute /^\(\w\+\)\s*\(links to\)\s*\(\w\+\)$/\3\t\2 \1/e -silent! 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 - -" 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 &whichwrap = s:whichwrap -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:whichwrap s:wrapscan s:register_a s:register_se - -" vim: ts=8 +import 'dist/vimhighlight.vim' +call vimhighlight.HighlightTest() |