Cicode syntax highlighting (grammar) configuration for Visual Studio Code (or others)

Does anyone have any syntax highlighting configuration files for editors such as Visual Studio Code, Notepad++, etc?

There's a very old one I found for EditPlus (not an editor I use).

Cicode Editor is good for debugging but not great for actually writing code (at least not compared with other modern editors).

Parents
  • I tend to use Notepad++ quite a bit.  Here's a syntax highlighting config that works in v7.8.5.  Use at your own peril...
    I've probably missed some functions that are defined in the Include project, rather than the application itself.
     

    <NotepadPlus>
        <UserLang name="CiCode" ext="ci cii rpt" udlVersion="2.1">
            <Settings>
                <Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
                <Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
            </Settings>
            <KeywordLists>
                <Keywords name="Comments">00// 00! 01 02{{EOL}} 03/* 04*/</Keywords>
                <Keywords name="Numbers, prefix1"></Keywords>
                <Keywords name="Numbers, prefix2">0x</Keywords>
                <Keywords name="Numbers, extras1"></Keywords>
                <Keywords name="Numbers, extras2">A B C D E F a b c d e f</Keywords>
                <Keywords name="Numbers, suffix1"></Keywords>
                <Keywords name="Numbers, suffix2"></Keywords>
                <Keywords name="Numbers, range"></Keywords>
                <Keywords name="Operators1">~ ! @ % ^ &amp; * ( ) - + = | \ / { } [ ] : ; &quot; &apos; &lt; &gt; , . ?</Keywords>
                <Keywords name="Operators2"></Keywords>
                <Keywords name="Folders in code1, open"></Keywords>
                <Keywords name="Folders in code1, middle"></Keywords>
                <Keywords name="Folders in code1, close"></Keywords>
                <Keywords name="Folders in code2, open"></Keywords>
                <Keywords name="Folders in code2, middle"></Keywords>
                <Keywords name="Folders in code2, close"></Keywords>
                <Keywords name="Folders in comment, open"></Keywords>
                <Keywords name="Folders in comment, middle"></Keywords>
                <Keywords name="Folders in comment, close"></Keywords>
                <Keywords name="Keywords1">Abs AccControl AccumBrowseClose AccumBrowseFirst AccumBrowseGetField AccumBrowseNext AccumBrowseNumRecords AccumBrowseOpen AccumBrowsePrev AlarmAck AlarmAckRec AlarmAckTag AlarmActive AlarmCatGetFormat AlarmClear AlarmClearRec AlarmClearTag AlarmComment AlarmCommentRecID AlarmCount AlarmCountEquipment AlarmCountList AlarmDelete AlarmDisable AlarmDisableRec AlarmDisableTag AlarmDsp AlarmDspClusterAdd AlarmDspClusterInUse AlarmDspClusterRemove AlarmDspLast AlarmDspNext AlarmDspPrev AlarmEnable AlarmEnableRec AlarmEnableTag AlarmFilterClose AlarmFilterEditAppend AlarmFilterEditAppendEquipment AlarmFilterEditClose AlarmFilterEditCommit AlarmFilterEditFirst AlarmFilterEditHasField AlarmFilterEditLast AlarmFilterEditNext AlarmFilterEditOpen AlarmFilterEditPrev AlarmFilterEditSet AlarmFilterOpen AlarmFirstTagRec AlarmGetDelay AlarmGetDelayRec AlarmGetDsp AlarmGetFieldRec AlarmGetFilterName AlarmGetInfo AlarmGetOrderbyKey AlarmGetThreshold AlarmGetThresholdRec AlarmHelp AlarmHighestPriority AlarmListCreate AlarmListDestroy AlarmListDisplay AlarmListFill AlarmNextTagRec AlarmNotifyVarChange AlarmQueryFirstRec AlarmQueryNextRec AlarmSaveType AlarmSetDelay AlarmSetDelayRec AlarmSetInfo AlarmSetPriority AlarmSetPriorityRec AlarmSetQuery AlarmSetThreshold AlarmSetThresholdRec AlarmSplit AlarmSumAppend AlarmSumCommit AlarmSumDelete AlarmSumFind AlarmSumFindExact AlarmSumFirst AlarmSumGet AlarmSumLast AlarmSumNext AlarmSumPrev AlarmSumSet AlarmSumSplit AlarmSumType AlarmTagFromEquipment AlmBrowseAck AlmBrowseClear AlmBrowseClose AlmBrowseDisable AlmBrowseEnable AlmBrowseFirst AlmBrowseGetField AlmBrowseNext AlmBrowseNumRecords AlmBrowseOpen AlmBrowsePrev AlmSummaryAck AlmSummaryClear AlmSummaryClose AlmSummaryCommit AlmSummaryDelete AlmSummaryDeleteAll AlmSummaryDisable AlmSummaryEnable AlmSummaryFirst AlmSummaryGetField AlmSummaryLast AlmSummaryNext AlmSummaryNumRecords AlmSummaryOpen AlmSummaryPrev AlmSummarySetFieldValue AlmTagsAck AlmTagsClear AlmTagsClose AlmTagsDisable AlmTagsEnable AlmTagsFirst AlmTagsGetField AlmTagsNext AlmTagsNumRecords AlmTagsOpen AlmTagsPrev AnByName ArcCos ArcSin ArcTan AreaCheck ArrayCopy ArrayCreate ArrayCreateByAn ArrayDestroy ArrayDestroyByAn ArrayExists ArrayExistsByAn ArrayFillFromAlarmDataByAn ArrayGetArrayByAn ArrayGetInfo ArrayGetInt ArrayGetIntByAn ArrayGetMapName ArrayGetMapNameByAn ArrayGetString ArrayGetStringByAn ArrayIsDirty ArraySetInt ArraySetIntByAn ArraySetIsDirty ArraySetString ArraySetStringByAn ArraySwap Ass AssChain AssEquipParameters AssGetProperty AssGetScale AssInfo AssInfoEx AssMetadata AssScaleStr AssWinReplace Beep CAPIPost CallEvent ChainEvent CharToStr CitectColourToPackedRGB CitectInfo ClipCopy ClipPaste ClipReadLn ClipSetMode ClipWriteLn ClusterActivate ClusterDeactivate ClusterFirst ClusterGetName ClusterIsActive ClusterNext ClusterServerTypes ClusterSetName ClusterStatus ClusterSwapActive CodeSetMode CodeTrace ComClose ComOpen ComRead ComReset ComWrite Cos CreateControlObject CreateObject DDEExec DDEPost DDERead DDEWrite DDEhExecute DDEhGetLastError DDEhInitiate DDEhPoke DDEhReadLn DDEhRequest DDEhSetMode DDEhTerminate DDEhWriteLn DLLCall DLLCallEx DLLCallOEM DLLClose DLLOpen DateAdd DateInfo DateSub Debug DebugBreak DegToRad DevAppend DevClose DevControl DevCurr DevDelete DevDisable DevEOF DevFind DevFlush DevGetField DevHistory DevInfo DevModify DevNext DevOpen DevOpenGrp DevPrev DevPrint DevRead DevReadLn DevRecNo DevSeek DevSetField DevSize DevWrite DevWriteLn DevZap DisplayRuntimeManager DllClassCallMethod DllClassCreate DllClassDispose DllClassGetProperty DllClassIsValid DllClassSetProperty DriverInfo DspAnCreateControlObject DspAnFree DspAnGetArea DspAnGetMetadata DspAnGetMetadataAt DspAnGetPos DspAnGetPrivilege DspAnInRgn DspAnInfo DspAnMove DspAnMoveRel DspAnNew DspAnNewRel DspAnSetMetadata DspAnSetMetadataAt DspAnSetName DspAnWrite DspArrayByAn DspBar DspBarLoad DspBmp DspChart DspClearClip DspCol DspDel DspDelayRenderBegin DspDelayRenderEnd DspDirty DspError DspFile DspFileGetInfo DspFileGetName DspFileScroll DspFileSetName DspFlushObj DspFont DspFontHnd DspFullScreen DspGetAnCur DspGetAnExtent DspGetAnFirst DspGetAnFromName DspGetAnFromNameRelative DspGetAnFromPoint DspGetAnHeight DspGetAnNext DspGetAnRawExtent DspGetAnWidth DspGetEnv DspGetMetadataFromName DspGetMetadataFromNameRelative DspGetMouse DspGetMouseOver DspGetNameFromAn DspGetNearestAn DspGetParentAn DspGetSlider DspGetTip DspGrayButton DspInfo DspInfoDestroy DspInfoField DspInfoNew DspInfoValid DspIsButtonGray DspIsVisible DspKernel DspMCI DspMarkerMove DspMarkerNew DspPage DspPlaySound DspPopupMenu DspRichText DspRichTextEdit DspRichTextEnable DspRichTextGetInfo DspRichTextLoad DspRichTextPgScroll DspRichTextPrint DspRichTextSave DspRichTextScroll DspRubEnd DspRubMove DspRubSetClip DspRubStart DspSetClip DspSetCurColor DspSetMetadataFromName DspSetMetadataFromNameRelative DspSetPopupMenuFont DspSetSlider DspSetTip DspSetTooltipFont DspShow DspStatus DspStr DspSym DspSymAnm DspSymAtSize DspSymLoad DspText DspTipMode DspTrend DspTrendInfo DspTrnLoad DspVerbose DumpKernel EngToGeneric EquipBrowseClose EquipBrowseFirst EquipBrowseGetField EquipBrowseNext EquipBrowseNumRecords EquipBrowseOpen EquipBrowsePrev EquipCheckUpdate EquipGetParameter EquipGetProperty EquipRefBrowseClose EquipRefBrowseFirst EquipRefBrowseGetField EquipRefBrowseNext EquipRefBrowseNumRecords EquipRefBrowseOpen EquipRefBrowsePrev EquipSetProperty EquipStateBrowseClose EquipStateBrowseFirst EquipStateBrowseGetField EquipStateBrowseNext EquipStateBrowseNumRecords EquipStateBrowseOpen EquipStateBrowsePrev ErrCom ErrDrv ErrGetHw ErrHelp ErrInfo ErrLog ErrMsg ErrSet ErrSetHw ErrSetLevel ErrTrap Exec ExecuteDTSPkg Exp Fact FileClose FileCopy FileDelete FileEOF FileExist FileFind FileFindClose FileGetTime FileMakePath FileOpen FileRead FileReadBlock FileReadLn FileRename FileRichTextPrint FileSeek FileSetTime FileSize FileSplitPath FileWrite FileWriteBlock FileWriteLn FmtClose FmtFieldHnd FmtGetField FmtGetFieldCount FmtGetFieldHnd FmtGetFieldName FmtGetFieldWidth FmtOpen FmtSetField FmtSetFieldHnd FmtToStr FormActive FormAddList FormButton FormCheckBox FormComboBox FormCurr FormDestroy FormEdit FormField FormGetCurrInst FormGetData FormGetInst FormGetText FormGoto FormGroupBox FormInput FormListAddText FormListBox FormListDeleteText FormListSelectText FormNew FormOpenFile FormPassword FormPosition FormPrompt FormRadioButton FormRead FormSaveAsFile FormSecurePassword FormSelectPrinter FormSetData FormSetInst FormSetText FormWndHnd FtpClose FtpFileCopy FtpFileFind FtpFileFindClose FtpOpen FullName FuzzyClose FuzzyGetCodeValue FuzzyGetShellValue FuzzyOpen FuzzySetCodeValue FuzzySetShellValue FuzzyTrace GetArea GetEnv GetEvent GetGlbBool GetGlbFlt GetGlbInt GetGlbStr GetLanguage GetLogging GetPriv GetWinTitle GraphBox GraphClose GraphGetInfo GraphGrid GraphLine GraphMarker GraphOpen GraphScaleMarker GraphText GrpClose GrpDelete GrpFirst GrpIn GrpInsert GrpMath GrpName GrpNext GrpOpen GrpToStr Halt HexToStr HighByte HighWord HtmlHelp IODeviceControl IODeviceInfo Input IntToReal IntToStr IsError KerCmd KernelQueueLength KernelTableInfo KernelTableItemCount KeyAllowCursor KeyBS KeyGet KeyGetCursor KeyMove KeyOEM KeyPeek KeyPut KeyPutStr KeyReplay KeySetCursor KeySetSeq KeySetType LanguageFileTranslate LineAnswer LineClose LineDrop LineInfo LineMakeCall LineOpen Ln Log Login Logout LowByte LowWord MailError MailLogoff MailLogon MailRead MailSend MapClear MapClose MapExists MapKeyCount MapKeyDelete MapKeyExists MapKeyFirst MapKeyNext MapOpen MapValueGet MapValueSet MapValueSetQuality Max MenuGetChild MenuGetFirstChild MenuGetGenericNode MenuGetNextChild MenuGetNodeByPath MenuGetPageNode MenuGetParent MenuGetPrevChild MenuGetWindowNode MenuNodeAddChild MenuNodeGetCurr MenuNodeGetDepth MenuNodeGetExpanded MenuNodeGetProperty MenuNodeGetTargetPage MenuNodeHasCommand MenuNodeIsDisabled MenuNodeIsHidden MenuNodeRemove MenuNodeRunCommand MenuNodeSetDisabledWhen MenuNodeSetExpanded MenuNodeSetHiddenWhen MenuNodeSetProperty MenuReload Message Min MsgBrdcst MsgClose MsgGetCurr MsgOpen MsgRPC MsgRead MsgState MsgWrite MultiMonitorStart Name OLEDateToTime ObjectAssociateEvents ObjectAssociatePropertyWithTag ObjectByNameEx ObjectHasInterface ObjectIsValid ObjectNothing ObjectResetState ObjectSaveState ObjectToStr OnEvent PackedRGBToCitectColour PageBack PageExists PageFileInfo PageFileInfoEx PageForward PageGetInt PageGetStr PageHome PageInfo PageLast PageListCount PageListCurrent PageListDelete PageListDisplay PageListInfo PageNext PagePeekCurrent PagePeekLast PagePopLast PagePrev PagePushLast PageRecall PageSetInt PageSetStr PageTask PageTransformCoords ParameterGet ParameterPut PasswordDecrypt PasswordEncrypt PathToStr Pi PlotClose PlotDraw PlotGetMarker PlotGrid PlotInfo PlotLine PlotMarker PlotOpen PlotScaleMarker PlotSetMarker PlotText PlotXYLine PointData PointFree PointNew PointRead PointStatus PointWrite PointWriteArrayLong PointWriteArrayReal Pow PrintFont ProcessRestart ProductInfo ProjectInfo ProjectRestartGet ProjectRestartSet ProjectSet Prompt PurgeMemory QualityCreate QualityGetPart QualityIsBad QualityIsControlInhibit QualityIsGood QualityIsOverride QualityIsUncertain QualitySetPart QualityToStr QueClose QueLength QueOpen QuePeek QueRead QueWrite RadToDeg Rand RdbClose RdbEOF RdbFind RdbFirstRec RdbGet RdbGetPath RdbNextRec RdbNoRec RdbOpen RdbOpenPage RdbOpenSub RdbPosRec RdbPrevRec RdbSet RdbSetPathRdbLastRec ReRead RealToStr RepGetCluster RepGetControl RepSetControl Report ResetScreenProfile Round SOEArchive SOEDismount SOEEventAdd SOEMount SPCAlarms SPCClientInfo SPCClientTableGet SPCGetHistogramTable SPCGetSubgroupTable SPCProcessXRSGet SPCProcessXRSSet SPCSetLimit SPCSpecLimitGet SPCSpecLimitSet SPCSubgroupSizeGet SPCSubgroupSizeSet SQLAppend SQLBeginTran SQLCall SQLCancel SQLClose SQLCommit SQLConnect SQLCreate SQLDisconnect SQLDispose SQLEnd SQLErrMsg SQLExec SQLFieldInfo SQLGetField SQLGetRecordset SQLGetScalar SQLInfo SQLIsNullField SQLNext SQLNumChange SQLNumFields SQLOpen SQLParamsClearAll SQLParamsSetAsInt SQLParamsSetAsReal SQLParamsSetAsString SQLPrev SQLQueryCreate SQLQueryDispose SQLRollBack SQLRowCount SQLSet SQLTraceOff SQLTraceOn SchdClose SchdConfigClose SchdConfigFirst SchdConfigGetField SchdConfigNext SchdConfigNumRecords SchdConfigOpen SchdConfigPrev SchdFirst SchdGetField SchdNext SchdNumRecords SchdOpen SchdPrev SchdSpecialAdd SchdSpecialClose SchdSpecialDelete SchdSpecialFirst SchdSpecialGetField SchdSpecialItemAdd SchdSpecialItemAddRange SchdSpecialItemClose SchdSpecialItemDelete SchdSpecialItemDeleteRange SchdSpecialItemFirst SchdSpecialItemGetField SchdSpecialItemModify SchdSpecialItemModifyRange SchdSpecialItemNext SchdSpecialItemNumRecords SchdSpecialItemOpen SchdSpecialItemPrev SchdSpecialModify SchdSpecialNext SchdSpecialNumRecords SchdSpecialOpen SchdSpecialPrev ScheduleItemAdd ScheduleItemDelete ScheduleItemModify ScheduleItemSetRepeat SemClose SemOpen SemSignal SemWait SendKeys ServerBrowseClose ServerBrowseFirst ServerBrowseGetField ServerBrowseNext ServerBrowseNumRecords ServerBrowseOpen ServerBrowsePrev ServerControl ServerDumpKernel ServerGetProperty ServerInfo ServerInfoEx ServerIsOnline ServerRPC ServerReload ServerRestart ServiceGetList SetArea SetEvent SetGlbBool SetGlbFlt SetGlbInt SetGlbStr SetLanguage SetLogging Shutdown ShutdownMode Sign Sin Sleep SleepMS Sqrt StrCalcWidth StrClean StrFill StrFormat StrGetChar StrLeft StrLength StrLower StrMid StrPad StrReplace StrRight StrSearch StrSetChar StrToChar StrToDate StrToFmt StrToGrp StrToHex StrToInt StrToLines StrToLocalText StrToPeriod StrToReal StrToTime StrToTimestamp StrToValue StrTrim StrTruncFont StrTruncFontHnd StrUpper StrWord SubscriptionAddCallback SubscriptionGetAttribute SubscriptionGetInfo SubscriptionGetQuality SubscriptionGetTag SubscriptionGetTimestamp SubscriptionGetValue SubscriptionRemoveCallback SwitchConfig SysTime SysTimeDelta TableLookUp TableMath TableShift TagBrowseClose TagBrowseFirst TagBrowseGetField TagBrowseNext TagBrowseNumRecords TagBrowseOpen TagBrowsePrev TagGetProperty TagGetScale TagGetValue TagInfo TagInfoEx TagRDBReload TagRead TagReadEx TagResolve TagScaleStr TagSetOverrideBad TagSetOverrideGood TagSetOverrideQuality TagSetOverrideUncertain TagSubscribe TagUnresolve TagUnsubscribe TagWrite TagWriteIntArray TagWriteRealArray Tan TaskCall TaskCluster TaskGetSignal TaskHnd TaskKill TaskNew TaskNewEx TaskResume TaskSetSignal TaskSuspend TestDbl2Flt TestStringNULL TestVariantINT TestVariantNULL TestVariantQUALITY TestVariantREAL TestVariantSTRING TestVariantSTRINGNULL TestVariantTIMESTAMP TimeCurrent TimeInfo TimeIntToTimestamp TimeSet TimeToOLEDate TimeToStr TimeToStrFmt TimeUTCOffset TimestampAdd TimestampCreate TimestampCurrent TimestampDifference TimestampFormat TimestampGetPart TimestampSub TimestampToStr TimestampToTimeInt TraceMsg TrnAddHistory TrnBrowseClose TrnBrowseFirst TrnBrowseGetField TrnBrowseNext TrnBrowseNumRecords TrnBrowseOpen TrnBrowsePrev TrnClientInfo TrnDelHistory TrnDelete TrnEcho TrnEventGetTable TrnEventGetTableMS TrnEventSetTable TrnEventSetTableMS TrnFlush TrnGetBufEvent TrnGetBufMSTime TrnGetBufTime TrnGetBufValue TrnGetCluster TrnGetCursorEvent TrnGetCursorMSTime TrnGetCursorPos TrnGetCursorTime TrnGetCursorValue TrnGetCursorValueStr TrnGetDefScale TrnGetDisplayMode TrnGetEvent TrnGetFormat TrnGetGatedValue TrnGetInvalidValue TrnGetMSTime TrnGetMode TrnGetPen TrnGetPenComment TrnGetPenFocus TrnGetPenNo TrnGetPeriod TrnGetScale TrnGetScaleStr TrnGetSpan TrnGetTable TrnGetTime TrnGetUnits TrnInfo TrnIsValidValue TrnNew TrnScroll TrnSelect TrnSetCursor TrnSetCursorPos TrnSetDisplayMode TrnSetEvent TrnSetPen TrnSetPenFocus TrnSetPeriod TrnSetScale TrnSetSpan TrnSetTable TrnSetTime UserCreate UserDelete UserInfo UserLogin UserPassword UserPasswordExpiryDays UserSetStr UserUpdateRecord UserVerify VariableQuality VariableTimestamp VariableToStr VbCallOpen VbCallReturn Version WhoAmI WinCopy WinFile WinFree WinFreeEx WinGetClicked WinGetFirstChild WinGetFocus WinGetName WinGetNextChild WinGetParent WinGetWndHnd WinGoto WinMode WinMove WinNew WinNewAt WinNewPinAt WinNext WinNumber WinPos WinPrev WinPrint WinPrintFile WinSelect WinSetName WinSize WinStyle WndFind WndGetFileProfile WndGetProfile WndHelp WndInfo WndMonitorInfo WndMonitorInfoEx WndPutFileProfile WndPutProfile WndShow WndViewer XMLClose XMLCreate XMLGetAttribute XMLGetAttributeCount XMLGetAttributeName XMLGetAttributeValue XMLGetChild XMLGetChildCount XMLGetParent XMLGetRoot XMLNodeAddChild XMLNodeFind XMLNodeGetName XMLNodeGetValue XMLNodeRemove XMLNodeSetValue XMLOpen XMLSave XMLSetAttribute _AlarmQueryFirstRec _AlarmQueryNextRec _DspButton _DspButtonFn _DspCursor_MouseDown _DspCursor_MouseUp _DspExec _DspFixedWidthText _DspObjectGetCursor _DspObjectGetCursorDown _DspObjectGetCursorUp _LibControl_GetANName _LibControl_GetInt _LibControl_GetInt_ByAN _LibControl_GetStr _LibControl_GetStr_ByAN _LibControl_SetCallbackArg _LibControl_StrArray_GetInt _LibControl_StrArray_GetLen _LibControl_StrArray_SetInt _LibControl_StrArray_SetLen _LibControl_StrReplace _ObjectCallMethod _ObjectGetProperty _ObjectServerInvoke _ObjectServerInvokeEx _ObjectSetProperty _PageDisplay _PageGoto _RunTest _RunTests _TimeSub _VbCallRun _VbCicodeCallReturn _VbExpressionOpen _Wave _WinTitle __ObjectMasterAN __TabAlarm_GetIDByAN __Tabmenu_GetMenuConfigDisabled</Keywords>
                <Keywords name="Keywords2">int long real string object module quality timestamp</Keywords>
                <Keywords name="Keywords3">and case cicode do else end for function global if mod module not or private public return select to then while</Keywords>
                <Keywords name="Keywords4">true false __DATE__ __DB__ __FIELD__ __FILE__ __LINE__ __RECORD__ __TIME__ _BLANK_ ANIMATE ANM_ARRAY ANSI_CHARSET Arg1 Arg2 Arg3 Arg4 Arg5 Arg6 Arg7 Arg8 ArgValue1 BAD_HANDLE BORDER BORDER_3D DELETE_ANM EVEN_P FALSE GRAY_ALL GRAY_HIDE GRAY_PART GRAY_SUNK NONE NORMAL ODD_P OVERLAP RAboveUCL RBelowLCL ROutsideCL SOFT TARGET TRN_EVENT TRN_PERIODIC TRN_PERIODIC_EVENT TRUE WRITE_ON_DRAG WRITE_ON_DROP XAboveUCL XBelowLCL XDownTrend XErratic XFreak XGradualDown XGradualUp XMixture XOutsideCL XOutsideWL XStratification XUpTrend</Keywords>
                <Keywords name="Keywords5">_CreateControlObject AlarmFirstCatRec AlarmFirstPriRec AlarmNextCatRec AlarmNextPriRec Assert DateDay DateDayMonth DateMonth DateWeekDay DevFirst DspButton DspButtonFn DspSymAnmEx Exec FlashColourState GetBlueValue GetGreenValue GetRedValue GetVar GetVarDef GetVarStr GetVarStrDef IFDEF IFDEFADVALM IFDEFANAALM IFDEFDIGALM InAnimationCycle InCommunicationsCycle KeyDown KeyLeft KeyReplayAll KeyRight KeyUp ObjectByName PackedRGB Print PrintLn Pulse Shutdown SQLNoFields TagDebug TagDebugForm TestRandomWave TestSawWave TestSinWave TestSquareWave TestTriangWave TimeHour TimeMidNight TimeMin TimeSec TimeSecond TimeYearDay Toggle UnitControl UnitInfo UnitStats VarToArrayIndex VarToStr&#x000D;&#x000A;EnterCriticalSection LeaveCriticalSection</Keywords>
                <Keywords name="Keywords6"></Keywords>
                <Keywords name="Keywords7"></Keywords>
                <Keywords name="Keywords8"></Keywords>
                <Keywords name="Delimiters">00&quot; 01^ 02&quot; 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
            </KeywordLists>
            <Styles>
                <WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName="Courier New" fontStyle="0" fontSize="8" nesting="0" />
                <WordsStyle name="COMMENTS" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="2" fontSize="8" nesting="0" />
                <WordsStyle name="LINE COMMENTS" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="2" fontSize="8" nesting="0" />
                <WordsStyle name="NUMBERS" fgColor="FF8080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="8" nesting="0" />
                <WordsStyle name="KEYWORDS1" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="8" nesting="0" />
                <WordsStyle name="KEYWORDS2" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="8" nesting="0" />
                <WordsStyle name="KEYWORDS3" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="8" nesting="0" />
                <WordsStyle name="KEYWORDS4" fgColor="FF8080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="8" nesting="0" />
                <WordsStyle name="KEYWORDS5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="8" nesting="0" />
                <WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="OPERATORS" fgColor="B1B1B1" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="8" nesting="0" />
                <WordsStyle name="FOLDER IN CODE1" fgColor="8080FF" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="FOLDER IN CODE2" fgColor="00FFFF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS1" fgColor="FF00FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="8" nesting="1" />
                <WordsStyle name="DELIMITERS2" fgColor="00FF80" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            </Styles>
        </UserLang>
    </NotepadPlus>
    

