forked from aniani/vim
		
	
		
			
	
	
		
			214 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			214 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:	LotusScript | ||
|  | " Maintainer:	Taryn East (taryneast@hotmail.com) | ||
|  | " Last Change:	2003 May 11 | ||
|  | 
 | ||
|  | " This is a rough  amalgamation of the visual basic syntax file, and the UltraEdit | ||
|  | " and Textpad syntax highlighters. | ||
|  | " It's not too brilliant given that a) I've never written a syntax.vim file before | ||
|  | " and b) I'm not so crash hot at LotusScript either. If you see any problems | ||
|  | " feel free to email me with them. | ||
|  | 
 | ||
|  | " For version 5.x: Clear all syntax items | ||
|  | " For version 6.x: Quit when a syntax file was already loaded | ||
|  | if version < 600 | ||
|  |   syntax clear | ||
|  | elseif exists("b:current_syntax") | ||
|  |   finish | ||
|  | endif | ||
|  | 
 | ||
|  | " LotusScript is case insensitive | ||
|  | syn case ignore | ||
|  | 
 | ||
|  | " These are Notes thingies that had an equivalent in the vb highlighter | ||
|  | " or I was already familiar with them | ||
|  | syn keyword lscriptStatement ActivateApp As And Base Beep Call Case ChDir ChDrive Class | ||
|  | syn keyword lscriptStatement Const Dim Declare DefCur DefDbl DefInt DefLng DefSng DefStr | ||
|  | syn keyword lscriptStatement DefVar Do Else %Else ElseIf %ElseIf End %End Erase Event Exit | ||
|  | syn keyword lscriptStatement Explicit FileCopy FALSE For ForAll Function Get GoTo GoSub | ||
|  | syn keyword lscriptStatement If %If In Is Kill Let List Lock Loop MkDir | ||
|  | syn keyword lscriptStatement Name Next New NoCase NoPitch Not Nothing NULL | ||
|  | syn keyword lscriptStatement On Option Or PI Pitch Preserve Private Public | ||
|  | syn keyword lscriptStatement Property Public Put | ||
|  | syn keyword lscriptStatement Randomize ReDim Reset Resume Return RmDir | ||
|  | syn keyword lscriptStatement Select SendKeys SetFileAttr Set Static Sub Then To TRUE | ||
|  | syn keyword lscriptStatement Type Unlock Until While WEnd With Write XOr | ||
|  | 
 | ||
|  | syn keyword lscriptDatatype Array Currency Double Integer Long Single String String$ Variant | ||
|  | 
 | ||
|  | syn keyword lscriptNotesType Field Button Navigator | ||
|  | syn keyword lscriptNotesType NotesACL NotesACLEntry NotesAgent NotesDatabase NotesDateRange | ||
|  | syn keyword lscriptNotesType NotesDateTime NotesDbDirectory NotesDocument | ||
|  | syn keyword lscriptNotesType NotesDocumentCollection NotesEmbeddedObject NotesForm | ||
|  | syn keyword lscriptNotesType NotesInternational NotesItem NotesLog NotesName NotesNewsLetter | ||
|  | syn keyword lscriptNotesType NotesMIMEEntry NotesOutline NotesOutlineEntry NotesRegistration | ||
|  | syn keyword lscriptNotesType NotesReplication NotesRichTextItem NotesRichTextParagraphStyle | ||
|  | syn keyword lscriptNotesType NotesRichTextStyle NotesRichTextTab | ||
|  | syn keyword lscriptNotesType NotesSession NotesTimer NotesView NotesViewColumn NotesViewEntry | ||
|  | syn keyword lscriptNotesType NotesViewEntryCollection NotesViewNavigator NotesUIDatabase | ||
|  | syn keyword lscriptNotesType NotesUIDocument NotesUIView NotesUIWorkspace | ||
|  | 
 | ||
