Mercurial > vim
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 |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: sinda85, sinda/fluint input file | |
3 " Maintainer: Adrian Nagle, anagle@ball.com | |
4 " Last Change: 2003 May 11 | |
5 " Filenames: *.sin | |
6 " URL: http://www.naglenet.org/vim/syntax/sinda.vim | |
7 " MAIN URL: http://www.naglenet.org/vim/ | |
8 | |
9 | |
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 | 13 finish |
14 endif | |
15 | |
16 | |
17 | |
18 " Ignore case | |
19 syn case ignore | |
20 | |
21 | |
22 | |
23 " | |
24 " | |
25 " Begin syntax definitions for sinda input and output files. | |
26 " | |
27 | |
28 " Force free-form fortran format | |
29 let fortran_free_source=1 | |
30 | |
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 | 33 unlet b:current_syntax |
34 | |
35 | |
36 | |
37 " Define keywords for SINDA | |
38 syn keyword sindaMacro BUILD BUILDF DEBON DEBOFF DEFMOD FSTART FSTOP | |
39 | |
40 syn keyword sindaOptions TITLE PPSAVE RSI RSO OUTPUT SAVE QMAP USER1 USER2 | |
41 syn keyword sindaOptions MODEL PPOUT NOLIST MLINE NODEBUG DIRECTORIES | |
42 syn keyword sindaOptions DOUBLEPR | |
43 | |
44 syn keyword sindaRoutine FORWRD FWDBCK STDSTL FASTIC | |
45 | |
46 syn keyword sindaControl ABSZRO ACCELX ACCELY ACCELZ ARLXCA ATMPCA | |
47 syn keyword sindaControl BACKUP CSGFAC DRLXCA DTIMEH DTIMEI DTIMEL | |
48 syn keyword sindaControl DTIMES DTMPCA EBALNA EBALSA EXTLIM ITEROT | |
49 syn keyword sindaControl ITERXT ITHOLD NLOOPS NLOOPT OUTPUT OPEITR | |
50 syn keyword sindaControl PATMOS SIGMA TIMEO TIMEND UID | |
51 | |
52 syn keyword sindaSubRoutine ASKERS ADARIN ADDARY ADDMOD ARINDV | |
53 syn keyword sindaSubRoutine RYINV ARYMPY ARYSUB ARYTRN BAROC | |
54 syn keyword sindaSubRoutine BELACC BNDDRV BNDGET CHENNB CHGFLD | |
55 syn keyword sindaSubRoutine CHGLMP CHGSUC CHGVOL CHKCHL CHKCHP | |
56 syn keyword sindaSubRoutine CNSTAB COMBAL COMPLQ COMPRS CONTRN | |
57 syn keyword sindaSubRoutine CPRINT CRASH CRVINT CRYTRN CSIFLX | |
58 syn keyword sindaSubRoutine CVTEMP D11CYL C11DAI D11DIM D11MCY | |
59 syn keyword sindaSubRoutine D11MDA D11MDI D11MDT D12CYL D12MCY | |
60 syn keyword sindaSubRoutine D12MDA D1D1DA D1D1IM D1D1WM D1D2DA | |
61 syn keyword sindaSubRoutine D1D2WM D1DEG1 D1DEG2 D1DG1I D1IMD1 | |
62 syn keyword sindaSubRoutine D1IMIM D1IMWM D1M1DA D1M2MD D1M2WM | |
63 syn keyword sindaSubRoutine D1MDG1 D1MDG2 D2D1WM D1DEG1 D2DEG2 | |
64 syn keyword sindaSubRoutine D2D2 | |
65 | |
66 syn keyword sindaIdentifier BIV CAL DIM DIV DPM DPV DTV GEN PER PIV PIM | |
67 syn keyword sindaIdentifier SIM SIV SPM SPV TVS TVD | |
68 | |
69 | |
70 | |
71 " Define matches for SINDA | |
72 syn match sindaFortran "^F[0-9 ]"me=e-1 | |
73 syn match sindaMotran "^M[0-9 ]"me=e-1 | |
74 | |
75 syn match sindaComment "^C.*$" | |
76 syn match sindaComment "^R.*$" | |
77 syn match sindaComment "\$.*$" | |
78 | |
79 syn match sindaHeader "^header[^,]*" | |
80 | |
81 syn match sindaIncludeFile "include \+[^ ]\+"hs=s+8 contains=fortranInclude | |
82 | |
83 syn match sindaMacro "^PSTART" | |
84 syn match sindaMacro "^PSTOP" | |
85 syn match sindaMacro "^FAC" | |
86 | |
87 syn match sindaInteger "-\=\<[0-9]*\>" | |
88 syn match sindaFloat "-\=\<[0-9]*\.[0-9]*" | |
89 syn match sindaScientific "-\=\<[0-9]*\.[0-9]*E[-+]\=[0-9]\+\>" | |
90 | |
91 syn match sindaEndData "^END OF DATA" | |
92 | |
93 if exists("thermal_todo") | |
94 execute 'syn match sindaTodo ' . '"^'.thermal_todo.'.*$"' | |
95 else | |
96 syn match sindaTodo "^?.*$" | |
97 endif | |
98 | |
99 | |
100 | |
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 | 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 | 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 | 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 | 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 | 124 |
125 | |
126 | |
127 let b:current_syntax = "sinda" | |
128 | |
129 " vim: ts=8 sw=2 |