Reply
  • I tend to use Notepad++ quite a bit.  Here's a syntax highlighting config that works in v7.8.5.  Use at your own peril...
    I've probably missed some functions that are defined in the Include project, rather than the application itself.
     

    <NotepadPlus>
        <UserLang name="CiCode" ext="ci cii rpt" udlVersion="2.1">
            <Settings>
                <Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
                <Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
            </Settings>
            <KeywordLists>
                <Keywords name="Comments">00// 00! 01 02{{EOL}} 03/* 04*/</Keywords>
                <Keywords name="Numbers, prefix1"></Keywords>
                <Keywords name="Numbers, prefix2">0x</Keywords>
                <Keywords name="Numbers, extras1"></Keywords>
                <Keywords name="Numbers, extras2">A B C D E F a b c d e f</Keywords>
                <Keywords name="Numbers, suffix1"></Keywords>
                <Keywords name="Numbers, suffix2"></Keywords>
                <Keywords name="Numbers, range"></Keywords>
                <Keywords name="Operators1">~ ! @ % ^ &amp; * ( ) - + = | \ / { } [ ] : ; &quot; &apos; &lt; &gt; , . ?</Keywords>
                <Keywords name="Operators2"></Keywords>
                <Keywords name="Folders in code1, open"></Keywords>
                <Keywords name="Folders in code1, middle"></Keywords>
                <Keywords name="Folders in code1, close"></Keywords>
                <Keywords name="Folders in code2, open"></Keywords>
                <Keywords name="Folders in code2, middle"></Keywords>
                <Keywords name="Folders in code2, close"></Keywords>
                <Keywords name="Folders in comment, open"></Keywords>
                <Keywords name="Folders in comment, middle"></Keywords>
                <Keywords name="Folders in comment, close"></Keywords>
                <Keywords name="Keywords1">Abs AccControl AccumBrowseClose AccumBrowseFirst AccumBrowseGetField AccumBrowseNext AccumBrowseNumRecords AccumBrowseOpen AccumBrowsePrev AlarmAck AlarmAckRec AlarmAckTag AlarmActive AlarmCatGetFormat AlarmClear AlarmClearRec AlarmClearTag AlarmComment AlarmCommentRecID AlarmCount AlarmCountEquipment AlarmCountList AlarmDelete AlarmDisable AlarmDisableRec AlarmDisableTag AlarmDsp AlarmDspClusterAdd AlarmDspClusterInUse AlarmDspClusterRemove AlarmDspLast AlarmDspNext AlarmDspPrev AlarmEnable AlarmEnableRec AlarmEnableTag AlarmFilterClose AlarmFilterEditAppend AlarmFilterEditAppendEquipment AlarmFilterEditClose AlarmFilterEditCommit AlarmFilterEditFirst AlarmFilterEditHasField AlarmFilterEditLast AlarmFilterEditNext AlarmFilterEditOpen AlarmFilterEditPrev AlarmFilterEditSet AlarmFilterOpen AlarmFirstTagRec AlarmGetDelay AlarmGetDelayRec AlarmGetDsp AlarmGetFieldRec AlarmGetFilterName AlarmGetInfo AlarmGetOrderbyKey AlarmGetThreshold AlarmGetThresholdRec AlarmHelp AlarmHighestPriority AlarmListCreate AlarmListDestroy AlarmListDisplay AlarmListFill AlarmNextTagRec AlarmNotifyVarChange AlarmQueryFirstRec AlarmQueryNextRec AlarmSaveType AlarmSetDelay AlarmSetDelayRec AlarmSetInfo AlarmSetPriority AlarmSetPriorityRec AlarmSetQuery AlarmSetThreshold AlarmSetThresholdRec AlarmSplit AlarmSumAppend AlarmSumCommit AlarmSumDelete AlarmSumFind AlarmSumFindExact AlarmSumFirst AlarmSumGet AlarmSumLast AlarmSumNext AlarmSumPrev AlarmSumSet AlarmSumSplit AlarmSumType AlarmTagFromEquipment AlmBrowseAck AlmBrowseClear AlmBrowseClose AlmBrowseDisable AlmBrowseEnable AlmBrowseFirst AlmBrowseGetField AlmBrowseNext AlmBrowseNumRecords AlmBrowseOpen AlmBrowsePrev AlmSummaryAck AlmSummaryClear AlmSummaryClose AlmSummaryCommit AlmSummaryDelete AlmSummaryDeleteAll AlmSummaryDisable AlmSummaryEnable AlmSummaryFirst AlmSummaryGetField AlmSummaryLast AlmSummaryNext AlmSummaryNumRecords AlmSummaryOpen AlmSummaryPrev AlmSummarySetFieldValue AlmTagsAck AlmTagsClear AlmTagsClose AlmTagsDisable AlmTagsEnable AlmTagsFirst AlmTagsGetField AlmTagsNext AlmTagsNumRecords AlmTagsOpen AlmTagsPrev AnByName ArcCos ArcSin ArcTan AreaCheck ArrayCopy ArrayCreate ArrayCreateByAn ArrayDestroy ArrayDestroyByAn ArrayExists ArrayExistsByAn ArrayFillFromAlarmDataByAn ArrayGetArrayByAn ArrayGetInfo ArrayGetInt ArrayGetIntByAn ArrayGetMapName ArrayGetMapNameByAn ArrayGetString ArrayGetStringByAn ArrayIsDirty ArraySetInt ArraySetIntByAn ArraySetIsDirty ArraySetString ArraySetStringByAn ArraySwap Ass AssChain AssEquipParameters AssGetProperty AssGetScale AssInfo AssInfoEx AssMetadata AssScaleStr AssWinReplace Beep CAPIPost CallEvent ChainEvent CharToStr CitectColourToPackedRGB CitectInfo ClipCopy ClipPaste ClipReadLn ClipSetMode ClipWriteLn ClusterActivate ClusterDeactivate ClusterFirst ClusterGetName ClusterIsActive ClusterNext ClusterServerTypes ClusterSetName ClusterStatus ClusterSwapActive CodeSetMode CodeTrace ComClose ComOpen ComRead ComReset ComWrite Cos CreateControlObject CreateObject DDEExec DDEPost DDERead DDEWrite DDEhExecute DDEhGetLastError DDEhInitiate DDEhPoke DDEhReadLn DDEhRequest DDEhSetMode DDEhTerminate DDEhWriteLn DLLCall DLLCallEx DLLCallOEM DLLClose DLLOpen DateAdd DateInfo DateSub Debug DebugBreak DegToRad DevAppend DevClose DevControl DevCurr DevDelete DevDisable DevEOF DevFind DevFlush DevGetField DevHistory DevInfo DevModify DevNext DevOpen DevOpenGrp DevPrev DevPrint DevRead DevReadLn DevRecNo DevSeek DevSetField DevSize DevWrite DevWriteLn DevZap DisplayRuntimeManager DllClassCallMethod DllClassCreate DllClassDispose DllClassGetProperty DllClassIsValid DllClassSetProperty DriverInfo DspAnCreateControlObject DspAnFree DspAnGetArea DspAnGetMetadata DspAnGetMetadataAt DspAnGetPos DspAnGetPrivilege DspAnInRgn DspAnInfo DspAnMove DspAnMoveRel DspAnNew DspAnNewRel DspAnSetMetadata DspAnSetMetadataAt DspAnSetName DspAnWrite DspArrayByAn DspBar DspBarLoad DspBmp DspChart DspClearClip DspCol DspDel DspDelayRenderBegin DspDelayRenderEnd DspDirty DspError DspFile DspFileGetInfo DspFileGetName DspFileScroll DspFileSetName DspFlushObj DspFont DspFontHnd DspFullScreen DspGetAnCur DspGetAnExtent DspGetAnFirst DspGetAnFromName DspGetAnFromNameRelative DspGetAnFromPoint DspGetAnHeight DspGetAnNext DspGetAnRawExtent DspGetAnWidth DspGetEnv DspGetMetadataFromName DspGetMetadataFromNameRelative DspGetMouse DspGetMouseOver DspGetNameFromAn DspGetNearestAn DspGetParentAn DspGetSlider DspGetTip DspGrayButton DspInfo DspInfoDestroy DspInfoField DspInfoNew DspInfoValid DspIsButtonGray DspIsVisible DspKernel DspMCI DspMarkerMove DspMarkerNew DspPage DspPlaySound DspPopupMenu DspRichText DspRichTextEdit DspRichTextEnable DspRichTextGetInfo DspRichTextLoad DspRichTextPgScroll DspRichTextPrint DspRichTextSave DspRichTextScroll DspRubEnd DspRubMove DspRubSetClip DspRubStart DspSetClip DspSetCurColor DspSetMetadataFromName DspSetMetadataFromNameRelative DspSetPopupMenuFont DspSetSlider DspSetTip DspSetTooltipFont DspShow DspStatus DspStr DspSym DspSymAnm DspSymAtSize DspSymLoad DspText DspTipMode DspTrend DspTrendInfo DspTrnLoad DspVerbose DumpKernel EngToGeneric EquipBrowseClose EquipBrowseFirst EquipBrowseGetField EquipBrowseNext EquipBrowseNumRecords EquipBrowseOpen EquipBrowsePrev EquipCheckUpdate EquipGetParameter EquipGetProperty EquipRefBrowseClose EquipRefBrowseFirst EquipRefBrowseGetField EquipRefBrowseNext EquipRefBrowseNumRecords EquipRefBrowseOpen EquipRefBrowsePrev EquipSetProperty EquipStateBrowseClose EquipStateBrowseFirst EquipStateBrowseGetField EquipStateBrowseNext EquipStateBrowseNumRecords EquipStateBrowseOpen EquipStateBrowsePrev ErrCom ErrDrv ErrGetHw ErrHelp ErrInfo ErrLog ErrMsg ErrSet ErrSetHw ErrSetLevel ErrTrap Exec ExecuteDTSPkg Exp Fact FileClose FileCopy FileDelete FileEOF FileExist FileFind FileFindClose FileGetTime FileMakePath FileOpen FileRead FileReadBlock FileReadLn FileRename FileRichTextPrint FileSeek FileSetTime FileSize FileSplitPath FileWrite FileWriteBlock FileWriteLn FmtClose FmtFieldHnd FmtGetField FmtGetFieldCount FmtGetFieldHnd FmtGetFieldName FmtGetFieldWidth FmtOpen FmtSetField FmtSetFieldHnd FmtToStr FormActive FormAddList FormButton FormCheckBox FormComboBox FormCurr FormDestroy FormEdit FormField FormGetCurrInst FormGetData FormGetInst FormGetText FormGoto FormGroupBox FormInput FormListAddText FormListBox FormListDeleteText FormListSelectText FormNew FormOpenFile FormPassword FormPosition FormPrompt FormRadioButton FormRead FormSaveAsFile FormSecurePassword FormSelectPrinter FormSetData FormSetInst FormSetText FormWndHnd FtpClose FtpFileCopy FtpFileFind FtpFileFindClose FtpOpen FullName FuzzyClose FuzzyGetCodeValue FuzzyGetShellValue FuzzyOpen FuzzySetCodeValue FuzzySetShellValue FuzzyTrace GetArea GetEnv GetEvent GetGlbBool GetGlbFlt GetGlbInt GetGlbStr GetLanguage GetLogging GetPriv GetWinTitle GraphBox GraphClose GraphGetInfo GraphGrid GraphLine GraphMarker GraphOpen GraphScaleMarker GraphText GrpClose GrpDelete GrpFirst GrpIn GrpInsert GrpMath GrpName GrpNext GrpOpen GrpToStr Halt HexToStr HighByte HighWord HtmlHelp IODeviceControl IODeviceInfo Input IntToReal IntToStr IsError KerCmd KernelQueueLength KernelTableInfo KernelTableItemCount KeyAllowCursor KeyBS KeyGet KeyGetCursor KeyMove KeyOEM KeyPeek KeyPut KeyPutStr KeyReplay KeySetCursor KeySetSeq KeySetType LanguageFileTranslate LineAnswer LineClose LineDrop LineInfo LineMakeCall LineOpen Ln Log Login Logout LowByte LowWord MailError MailLogoff MailLogon MailRead MailSend MapClear MapClose MapExists MapKeyCount MapKeyDelete MapKeyExists MapKeyFirst MapKeyNext MapOpen MapValueGet MapValueSet MapValueSetQuality Max MenuGetChild MenuGetFirstChild MenuGetGenericNode MenuGetNextChild MenuGetNodeByPath MenuGetPageNode MenuGetParent MenuGetPrevChild MenuGetWindowNode MenuNodeAddChild MenuNodeGetCurr MenuNodeGetDepth MenuNodeGetExpanded MenuNodeGetProperty MenuNodeGetTargetPage MenuNodeHasCommand MenuNodeIsDisabled MenuNodeIsHidden MenuNodeRemove MenuNodeRunCommand MenuNodeSetDisabledWhen MenuNodeSetExpanded MenuNodeSetHiddenWhen MenuNodeSetProperty MenuReload Message Min MsgBrdcst MsgClose MsgGetCurr MsgOpen MsgRPC MsgRead MsgState MsgWrite MultiMonitorStart Name OLEDateToTime ObjectAssociateEvents ObjectAssociatePropertyWithTag ObjectByNameEx ObjectHasInterface ObjectIsValid ObjectNothing ObjectResetState ObjectSaveState ObjectToStr OnEvent PackedRGBToCitectColour PageBack PageExists PageFileInfo PageFileInfoEx PageForward PageGetInt PageGetStr PageHome PageInfo PageLast PageListCount PageListCurrent PageListDelete PageListDisplay PageListInfo PageNext PagePeekCurrent PagePeekLast PagePopLast PagePrev PagePushLast PageRecall PageSetInt PageSetStr PageTask PageTransformCoords ParameterGet ParameterPut PasswordDecrypt PasswordEncrypt PathToStr Pi PlotClose PlotDraw PlotGetMarker PlotGrid PlotInfo PlotLine PlotMarker PlotOpen PlotScaleMarker PlotSetMarker PlotText PlotXYLine PointData PointFree PointNew PointRead PointStatus PointWrite PointWriteArrayLong PointWriteArrayReal Pow PrintFont ProcessRestart ProductInfo ProjectInfo ProjectRestartGet ProjectRestartSet ProjectSet Prompt PurgeMemory QualityCreate QualityGetPart QualityIsBad QualityIsControlInhibit QualityIsGood QualityIsOverride QualityIsUncertain QualitySetPart QualityToStr QueClose QueLength QueOpen QuePeek QueRead QueWrite RadToDeg Rand RdbClose RdbEOF RdbFind RdbFirstRec RdbGet RdbGetPath RdbNextRec RdbNoRec RdbOpen RdbOpenPage RdbOpenSub RdbPosRec RdbPrevRec RdbSet RdbSetPathRdbLastRec ReRead RealToStr RepGetCluster RepGetControl RepSetControl Report ResetScreenProfile Round SOEArchive SOEDismount SOEEventAdd SOEMount SPCAlarms SPCClientInfo SPCClientTableGet SPCGetHistogramTable SPCGetSubgroupTable SPCProcessXRSGet SPCProcessXRSSet SPCSetLimit SPCSpecLimitGet SPCSpecLimitSet SPCSubgroupSizeGet SPCSubgroupSizeSet SQLAppend SQLBeginTran SQLCall SQLCancel SQLClose SQLCommit SQLConnect SQLCreate SQLDisconnect SQLDispose SQLEnd SQLErrMsg SQLExec SQLFieldInfo SQLGetField SQLGetRecordset SQLGetScalar SQLInfo SQLIsNullField SQLNext SQLNumChange SQLNumFields SQLOpen SQLParamsClearAll SQLParamsSetAsInt SQLParamsSetAsReal SQLParamsSetAsString SQLPrev SQLQueryCreate SQLQueryDispose SQLRollBack SQLRowCount SQLSet SQLTraceOff SQLTraceOn SchdClose SchdConfigClose SchdConfigFirst SchdConfigGetField SchdConfigNext SchdConfigNumRecords SchdConfigOpen SchdConfigPrev SchdFirst SchdGetField SchdNext SchdNumRecords SchdOpen SchdPrev SchdSpecialAdd SchdSpecialClose SchdSpecialDelete SchdSpecialFirst SchdSpecialGetField SchdSpecialItemAdd SchdSpecialItemAddRange SchdSpecialItemClose SchdSpecialItemDelete SchdSpecialItemDeleteRange SchdSpecialItemFirst SchdSpecialItemGetField SchdSpecialItemModify SchdSpecialItemModifyRange SchdSpecialItemNext SchdSpecialItemNumRecords SchdSpecialItemOpen SchdSpecialItemPrev SchdSpecialModify SchdSpecialNext SchdSpecialNumRecords SchdSpecialOpen SchdSpecialPrev ScheduleItemAdd ScheduleItemDelete ScheduleItemModify ScheduleItemSetRepeat SemClose SemOpen SemSignal SemWait SendKeys ServerBrowseClose ServerBrowseFirst ServerBrowseGetField ServerBrowseNext ServerBrowseNumRecords ServerBrowseOpen ServerBrowsePrev ServerControl ServerDumpKernel ServerGetProperty ServerInfo ServerInfoEx ServerIsOnline ServerRPC ServerReload ServerRestart ServiceGetList SetArea SetEvent SetGlbBool SetGlbFlt SetGlbInt SetGlbStr SetLanguage SetLogging Shutdown ShutdownMode Sign Sin Sleep SleepMS Sqrt StrCalcWidth StrClean StrFill StrFormat StrGetChar StrLeft StrLength StrLower StrMid StrPad StrReplace StrRight StrSearch StrSetChar StrToChar StrToDate StrToFmt StrToGrp StrToHex StrToInt StrToLines StrToLocalText StrToPeriod StrToReal StrToTime StrToTimestamp StrToValue StrTrim StrTruncFont StrTruncFontHnd StrUpper StrWord SubscriptionAddCallback SubscriptionGetAttribute SubscriptionGetInfo SubscriptionGetQuality SubscriptionGetTag SubscriptionGetTimestamp SubscriptionGetValue SubscriptionRemoveCallback SwitchConfig SysTime SysTimeDelta TableLookUp TableMath TableShift TagBrowseClose TagBrowseFirst TagBrowseGetField TagBrowseNext TagBrowseNumRecords TagBrowseOpen TagBrowsePrev TagGetProperty TagGetScale TagGetValue TagInfo TagInfoEx TagRDBReload TagRead TagReadEx TagResolve TagScaleStr TagSetOverrideBad TagSetOverrideGood TagSetOverrideQuality TagSetOverrideUncertain TagSubscribe TagUnresolve TagUnsubscribe TagWrite TagWriteIntArray TagWriteRealArray Tan TaskCall TaskCluster TaskGetSignal TaskHnd TaskKill TaskNew TaskNewEx TaskResume TaskSetSignal TaskSuspend TestDbl2Flt TestStringNULL TestVariantINT TestVariantNULL TestVariantQUALITY TestVariantREAL TestVariantSTRING TestVariantSTRINGNULL TestVariantTIMESTAMP TimeCurrent TimeInfo TimeIntToTimestamp TimeSet TimeToOLEDate TimeToStr TimeToStrFmt TimeUTCOffset TimestampAdd TimestampCreate TimestampCurrent TimestampDifference TimestampFormat TimestampGetPart TimestampSub TimestampToStr TimestampToTimeInt TraceMsg TrnAddHistory TrnBrowseClose TrnBrowseFirst TrnBrowseGetField TrnBrowseNext TrnBrowseNumRecords TrnBrowseOpen TrnBrowsePrev TrnClientInfo TrnDelHistory TrnDelete TrnEcho TrnEventGetTable TrnEventGetTableMS TrnEventSetTable TrnEventSetTableMS TrnFlush TrnGetBufEvent TrnGetBufMSTime TrnGetBufTime TrnGetBufValue TrnGetCluster TrnGetCursorEvent TrnGetCursorMSTime TrnGetCursorPos TrnGetCursorTime TrnGetCursorValue TrnGetCursorValueStr TrnGetDefScale TrnGetDisplayMode TrnGetEvent TrnGetFormat TrnGetGatedValue TrnGetInvalidValue TrnGetMSTime TrnGetMode TrnGetPen TrnGetPenComment TrnGetPenFocus TrnGetPenNo TrnGetPeriod TrnGetScale TrnGetScaleStr TrnGetSpan TrnGetTable TrnGetTime TrnGetUnits TrnInfo TrnIsValidValue TrnNew TrnScroll TrnSelect TrnSetCursor TrnSetCursorPos TrnSetDisplayMode TrnSetEvent TrnSetPen TrnSetPenFocus TrnSetPeriod TrnSetScale TrnSetSpan TrnSetTable TrnSetTime UserCreate UserDelete UserInfo UserLogin UserPassword UserPasswordExpiryDays UserSetStr UserUpdateRecord UserVerify VariableQuality VariableTimestamp VariableToStr VbCallOpen VbCallReturn Version WhoAmI WinCopy WinFile WinFree WinFreeEx WinGetClicked WinGetFirstChild WinGetFocus WinGetName WinGetNextChild WinGetParent WinGetWndHnd WinGoto WinMode WinMove WinNew WinNewAt WinNewPinAt WinNext WinNumber WinPos WinPrev WinPrint WinPrintFile WinSelect WinSetName WinSize WinStyle WndFind WndGetFileProfile WndGetProfile WndHelp WndInfo WndMonitorInfo WndMonitorInfoEx WndPutFileProfile WndPutProfile WndShow WndViewer XMLClose XMLCreate XMLGetAttribute XMLGetAttributeCount XMLGetAttributeName XMLGetAttributeValue XMLGetChild XMLGetChildCount XMLGetParent XMLGetRoot XMLNodeAddChild XMLNodeFind XMLNodeGetName XMLNodeGetValue XMLNodeRemove XMLNodeSetValue XMLOpen XMLSave XMLSetAttribute _AlarmQueryFirstRec _AlarmQueryNextRec _DspButton _DspButtonFn _DspCursor_MouseDown _DspCursor_MouseUp _DspExec _DspFixedWidthText _DspObjectGetCursor _DspObjectGetCursorDown _DspObjectGetCursorUp _LibControl_GetANName _LibControl_GetInt _LibControl_GetInt_ByAN _LibControl_GetStr _LibControl_GetStr_ByAN _LibControl_SetCallbackArg _LibControl_StrArray_GetInt _LibControl_StrArray_GetLen _LibControl_StrArray_SetInt _LibControl_StrArray_SetLen _LibControl_StrReplace _ObjectCallMethod _ObjectGetProperty _ObjectServerInvoke _ObjectServerInvokeEx _ObjectSetProperty _PageDisplay _PageGoto _RunTest _RunTests _TimeSub _VbCallRun _VbCicodeCallReturn _VbExpressionOpen _Wave _WinTitle __ObjectMasterAN __TabAlarm_GetIDByAN __Tabmenu_GetMenuConfigDisabled</Keywords>
                <Keywords name="Keywords2">int long real string object module quality timestamp</Keywords>
                <Keywords name="Keywords3">and case cicode do else end for function global if mod module not or private public return select to then while</Keywords>
                <Keywords name="Keywords4">true false __DATE__ __DB__ __FIELD__ __FILE__ __LINE__ __RECORD__ __TIME__ _BLANK_ ANIMATE ANM_ARRAY ANSI_CHARSET Arg1 Arg2 Arg3 Arg4 Arg5 Arg6 Arg7 Arg8 ArgValue1 BAD_HANDLE BORDER BORDER_3D DELETE_ANM EVEN_P FALSE GRAY_ALL GRAY_HIDE GRAY_PART GRAY_SUNK NONE NORMAL ODD_P OVERLAP RAboveUCL RBelowLCL ROutsideCL SOFT TARGET TRN_EVENT TRN_PERIODIC TRN_PERIODIC_EVENT TRUE WRITE_ON_DRAG WRITE_ON_DROP XAboveUCL XBelowLCL XDownTrend XErratic XFreak XGradualDown XGradualUp XMixture XOutsideCL XOutsideWL XStratification XUpTrend</Keywords>
                <Keywords name="Keywords5">_CreateControlObject AlarmFirstCatRec AlarmFirstPriRec AlarmNextCatRec AlarmNextPriRec Assert DateDay DateDayMonth DateMonth DateWeekDay DevFirst DspButton DspButtonFn DspSymAnmEx Exec FlashColourState GetBlueValue GetGreenValue GetRedValue GetVar GetVarDef GetVarStr GetVarStrDef IFDEF IFDEFADVALM IFDEFANAALM IFDEFDIGALM InAnimationCycle InCommunicationsCycle KeyDown KeyLeft KeyReplayAll KeyRight KeyUp ObjectByName PackedRGB Print PrintLn Pulse Shutdown SQLNoFields TagDebug TagDebugForm TestRandomWave TestSawWave TestSinWave TestSquareWave TestTriangWave TimeHour TimeMidNight TimeMin TimeSec TimeSecond TimeYearDay Toggle UnitControl UnitInfo UnitStats VarToArrayIndex VarToStr&#x000D;&#x000A;EnterCriticalSection LeaveCriticalSection</Keywords>
                <Keywords name="Keywords6"></Keywords>
                <Keywords name="Keywords7"></Keywords>
                <Keywords name="Keywords8"></Keywords>
                <Keywords name="Delimiters">00&quot; 01^ 02&quot; 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
            </KeywordLists>
            <Styles>
                <WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName="Courier New" fontStyle="0" fontSize="8" nesting="0" />
                <WordsStyle name="COMMENTS" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="2" fontSize="8" nesting="0" />
                <WordsStyle name="LINE COMMENTS" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="2" fontSize="8" nesting="0" />
                <WordsStyle name="NUMBERS" fgColor="FF8080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="8" nesting="0" />
                <WordsStyle name="KEYWORDS1" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="8" nesting="0" />
                <WordsStyle name="KEYWORDS2" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="8" nesting="0" />
                <WordsStyle name="KEYWORDS3" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="8" nesting="0" />
                <WordsStyle name="KEYWORDS4" fgColor="FF8080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="8" nesting="0" />
                <WordsStyle name="KEYWORDS5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="8" nesting="0" />
                <WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="OPERATORS" fgColor="B1B1B1" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="8" nesting="0" />
                <WordsStyle name="FOLDER IN CODE1" fgColor="8080FF" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="FOLDER IN CODE2" fgColor="00FFFF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS1" fgColor="FF00FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="8" nesting="1" />
                <WordsStyle name="DELIMITERS2" fgColor="00FF80" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            </Styles>
        </UserLang>
    </NotepadPlus>
    