|  | syn keyword lscriptNotesConst ACLLEVEL_AUTHOR ACLLEVEL_DEPOSITOR ACLLEVEL_DESIGNER | ||
|  | syn keyword lscriptNotesConst ACLLEVEL_EDITOR ACLLEVEL_MANAGER ACLLEVEL_NOACCESS | ||
|  | syn keyword lscriptNotesConst ACLLEVEL_READER ACLTYPE_MIXED_GROUP ACLTYPE_PERSON | ||
|  | syn keyword lscriptNotesConst ACLTYPE_PERSON_GROUP ACLTYPE_SERVER ACLTYPE_SERVER_GROUP | ||
|  | syn keyword lscriptNotesConst ACLTYPE_UNSPECIFIED ACTIONCD ALIGN_CENTER | ||
|  | syn keyword lscriptNotesConst ALIGN_FULL ALIGN_LEFT ALIGN_NOWRAP ALIGN_RIGHT | ||
|  | syn keyword lscriptNotesConst ASSISTANTINFO ATTACHMENT AUTHORS COLOR_BLACK | ||
|  | syn keyword lscriptNotesConst COLOR_BLUE COLOR_CYAN COLOR_DARK_BLUE COLOR_DARK_CYAN | ||
|  | syn keyword lscriptNotesConst COLOR_DARK_GREEN COLOR_DARK_MAGENTA COLOR_DARK_RED | ||
|  | syn keyword lscriptNotesConst COLOR_DARK_YELLOW COLOR_GRAY COLOR_GREEN COLOR_LIGHT_GRAY | ||
|  | syn keyword lscriptNotesConst COLOR_MAGENTA COLOR_RED COLOR_WHITE COLOR_YELLOW | ||
|  | syn keyword lscriptNotesConst DATABASE DATETIMES DB_REPLICATION_PRIORITY_HIGH | ||
|  | syn keyword lscriptNotesConst DB_REPLICATION_PRIORITY_LOW DB_REPLICATION_PRIORITY_MED | ||
|  | syn keyword lscriptNotesConst DB_REPLICATION_PRIORITY_NOTSET EFFECTS_EMBOSS | ||
|  | syn keyword lscriptNotesConst EFFECTS_EXTRUDE EFFECTS_NONE EFFECTS_SHADOW | ||
|  | syn keyword lscriptNotesConst EFFECTS_SUBSCRIPT EFFECTS_SUPERSCRIPT EMBED_ATTACHMENT | ||
|  | syn keyword lscriptNotesConst EMBED_OBJECT EMBED_OBJECTLINK EMBEDDEDOBJECT ERRORITEM | ||
|  | syn keyword lscriptNotesConst EV_ALARM EV_COMM EV_MAIL EV_MISC EV_REPLICA EV_RESOURCE | ||
|  | syn keyword lscriptNotesConst EV_SECURITY EV_SERVER EV_UNKNOWN EV_UPDATE FONT_COURIER | ||
|  | syn keyword lscriptNotesConst FONT_HELV FONT_ROMAN FORMULA FT_DATABASE FT_DATE_ASC | ||
|  | syn keyword lscriptNotesConst FT_DATE_DES FT_FILESYSTEM FT_FUZZY FT_SCORES FT_STEMS | ||
|  | syn keyword lscriptNotesConst FT_THESAURUS HTML ICON ID_CERTIFIER ID_FLAT | ||
|  | syn keyword lscriptNotesConst ID_HIERARCHICAL LSOBJECT MIME_PART NAMES NOTESLINKS | ||
|  | syn keyword lscriptNotesConst NOTEREFS NOTES_DESKTOP_CLIENT NOTES_FULL_CLIENT | ||
|  | syn keyword lscriptNotesConst NOTES_LIMITED_CLIENT NUMBERS OTHEROBJECT | ||
|  | syn keyword lscriptNotesConst OUTLINE_CLASS_DATABASE OUTLINE_CLASS_DOCUMENT | ||
|  | syn keyword lscriptNotesConst OUTLINE_CLASS_FOLDER OUTLINE_CLASS_FORM | ||
|  | syn keyword lscriptNotesConst OUTLINE_CLASS_FRAMESET OUTLINE_CLASS_NAVIGATOR | ||
|  | syn keyword lscriptNotesConst OUTLINE_CLASS_PAGE OUTLINE_CLASS_UNKNOWN | ||
|  | syn keyword lscriptNotesConst OUTLINE_CLASS_VIEW OUTLINE_OTHER_FOLDERS_TYPE | ||
|  | syn keyword lscriptNotesConst OUTLINE_OTHER_UNKNOWN_TYPE OUTLINE_OTHER_VIEWS_TYPE | ||
|  | syn keyword lscriptNotesConst OUTLINE_TYPE_ACTION OUTLINE_TYPE_NAMEDELEMENT | ||
|  | syn keyword lscriptNotesConst OUTLINE_TYPE_NOTELINK OUTLINE_TYPE_URL PAGINATE_BEFORE | ||
|  | syn keyword lscriptNotesConst PAGINATE_DEFAULT PAGINATE_KEEP_TOGETHER | ||
|  | syn keyword lscriptNotesConst PAGINATE_KEEP_WITH_NEXT PICKLIST_CUSTOM PICKLIST_NAMES | ||
|  | syn keyword lscriptNotesConst PICKLIST_RESOURCES PICKLIST_ROOMS PROMPT_OK PROMPT_OKCANCELCOMBO | ||
|  | syn keyword lscriptNotesConst PROMPT_OKCANCELEDIT PROMPT_OKCANCELEDITCOMBO PROMPT_OKCANCELLIST | ||
|  | syn keyword lscriptNotesConst PROMPT_OKCANCELLISTMULT PROMPT_PASSWORD PROMPT_YESNO | ||
|  | syn keyword lscriptNotesConst PROMPT_YESNOCANCEL QUERYCD READERS REPLICA_CANDIDATE | ||
|  | syn keyword lscriptNotesConst RICHTEXT RULER_ONE_CENTIMETER RULER_ONE_INCH SEV_FAILURE | ||
|  | syn keyword lscriptNotesConst SEV_FATAL SEV_NORMAL SEV_WARNING1 SEV_WARNING2 | ||
|  | syn keyword lscriptNotesConst SIGNATURE SPACING_DOUBLE SPACING_ONE_POINT_50 | ||
|  | syn keyword lscriptNotesConst SPACING_SINGLE STYLE_NO_CHANGE TAB_CENTER TAB_DECIMAL | ||
|  | syn keyword lscriptNotesConst TAB_LEFT TAB_RIGHT TARGET_ALL_DOCS TARGET_ALL_DOCS_IN_VIEW | ||
|  | syn keyword lscriptNotesConst TARGET_NEW_DOCS TARGET_NEW_OR_MODIFIED_DOCS TARGET_NONE | ||
|  | syn keyword lscriptNotesConst TARGET_RUN_ONCE TARGET_SELECTED_DOCS TARGET_UNREAD_DOCS_IN_VIEW | ||
|  | syn keyword lscriptNotesConst TEMPLATE TEMPLATE_CANDIDATE TEXT TRIGGER_AFTER_MAIL_DELIVERY | ||
|  | syn keyword lscriptNotesConst TRIGGER_BEFORE_MAIL_DELIVERY TRIGGER_DOC_PASTED | ||
|  | syn keyword lscriptNotesConst TRIGGER_DOC_UPDATE TRIGGER_MANUAL TRIGGER_NONE | ||
|  | syn keyword lscriptNotesConst TRIGGER_SCHEDULED UNAVAILABLE UNKNOWN USERDATA | ||
|  | syn keyword lscriptNotesConst USERID VC_ALIGN_CENTER VC_ALIGN_LEFT VC_ALIGN_RIGHT | ||
|  | syn keyword lscriptNotesConst VC_ATTR_PARENS VC_ATTR_PUNCTUATED VC_ATTR_PERCENT | ||
|  | syn keyword lscriptNotesConst VC_FMT_ALWAYS VC_FMT_CURRENCY VC_FMT_DATE VC_FMT_DATETIME | ||
|  | syn keyword lscriptNotesConst VC_FMT_FIXED VC_FMT_GENERAL VC_FMT_HM VC_FMT_HMS | ||
|  | syn keyword lscriptNotesConst VC_FMT_MD VC_FMT_NEVER VC_FMT_SCIENTIFIC | ||
|  | syn keyword lscriptNotesConst VC_FMT_SOMETIMES VC_FMT_TIME VC_FMT_TODAYTIME VC_FMT_YM | ||
|  | syn keyword lscriptNotesConst VC_FMT_YMD VC_FMT_Y4M VC_FONT_BOLD VC_FONT_ITALIC | ||
|  | syn keyword lscriptNotesConst VC_FONT_STRIKEOUT VC_FONT_UNDERLINE VC_SEP_COMMA | ||
|  | syn keyword lscriptNotesConst VC_SEP_NEWLINE VC_SEP_SEMICOLON VC_SEP_SPACE | ||
|  | syn keyword lscriptNotesConst VIEWMAPDATA VIEWMAPLAYOUT VW_SPACING_DOUBLE | ||
|  | syn keyword lscriptNotesConst VW_SPACING_ONE_POINT_25 VW_SPACING_ONE_POINT_50 | ||
|  | syn keyword lscriptNotesConst VW_SPACING_ONE_POINT_75 VW_SPACING_SINGLE | ||
|  | 
 | ||
