annotate runtime/syntax/freebasic.vim @ 32570:5d8cff99a027 v9.0.1617

patch 9.0.1617: charidx() result is not consistent with byteidx() Commit: https://github.com/vim/vim/commit/577922b917e48285a7a312daf7b5bbc6e272939c Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Thu Jun 8 17:09:45 2023 +0100 patch 9.0.1617: charidx() result is not consistent with byteidx() Problem: charidx() and utf16idx() result is not consistent with byteidx(). Solution: When the index is equal to the length of the text return the lenght of the text instead of -1. (Yegappan Lakshmanan, closes #12503)
author Bram Moolenaar <Bram@vim.org>
date Thu, 08 Jun 2023 18:15:04 +0200
parents 912224cab37f
children 91e05f3fe12a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
1 " Vim syntax file
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
2 " Language: FreeBASIC
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
3 " Maintainer: Doug Kearns <dougkearns@gmail.com>
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
4 " Previous Maintainer: Mark Manning <markem@sim1.us>
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
5 " Last Change: 2022 Jun 26
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
6 "
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
7 " Description:
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
8 "
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
9 " Based originally on the work done by Allan Kelly <Allan.Kelly@ed.ac.uk>
18053
8ac85adee561 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 1125
diff changeset
10 " Updated by Mark Manning <markem@sim1.us>
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
11 " Applied FreeBASIC support to the already excellent support
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
12 " for standard basic syntax (like QB).
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
13 "
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
14 " First version based on Micro$soft QBASIC circa
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
15 " 1989, as documented in 'Learn BASIC Now' by
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
16 " Halvorson&Rygmyr. Microsoft Press 1989. This syntax file
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
17 " not a complete implementation yet. Send suggestions to
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
18 " the maintainer.
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
19 "
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
20 " TODO: split this into separate dialect-based files, possibly with a common base
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
21 "
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
22 " Quit when a (custom) syntax file was already loaded (Taken from c.vim)
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
23 "
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
24 if exists("b:current_syntax")
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
25 finish
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
26 endif
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
27 "
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
28 " Dialect detection
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
29 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
30 let s:lang = freebasic#GetDialect()
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
31 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
32 " Whitespace Errors
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
33 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
34 if exists("freebasic_space_errors")
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
35 if !exists("freebasic_no_trail_space_error")
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
36 syn match freebasicSpaceError display excludenl "\s\+$"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
37 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
38 if !exists("freebasic_no_tab_space_error")
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
39 syn match freebasicSpaceError display " \+\t"me=e-1
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
40 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
41 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
42 "
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
43 " Be sure to turn on the "case ignore" since current versions
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
44 " of freebasic support both upper as well as lowercase
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
45 " letters. - MEM 10/1/2006
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
46 "
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
47 syn case ignore
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
48 "
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
49 " Do the Basic variables names first. This is because it
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
50 " is the most inclusive of the tests. Later on we change
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
51 " this so the identifiers are split up into the various
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
52 " types of identifiers like functions, basic commands and
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
53 " such. MEM 9/9/2006
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
54 "
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
55 if s:lang =~# '\<\%(qb\|fblite\)\>'
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
56 syn iskeyword @,48-57,_,192-255,.
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
57 syn match freebasicIdentifier "\<\h\%(\w\|\.\)*\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
58 syn match freebasicGenericFunction "\<\h\%(\w\|\.\)*\>\ze\s*("
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
59 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
60 syn iskeyword @,48-57,_,192-255
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
61 syn match freebasicIdentifier "\<\h\w*\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
62 syn match freebasicGenericFunction "\<\h\w*\>\ze\s*("
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
63 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
64 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
65 " This list of keywords is taken directly from the FreeBASIC
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
66 " user's guide as presented by the FreeBASIC online site.
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
67 "
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
68 syn keyword freebasicArrays ERASE LBOUND PRESERVE REDIM UBOUND
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
69
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
70 " array.bi
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
71 syn keyword freebasicArrays ARRAYLEN ARRAYSIZE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
72 if s:lang == "fb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
73 syn keyword freebasicArrays ArrayConstDescriptorPtr ArrayDescriptorPtr FBARRAY
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
74 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
75
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
76 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
77 syn keyword freebasicAsm __ASM
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
78 syn match freebasicAsm "\<end\s\+__asm\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
79 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
80 syn keyword freebasicAsm ASM
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
81 syn match freebasicAsm "\<end\s\+asm\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
82 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
83
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
84 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
85 syn keyword freebasicBitManipulation __BIT __BITRESET __BITSET __HIBYTE __HIWORD __LOBYTE __LOWORD
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
86 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
87 syn keyword freebasicBitManipulation BIT BITRESET BITSET HIBYTE HIWORD LOBYTE LOWORD
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
88 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
89
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
90 if s:lang != "fb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
91 syn keyword freebasicCompilerSwitches DEFDBL DEFINT DEFLNG DEFSNG DEFSTR
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
92 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
93 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
94 syn keyword freebasicCompilerSwitches __DEFBYTE __DEFLONGINT __DEFSHORT __DEFUBYTE __DEFUINT __DEFULONGINT __DEFUSHORT
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
95 elseif s:lang == "fblite" || s:lang == "deprecated"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
96 syn keyword freebasicCompilerSwitches DEFBYTE DEFLONGINT DEFSHORT DEFUBYTE DEFUINT DEFUILONGINT DEFUSHORT
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
97 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
98
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
99 syn match freebasicCompilerSwitches "\<option\s\+\%(BASE\|BYVAL\|DYNAMIC\|ESCAPE\|EXPLICIT\|GOSUB\|NOGOSUB\)\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
100 syn match freebasicCompilerSwitches "\<option\s\+\%(NOKEYWORD\|PRIVATE\|STATIC\)\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
101
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
102 syn keyword freebasicData DATA READ RESTORE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
103
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
104 syn keyword freebasicProgramFlow EXIT GOTO RETURN SLEEP
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
105 syn match freebasicProgramFlow "\<end\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
106 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
107 syn keyword freebasicProgramFlow __SLEEP
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
108 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
109 if s:lang == "fblite" || s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
110 syn keyword freebasicProgramFlow GOSUB
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
111 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
112 if s:lang == "fb" || s:lang == "deprecated"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
113 syn keyword freebasicProgramFlow SCOPE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
114 syn match freebasicProgramFlow "\<end\s\+scope\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
115 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
116
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
117 if s:lang == "fblite" || s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
118 syn region freebasicConditional matchgroup=freebasicConditional start="\<on\>" end="\<gosub\>" transparent
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
119 syn region freebasicConditional matchgroup=freebasicConditional start="\<on\>" end="\<goto\>" transparent
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
120 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
121 syn keyword freebasicConditional IF THEN ELSE ELSEIF
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
122 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
123 syn keyword freebasicConditional __IIF __WITH
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
124 syn match freebasicConditional "\<end\s\+__with\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
125 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
126 syn keyword freebasicConditional IIF WITH
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
127 syn match freebasicConditional "\<end\s\+with\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
128 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
129 syn match freebasicConditional "\<end\s\+if\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
130 syn match freebasicConditional "\<select\s\+case\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
131 syn match freebasicConditional "\<case\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
132 syn match freebasicConditional "\<case\s\+is\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
133 syn match freebasicConditional "\<end\s\+select\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
134
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
135 syn keyword freebasicConsole BEEP CLS CSRLIN LOCATE PRINT POS SPC TAB USING VIEW WIDTH
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
136 syn match freebasicConsole "?"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
137
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
138 syn keyword freebasicDataTypes SINGLE DOUBLE INTEGER LONG
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
139 syn match freebasicDataTypes "\<string\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
140 syn keyword freebasicDataTypes AS DIM CONST ENUM SHARED TYPE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
141 syn match freebasicDataTypes "\<end\s\+enum\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
142 syn match freebasicDataTypes "\<end\s\+type\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
143 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
144 syn keyword freebasicDataTypes __BOOLEAN __BYTE __LONGINT __SHORT __UBYTE __UINTEGER __ULONG __ULONGINT __UNSIGNED __USHORT __ZSTRING
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
145 syn match freebasicDataTypes "\<__WSTRING\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
146 syn keyword freebasicDataTypes __EXPLICIT __EXTENDS __IMPLEMENTS __OBJECT __POINTER __PTR __SIZEOF __TYPEOF
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
147 syn keyword freebasicDataTypes __UNION
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
148 syn match freebasicDataTypes "\<end\s\+__union\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
149 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
150 syn keyword freebasicDataTypes BOOLEAN BYTE LONGINT SHORT UBYTE UINTEGER ULONG ULONGINT UNSIGNED USHORT ZSTRING
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
151 syn match freebasicDataTypes "\<WSTRING\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
152 syn keyword freebasicDataTypes EXPLICIT EXTENDS IMPLEMENTS OBJECT POINTER PTR SIZEOF TYPEOF
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
153 syn keyword freebasicDataTypes UNION
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
154 syn match freebasicDataTypes "\<end\s\+union\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
155 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
156 if s:lang == "fb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
157 syn keyword freebasicDataTypes BASE CLASS THIS VAR
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
158 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
159
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
160 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
161 syn match freebasicDateTime "\<\%(date\|time\)\$"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
162 elseif s:lang == "fblite" || s:lang == "deprecated"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
163 syn match freebasicDateTime "\<\%(date\|time\)\>\$\="
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
164 else " fb
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
165 syn keyword freebasicDateTime DATE TIME
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
166 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
167 syn keyword freebasicDateTime SETDATE SETTIME
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
168
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
169 " datetime.bi
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
170 syn keyword freebasicDateTime DATEADD DATEDIFF DATEPART DATESERIAL DATEVALUE DAY HOUR ISDATE MINUTE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
171 syn keyword freebasicDateTime MONTH MONTHNAME NOW SECOND TIMESERIAL TIMEVALUE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
172 syn keyword freebasicDateTime TIMER YEAR WEEKDAY WEEKDAYNAME
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
173
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
174 syn keyword freebasicDebug STOP
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
175 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
176 syn keyword freebasicDebug __ASSERT __ASSERTWARN
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
177 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
178 syn keyword freebasicDebug ASSERT ASSERTWARN
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
179 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
180
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
181 syn keyword freebasicErrorHandling ERR ERL ERROR
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
182 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
183 syn keyword freebasicErrorHandling __ERFN __ERMN
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
184 syn match freebasicErrorHandling "\<on\s\+error\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
185 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
186 syn keyword freebasicErrorHandling ERFN ERMN
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
187 syn match freebasicErrorHandling "\<on\s\+\%(local\s\+\)\=error\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
188 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
189 if s:lang != "fb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
190 syn match freebasicErrorHandling "\<resume\%(\s\+next\)\=\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
191 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
192
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
193 syn match freebasicFiles "\<get\s\+#\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
194 syn match freebasicFiles "\<input\s\+#\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
195 syn match freebasicFiles "\<line\s\+input\s\+#\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
196 syn match freebasicFiles "\<put\s\+#\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
197 syn keyword freebasicFiles ACCESS APPEND BINARY CLOSE EOF FREEFILE INPUT LOC
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
198 syn keyword freebasicFiles LOCK LOF OUTPUT RANDOM RESET SEEK UNLOCK WRITE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
199 syn match freebasicFiles "\<open\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
200 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
201 syn keyword freebasicFiles __ENCODING
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
202 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
203 syn keyword freebasicFiles ENCODING WINPUT
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
204 syn match freebasicFiles "\<open\s\+\%(cons\|err\|pipe\|scrn\)\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
205 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
206
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
207 " file.bi
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
208 syn keyword freebasicFiles FILEATTR FILECOPY FILEDATETIME FILEEXISTS FILEFLUSH FILELEN FILESETEOF
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
209
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
210 syn keyword freebasicFunctions ALIAS BYREF BYVAL CDECL DECLARE LIB NAKED PASCAL STATIC STDCALL
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
211 syn match freebasicFunctions "\<option\ze\s*("
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
212
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
213 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
214 syn keyword freebasicFunctions __CVA_ARG __CVA_COPY __CVA_END __CVA_LIST __CVA_START
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
215 syn keyword freebasicFunctions __VA_ARG __VA_FIRST __VA_NEXT
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
216 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
217 syn keyword freebasicFunctions CVA_ARG CVA_COPY CVA_END CVA_LIST CVA_START
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
218 syn keyword freebasicFunctions VA_ARG VA_FIRST VA_NEXT
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
219 syn keyword freebasicFunctions ANY OVERLOAD
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
220 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
221
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
222 syn keyword freebasicFunctions FUNCTION SUB
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
223 syn match freebasicFunctions "\<end\s\+function\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
224 syn match freebasicFunctions "\<end\s\+sub\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
225
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
226 if s:lang == "fb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
227 syn keyword freebasicFunctions ABSTRACT OVERRIDE VIRTUAL __THISCALL
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
228 syn keyword freebasicFunctions CONSTRUCTOR DESTRUCTOR OPERATOR PROPERTY
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
229 syn match freebasicFunctions "\<end\s\+constructor\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
230 syn match freebasicFunctions "\<end\s\+destructor\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
231 syn match freebasicFunctions "\<end\s\+operator\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
232 syn match freebasicFunctions "\<end\s\+property\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
233 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
234 syn keyword freebasicFunctions CALL
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
235 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
236
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
237 syn match freebasicGraphics "\<palette\s\+get\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
238 syn keyword freebasicGraphics ADD ALPHA BLOAD BSAVE CIRCLE CLS COLOR DRAW GET
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
239 syn keyword freebasicGraphics LINE PAINT PALETTE PCOPY PMAP POINT
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
240 syn keyword freebasicGraphics PRESET PSET PUT SCREEN
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
241 syn keyword freebasicGraphics TRANS WINDOW
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
242 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
243 syn keyword freebasicGraphics __FLIP __IMAGECONVERTROW __IMAGECREATE __IMAGEDESTROY __IMAGEINFO __POINTCOORD
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
244 syn keyword freebasicGraphics __RGB __RGBA __SCREENCOPY __SCREENCONTROL __SCREENEVENT __SCREENGLPROC __SCREENINFO
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
245 syn keyword freebasicGraphics __SCREENLIST __SCREENLOCK __SCREENPTR __SCREENRES __SCREENSET __SCREENSYNC
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
246 syn keyword freebasicGraphics __SCREENUNLOCK __WINDOWTITLE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
247 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
248 syn keyword freebasicGraphics CUSTOM
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
249 syn keyword freebasicGraphics FLIP IMAGECONVERTROW IMAGECREATE IMAGEDESTROY IMAGEINFO POINTCOORD
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
250 syn keyword freebasicGraphics RGB RGBA SCREENCOPY SCREENCONTROL SCREENEVENT SCREENGLPROC SCREENINFO
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
251 syn keyword freebasicGraphics SCREENLIST SCREENLOCK SCREENPTR SCREENRES SCREENSET SCREENSYNC
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
252 syn keyword freebasicGraphics SCREENUNLOCK WINDOWTITLE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
253 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
254
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
255 if s:lang != "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
256 syn match freebasicHardware "\<open\s\+\%(com\|lpt\)\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
257 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
258 syn keyword freebasicHardware INP OUT WAIT LPOS LPRINT
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
259
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
260 syn keyword freebasicMath ABS ATN COS EXP FIX FRAC INT LOG MOD RANDOMIZE RND SGN SIN SQR TAN
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
261
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
262 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
263 syn keyword freebasicMath __ACOS __ASIN __ATAN2
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
264 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
265 syn keyword freebasicMath ACOS ASIN ATAN2
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
266 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
267
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
268 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
269 syn keyword freebasicMemory __ALLOCATE __CALLOCATE __DEALLOCATE __REALLOCATE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
270 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
271 syn keyword freebasicMemory ALLOCATE CALLOCATE DEALLOCATE REALLOCATE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
272 syn keyword freebasicMemory PEEK POKE CLEAR FB_MEMCOPY FB_MEMCOPYCLEAR FB_MEMMOVE SWAP SADD
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
273 syn keyword freebasicMemory FIELD FRE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
274 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
275
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
276 syn keyword freebasicMisc LET TO
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
277 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
278 syn keyword freebasicMisc __OFFSETOF
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
279 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
280 syn keyword freebasicMisc OFFSETOF
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
281 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
282
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
283 syn keyword freebasicModularizing CHAIN COMMON
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
284 if s:lang == "fb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
285 syn keyword freebasicModularizing EXTERN
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
286 syn match freebasicModularizing "\<end\s\+extern\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
287 syn keyword freebasicModularizing PROTECTED
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
288 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
289 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
290 syn keyword freebasicModularizing __EXPORT __IMPORT __DYLIBFREE __DYLIBLOAD __DYLIBSYMBOL
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
291 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
292 syn keyword freebasicModularizing EXPORT IMPORT DYLIBFREE DYLIBLOAD DYLIBSYMBOL
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
293 syn keyword freebasicModularizing PRIVATE PUBLIC
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
294 syn keyword freebasicModularizing NAMESPACE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
295 syn match freebasicModularizing "\<end\s\+namespace\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
296 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
297
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
298 if s:lang != "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
299 syn keyword freebasicMultithreading MUTEXCREATE MUTEXDESTROY MUTEXLOCK MUTEXUNLOCK THREADCREATE THREADWAIT
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
300 syn keyword freebasicMultithreading CONDBROADCAST CONDCREATE CONDDESTROY CONDSIGNAL CONDWAIT
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
301 syn keyword freebasicMultithreading THREADCALL THREADDETACH THREADSELF
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
302 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
303
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
304 syn keyword freebasicShell CHDIR KILL NAME MKDIR RMDIR RUN SETENVIRON
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
305 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
306 syn keyword freebasicShell __CURDIR __DIR __EXEC __EXEPATH
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
307 syn match freebasicString "\<\%(command\|environ\)\$"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
308 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
309 " fbio.bi
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
310 syn keyword freebasicShell ISREDIRECTED
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
311 syn keyword freebasicShell CURDIR DIR EXEC EXEPATH
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
312 syn match freebasicString "\<\%(command\|environ\)\>\$\="
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
313 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
314
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
315 syn keyword freebasicEnviron SHELL SYSTEM
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
316
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
317 syn keyword freebasicLoops FOR LOOP WHILE WEND DO STEP UNTIL NEXT
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
318 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
319 syn keyword freebasicLoops __CONTINUE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
320 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
321 syn keyword freebasicLoops CONTINUE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
322 endif
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
323 "
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
324 " File numbers
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
325 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
326 syn match freebasicFilenumber "#\d\+"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
327 syn match freebasicFilenumber "#\a[[:alpha:].]*[%&!#]\="
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
328
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
329 syn match freebasicMetacommand "$\s*\%(dynamic\|static\)"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
330 syn match freebasicMetacommand "$\s*include\s*\%(once\)\=\s*:\s*'[^']\+'"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
331 syn match freebasicMetacommand '$\s*include\s*\%(once\)\=\s*:\s*"[^"]\+"'
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
332 syn match freebasicMetacommand '$\s*lang\s*:\s*"[^"]\+"'
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
333 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
334 " Intrinsic defines
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
335 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
336 syn keyword freebasicPredefined __DATE__ __DATE_ISO__
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
337 syn keyword freebasicPredefined __FB_64BIT__ __FB_ARGC__ __FB_ARG_COUNT__ __FB_ARG_EXTRACT__ __FB_ARG_LEFTOF__
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
338 syn keyword freebasicPredefined __FB_ARG_RIGHTOF__ __FB_ARGV__ __FB_ARM__ __FB_ASM__ __FB_BACKEND__
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
339 syn keyword freebasicPredefined __FB_BIGENDIAN__ __FB_BUILD_DATE__ __FB_BUILD_DATE_ISO__ __FB_BUILD_SHA1__
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
340 syn keyword freebasicPredefined __FB_CYGWIN__ __FB_DARWIN__ __FB_DEBUG__ __FB_DOS__ __FB_ERR__ __FB_EVAL__
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
341 syn keyword freebasicPredefined __FB_FPMODE__ __FB_FPU__ __FB_FREEBSD__ __FB_GCC__ __FB_GUI__ __FB_JOIN__
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
342 syn keyword freebasicPredefined __FB_LANG__ __FB_LINUX__ __FB_MAIN__ __FB_MIN_VERSION__ __FB_MT__ __FB_NETBSD__
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
343 syn keyword freebasicPredefined __FB_OPENBSD__ __FB_OPTIMIZE__ __FB_OPTION_BYVAL__ __FB_OPTION_DYNAMIC__
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
344 syn keyword freebasicPredefined __FB_OPTION_ESCAPE__ __FB_OPTION_EXPLICIT__ __FB_OPTION_GOSUB__
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
345 syn keyword freebasicPredefined __FB_OPTION_PRIVATE__ __FB_OUT_DLL__ __FB_OUT_EXE__ __FB_OUT_LIB__ __FB_OUT_OBJ__
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
346 syn keyword freebasicPredefined __FB_PCOS__ __FB_PPC__ __FB_QUOTE__ __FB_SIGNATURE__ __FB_SSE__ __FB_UNIQUEID__
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
347 syn keyword freebasicPredefined __FB_UNIQUEID_POP__ __FB_UNIQUEID_PUSH__ __FB_UNIX__ __FB_UNQUOTE__
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
348 syn keyword freebasicPredefined __FB_VECTORIZE__ __FB_VER_MAJOR__ __FB_VER_MINOR__ __FB_VER_PATCH__ __FB_VERSION__
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
349 syn keyword freebasicPredefined __FB_WIN32__ __FB_X86__ __FB_XBOX__
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
350 syn keyword freebasicPredefined __FILE__ __FILE_NQ__ __FUNCTION__ __FUNCTION_NQ__
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
351 syn keyword freebasicPredefined __LINE__ __PATH__ __TIME__
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
352 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
353 " Preprocessor directives
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
354 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
355 syn match freebasicInclude "#\s*\%(inclib\|include\%(\s\+once\)\=\|libpath\)\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
356
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
357 syn match freebasicPreProcessor "#\s*assert\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
358 syn match freebasicPreProcessor "#\s*cmdline\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
359 syn match freebasicPreProcessor "#\s*\%(define\|undef\)\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
360 syn match freebasicPreProcessor "#\s*\%(if\|ifdef\|ifndef\|else\|elseif\|endif\)\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
361 syn match freebasicPreProcessor "#\s*\%(macro\|endmacro\)\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
362 syn match freebasicPreProcessor "#\s*error\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
363 syn match freebasicPreProcessor "#\s*lang\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
364 syn match freebasicPreProcessor "#\s*line\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
365 syn match freebasicPreProcessor "#\s*pragma\%(\s\+reserve\)\=\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
366 syn match freebasicPreProcessor "#\s*\%(print\|dynamic\|static\)\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
367 syn keyword freebasicPreProcessor DEFINED
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
368
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
369 syn keyword freebasicString LEN
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
370 syn keyword freebasicString ASC
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
371 " string.bi
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
372 syn keyword freebasicString FORMAT
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
373 syn keyword freebasicString VAL
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
374 syn keyword freebasicString CVD CVI CVL CVS
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
375 syn keyword freebasicString INSTR
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
376 syn keyword freebasicString LSET RSET
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
377
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
378 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
379 syn match freebasicString "\<string\$\ze\s*("
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
380 syn match freebasicString "\<__wstring\ze\s*("
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
381 syn match freebasicString "\<space\$"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
382 syn keyword freebasicString __WSPACE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
383 syn match freebasicString "\<chr\$"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
384 syn keyword freebasicString __WCHR
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
385 syn keyword freebasicString __WBIN __WHEX __WOCT __WSTR
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
386 syn match freebasicString "\<\%(bin\|hex\|oct\|str\)\$"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
387 syn keyword freebasicString __VALLNG __VALINT __VALUINT __VALULNG
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
388 syn match freebasicString "\<\%(mkd\|mki\|mkl\|mks\)\$"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
389 syn keyword freebasicString __MKLONGINT __MKSHORT
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
390 syn keyword freebasicString __CVLONGINT __CVSHORT
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
391 syn match freebasicString "\<\%(left\|mid\|right\|lcase\|ucase\|ltrim\|rtrim\)\$"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
392 syn keyword freebasicString __TRIM
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
393 syn keyword freebasicString __INSTRREV
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
394 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
395 syn match freebasicString "\<string\$\=\ze\s*("
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
396 syn match freebasicString "\<wstring\ze\s*("
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
397 syn match freebasicString "\<space\>\$\="
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
398 syn keyword freebasicString WSPACE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
399 syn match freebasicString "\<chr\>\$\="
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
400 syn keyword freebasicString WCHR
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
401 syn keyword freebasicString WBIN WHEX WOCT WSTR
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
402 syn match freebasicString "\<\%(bin\|hex\|oct\|str\)\>\$\="
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
403 syn keyword freebasicString VALLNG VALINT VALUINT VALULNG
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
404 syn match freebasicString "\<\%(mkd\|mki\|mkl\|mks\)\>\$\="
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
405 syn match freebasicString "\<\%(mklongint\|mkshort\)\>\$\="
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
406 syn keyword freebasicString CVLONGINT CVSHORT
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
407 syn match freebasicString "\<\%(left\|mid\|right\|lcase\|ucase\|ltrim\|rtrim\)\>\$\="
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
408 syn match freebasicString "\<trim\>\$\="
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
409 syn keyword freebasicString INSTRREV
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
410 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
411
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
412 syn keyword freebasicTypeCasting CDBL CINT CLNG CSNG
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
413 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
414 syn keyword freebasicTypeCasting __CAST __CBOOL __CBYTE __CLNGINT __CPTR __CSHORT __CSIGN __CYBTE __CUINT __CULNG
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
415 syn keyword freebasicTypeCasting __CULNGINT __CUNSG __CUSHORT
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
416 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
417 syn keyword freebasicTypeCasting CAST CBOOL CBYTE CLNGINT CPTR CSHORT CSIGN CUBYTE CUINT CULNG CULNGINT CUNSG CUSHORT
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
418 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
419
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
420 syn match freebasicUserInput "\<line\s\+input\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
421 syn keyword freebasicUserInput INKEY INPUT
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
422 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
423 syn keyword freebasicUserInput __GETJOYSTICK __GETKEY __GETMOUSE __MULTIKEY __SETMOUSE STICK STRIG
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
424 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
425 syn keyword freebasicUserInput GETJOYSTICK GETKEY GETMOUSE MULTIKEY SETMOUSE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
426 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
427 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
428 " Operators
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
429 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
430 " TODO: make these context sensitive to remove the overlap of common operators
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
431 " : alpha operators should probably always be highlighted
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
432 " -- DJK 20/11/19
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
433 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
434 syn match freebasicArithmeticOperator "\<\%(MOD\|__SHL\|__SHR\)\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
435 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
436 syn match freebasicArithmeticOperator "\<\%(MOD\|SHL\|SHR\)\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
437 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
438 syn match freebasicBitwiseOperator "\<\%(AND\|EQV\|IMP\|NOT\|OR\|XOR\)\>" " freebaseLogical?
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
439 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
440 syn match freebasicAssignmentOperator "\<\%(MOD\|AND\|EQV\|IMP\|OR\|XOR\|__SHL\|__SHR\)=\@=" " exclude trailing '='
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
441 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
442 syn match freebasicAssignmentOperator "\<\%(MOD\|AND\|EQV\|IMP\|OR\|XOR\|SHL\|SHR\)=\@="
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
443 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
444 syn match freebasicShortcircuitOperator "\<\%(ANDALSO\|ORELSE\)\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
445 if s:lang == "fb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
446 syn match freebasicMemoryOperator '\<\%(new\|delete\)\>'
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
447 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
448 syn keyword freebasicPointerOperator STRPTR VARPTR
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
449 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
450 syn keyword freebasicPointerOperator __PROCPTR
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
451 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
452 syn keyword freebasicPointerOperator PROCPTR
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
453 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
454 syn match freebasicTypeOperator '\<is\>'
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
455 syn match freebasicTypeOperator '\.' nextgroup=freebasicIdentifier skipwhite
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
456 if s:lang == "fb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
457 syn match freebasicTypeOperator '->' nextgroup=freebasicIdentifier skipwhite
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
458 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
459
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
460 if exists("freebasic_operators")
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
461 syn match freebasicAssignmentOperator "=>\=\|[-+&/\\*^]="
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
462 if s:lang == "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
463 syn match freebasicAssignmentOperator "\<\%(MOD\|AND\|EQV\|IMP\|OR\|XOR\|__SHL\|__SHR\)=" " include trailing '='
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
464 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
465 syn match freebasicAssignmentOperator "\<\%(MOD\|AND\|EQV\|IMP\|OR\|XOR\|SHL\|SHR\)="
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
466 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
467 syn match freebasicArithmeticOperator "[-+&/\\*^]"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
468 " syn match freebasicIndexingOperator "[[\]()]" " FIXME
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
469 syn match freebasicRelationalOperator "=\|<>\|<=\|<\|>=\|>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
470 syn match freebasicPreprocessorOperator '\%(^\s*\)\@<!\%(##\|#\)\|[$!]"\@='
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
471 syn match freebasicPointerOperator '[@*]'
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
472 syn match freebasicTypeOperator '\.' nextgroup=freebasicIdentifier skipwhite
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
473 if s:lang == "fb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
474 syn match freebasicTypeOperator '->' nextgroup=freebasicIdentifier skipwhite
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
475 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
476 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
477
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
478 syn cluster freebasicOperator contains=freebasic.*Operator
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
479 "
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
480 " Catch errors caused by wrong parenthesis
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
481 "
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
482 " syn region freebasicParen transparent start='(' end=')' contains=ALLBUT,@freebasicParenGroup
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
483 " syn match freebasicParenError ")"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
484 " syn match freebasicInParen contained "[{}]"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
485 " syn cluster freebasicParenGroup contains=freebasicParenError,freebasicSpecial,freebasicTodo,freebasicUserCont,freebasicUserLabel,freebasicBitField
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
486 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
487 " Integer number
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
488 "
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
489 syn match freebasicHexError "&h\w*\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
490 syn match freebasicOctalError "&o\w*\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
491 syn match freebasicBinaryError "&b\w*\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
492 syn match freebasicHex "&h\x\+\%([%L&U]\|UL\|LL\|ULL\)\=\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
493 syn match freebasicOctal "&o\o\+\%([%L&U]\|UL\|LL\|ULL\)\=\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
494 syn match freebasicBinary "&b[10]\+\%([%L&U]\|UL\|LL\|ULL\)\=\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
495 syn match freebasicInteger "\<\d\+\%([%L&U]\|UL\|LL\|ULL\)\=\>"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
496 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
497 " Floating point
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
498 " See: https://www.freebasic.net/forum/viewtopic.php?t=20323
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
499 "
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
500 " Floating point number, with dot, optional exponent, optional suffix
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
501 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
502 syn match freebasicFloat "\<\d\+\.\d*\%([de][-+]\=\d*\)\=[f!#]\="
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
503 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
504 " Floating point number, starting with a dot, optional exponent, optional suffix
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
505 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
506 syn match freebasicFloat "\.\d\+\%([de][-+]\=\d*\)\=[f!#]\="
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
507 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
508 " Floating point number, without dot, with optional exponent, optional suffix
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
509 "
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
510 syn match freebasicFloat "\<\d\+\%([de][-+]\=\d*\)[f!#]\="
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
511 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
512 " Floating point number, without dot, without exponent, with suffix
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
513 "
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
514 syn match freebasicFloat "\<\d\+[f!#]"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
515 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
516 " Create the clusters
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
517 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
518 syn cluster freebasicNumber contains=freebasicHex,freebasicOctal,freebasicBinary,freebasicInteger,freebasicFloat
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
519 syn cluster freebasicNumberError contains=freebasicHexError,freebasicOctalError,freebasicBinaryError
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
520 "
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
521 " Booleans
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
522 "
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
523 if s:lang != "qb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
524 syn keyword freebasicBoolean TRUE FALSE
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
525 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
526 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
527 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
528 " String and escape sequences
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
529 "
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
530 syn match freebasicSpecial contained "\\."
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
531 syn match freebasicSpecial contained "\\\d\{1,3}"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
532 syn match freebasicSpecial contained "\\&h\x\{1,2}"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
533 syn match freebasicSpecial contained "\\&o\o\{1,3}"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
534 syn match freebasicSpecial contained "\\&b[01]\{1,8}"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
535 syn match freebasicSpecial contained "\\u\x\{1,4}"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
536 syn region freebasicString start='"' end='"' " TODO: Toggle contains on Option Escape in fblite and qb? -- DJK 20/11/19
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
537 syn region freebasicString start='!\zs"' end='"' contains=freebasicSpecial
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
538 syn region freebasicString start='$\zs"' end='"'
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
539 "
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
540 " Line labels
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
541 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
542 if s:lang =~# '\<\%(qb\|fblite\)\>'
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
543 syn match freebasicLineLabel "^\s*\zs\h\%(\w\|\.\)*\ze\s*:"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
544 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
545 syn match freebasicLineLabel "^\s*\zs\h\w*\ze\s*:"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
546 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
547 syn match freebasicLineNumber "^\s*\zs\d\+"
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
548 "
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
549 " Line continuations
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
550 "
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
551 " syn match freebasicLineContinuation "\<_\>" nextgroup=freebasicComment,freebasicPostLineContinuation skipwhite
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
552 syn keyword freebasicLineContinuation _ nextgroup=freebasicComment,freebasicPostLineContinuation skipwhite
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
553 syn match freebasicPostLineContinuation ".*" contained
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
554 "
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
555 "
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
556 " Type suffixes
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
557 if exists("freebasic_type_suffixes") && s:lang =~# '\<\%(qb\|fblite\)\>'
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
558 syn match freebasicTypeSuffix "\h\%(\w\|.\)*\zs[$%&!#]"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
559 endif
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
560 "
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
561 " Comments
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
562 "
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
563 syn keyword freebasicTodo TODO FIXME XXX NOTE contained
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
564 syn region freebasicComment start="\<rem\>" end="$" contains=freebasicTodo,@Spell,freebasicMetacommand
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
565 syn region freebasicComment start="'" end="$" contains=freebasicTodo,@Spell,freebasicMetacommand
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
566 syn region freebasicDoubleComment start="''" end="$" contains=freebasicTodo,@Spell
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
567
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
568 if !exists("freebasic_no_comment_fold")
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
569 syn region freebasicMultilineComment start="/'" end="'/" contains=freebasicTodo,@Spell,freeBasicMultilineComment fold keepend extend
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
570 syn region freebasicMultilineComment2 start="^\s*'.*\n\%(\s*'\)\@=" end="^\s*'.*\n\%(\s*'\)\@!" contains=freebasicComment,freebasicDoubleComment keepend fold
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
571 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
572 syn region freebasicMultilineComment start="/'" end="'/" contains=freebasicTodo,@Spell,freeBasicMultilineComment
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
573 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
574
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
575 syn case match
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
576
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
577 syn sync linebreaks=1
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
578
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
579 "
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
580 " The default methods for highlighting. Can be overridden later
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
581 "
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
582 hi def link freebasicArrays StorageClass
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
583 hi def link freebasicAsm Special
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
584 hi def link freebasicBitManipulation Operator
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
585 hi def link freebasicBoolean Boolean
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
586 if s:lang == "fb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
587 hi def link freebasicCompilerSwitches freebasicUnsupportedError
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
588 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
589 hi def link freebasicCompilerSwitches PreCondit
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
590 endif
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
591 hi def link freebasicConsole Special
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
592 hi def link freebasicData Special
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
593 hi def link freebasicDataTypes Type
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
594 hi def link freebasicDateTime Type
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
595 hi def link freebasicDebug Special
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
596 hi def link freebasicErrorHandling Special
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
597 hi def link freebasicFilenumber Special
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
598 hi def link freebasicFiles Special
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
599 hi def link freebasicFunctions Function
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
600 hi def link freebasicGraphics Function
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
601 hi def link freebasicHardware Special
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
602 hi def link freebasicLoops Repeat
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
603 hi def link freebasicMath Function
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
604 if s:lang == "fb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
605 hi def link freebasicMetacommand freebasicUnsupportedError
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
606 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
607 hi def link freebasicMetacommand SpecialComment
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
608 endif
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
609 hi def link freebasicMemory Function
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
610 hi def link freebasicMisc Special
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
611 hi def link freebasicModularizing Special
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
612 hi def link freebasicMultithreading Special
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
613 hi def link freebasicShell Special
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
614 hi def link freebasicEnviron Special
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
615 hi def link freebasicPointer Special
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
616 hi def link freebasicPredefined PreProc
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
617 hi def link freebasicPreProcessor PreProc
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
618 hi def link freebasicProgramFlow Statement
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
619 hi def link freebasicString String
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
620 hi def link freebasicTypeCasting Type
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
621 hi def link freebasicUserInput Statement
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
622 hi def link freebasicComment Comment
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
623 hi def link freebasicDoubleComment Comment
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
624 hi def link freebasicMultilineComment Comment
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
625 hi def link freebasicConditional Conditional
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
626 hi def link freebasicError Error
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
627 hi def link freebasicIdentifier Identifier
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
628 hi def link freebasicInclude Include
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
629 hi def link freebasicGenericFunction Function
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
630 hi def link freebasicLineContinuation Special
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
631 hi def link freebasicLineLabel LineNr
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
632 if s:lang == "fb"
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
633 hi def link freebasicLineNumber freebasicUnsupportedError
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
634 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
635 hi def link freebasicLineNumber LineNr
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
636 endif
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
637 hi def link freebasicMathOperator Operator
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
638
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
639 hi def link freebasicHex Number
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
640 hi def link freebasicOctal Number
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
641 hi def link freebasicBinary Number
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
642 hi def link freebasicInteger Number
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
643 hi def link freebasicFloat Float
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
644
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
645 hi def link freebasicHexError Error
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
646 hi def link freebasicOctalError Error
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
647 hi def link freebasicBinaryError Error
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
648
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
649 hi def link freebasicAssignmentOperator Operator
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
650 hi def link freebasicArithmeticOperator Operator
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
651 hi def link freebasicIndexingOperator Operator
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
652 hi def link freebasicRelationalOperator Operator
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
653 hi def link freebasicBitwiseOperator Operator
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
654 hi def link freebasicShortcircuitOperator Operator
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
655 hi def link freebasicPreprocessorOperator Operator
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
656 hi def link freebasicPointerOperator Operator
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
657 if exists("freebasic_operators")
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
658 hi def link freebasicTypeOperator Operator
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
659 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
660 hi def link freebasicMemoryOperator Operator
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
661
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
662 hi def link freebasicSpaceError Error
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
663
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
664 hi def link freebasicSpecial Special
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
665 hi def link freebasicTodo Todo
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
666
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
667 hi def link freebasicUnsupported freebasicUnsupportedError
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
668 hi def link freebasicUnsupportedError Error
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
669
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
670 unlet s:lang
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
671
1125
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
672 let b:current_syntax = "freebasic"
96cd8222a819 updated for version 7.1a
vimboss
parents:
diff changeset
673
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18053
diff changeset
674 " vim: ts=8 tw=132 fdm=marker