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