annotate runtime/syntax/sinda.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 46763b01cd9a
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: sinda85, sinda/fluint input file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 " Maintainer: Adrian Nagle, anagle@ball.com
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 " Last Change: 2003 May 11
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 " Filenames: *.sin
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 " URL: http://www.naglenet.org/vim/syntax/sinda.vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 " MAIN URL: http://www.naglenet.org/vim/
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
11 " quit when a syntax file was already loaded
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
12 if exists("b:current_syntax")
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 " Ignore case
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 syn case ignore
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 " Begin syntax definitions for sinda input and output files.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 " Force free-form fortran format
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 let fortran_free_source=1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 " Load FORTRAN syntax file
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
32 runtime! syntax/fortran.vim
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 unlet b:current_syntax
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 " Define keywords for SINDA
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 syn keyword sindaMacro BUILD BUILDF DEBON DEBOFF DEFMOD FSTART FSTOP
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 syn keyword sindaOptions TITLE PPSAVE RSI RSO OUTPUT SAVE QMAP USER1 USER2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 syn keyword sindaOptions MODEL PPOUT NOLIST MLINE NODEBUG DIRECTORIES
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 syn keyword sindaOptions DOUBLEPR
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 syn keyword sindaRoutine FORWRD FWDBCK STDSTL FASTIC
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 syn keyword sindaControl ABSZRO ACCELX ACCELY ACCELZ ARLXCA ATMPCA
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 syn keyword sindaControl BACKUP CSGFAC DRLXCA DTIMEH DTIMEI DTIMEL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 syn keyword sindaControl DTIMES DTMPCA EBALNA EBALSA EXTLIM ITEROT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 syn keyword sindaControl ITERXT ITHOLD NLOOPS NLOOPT OUTPUT OPEITR
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 syn keyword sindaControl PATMOS SIGMA TIMEO TIMEND UID
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 syn keyword sindaSubRoutine ASKERS ADARIN ADDARY ADDMOD ARINDV
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53 syn keyword sindaSubRoutine RYINV ARYMPY ARYSUB ARYTRN BAROC
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 syn keyword sindaSubRoutine BELACC BNDDRV BNDGET CHENNB CHGFLD
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 syn keyword sindaSubRoutine CHGLMP CHGSUC CHGVOL CHKCHL CHKCHP
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 syn keyword sindaSubRoutine CNSTAB COMBAL COMPLQ COMPRS CONTRN
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 syn keyword sindaSubRoutine CPRINT CRASH CRVINT CRYTRN CSIFLX
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 syn keyword sindaSubRoutine CVTEMP D11CYL C11DAI D11DIM D11MCY
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 syn keyword sindaSubRoutine D11MDA D11MDI D11MDT D12CYL D12MCY
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 syn keyword sindaSubRoutine D12MDA D1D1DA D1D1IM D1D1WM D1D2DA
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 syn keyword sindaSubRoutine D1D2WM D1DEG1 D1DEG2 D1DG1I D1IMD1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 syn keyword sindaSubRoutine D1IMIM D1IMWM D1M1DA D1M2MD D1M2WM
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 syn keyword sindaSubRoutine D1MDG1 D1MDG2 D2D1WM D1DEG1 D2DEG2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 syn keyword sindaSubRoutine D2D2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 syn keyword sindaIdentifier BIV CAL DIM DIV DPM DPV DTV GEN PER PIV PIM
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67 syn keyword sindaIdentifier SIM SIV SPM SPV TVS TVD
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71 " Define matches for SINDA
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72 syn match sindaFortran "^F[0-9 ]"me=e-1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 syn match sindaMotran "^M[0-9 ]"me=e-1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 syn match sindaComment "^C.*$"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 syn match sindaComment "^R.*$"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 syn match sindaComment "\$.*$"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 syn match sindaHeader "^header[^,]*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81 syn match sindaIncludeFile "include \+[^ ]\+"hs=s+8 contains=fortranInclude
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83 syn match sindaMacro "^PSTART"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 syn match sindaMacro "^PSTOP"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85 syn match sindaMacro "^FAC"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 syn match sindaInteger "-\=\<[0-9]*\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 syn match sindaFloat "-\=\<[0-9]*\.[0-9]*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89 syn match sindaScientific "-\=\<[0-9]*\.[0-9]*E[-+]\=[0-9]\+\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 syn match sindaEndData "^END OF DATA"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 if exists("thermal_todo")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94 execute 'syn match sindaTodo ' . '"^'.thermal_todo.'.*$"'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96 syn match sindaTodo "^?.*$"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101 " Define the default highlighting
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
102 " Only when an item doesn't have highlighting yet
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103
10051
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
104 hi def link sindaMacro Macro
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
105 hi def link sindaOptions Special
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
106 hi def link sindaRoutine Type
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
107 hi def link sindaControl Special
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
108 hi def link sindaSubRoutine Function
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
109 hi def link sindaIdentifier Identifier
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
110
10051
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
111 hi def link sindaFortran PreProc
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
112 hi def link sindaMotran PreProc
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113
10051
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
114 hi def link sindaComment Comment
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
115 hi def link sindaHeader Typedef
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
116 hi def link sindaIncludeFile Type
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
117 hi def link sindaInteger Number
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
118 hi def link sindaFloat Float
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
119 hi def link sindaScientific Float
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120
10051
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
121 hi def link sindaEndData Macro
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122
10051
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
123 hi def link sindaTodo Todo
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127 let b:current_syntax = "sinda"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
128
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129 " vim: ts=8 sw=2