|  | syn keyword lscriptFunction Abs Asc Atn Atn2 ACos ASin | ||
|  | syn keyword lscriptFunction CCur CDat CDbl Chr Chr$ CInt CLng Command Command$ | ||
|  | syn keyword lscriptFunction Cos CSng CStr | ||
|  | syn keyword lscriptFunction CurDir CurDir$ CVar Date Date$ DateNumber DateSerial DateValue | ||
|  | syn keyword lscriptFunction Day Dir Dir$ Environ$ Environ EOF Error Error$ Evaluate Exp | ||
|  | syn keyword lscriptFunction FileAttr FileDateTime FileLen Fix Format Format$ FreeFile | ||
|  | syn keyword lscriptFunction GetFileAttr GetThreadInfo Hex Hex$ Hour | ||
|  | syn keyword lscriptFunction IMESetMode IMEStatus Input Input$ InputB InputB$ | ||
|  | syn keyword lscriptFunction InputBP InputBP$ InputBox InputBox$ InStr InStrB InStrBP InstrC | ||
|  | syn keyword lscriptFunction IsA IsArray IsDate IsElement IsList IsNumeric | ||
|  | syn keyword lscriptFunction IsObject IsResponse IsScalar IsUnknown LCase LCase$ | ||
|  | syn keyword lscriptFunction Left Left$ LeftB LeftB$ LeftC | ||
|  | syn keyword lscriptFunction LeftBP LeftBP$ Len LenB LenBP LenC Loc LOF Log | ||
|  | syn keyword lscriptFunction LSet LTrim LTrim$ MessageBox Mid Mid$ MidB MidB$ MidC | ||
|  | syn keyword lscriptFunction Minute Month Now Oct Oct$ Responses Right Right$ | ||
|  | syn keyword lscriptFunction RightB RightB$ RightBP RightBP$ RightC Round Rnd RSet RTrim RTrim$ | ||
|  | syn keyword lscriptFunction Second Seek Sgn Shell Sin Sleep Space Space$ Spc Sqr Str Str$ | ||
|  | syn keyword lscriptFunction StrConv StrLeft StrleftBack StrRight StrRightBack | ||
|  | syn keyword lscriptFunction StrCompare Tab Tan Time Time$ TimeNumber Timer | ||
|  | syn keyword lscriptFunction TimeValue Trim Trim$ Today TypeName UCase UCase$ | ||
|  | syn keyword lscriptFunction UniversalID Val Weekday Year | ||
|  | 
 | ||
