Mercurial > vim
view runtime/import/dist/vimhighlight.vim @ 33293:42b89193ab3e v9.0.1912
patch 9.0.1912: Cirrus-CI running out of credits
Commit: https://github.com/vim/vim/commit/6f00d17e8d64ed46c85625e8ac38ed0928b32c58
Author: Christian Brabandt <cb@256bit.org>
Date: Tue Sep 19 20:16:46 2023 +0200
patch 9.0.1912: Cirrus-CI running out of credits
Problem: Cirrus-CI running out of credits
Solution: disable Cirrus-CI for now
We are running out of credits for Cirrus CI already at the middle of the
month and unfortunately this means our CI now consistently fails. This
all hapens because cirrus ci is not enforcing the free-tier limits (see also
https://cirrus-ci.org/blog/2023/07/17/limiting-free-usage-of-cirrus-ci/).
Perhaps at the beginning of the next month we can revisit and
enable just a build without testing it. Hopefully this is won't take
too many credits and we can at least verify that building works.
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 19 Sep 2023 20:30:10 +0200 |
parents | 50e447c67247 |
children |
line wrap: on
line source
vim9script # Maintainer: github user lacygoill # Last Change: 2023 Mar 08 # Init {{{1 const LINK: string = '->' # Interface {{{1 export def HighlightTest() # {{{2 # Open a new window if the current one isn't empty if line('$') != 1 || getline(1) != '' new endif edit Highlight\ test # `:help scratch-buffer` &l:bufhidden = 'hide' &l:buftype = 'nofile' &l:swapfile = false var report: list<string> =<< trim END Highlighting groups for various occasions ----------------------------------------- END var various_groups: list<string> = GetVariousGroups() ->filter((_, group: string): bool => group->hlexists() && !group->IsCleared()) ->sort() ->uniq() report->extend(various_groups->FollowChains()) var language_section: list<string> =<< trim END Highlighting groups for language syntaxes ----------------------------------------- END report->extend(language_section) var syntax_groups: list<string> = getcompletion('', 'highlight') ->filter((_, group: string): bool => various_groups->index(group) == -1 && !group->IsCleared() && group !~ '^HighlightTest') # put the report report ->extend(syntax_groups->FollowChains()) ->setline(1) # highlight the group names execute $'silent! global /^\w\+\%(\%(\s*{LINK}\s*\)\w\+\)*$/ Highlight({bufnr('%')})' cursor(1, 1) enddef # }}}1 # Core {{{1 def Highlight(buf: number) # {{{2 var lnum: number = line('.') for group: string in getline('.')->split($'\s*{LINK}\s*') silent! prop_type_add($'highlight-test-{group}', { bufnr: buf, highlight: group, combine: false, }) prop_add(lnum, col('.'), { length: group->strlen(), type: $'highlight-test-{group}' }) search('\<\w\+\>', '', lnum) endfor enddef # }}}1 # Util {{{1 def IsCleared(name: string): bool # {{{2 return name ->hlget() ->get(0, {}) ->get('cleared') enddef def FollowChains(groups: list<string>): list<string> # {{{2 # A group might be linked to another, which itself might be linked... # We want the whole chain, for every group. var chains: list<string> for group: string in groups var target: string = group->LinksTo() var chain: string = group while !target->empty() chain ..= $' {LINK} {target}' target = target->LinksTo() endwhile var a_link_is_cleared: bool = chain ->split($'\s*{LINK}\s*') ->indexof((_, g: string): bool => g->IsCleared()) >= 0 if a_link_is_cleared continue endif chains->add(chain) endfor return chains enddef def LinksTo(group: string): string # {{{2 return group ->hlget() ->get(0, {}) ->get('linksto', '') enddef def GetVariousGroups(): list<string> # {{{2 return getcompletion('hl-', 'help') ->filter((_, helptag: string): bool => helptag =~ '^hl-\w\+$') ->map((_, helptag: string) => helptag->substitute('^hl-', '', '')) ->extend(range(1, 9)->map((_, n: number) => $'User{n}')) enddef