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