|  | syn keyword lscriptMethods AppendToTextList ArrayAppend ArrayReplace ArrayGetIndex | ||
|  | syn keyword lscriptMethods Append Bind Close | ||
|  | "syn keyword lscriptMethods Contains | ||
|  | syn keyword lscriptMethods CopyToDatabase CopyAllItems Count CurrentDatabase Delete Execute | ||
|  | syn keyword lscriptMethods GetAllDocumentsByKey GetDatabase GetDocumentByKey | ||
|  | syn keyword lscriptMethods GetDocumentByUNID GetFirstDocument GetFirstItem | ||
|  | syn keyword lscriptMethods GetItems GetItemValue GetNthDocument GetView | ||
|  | syn keyword lscriptMethods IsEmpty IsNull %Include Items | ||
|  | syn keyword lscriptMethods Line LBound LoadMsgText Open Print | ||
|  | syn keyword lscriptMethods RaiseEvent ReplaceItemValue Remove RemoveItem Responses | ||
|  | syn keyword lscriptMethods Save Stop UBound UnprocessedDocuments Write | ||
|  | 
 | ||
|  | syn keyword lscriptEvents Compare OnError | ||
|  | 
 | ||
|  | "************************************************************************************* | ||
|  | "These are Notes thingies that I'm not sure how to classify as they had no vb equivalent | ||
|  | " At a wild guess I'd put them as Functions... | ||
|  | " if anyone sees something really out of place... tell me! | ||
|  | 
 | ||
