Description="Tcl/Tk" Identifiers=[[ [a-zA-Z_][\w\-]* ]] Keywords={ { Id=1, List={"Safe", "Base", "encoding", "if", "pid", "switch", "Tcl", "eof", "incr", "tcl_endOfWord", "after", "error", "info", "pkg_mkIndex", "tcl_findLibrary", "append", "eval", "interp", "proc", "tcl_startOfNextWord", "array", "exec", "join", "puts", "tcl_startOfPreviousWord", "auto_execok", "exit", "lappend", "pwd", "tcl_wordBreakAfter", "auto_import", "expr", "lindex", "re_syntax", "tcl_wordBreakBefore", "auto_load", "fblocked", "linsert", "read", "tcltest", "auto_mkindex", "fconfigure", "list", "regexp", "tclvars", "auto_mkindex_old", "fcopy", "llength", "registry", "tell", "auto_qualify", "file", "load", "regsub", "time", "auto_reset", "fileevent", "lrange", "rename", "trace", "bgerror", "filename", "lreplace", "resource", "unknown", "binary", "flush", "lsearch", "return", "unset", "break", "for", "lset", "scan", "update", "catch", "foreach", "lsort", "seek", "uplevel", "cd", "format", "memory", "set", "upvar", "clock", "gets", "msgcat", "socket", "variable", "close", "glob", "namespace", "source", "vwait", "concat", "global", "open", "split", "while", "continue", "history", "package", "string", "dde", "http", "parray", "subst", "bell", "entry", "loadTk", "raise", "tk_focusFollowsMouse", "tk_textPaste", "bind", "event", "lower", "scale", "tk_focusNext", "tkerror", "bindtags", "focus", "menu", "scrollbar", "tk_focusPrev", "tkvars", "bitmap", "font", "menubutton", "selection", "tk_getOpenFile", "tkwait", "button", "frame", "message", "send", "tk_getSaveFile", "toplevel", "canvas", "grab", "option", "spinbox", "tk_menuSetFocus", "winfo", "checkbutton", "grid", "options", "text", "tk_messageBox", "wm", "clipboard", "image", "pack", "tk", "tk_optionMenu", "colors", "keysyms", "panedwindow", "tk_bisque", "tk_popup", "console", "label", "photo", "tk_chooseColor", "tk_setPalette", "cursors", "labelframe", "place", "tk_chooseDirectory", "tk_textCopy", "destroy", "listbox", "radiobutton", "tk_dialog", "tk_textCut", "default", "else", "challenge", "success", "failure"}, }, { Id=2, Regex=[[\$\w*]], }, { Id=3, Regex=[[\W(-\w+)]], }, { Id=4, Regex=[[::(\w+)]], }, } Strings={ Delimiter=[["]] } IgnoreCase=false Comments={ { Block=false, Delimiter= { [[#]] }, }, } Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\:|\&|<|>|\!|\=|\/|\*|\%|\+|\-|\\|\@]] -- fix recognition of $ function OnStateChange(oldState, newState, token) if (string.sub(token,1,1) =="$") and oldState==HL_STRING and newState==HL_KEYWORD then return HL_INTERPOLATION end end