7
|
1 " Vim syntax file
|
|
2 " Language: LotusScript
|
|
3 " Maintainer: Taryn East (taryneast@hotmail.com)
|
|
4 " Last Change: 2003 May 11
|
|
5
|
|
6 " This is a rough amalgamation of the visual basic syntax file, and the UltraEdit
|
|
7 " and Textpad syntax highlighters.
|
|
8 " It's not too brilliant given that a) I've never written a syntax.vim file before
|
|
9 " and b) I'm not so crash hot at LotusScript either. If you see any problems
|
|
10 " feel free to email me with them.
|
|
11
|
|
12 " For version 5.x: Clear all syntax items
|
|
13 " For version 6.x: Quit when a syntax file was already loaded
|
|
14 if version < 600
|
|
15 syntax clear
|
|
16 elseif exists("b:current_syntax")
|
|
17 finish
|
|
18 endif
|
|
19
|
|
20 " LotusScript is case insensitive
|
|
21 syn case ignore
|
|
22
|
|
23 " These are Notes thingies that had an equivalent in the vb highlighter
|
|
24 " or I was already familiar with them
|
|
25 syn keyword lscriptStatement ActivateApp As And Base Beep Call Case ChDir ChDrive Class
|
|
26 syn keyword lscriptStatement Const Dim Declare DefCur DefDbl DefInt DefLng DefSng DefStr
|
|
27 syn keyword lscriptStatement DefVar Do Else %Else ElseIf %ElseIf End %End Erase Event Exit
|
|
28 syn keyword lscriptStatement Explicit FileCopy FALSE For ForAll Function Get GoTo GoSub
|
|
29 syn keyword lscriptStatement If %If In Is Kill Let List Lock Loop MkDir
|
|
30 syn keyword lscriptStatement Name Next New NoCase NoPitch Not Nothing NULL
|
|
31 syn keyword lscriptStatement On Option Or PI Pitch Preserve Private Public
|
|
32 syn keyword lscriptStatement Property Public Put
|
|
33 syn keyword lscriptStatement Randomize ReDim Reset Resume Return RmDir
|
|
34 syn keyword lscriptStatement Select SendKeys SetFileAttr Set Static Sub Then To TRUE
|
|
35 syn keyword lscriptStatement Type Unlock Until While WEnd With Write XOr
|
|
36
|
|
37 syn keyword lscriptDatatype Array Currency Double Integer Long Single String String$ Variant
|
|
38
|
|
39 syn keyword lscriptNotesType Field Button Navigator
|
|
40 syn keyword lscriptNotesType NotesACL NotesACLEntry NotesAgent NotesDatabase NotesDateRange
|
|
41 syn keyword lscriptNotesType NotesDateTime NotesDbDirectory NotesDocument
|
|
42 syn keyword lscriptNotesType NotesDocumentCollection NotesEmbeddedObject NotesForm
|
|
43 syn keyword lscriptNotesType NotesInternational NotesItem NotesLog NotesName NotesNewsLetter
|
|
44 syn keyword lscriptNotesType NotesMIMEEntry NotesOutline NotesOutlineEntry NotesRegistration
|
|
45 syn keyword lscriptNotesType NotesReplication NotesRichTextItem NotesRichTextParagraphStyle
|
|
46 syn keyword lscriptNotesType NotesRichTextStyle NotesRichTextTab
|
|
47 syn keyword lscriptNotesType NotesSession NotesTimer NotesView NotesViewColumn NotesViewEntry
|
|
48 syn keyword lscriptNotesType NotesViewEntryCollection NotesViewNavigator NotesUIDatabase
|
|
49 syn keyword lscriptNotesType NotesUIDocument NotesUIView NotesUIWorkspace
|
|
50
|
|
51 syn keyword lscriptNotesConst ACLLEVEL_AUTHOR ACLLEVEL_DEPOSITOR ACLLEVEL_DESIGNER
|
|
52 syn keyword lscriptNotesConst ACLLEVEL_EDITOR ACLLEVEL_MANAGER ACLLEVEL_NOACCESS
|
|
53 syn keyword lscriptNotesConst ACLLEVEL_READER ACLTYPE_MIXED_GROUP ACLTYPE_PERSON
|
|
54 syn keyword lscriptNotesConst ACLTYPE_PERSON_GROUP ACLTYPE_SERVER ACLTYPE_SERVER_GROUP
|
|
55 syn keyword lscriptNotesConst ACLTYPE_UNSPECIFIED ACTIONCD ALIGN_CENTER
|
|
56 syn keyword lscriptNotesConst ALIGN_FULL ALIGN_LEFT ALIGN_NOWRAP ALIGN_RIGHT
|
|
57 syn keyword lscriptNotesConst ASSISTANTINFO ATTACHMENT AUTHORS COLOR_BLACK
|
|
58 syn keyword lscriptNotesConst COLOR_BLUE COLOR_CYAN COLOR_DARK_BLUE COLOR_DARK_CYAN
|
|
59 syn keyword lscriptNotesConst COLOR_DARK_GREEN COLOR_DARK_MAGENTA COLOR_DARK_RED
|
|
60 syn keyword lscriptNotesConst COLOR_DARK_YELLOW COLOR_GRAY COLOR_GREEN COLOR_LIGHT_GRAY
|
|
61 syn keyword lscriptNotesConst COLOR_MAGENTA COLOR_RED COLOR_WHITE COLOR_YELLOW
|
|
62 syn keyword lscriptNotesConst DATABASE DATETIMES DB_REPLICATION_PRIORITY_HIGH
|
|
63 syn keyword lscriptNotesConst DB_REPLICATION_PRIORITY_LOW DB_REPLICATION_PRIORITY_MED
|
|
64 syn keyword lscriptNotesConst DB_REPLICATION_PRIORITY_NOTSET EFFECTS_EMBOSS
|
|
65 syn keyword lscriptNotesConst EFFECTS_EXTRUDE EFFECTS_NONE EFFECTS_SHADOW
|
|
66 syn keyword lscriptNotesConst EFFECTS_SUBSCRIPT EFFECTS_SUPERSCRIPT EMBED_ATTACHMENT
|
|
67 syn keyword lscriptNotesConst EMBED_OBJECT EMBED_OBJECTLINK EMBEDDEDOBJECT ERRORITEM
|
|
68 syn keyword lscriptNotesConst EV_ALARM EV_COMM EV_MAIL EV_MISC EV_REPLICA EV_RESOURCE
|
|
69 syn keyword lscriptNotesConst EV_SECURITY EV_SERVER EV_UNKNOWN EV_UPDATE FONT_COURIER
|
|
70 syn keyword lscriptNotesConst FONT_HELV FONT_ROMAN FORMULA FT_DATABASE FT_DATE_ASC
|
|
71 syn keyword lscriptNotesConst FT_DATE_DES FT_FILESYSTEM FT_FUZZY FT_SCORES FT_STEMS
|
|
72 syn keyword lscriptNotesConst FT_THESAURUS HTML ICON ID_CERTIFIER ID_FLAT
|
|
73 syn keyword lscriptNotesConst ID_HIERARCHICAL LSOBJECT MIME_PART NAMES NOTESLINKS
|
|
74 syn keyword lscriptNotesConst NOTEREFS NOTES_DESKTOP_CLIENT NOTES_FULL_CLIENT
|
|
75 syn keyword lscriptNotesConst NOTES_LIMITED_CLIENT NUMBERS OTHEROBJECT
|
|
76 syn keyword lscriptNotesConst OUTLINE_CLASS_DATABASE OUTLINE_CLASS_DOCUMENT
|
|
77 syn keyword lscriptNotesConst OUTLINE_CLASS_FOLDER OUTLINE_CLASS_FORM
|
|
78 syn keyword lscriptNotesConst OUTLINE_CLASS_FRAMESET OUTLINE_CLASS_NAVIGATOR
|
|
79 syn keyword lscriptNotesConst OUTLINE_CLASS_PAGE OUTLINE_CLASS_UNKNOWN
|
|
80 syn keyword lscriptNotesConst OUTLINE_CLASS_VIEW OUTLINE_OTHER_FOLDERS_TYPE
|
|
81 syn keyword lscriptNotesConst OUTLINE_OTHER_UNKNOWN_TYPE OUTLINE_OTHER_VIEWS_TYPE
|
|
82 syn keyword lscriptNotesConst OUTLINE_TYPE_ACTION OUTLINE_TYPE_NAMEDELEMENT
|
|
83 syn keyword lscriptNotesConst OUTLINE_TYPE_NOTELINK OUTLINE_TYPE_URL PAGINATE_BEFORE
|
|
84 syn keyword lscriptNotesConst PAGINATE_DEFAULT PAGINATE_KEEP_TOGETHER
|
|
85 syn keyword lscriptNotesConst PAGINATE_KEEP_WITH_NEXT PICKLIST_CUSTOM PICKLIST_NAMES
|
|
86 syn keyword lscriptNotesConst PICKLIST_RESOURCES PICKLIST_ROOMS PROMPT_OK PROMPT_OKCANCELCOMBO
|
|
87 syn keyword lscriptNotesConst PROMPT_OKCANCELEDIT PROMPT_OKCANCELEDITCOMBO PROMPT_OKCANCELLIST
|
|
88 syn keyword lscriptNotesConst PROMPT_OKCANCELLISTMULT PROMPT_PASSWORD PROMPT_YESNO
|
|
89 syn keyword lscriptNotesConst PROMPT_YESNOCANCEL QUERYCD READERS REPLICA_CANDIDATE
|
|
90 syn keyword lscriptNotesConst RICHTEXT RULER_ONE_CENTIMETER RULER_ONE_INCH SEV_FAILURE
|
|
91 syn keyword lscriptNotesConst SEV_FATAL SEV_NORMAL SEV_WARNING1 SEV_WARNING2
|
|
92 syn keyword lscriptNotesConst SIGNATURE SPACING_DOUBLE SPACING_ONE_POINT_50
|
|
93 syn keyword lscriptNotesConst SPACING_SINGLE STYLE_NO_CHANGE TAB_CENTER TAB_DECIMAL
|
|
94 syn keyword lscriptNotesConst TAB_LEFT TAB_RIGHT TARGET_ALL_DOCS TARGET_ALL_DOCS_IN_VIEW
|
|
95 syn keyword lscriptNotesConst TARGET_NEW_DOCS TARGET_NEW_OR_MODIFIED_DOCS TARGET_NONE
|
|
96 syn keyword lscriptNotesConst TARGET_RUN_ONCE TARGET_SELECTED_DOCS TARGET_UNREAD_DOCS_IN_VIEW
|
|
97 syn keyword lscriptNotesConst TEMPLATE TEMPLATE_CANDIDATE TEXT TRIGGER_AFTER_MAIL_DELIVERY
|
|
98 syn keyword lscriptNotesConst TRIGGER_BEFORE_MAIL_DELIVERY TRIGGER_DOC_PASTED
|
|
99 syn keyword lscriptNotesConst TRIGGER_DOC_UPDATE TRIGGER_MANUAL TRIGGER_NONE
|
|
100 syn keyword lscriptNotesConst TRIGGER_SCHEDULED UNAVAILABLE UNKNOWN USERDATA
|
|
101 syn keyword lscriptNotesConst USERID VC_ALIGN_CENTER VC_ALIGN_LEFT VC_ALIGN_RIGHT
|
|
102 syn keyword lscriptNotesConst VC_ATTR_PARENS VC_ATTR_PUNCTUATED VC_ATTR_PERCENT
|
|
103 syn keyword lscriptNotesConst VC_FMT_ALWAYS VC_FMT_CURRENCY VC_FMT_DATE VC_FMT_DATETIME
|
|
104 syn keyword lscriptNotesConst VC_FMT_FIXED VC_FMT_GENERAL VC_FMT_HM VC_FMT_HMS
|
|
105 syn keyword lscriptNotesConst VC_FMT_MD VC_FMT_NEVER VC_FMT_SCIENTIFIC
|
|
106 syn keyword lscriptNotesConst VC_FMT_SOMETIMES VC_FMT_TIME VC_FMT_TODAYTIME VC_FMT_YM
|
|
107 syn keyword lscriptNotesConst VC_FMT_YMD VC_FMT_Y4M VC_FONT_BOLD VC_FONT_ITALIC
|
|
108 syn keyword lscriptNotesConst VC_FONT_STRIKEOUT VC_FONT_UNDERLINE VC_SEP_COMMA
|
|
109 syn keyword lscriptNotesConst VC_SEP_NEWLINE VC_SEP_SEMICOLON VC_SEP_SPACE
|
|
110 syn keyword lscriptNotesConst VIEWMAPDATA VIEWMAPLAYOUT VW_SPACING_DOUBLE
|
|
111 syn keyword lscriptNotesConst VW_SPACING_ONE_POINT_25 VW_SPACING_ONE_POINT_50
|
|
112 syn keyword lscriptNotesConst VW_SPACING_ONE_POINT_75 VW_SPACING_SINGLE
|
|
113
|
|
114 syn keyword lscriptFunction Abs Asc Atn Atn2 ACos ASin
|
|
115 syn keyword lscriptFunction CCur CDat CDbl Chr Chr$ CInt CLng Command Command$
|
|
116 syn keyword lscriptFunction Cos CSng CStr
|
|
117 syn keyword lscriptFunction CurDir CurDir$ CVar Date Date$ DateNumber DateSerial DateValue
|
|
118 syn keyword lscriptFunction Day Dir Dir$ Environ$ Environ EOF Error Error$ Evaluate Exp
|
|
119 syn keyword lscriptFunction FileAttr FileDateTime FileLen Fix Format Format$ FreeFile
|
|
120 syn keyword lscriptFunction GetFileAttr GetThreadInfo Hex Hex$ Hour
|
|
121 syn keyword lscriptFunction IMESetMode IMEStatus Input Input$ InputB InputB$
|
|
122 syn keyword lscriptFunction InputBP InputBP$ InputBox InputBox$ InStr InStrB InStrBP InstrC
|
|
123 syn keyword lscriptFunction IsA IsArray IsDate IsElement IsList IsNumeric
|
|
124 syn keyword lscriptFunction IsObject IsResponse IsScalar IsUnknown LCase LCase$
|
|
125 syn keyword lscriptFunction Left Left$ LeftB LeftB$ LeftC
|
|
126 syn keyword lscriptFunction LeftBP LeftBP$ Len LenB LenBP LenC Loc LOF Log
|
|
127 syn keyword lscriptFunction LSet LTrim LTrim$ MessageBox Mid Mid$ MidB MidB$ MidC
|
|
128 syn keyword lscriptFunction Minute Month Now Oct Oct$ Responses Right Right$
|
|
129 syn keyword lscriptFunction RightB RightB$ RightBP RightBP$ RightC Round Rnd RSet RTrim RTrim$
|
|
130 syn keyword lscriptFunction Second Seek Sgn Shell Sin Sleep Space Space$ Spc Sqr Str Str$
|
|
131 syn keyword lscriptFunction StrConv StrLeft StrleftBack StrRight StrRightBack
|
|
132 syn keyword lscriptFunction StrCompare Tab Tan Time Time$ TimeNumber Timer
|
|
133 syn keyword lscriptFunction TimeValue Trim Trim$ Today TypeName UCase UCase$
|
|
134 syn keyword lscriptFunction UniversalID Val Weekday Year
|
|
135
|
|
136 syn keyword lscriptMethods AppendToTextList ArrayAppend ArrayReplace ArrayGetIndex
|
|
137 syn keyword lscriptMethods Append Bind Close
|
|
138 "syn keyword lscriptMethods Contains
|
|
139 syn keyword lscriptMethods CopyToDatabase CopyAllItems Count CurrentDatabase Delete Execute
|
|
140 syn keyword lscriptMethods GetAllDocumentsByKey GetDatabase GetDocumentByKey
|
|
141 syn keyword lscriptMethods GetDocumentByUNID GetFirstDocument GetFirstItem
|
|
142 syn keyword lscriptMethods GetItems GetItemValue GetNthDocument GetView
|
|
143 syn keyword lscriptMethods IsEmpty IsNull %Include Items
|
|
144 syn keyword lscriptMethods Line LBound LoadMsgText Open Print
|
|
145 syn keyword lscriptMethods RaiseEvent ReplaceItemValue Remove RemoveItem Responses
|
|
146 syn keyword lscriptMethods Save Stop UBound UnprocessedDocuments Write
|
|
147
|
|
148 syn keyword lscriptEvents Compare OnError
|
|
149
|
|
150 "*************************************************************************************
|
|
151 "These are Notes thingies that I'm not sure how to classify as they had no vb equivalent
|
|
152 " At a wild guess I'd put them as Functions...
|
|
153 " if anyone sees something really out of place... tell me!
|
|
154
|
|
155 syn keyword lscriptFunction Access Alias Any Bin Bin$ Binary ByVal
|
|
156 syn keyword lscriptFunction CodeLock CodeLockCheck CodeUnlock CreateLock
|
|
157 syn keyword lscriptFunction CurDrive CurDrive$ DataType DestroyLock Eqv
|
|
158 syn keyword lscriptFunction Erl Err Fraction From FromFunction FullTrim
|
|
159 syn keyword lscriptFunction Imp Int Lib Like ListTag LMBCS LSServer Me
|
|
160 syn keyword lscriptFunction Mod MsgDescription MsgText Output Published
|
|
161 syn keyword lscriptFunction Random Read Shared Step UChr UChr$ Uni Unicode
|
|
162 syn keyword lscriptFunction Until Use UseLSX UString UString$ Width Yield
|
|
163
|
|
164
|
|
165 syn keyword lscriptTodo contained TODO
|
|
166
|
|
167 "integer number, or floating point number without a dot.
|
|
168 syn match lscriptNumber "\<\d\+\>"
|
|
169 "floating point number, with dot
|
|
170 syn match lscriptNumber "\<\d\+\.\d*\>"
|
|
171 "floating point number, starting with a dot
|
|
172 syn match lscriptNumber "\.\d\+\>"
|
|
173
|
|
174 " String and Character constants
|
|
175 syn region lscriptString start=+"+ end=+"+
|
|
176 syn region lscriptComment start="REM" end="$" contains=lscriptTodo
|
|
177 syn region lscriptComment start="'" end="$" contains=lscriptTodo
|
|
178 syn region lscriptLineNumber start="^\d" end="\s"
|
|
179 syn match lscriptTypeSpecifier "[a-zA-Z0-9][\$%&!#]"ms=s+1
|
|
180
|
|
181 " Define the default highlighting.
|
|
182 " For version 5.7 and earlier: only when not done already
|
|
183 " For version 5.8 and later: only when an item doesn't have highlighting yet
|
|
184 if version >= 508 || !exists("did_lscript_syntax_inits")
|
|
185 if version < 508
|
|
186 let did_lscript_syntax_inits = 1
|
|
187 command -nargs=+ HiLink hi link <args>
|
|
188 else
|
|
189 command -nargs=+ HiLink hi def link <args>
|
|
190 endif
|
|
191
|
|
192 hi lscriptNotesType term=underline ctermfg=DarkGreen guifg=SeaGreen gui=bold
|
|
193
|
|
194 HiLink lscriptNotesConst lscriptNotesType
|
|
195 HiLink lscriptLineNumber Comment
|
|
196 HiLink lscriptDatatype Type
|
|
197 HiLink lscriptNumber Number
|
|
198 HiLink lscriptError Error
|
|
199 HiLink lscriptStatement Statement
|
|
200 HiLink lscriptString String
|
|
201 HiLink lscriptComment Comment
|
|
202 HiLink lscriptTodo Todo
|
|
203 HiLink lscriptFunction Identifier
|
|
204 HiLink lscriptMethods PreProc
|
|
205 HiLink lscriptEvents Special
|
|
206 HiLink lscriptTypeSpecifier Type
|
|
207
|
|
208 delcommand HiLink
|
|
209 endif
|
|
210
|
|
211 let b:current_syntax = "lscript"
|
|
212
|
|
213 " vim: ts=8
|