|  | syn keyword lscriptFunction Access Alias Any Bin Bin$ Binary ByVal | ||
|  | syn keyword lscriptFunction CodeLock CodeLockCheck CodeUnlock CreateLock | ||
|  | syn keyword lscriptFunction CurDrive CurDrive$ DataType DestroyLock Eqv | ||
|  | syn keyword lscriptFunction Erl Err Fraction From FromFunction FullTrim | ||
|  | syn keyword lscriptFunction Imp Int Lib Like ListTag LMBCS LSServer Me | ||
|  | syn keyword lscriptFunction Mod MsgDescription MsgText Output Published | ||
|  | syn keyword lscriptFunction Random Read Shared Step UChr UChr$ Uni Unicode | ||
|  | syn keyword lscriptFunction Until Use UseLSX UString UString$ Width Yield | ||
|  | 
 | ||
|  | 
 | ||
|  | syn keyword lscriptTodo contained	TODO | ||
|  | 
 | ||
|  | "integer number, or floating point number without a dot. | ||
|  | syn match  lscriptNumber		"\<\d\+\>" | ||
|  | "floating point number, with dot | ||
|  | syn match  lscriptNumber		"\<\d\+\.\d*\>" | ||
|  | "floating point number, starting with a dot | ||
|  | syn match  lscriptNumber		"\.\d\+\>" | ||
|  | 
 | ||
|  | " String and Character constants | ||
|  | syn region  lscriptString		start=+"+  end=+"+ | ||
|  | syn region  lscriptComment		start="REM" end="$" contains=lscriptTodo | ||
|  | syn region  lscriptComment		start="'"   end="$" contains=lscriptTodo | ||
|  | syn region  lscriptLineNumber	start="^\d" end="\s" | ||
|  | syn match   lscriptTypeSpecifier	"[a-zA-Z0-9][\$%&!#]"ms=s+1 | ||
|  | 
 | ||
|  | " Define the default highlighting. | ||
|  | " For version 5.7 and earlier: only when not done already | ||
|  | " For version 5.8 and later: only when an item doesn't have highlighting yet | ||
|  | if version >= 508 || !exists("did_lscript_syntax_inits") | ||
|  |   if version < 508 | ||
|  |     let did_lscript_syntax_inits = 1 | ||
|  |     command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  |     command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  | 
 | ||
|  |   hi lscriptNotesType	term=underline ctermfg=DarkGreen guifg=SeaGreen gui=bold | ||
|  | 
 | ||
|  |   HiLink lscriptNotesConst	lscriptNotesType | ||
|  |   HiLink lscriptLineNumber	Comment | ||
|  |   HiLink lscriptDatatype	Type | ||
|  |   HiLink lscriptNumber		Number | ||
|  |   HiLink lscriptError		Error | ||
|  |   HiLink lscriptStatement	Statement | ||
|  |   HiLink lscriptString		String | ||
|  |   HiLink lscriptComment		Comment | ||
|  |   HiLink lscriptTodo		Todo | ||
|  |   HiLink lscriptFunction	Identifier | ||
|  |   HiLink lscriptMethods		PreProc | ||
|  |   HiLink lscriptEvents		Special | ||
|  |   HiLink lscriptTypeSpecifier	Type | ||
|  | 
 | ||
|  |   delcommand HiLink | ||
|  | endif | ||
|  | 
 | ||
|  | let b:current_syntax = "lscript" | ||
|  | 
 | ||
|  | " vim: ts=8 |