annotate runtime/syntax/viminfo.vim @ 33278:b5ed566262d3 v9.0.1906

patch 9.0.1906: Vim9: Interfaces should not support class methods and variables Commit: https://github.com/vim/vim/commit/92d9ee5f4ca0d2de04c39afbafc7609da43fb2e9 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Sun Sep 17 17:03:19 2023 +0200 patch 9.0.1906: Vim9: Interfaces should not support class methods and variables Problem: Vim9: Interfaces should not support class methods and variables Solution: Make sure interface follow the interface specification Vim9 interface changes to follow the new interface specification: 1) An interface can have only read-only and read-write instance variables. 2) An interface can have only public instance methods. 3) An interface cannot have class variables and class methods. 4) An interface cannot have private instance variables and private instance methods. 5) A interface can extend another interface using "extends". The sub-interface gets all the variables and methods in the super interface. That means: - Interfaces should not support class methods and variables. - Adjust error numbers and add additional tests. - Interface methods can be defined in one of the super classes. - Interface variables can be defined in one of the super classes. and instance variables can be repeated in sub interfaces. - Check the class variable types with the type in interface. closes: #13100 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
author Christian Brabandt <cb@256bit.org>
date Sun, 17 Sep 2023 17:15:06 +0200
parents 4027cefc2aab
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " Vim syntax file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 " Language: Vim .viminfo file
32770
4027cefc2aab Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)
Christian Brabandt <cb@256bit.org>
parents: 9286
diff changeset
3 " Maintainer: The Vim Project <https://github.com/vim/vim>
4027cefc2aab Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)
Christian Brabandt <cb@256bit.org>
parents: 9286
diff changeset
4 " Last Change: 2023 Aug 10
4027cefc2aab Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)
Christian Brabandt <cb@256bit.org>
parents: 9286
diff changeset
5 " Former Maintainer: Bram Moolenaar <Bram@vim.org>
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6
344
7033303ea0c0 updated for version 7.0089
vimboss
parents: 7
diff changeset
7 " Quit when a (custom) syntax file was already loaded
7033303ea0c0 updated for version 7.0089
vimboss
parents: 7
diff changeset
8 if exists("b:current_syntax")
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11
3312
b7811ab264bf updated for version 7.3.423
Bram Moolenaar <bram@vim.org>
parents: 344
diff changeset
12 let s:cpo_save = &cpo
b7811ab264bf updated for version 7.3.423
Bram Moolenaar <bram@vim.org>
parents: 344
diff changeset
13 set cpo&vim
b7811ab264bf updated for version 7.3.423
Bram Moolenaar <bram@vim.org>
parents: 344
diff changeset
14
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 " The lines that are NOT recognized
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 syn match viminfoError "^[^\t].*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 " The one-character one-liners that are recognized
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 syn match viminfoStatement "^[/&$@:?=%!<]"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 " The two-character one-liners that are recognized
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 syn match viminfoStatement "^[-'>"]."
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 syn match viminfoStatement +^"".+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 syn match viminfoStatement "^\~[/&]"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 syn match viminfoStatement "^\~[hH]"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 syn match viminfoStatement "^\~[mM][sS][lL][eE]\d\+\~\=[/&]"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 syn match viminfoOption "^\*.*=" contains=viminfoOptionName
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 syn match viminfoOptionName "\*\a*"ms=s+1 contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 " Comments
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 syn match viminfoComment "^#.*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33
9286
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 3312
diff changeset
34 " New style lines. TODO: highlight numbers and strings.
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 3312
diff changeset
35 syn match viminfoNew "^|.*"
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 3312
diff changeset
36
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 " Define the default highlighting.
344
7033303ea0c0 updated for version 7.0089
vimboss
parents: 7
diff changeset
38 " Only used when an item doesn't have highlighting yet
7033303ea0c0 updated for version 7.0089
vimboss
parents: 7
diff changeset
39 hi def link viminfoComment Comment
7033303ea0c0 updated for version 7.0089
vimboss
parents: 7
diff changeset
40 hi def link viminfoError Error
7033303ea0c0 updated for version 7.0089
vimboss
parents: 7
diff changeset
41 hi def link viminfoStatement Statement
9286
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 3312
diff changeset
42 hi def link viminfoNew String
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 let b:current_syntax = "viminfo"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45
3312
b7811ab264bf updated for version 7.3.423
Bram Moolenaar <bram@vim.org>
parents: 344
diff changeset
46 let &cpo = s:cpo_save
b7811ab264bf updated for version 7.3.423
Bram Moolenaar <bram@vim.org>
parents: 344
diff changeset
47 unlet s:cpo_save
b7811ab264bf updated for version 7.3.423
Bram Moolenaar <bram@vim.org>
parents: 344
diff changeset
48
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 " vim: ts=8 sw=2