Children
  • That's fantastic, thank you!

    I made some progress yesterday in making a VSCode syntax file based on a Pascal one I found online. It is very far from finished and has lots of stuff from Pascal in it that's irrelevant but it does highlight Cicode usably despite that, see below if anyone is interested.

    (I switch a lot between VSCode and Notepad++ so having support for both is ideal.)

    <?xml version="1.0" encoding="UTF-8"?>
    <plist version="1.0">
      <dict>
        <key>fileTypes</key>
        <array>
          <string>ci</string>
        </array>
        <key>keyEquivalent</key>
        <string>^~c</string>
        <key>name</key>
        <string>Cicode</string>
        <key>patterns</key>
        <array>
          <dict>
            <key>match</key>
            <string>\b(?i:(module|private|return|select|absolute|abstract|all|and_then|array|as|asm|attribute|begin|bindable|case|class|const|contains|default|div|else|end|except|export|exports|external|far|file|finalization|finally|forward|generic|goto|if|implements|import|in|index|inherited|initialization|interrupt|is|label|library|mod|module|name|near|not|object|of|on|only|operator|or_else|otherwise|out|override|package|packed|pow|private|program|protected|public|published|interface|implementation|qualified|read|record|resident|requires|resourcestring|restricted|segment|set|shl|shr|specialize|stored|strict|then|threadvar|to|try|type|unit|uses|var|view|virtual|dynamic|overload|reintroduce|with|write|xor))\b</string>
            <key>name</key>
            <string>keyword.cicode</string>
          </dict>
          <dict>
            <key>match</key>
            <string>\b(?i:(Abs|AccControl|AccumBrowseClose|AccumBrowseFirst|AccumBrowseGetField|AccumBrowseNext|AccumBrowseNumRecords|AccumBrowseOpen|AccumBrowsePrev|AlarmAckRec|AlarmAckTag|AlarmAck_CIREF|AlarmActive_CIREF|AlarmCatGetFormat|AlarmClear|AlarmClearRec|AlarmClearTag|AlarmComment|AlarmCommentRecID|AlarmCount|AlarmCountEquipment|AlarmDelete|AlarmDisable|AlarmDisableRec|AlarmDisableTag|AlarmDsp|AlarmDspClusterAdd|AlarmDspClusterInUse|AlarmDspClusterRemove|AlarmDspLast|AlarmDspNext|AlarmDspPrev|AlarmEnable|AlarmEnableRec|AlarmEnableTag|AlarmEventQue_CIREF|AlarmFilterClose|AlarmFilterEditAppend|AlarmFilterEditAppendEquipment|AlarmFilterEditClose|AlarmFilterEditCommit|AlarmFilterEditFirst|AlarmFilterEditLast|AlarmFilterEditNext|AlarmFilterEditOpen|AlarmFilterEditPrev|AlarmFilterEditSet|AlarmFilterForm|AlarmFilterOpen|AlarmFirstCatRec|AlarmFirstPriRec|AlarmFirstTagRec|AlarmGetDelay|AlarmGetDelayRec|AlarmGetDsp|AlarmGetFieldRec|AlarmGetFilterName|AlarmGetInfo|AlarmGetOrderbyKey|AlarmGetThreshold|AlarmGetThresholdRec|AlarmHelp|AlarmListCreate|AlarmListDestroy|AlarmListDisplay|AlarmListFill|AlarmNextCatRec|AlarmNextPriRec|AlarmNextTagRec|AlarmNotifyVarChange|AlarmQueryFirstRec|AlarmQueryNextRec|AlarmResetQuery|AlarmSetDelay|AlarmSetDelayRec|AlarmSetInfo|AlarmSetThreshold|AlarmSetThresholdRec|AlarmSplit|AlarmSumAppend|AlarmSumCommit|AlarmSumDelete|AlarmSumFind|AlarmSumFirst|AlarmSumGet|AlarmSumLast|AlarmSumNext|AlarmSumPrev|AlarmSumSet|AlarmSumSplit|AlarmSumType|AlmBrowseAck|AlmBrowseClose|AlmBrowseDisable|AlmBrowseEnable|AlmBrowseFirst|AlmBrowseGetField|AlmBrowseNext|AlmBrowseNumRecords|AlmBrowseOpen|AlmBrowsePrev|AlmSummaryAck|AlmSummaryClear|AlmSummaryClose|AlmSummaryCommit|AlmSummaryDelete|AlmSummaryDeleteAll|AlmSummaryDisable|AlmSummaryEnable|AlmSummaryFirst|AlmSummaryGetField|AlmSummaryLast|AlmSummaryNext|AlmSummaryNumRecords|AlmSummaryOpen|AlmSummaryPrev|AlmSummarySetFieldValue|AlmTagsAck|AlmTagsClear|AlmTagsClose|AlmTagsDisable|AlmTagsEnable|AlmTagsFirst|AlmTagsGetField|AlmTagsNext|AlmTagsNumRecords|AlmTagsOpen|AlmTagsPrev|AnByName|ArcCos|ArcSin|ArcTan|AreaCheck|ArrayCopy|ArrayCreate|ArrayCreateByAn|ArrayDestroy|ArrayDestroyByAn|ArrayExists|ArrayExistsByAn|ArrayFillFromAlarmDataByAn|ArrayGetArrayByAn|ArrayGetInfo|ArrayGetInt|ArrayGetIntByAn|ArrayGetMapName|ArrayGetMapNameByAn|ArrayGetString|ArrayGetStringByAn|ArrayIsDirty|ArraySetInt|ArraySetIntByAn|ArraySetIsDirty|ArraySetString|ArraySetStringByAn|ArraySwap|Ass|AssChain|AssChainPage|AssChainPopUp|AssChainWin|AssChainWinFree|AssEquipReferences|AssGetProperty|AssGetScale|AssInfo|AssInfoEx|AssMetadata|AssMetadataPage|AssMetadataPopUp|AssMetadataWin|AssPage|AssPopUp|AssScaleStr|AssTag|AssTitle|AssVarTags|AssWin|AssWinReplace|Assert|Beep|CallEvent|ChainEvent|CharToStr|CitectInfo|ClipCopy|ClipPaste|ClipReadLn|ClipSetMode|ClipWriteLn|ClusterActivate|ClusterDeactivate|ClusterFirst|ClusterGetName|ClusterIsActive|ClusterNext|ClusterServerTypes|ClusterSetName|ClusterStatus|ClusterSwapActive|CodeSetMode|CodeTrace|ComClose|ComOpen|ComRead|ComReset|ComWrite|Cos|CreateControlObject|CreateObject|DDEExec|DDEPost|DDERead|DDEWrite|DDEhExecute|DDEhGetLastError|DDEhInitiate|DDEhPoke|DDEhReadLn|DDEhRequest|DDEhSetMode|DDEhTerminate|DDEhWriteLn|DLLCall|DLLCallEx|DLLClose|DLLOpen|DateAdd|DateDay|DateInfo|DateMonth|DateSub|DateWeekDay|DateYear|Date_CIREF|DebugBreak|DebugMsg|DebugMsgSet|DegToRad|DelayShutdown|DevAppend|DevClose|DevControl|DevCurr|DevDelete|DevDisable|DevEOF|DevFind|DevFirst|DevFlush|DevGetField|DevHistory|DevInfo|DevModify|DevNext|DevOpen|DevPrev|DevPrint|DevRead|DevReadLn|DevRecNo|DevSeek|DevSetField|DevSize|DevWrite|DevWriteLn|DevZap|DisplayRuntimeManager|DllClassCallMethod|DllClassCreate|DllClassDispose|DllClassGetProperty|DllClassIsValid|DllClassSetProperty|DriverInfo|DspAnCreateControlObject|DspAnFree|DspAnGetArea|DspAnGetMetadata|DspAnGetMetadataAt|DspAnGetPos|DspAnGetPrivilege|DspAnInRgn|DspAnInfo|DspAnMove|DspAnMoveRel|DspAnNew|DspAnNewRel|DspAnSetMetadata|DspAnSetMetadataAt|DspAnSetName|DspArrayByAn|DspBar|DspBmp|DspButton|DspButtonFn|DspChart|DspClearClip|DspCol|DspDel|DspDelayRenderBegin|DspDelayRenderEnd|DspDirty|DspError|DspFile|DspFileGetInfo|DspFileGetName|DspFileScroll|DspFileSetName|DspFont|DspFontHnd|DspFullScreen|DspGetAnBottom|DspGetAnCur|DspGetAnExtent|DspGetAnFirst|DspGetAnFromName|DspGetAnFromNameRelative|DspGetAnFromPoint|DspGetAnHeight|DspGetAnLeft|DspGetAnNext|DspGetAnRight|DspGetAnTop|DspGetAnWidth|DspGetEnv|DspGetMetadataFromName|DspGetMetadataFromNameRelative|DspGetMouse|DspGetMouseOver|DspGetNameFromAn|DspGetNearestAn|DspGetParentAn|DspGetSlider|DspGetTip|DspGrayButton|DspInfo|DspInfoDestroy|DspInfoField|DspInfoNew|DspInfoValid|DspIsButtonGray|DspKernel|DspMCI|DspMarkerMove|DspMarkerNew|DspPlaySound|DspPopupConfigMenu|DspPopupMenu|DspRichText|DspRichTextEdit|DspRichTextEnable|DspRichTextGetInfo|DspRichTextLoad|DspRichTextPgScroll|DspRichTextPrint|DspRichTextSave|DspRichTextScroll|DspRubEnd|DspRubMove|DspRubSetClip|DspRubStart|DspSetClip|DspSetCurColor|DspSetMetadataFromName|DspSetMetadataFromNameRelative|DspSetSlider|DspSetTip|DspSetTooltipFont|DspStatus|DspStr|DspSym|DspSymAnm|DspSymAnmEx|DspSymAtSize|DspText|DspTipMode|DspTrend|DspTrendInfo|DumpKernel|EngToGeneric|EnterCriticalSection|EquipBrowseClose|EquipBrowseFirst|EquipBrowseGetField|EquipBrowseNext|EquipBrowseNumRecords|EquipBrowseOpen|EquipBrowsePrev|EquipCheckUpdate|EquipGetProperty|EquipRefBrowseClose|EquipRefBrowseFirst|EquipRefBrowseGetField|EquipRefBrowseNext|EquipRefBrowseNumRecords|EquipRefBrowseOpen|EquipRefBrowsePrev|EquipSetProperty|EquipStateBrowseClose|EquipStateBrowseFirst|EquipStateBrowseGetField|EquipStateBrowseNext|EquipStateBrowseNumRecords|EquipStateBrowseOpen|EquipStateBrowsePrev|ErrCom|ErrDrv|ErrGetHw|ErrHelp|ErrInfo|ErrLog|ErrMsg|ErrSet|ErrSetHw|ErrSetLevel|ErrTrap|Exec|ExecuteDTSPkg|Exp|FTPClose|FTPFileCopy|FTPFileFind|FTPFileFindClose|FTPOpen|Fact|FileClose|FileCopy|FileDelete|FileEOF|FileExist|FileFind|FileFindClose|FileGetTime|FileMakePath|FileOpen|FilePrint|FileRead|FileReadBlock|FileReadLn|FileRename|FileRichTextPrint|FileSeek|FileSetTime|FileSize|FileSplitPath|FileWrite|FileWriteBlock|FileWriteLn|FmtClose|FmtFieldHnd|FmtGetField|FmtGetFieldCount|FmtGetFieldHnd|FmtGetFieldName|FmtGetFieldWidth|FmtOpen|FmtSetField|FmtSetFieldHnd|FmtToStr|FormActive|FormAddList|FormButton|FormCheckBox|FormComboBox|FormCurr|FormDestroy|FormEdit|FormField|FormGetCurrInst|FormGetData|FormGetInst|FormGetText|FormGoto|FormGroupBox|FormInput|FormListAddText|FormListBox|FormListDeleteText|FormListSelectText|FormNew|FormNumPad|FormOpenFile|FormPassword|FormPosition|FormPrompt|FormRadioButton|FormRead|FormSaveAsFile|FormSecurePassword|FormSelectPrinter|FormSetData|FormSetInst|FormSetText|FormWndHnd|FullName|FuzzyClose|FuzzyGetCodeValue|FuzzyGetShellValue|FuzzyOpen|FuzzySetCodeValue|FuzzySetShellValue|FuzzyTrace|GetArea|GetBlueValue|GetEnv|GetEvent|GetGreenValue|GetLanguage|GetLogging|GetPriv|GetRedValue|GetWinTitle|GrpClose|GrpDelete|GrpFirst|GrpIn|GrpInsert|GrpMath|GrpName|GrpNext|GrpOpen|GrpToStr|Halt|HexToStr|HighByte|HighWord|HwAlarmQue|IODeviceControl|IODeviceInfo|IODeviceStats|InfoForm|InfoFormAn|Input|IntToReal|IntToStr|IsError|KerCmd|KernelQueueLength|KernelTableInfo|KernelTableItemCount|KeyAllowCursor|KeyBs|KeyDown|KeyGet|KeyGetCursor|KeyLeft|KeyMove|KeyPeek|KeyPut|KeyPutStr|KeyReplay|KeyReplayAll|KeyRight|KeySetCursor|KeySetSeq|KeyUp|LanguageFileTranslate|LeaveCriticalSection|LibAlarmFilterForm|Ln|Log|Login|LoginForm|Logout|LogoutIdle|LowByte|LowWord|MailError|MailLogoff|MailLogon|MailRead|MailSend|MakeCitectColour|MapClear|MapClose|MapExists|MapKeyCount|MapKeyDelete|MapKeyExists|MapKeyFirst|MapKeyNext|MapOpen|MapValueGet|MapValueSet|MapValueSetQuality|Max|MenuGetChild|MenuGetFirstChild|MenuGetGenericNode|MenuGetNextChild|MenuGetPageNode|MenuGetParent|MenuGetPrevChild|MenuGetWindowNode|MenuNodeAddChild|MenuNodeGetCurr|MenuNodeGetDepth|MenuNodeGetExpanded|MenuNodeGetProperty|MenuNodeGetTargetPage|MenuNodeHasCommand|MenuNodeIsDisabled|MenuNodeIsHidden|MenuNodeRemove|MenuNodeRunCommand|MenuNodeSetDisabledWhen|MenuNodeSetExpanded|MenuNodeSetHiddenWhen|MenuNodeSetProperty|MenuReload|Message|Min|MsgBrdcst|MsgClose|MsgGetCurr|MsgOpen|MsgRPC|MsgRead|MsgState|MsgWrite|MultiMonitorStart|MultiSignatureForm|MultiSignatureTagWrite|Name|OLEDateToTime|ObjectAssociateEvents|ObjectAssociatePropertyWithTag|ObjectByName|ObjectHasInterface|ObjectIsValid|ObjectToStr|OnEvent|PackedRGB|PackedRGBToCitectColour|PageAlarm_CIREF|PageBack|PageDisabled|PageDisplay|PageExists|PageFile|PageFileInfo|PageFileInfoEx|PageForward|PageGetInt|PageGetStr|PageGoto|PageHardware|PageHistoryDspMenu|PageHistoryEmpty|PageHome|PageInfo|PageLast|PageListCount|PageListCurrent|PageListDelete|PageListDisplay|PageListInfo|PageMenu|PageNext|PagePeekCurrent|PagePeekLast|PagePopLast|PagePopUp|PagePrev|PageProcessAnalyst|PageProcessAnalystPens|PagePushLast|PageRecall|PageRichTextFile|PageSOE|PageSelect|PageSetInt|PageSetStr|PageSummary|PageTask|PageTransformCoords|PageTrend|PageTrendEx|ParameterGet|ParameterPut|PathToStr|Pi|PlotClose|PlotDraw|PlotGetMarker|PlotGrid|PlotInfo|PlotLine|PlotMarker|PlotOpen|PlotScaleMarker|PlotSetMarker|PlotText|PlotXYLine|Pow|Print|PrintFont|PrintLn|ProcessAnalystLoadFile|ProcessAnalystPopUp|ProcessAnalystSelect|ProcessAnalystSetPen|ProcessAnalystWin|ProcessIsClient|ProcessIsServer|ProcessRestart|ProductInfo|ProjectInfo|ProjectRestartGet|ProjectRestartSet|Prompt|Pulse|QualityCreate|QualityGetPart|QualityIsBad|QualityIsControlInhibit|QualityIsGood|QualityIsOverride|QualityIsUncertain|QualitySetPart|QualityToStr|QueClose|QueLength|QueOpen|QuePeek|QueRead|QueWrite|RadToDeg|Rand|ReRead|RealToStr|RepGetCluster|RepGetControl|RepSetControl|Report|ResetScreenProfile|Round|SOEArchive|SOEDismount|SOEEventAdd|SOEMount|SPCAlarms|SPCClientInfo|SPCGetHistogramTable|SPCGetSubgroupTable|SPCPlot|SPCProcessXRSGet|SPCProcessXRSSet|SPCSetLimit|SPCSpecLimitGet|SPCSpecLimitSet|SPCSubgroupSizeGet|SPCSubgroupSizeSet|SQLAppend|SQLBeginTran|SQLCall|SQLCancel|SQLClose|SQLCommit|SQLConnect|SQLCreate|SQLDisconnect|SQLDispose|SQLEnd|SQLErrMsg|SQLExec|SQLFieldInfo|SQLGetField|SQLGetRecordset|SQLGetScalar|SQLInfo|SQLIsNullField|SQLNext|SQLNoFields|SQLNumChange|SQLNumFields|SQLOpen|SQLParamsClearAll|SQLParamsSetAsInt|SQLParamsSetAsReal|SQLParamsSetAsString|SQLPrev|SQLQueryCreate|SQLQueryDispose|SQLRollBack|SQLRowCount|SQLSet|SQLTraceOff|SQLTraceOn|SchdClose|SchdConfigClose|SchdConfigFirst|SchdConfigGetField|SchdConfigNext|SchdConfigNumRecords|SchdConfigOpen|SchdConfigPrev|SchdFirst|SchdGetField|SchdNext|SchdNumRecords|SchdOpen|SchdPrev|SchdSpecialAdd|SchdSpecialClose|SchdSpecialDelete|SchdSpecialFirst|SchdSpecialGetField|SchdSpecialItemAdd|SchdSpecialItemAddRange|SchdSpecialItemClose|SchdSpecialItemDelete|SchdSpecialItemDeleteRange|SchdSpecialItemFirst|SchdSpecialItemGetField|SchdSpecialItemModify|SchdSpecialItemModifyRange|SchdSpecialItemNext|SchdSpecialItemNumRecords|SchdSpecialItemOpen|SchdSpecialItemPrev|SchdSpecialModify|SchdSpecialNext|SchdSpecialNumRecords|SchdSpecialOpen|SchdSpecialPrev|ScheduleItemAdd|ScheduleItemDelete|ScheduleItemModify|ScheduleItemSetRepeat|SemClose|SemOpen|SemSignal|SemWait|SendKeys|SerialKey|ServerBrowseClose|ServerBrowseFirst|ServerBrowseGetField|ServerBrowseNext|ServerBrowseNumRecords|ServerBrowseOpen|ServerBrowsePrev|ServerDumpKernel|ServerGetProperty|ServerInfo|ServerInfoEx|ServerIsOnline|ServerRPC|ServerReload|ServerRestart|ServiceGetList|SetArea|SetEvent|SetLogging|Shutdown|ShutdownForm|ShutdownMode|Sign|Sin|Sleep|SleepMS|Sqrt|StrCalcWidth|StrClean|StrFill|StrFormat|StrGetChar|StrLeft|StrLength|StrLower|StrMid|StrPad|StrRight|StrSearch|StrSetChar|StrToChar|StrToDate|StrToFmt|StrToGrp|StrToHex|StrToInt|StrToLines|StrToLocalText|StrToPeriod|StrToReal|StrToTime|StrToTimestamp|StrToValue|StrTrim|StrTruncFont|StrTruncFontHnd|StrUpper|StrWord|SubscriptionAddCallback|SubscriptionGetAttribute|SubscriptionGetInfo|SubscriptionGetQuality|SubscriptionGetTag|SubscriptionGetTimestamp|SubscriptionGetValue|SubscriptionRemoveCallback|SwitchConfig|SysTime|SysTimeDelta|TableLookup|TableMath|TableShift|TagBrowseClose|TagBrowseFirst|TagBrowseGetField|TagBrowseNext|TagBrowseNumRecords|TagBrowseOpen|TagBrowsePrev|TagDebug|TagDebugForm|TagEventFormat|TagEventQueue|TagGetProperty|TagGetScale|TagInfo|TagInfoEx|TagRDBReload|TagRamp|TagRead|TagReadEx|TagResolve|TagScaleStr|TagSetOverrideBad|TagSetOverrideGood|TagSetOverrideQuality|TagSetOverrideUncertain|TagSubscribe|TagUnresolve|TagUnsubscribe|TagWrite|TagWriteEventQue|TagWriteIntArray|TagWriteRealArray|Tan|TaskCall|TaskCluster|TaskGetSignal|TaskHnd|TaskKill|TaskNew|TaskNewEx|TaskResume|TaskSetSignal|TaskSuspend|TestRandomWave|TestSawWave|TestSinWave|TestSquareWave|TestTriangWave|TimeCurrent|TimeHour|TimeInfo|TimeIntToTimestamp|TimeMidNight|TimeMin|TimeSec|TimeSet|TimeToOLEDate|TimeToStr|TimeUTCOffset|Time_CIREF|TimestampAdd|TimestampCreate|TimestampCurrent|TimestampDifference|TimestampFormat|TimestampGetPart|TimestampSub|TimestampToStr|TimestampToTimeInt|Toggle|TraceMsg|TrendDspCursorComment|TrendDspCursorScale|TrendDspCursorTag|TrendDspCursorTime|TrendDspCursorValue|TrendGetAn|TrendPopUp|TrendRun|TrendSetDate|TrendSetScale|TrendSetSpan|TrendSetTime|TrendSetTimebase|TrendWin|TrendZoom|TrnAddHistory|TrnBrowseClose|TrnBrowseFirst|TrnBrowseGetField|TrnBrowseNext|TrnBrowseNumRecords|TrnBrowseOpen|TrnBrowsePrev|TrnClientInfo|TrnComparePlot|TrnDelHistory|TrnDelete|TrnEcho|TrnEventGetTable|TrnEventGetTableMS|TrnEventSetTable|TrnEventSetTableMS|TrnExportCSV|TrnExportClip|TrnExportDBF|TrnExportDDE|TrnFlush|TrnGetBufEvent|TrnGetBufTime|TrnGetBufValue|TrnGetCluster|TrnGetCursorEvent|TrnGetCursorMSTime|TrnGetCursorPos|TrnGetCursorTime|TrnGetCursorValue|TrnGetCursorValueStr|TrnGetDefScale|TrnGetDisplayMode|TrnGetEvent|TrnGetFormat|TrnGetGatedValue|TrnGetInvalidValue|TrnGetMSTime|TrnGetMode|TrnGetPen|TrnGetPenComment|TrnGetPenFocus|TrnGetPenNo|TrnGetPeriod|TrnGetScale|TrnGetScaleStr|TrnGetSpan|TrnGetTable|TrnGetTime|TrnGetUnits|TrnInfo|TrnIsValidValue|TrnNew|TrnPlot|TrnPrint|TrnSamplesConfigured|TrnScroll|TrnSelect|TrnSetCursor|TrnSetCursorPos|TrnSetDisplayMode|TrnSetEvent|TrnSetPen|TrnSetPenFocus|TrnSetPeriod|TrnSetScale|TrnSetSpan|TrnSetTable|TrnSetTime|UserCreate|UserCreateForm|UserDelete|UserEditForm|UserInfo|UserLogin|UserPassword|UserPasswordExpiryDays|UserPasswordForm|UserSetStr|UserUpdateRecord|UserVerify|VariableQuality|VariableTimestamp|VerifyPrivilegeForm|VerifyPrivilegeTagWrite|Version|WhoAmI|WinCopy|WinFile|WinFree|WinGetClicked|WinGetFirstChild|WinGetFocus|WinGetName|WinGetNextChild|WinGetParent|WinGetWndHnd|WinGoto|WinMode|WinMove|WinNew|WinNewAt|WinNewPinAt|WinNext|WinNumber|WinPos|WinPrev|WinPrint|WinPrintFile|WinSelect|WinSetName|WinSize|WinStyle|WinTitle|WndFind|WndGetFileProfile|WndHelp|WndInfo|WndMonitorInfo|WndMonitorInfoEx|WndPutFileProfile|WndShow|WndViewer|XMLClose|XMLCreate|XMLGetAttribute|XMLGetAttributeCount|XMLGetAttributeName|XMLGetAttributeValue|XMLGetChild|XMLGetChildCount|XMLGetParent|XMLGetRoot|XMLNodeAddChild|XMLNodeFind|XMLNodeGetName|XMLNodeGetValue|XMLNodeRemove|XMLNodeSetValue|XMLOpen|XMLSave|XMLSetAttribute|_ObjectCallMethod|_ObjectGetProperty|_ObjectSetProperty|projectset))\b</string>
            <key>name</key>
            <string>support.function.cicode</string>
          </dict>
          <dict>
            <key>captures</key>
            <dict>
              <key>1</key>
              <dict>
                <key>name</key>
                <string>storage.type.prototype.cicode</string>
              </dict>
              <key>2</key>
              <dict>
                <key>name</key>
                <string>entity.name.function.prototype.cicode</string>
              </dict>
            </dict>
            <key>match</key>
    		<string>\b(?i:(function))\b\s+(\w+)\s*\(</string>
            <key>name</key>
            <string>meta.function.prototype.cicode</string>
          </dict>
          <dict>
            <key>match</key>
            <string>\b(?i:(and|or|bitand|bitor|xor))\b</string>
            <key>name</key>
            <string>keyword.operator.cicode</string>
          </dict>
          <dict>
            <key>match</key>
            <string>\b(?i:(break|continue|exit|abort|while|do|downto|for|raise|repeat|until))\b</string>
            <key>name</key>
            <string>keyword.control.cicode</string>
          </dict>
          <dict>
            <key>begin</key>
            <string>\{\$</string>
            <key>captures</key>
            <dict>
              <key>0</key>
              <dict>
                <key>name</key>
                <string>string.regexp</string>
              </dict>
            </dict>
            <key>end</key>
            <string>\}</string>
            <key>name</key>
            <string>string.regexp</string>
          </dict>
          <dict>
            <key>match</key>
            <string>\b(?i:(int|real|long|ulong|string|object|module|quality|timestamp))\b</string>
            <key>name</key>
            <string>storage.support.type.cicode</string>
          </dict>
          <dict>
            <key>match</key>
            <string>\b0[xX][0-9a-fA-F]{1,16}\b</string>
            <key>name</key>
            <string>constant.numeric.hex.cicode</string>
          </dict>
          <dict>
            <key>match</key>
            <string>\b(\d+)|(\d*\.\d+([eE][\-+]?\d+)?)\b</string>
            <key>name</key>
            <string>constant.numeric.cicode</string>
          </dict>
          <dict>
            <key>match</key>
            <string>\b(?i:(true|false))\b</string>
            <key>name</key>
            <string>constant.language.cicode</string>
          </dict>
          <dict>
            <key>begin</key>
            <string>(^[ \t]+)?(?=//)</string>
            <key>beginCaptures</key>
            <dict>
              <key>1</key>
              <dict>
                <key>name</key>
                <string>punctuation.whitespace.comment.leading.cicode</string>
              </dict>
            </dict>
            <key>end</key>
            <string>(?!\G)</string>
            <key>patterns</key>
            <array>
              <dict>
                <key>begin</key>
                <string>//</string>
                <key>beginCaptures</key>
                <dict>
                  <key>0</key>
                  <dict>
                    <key>name</key>
                    <string>punctuation.definition.comment.cicode</string>
                  </dict>
                </dict>
                <key>end</key>
                <string>\n</string>
                <key>name</key>
                <string>comment.line.double-slash.cicode.two</string>
              </dict>
            </array>
          </dict>
          <dict>
            <key>begin</key>
            <string>/\*</string>
            <key>captures</key>
            <dict>
              <key>0</key>
              <dict>
                <key>name</key>
                <string>punctuation.definition.comment.cicode</string>
              </dict>
            </dict>
            <key>end</key>
            <string>\*/</string>
            <key>name</key>
            <string>comment.block.cicode</string>
          </dict>
          <dict>
            <key>begin</key>
            <string>"</string>
            <key>beginCaptures</key>
            <dict>
              <key>0</key>
              <dict>
                <key>name</key>
                <string>punctuation.definition.string.begin.cicode</string>
              </dict>
            </dict>
            <key>end</key>
            <string>"</string>
            <key>endCaptures</key>
            <dict>
              <key>0</key>
              <dict>
                <key>name</key>
                <string>punctuation.definition.string.end.cicode</string>
              </dict>
            </dict>
            <key>name</key>
            <string>string.quoted.single.cicode</string>
            <key>patterns</key>
            <array>
              <dict>
                <key>match</key>
                <string>''</string>
                <key>name</key>
                <string>constant.character.escape.apostrophe.cicode</string>
              </dict>
            </array>
          </dict>
          <dict>
            <key>match</key>
            <string>\#\d+</string>
            <key>name</key>
            <string>string.other.cicode</string>
          </dict>
        </array>
        <key>scopeName</key>
        <string>source.cicode</string>
        <key>uuid</key>
        <string>BF1DA2AF-8C3F-4DB2-9717-0F6912CA6ADA</string>
      </dict>
    </plist>