summaryrefslogtreecommitdiffstats
path: root/runtime/syntax
diff options
context:
space:
mode:
authorlagygoill <lacygoill@lacygoill.me>2023-03-10 18:37:11 +0000
committerBram Moolenaar <Bram@vim.org>2023-03-10 18:37:11 +0000
commit4df0772a41c361a1c40d220f6fad0b1e1653fc5b (patch)
treed3611ca8d53da5191cb168e59e9d1142096e89d0 /runtime/syntax
parentc0bdbfb2ee026e913e23a5d6bcaa97d44d9a6406 (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.vim147
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()