annotate runtime/syntax/lyrics.vim @ 32782:abf161ce0c77 v9.0.1707

patch 9.0.1707: Cannot wrap around in popup_filter_menu() Commit: https://github.com/vim/vim/commit/badeedd913d9d6456ad8087911d024fd36800743 Author: Christian Brabandt <cb@256bit.org> Date: Sun Aug 13 19:25:28 2023 +0200 patch 9.0.1707: Cannot wrap around in popup_filter_menu() Problem: Cannot wrap around in popup_filter_menu() Solution: Allow to wrap around by default Currently, it is not possible, to wrap around at the end of the list using e.g. down (and go back to the top) or up at the beginning of the list and go directly to the last item. This is not consistent behaviour with e.g. how the pum-menu currently works, so let's just allow this. Also adjust tests about it. closes: #12689 closes: #12693 Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sun, 13 Aug 2023 19:30:04 +0200
parents 0827d3d6d8c0
children 7b4f0a2a87bf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30324
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1 " Vim syntax file
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
2 " Language: LyRiCs
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
3 " Maintainer: ObserverOfTime <chronobserver@disroot.org>
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
4 " Filenames: *.lrc
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
5 " Last Change: 2022 Sep 18
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
6
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
7 if exists('b:current_syntax')
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
8 finish
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
9 endif
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
10
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
11 let s:cpo_save = &cpoptions
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
12 set cpoptions&vim
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
13
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
14 syn case ignore
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
15
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
16 " Errors
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
17 syn match lrcError /^.\+$/
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
18
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
19 " ID tags
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
20 syn match lrcTag /^\s*\[\a\+:.\+\]\s*$/ contains=lrcTagName,lrcTagValue
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
21 syn match lrcTagName contained nextgroup=lrcTagValue
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
22 \ /\[\zs\(al\|ar\|au\|by\|encoding\|la\|id\|length\|offset\|re\|ti\|ve\)\ze:/
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
23 syn match lrcTagValue /:\zs.\+\ze\]/ contained
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
24
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
25 " Lyrics
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
26 syn match lrcLyricTime /^\s*\[\d\d:\d\d\.\d\d\]/
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
27 \ contains=lrcNumber nextgroup=lrcLyricLine
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
28 syn match lrcLyricLine /.*$/ contained contains=lrcWordTime,@Spell
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
29 syn match lrcWordTime /<\d\d:\d\d\.\d\d>/ contained contains=lrcNumber,@NoSpell
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
30 syn match lrcNumber /[+-]\=\d\+/ contained
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
31
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
32 hi def link lrcLyricTime Label
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
33 hi def link lrcNumber Number
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
34 hi def link lrcTag PreProc
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
35 hi def link lrcTagName Identifier
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
36 hi def link lrcTagValue String
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
37 hi def link lrcWordTime Special
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
38 hi def link lrcError Error
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
39
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
40 let b:current_syntax = 'lyrics'
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
41
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
42 let &cpoptions = s:cpo_save
0827d3d6d8c0 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
43 unlet s:cpo_save