.#* 0 Tcl_Check_Syntax+! 1°0 Tcl_Check_Syntax# TCL°" $1ý " $1þ 3 create_syntax_table,* $ name+ý+ tclmode.dfa $ nameþ : dfa_enable_highlight_cacheý, ^[ \\t]*#.*$' comment $ nameþ 9 dfa_define_highlight_ruleý, ;[ \\t]*#.*$' comment $ nameþ 9 dfa_define_highlight_ruleý3 "([^\\\\"]|\\\\.)*"& string $ nameþ 9 dfa_define_highlight_ruleý* [{}\\[\\]]* Qdelimiter $ nameþ 9 dfa_define_highlight_ruleýH [0-9]+(\\.[0-9]*)?([Ee][\\+\\-]?[0-9]*)?& number $ nameþ 9 dfa_define_highlight_ruleý! . & normal $ nameþ 9 dfa_define_highlight_ruleý. [A-Za-z_\\.:]+' Knormal $ nameþ 9 dfa_define_highlight_ruleý1 \\$[a-zA-Z0-9_:]+& string $ nameþ 9 dfa_define_highlight_ruleý' \\${.*}' Qstring $ nameþ 9 dfa_define_highlight_ruleý/ ^[ \\t]*proc.*$ + Qpreprocess $ nameþ 9 dfa_define_highlight_ruleý) -[a-z]+ ( operator $ nameþ 9 dfa_define_highlight_ruleý $ nameþ 9 dfa_build_highlight_table‚2 setup_dfa_callbacký}2 setup_dfa_callback# TCLþ 5 dfa_set_init_callback! 0°" $2ý " $1$ cdif! 2 " $2þ 1 define_keywords_nPý " $1/ eofforpidpwdset! 3 " $2þ 1 define_keywords_nPý " $1x caseelseevalexecexitexprfilegetsglobincrinfojoinlistloadopenprocputsreadscanseektelltime! 4 " $2þ 1 define_keywords_nPý " $1 u afterarraybreakcatchclockcloseerrorfcopyflushlsortsplitsubsttraceunsetupvarvwaitwhile! 5 " $2þ 1 define_keywords_nPý " $1€ appendbinaryconcatformatglobalinterplindexlrangeregexpregsubrenamereturnsocketsourcestringswitch! 6 " $2þ 1 define_keywords_n Pý " $1_ consoleforeachhistorylappendlinsertllengthlsearchunknownuplevel! 7 " $2þ 1 define_keywords_nPý " $18 continuefblockedlreplace! 8 " $2þ 1 define_keywords_nPý " $1) fileevent! 9 " $2þ 1 define_keywords_nP! 1°" $2ý " $1$ tkwm! 2 " $2þ 1 define_keywords_nPý " $1D bellbindfontgrabgridmenupacksendtext! 4 " $2þ 1 define_keywords_nPý " $1W entryeventfocusframeimagelabellowerplaceraisescalewinfo! 5 " $2þ 1 define_keywords_nPý " $1> buttoncanvasoptiontkwaitupdate! 6 " $2þ 1 define_keywords_nPý " $1< destroylistboxmessagetkerror! 7 " $2þ 1 define_keywords_nPý " $18 bindtagstk_popuptoplevel! 8 " $2þ 1 define_keywords_nPý " $1M clipboardscrollbarselectiontk_bisquetk_dialog! 9 " $2þ 1 define_keywords_nPý " $1 * menubutton" 10 " $2þ 1 define_keywords_nPý " $16 checkbuttonradiobutton" 11 " $2þ 1 define_keywords_nPý " $18 tk_focusNexttk_focusPrev" 12 " $2þ 1 define_keywords_nPý " $1: tk_messageBoxtk_setPalette" 13 " $2þ 1 define_keywords_nPý " $1 X tk_chooseColortk_getOpenFiletk_getSaveFiletk_optionsMenu" 14 " $2þ 1 define_keywords_nP,y/ tcl_indent_line, ' newline / tcl_indent_liney6 tcl_newline_and_indent,* ! n+ . bol_skip_white + what_column ! nB. ( bol_trim¹! ný ! nþ * whitespace/c y- tcl_indent_to,* ! c * open_count+! 0°* open_count* + close_count+! 0°+ close_count* ' escaped+! 0°' escaped ) push_spot. # bol/. $ eolpN/. * go_right_1/. ) what_char°! c ! c." 92x3 ' escaped.! 2°' escaped/b/.# 123x3 ' escaped.·* open_count/b/. # 125x3 ' escaped. * open_count.¹* open_count/.·+ close_count/d/b/j ' escaped.¹' escaped/c/g ( pop_spot * open_count + close_countwy0 tcl_count_braces,. $ up_1. . bol_skip_white $ eolp.u/c ) what_char" 35B.! 1w/c/.! 0w/d/ey) tcl_go_up, # eol + bskip_whiteý" \\þ + blooking_at.! 1/.! 0/dwy5 tcl_is_continued_line,* & indent+! 0°& indent* * open_count+ ) push_spot ) tcl_go_up. + what_column°& indent 0 tcl_count_bracesP°* open_count * open_count ( C_INDENT;±& indent 5 tcl_is_continued_line. 2 C_CONTINUED_OFFSET±& indent/c ) tcl_go_up 5 tcl_is_continued_lineC. 2 C_CONTINUED_OFFSET²& indent/c/c ( pop_spot & indentwy2 tcl_prev_line_rule,* & indent+! 0°& indent* + close_count+! 0°+ close_count 0 tcl_count_braces°+ close_countP + close_count ( C_INDENT;²& indent & indentwy1 tcl_cur_line_rule,* & cursor ) oldindent+* & indent+ + what_column°& cursor . bol_skip_white + what_column°) oldindent 2 tcl_prev_line_rule°& indent 1 tcl_cur_line_rule±& indentý & indentþ - tcl_indent_toý & cursor & indent9 ) oldindent:þ + goto_columny/ tcl_indent_line,ý! 1þ , check_region * pop_mark_1 ) push_mark / tcl_indent_line ( pop_spot ) push_spot ' go_up_1 & narrow # bobý3 Indenting region...þ % flush. & down_1/. / tcl_indent_line/fý 9 Indenting region... Done.þ % flush % widen ( pop_spoty1 tcl_indent_region,* # msg+ý) Warning: # msg9þ % flushy2 tcl_syntax_warning,ý! }þ & insert / tcl_indent_line + blink_matchy. tcl_insert_ket, 0 Tcl_Check_Syntax. ) push_spot + bskip_white $ bolp.ýC '{' shouldn't be on a separate lineþ 2 tcl_syntax_warning/c ( pop_spot/cý! {þ & inserty. tcl_insert_bra, 0 Tcl_Check_Syntax. ) push_spot + bskip_white $ bolpý! ;þ + blooking_atD.ýO '#' should be on a separate line or after a ';'þ 2 tcl_syntax_warning/b ( pop_spot/cý! #þ & inserty2 tcl_insert_comment# TCL°" $1ý " $1þ ( keymap_p.ý " $1þ + make_keymapý. tcl_insert_bra! { " $1þ ) definekeyý. tcl_insert_ket! } " $1þ ) definekeyý2 tcl_insert_comment! # " $1þ ) definekeyý 1 tcl_indent_region" ^Q " $1þ 2 definekey_reservedý+ indent_line! " $1þ ) definekey/b,* $ mode+# TCL°$ modeý $ mode! 4þ ( set_modeý $ modeþ * use_keymapý $ modeþ 0 use_syntax_tableý+ indent_hook/ tcl_indent_lineþ / set_buffer_hooký 3 newline_indent_hook6 tcl_newline_and_indentþ / set_buffer_hooký- tcl_mode_hookþ . run_mode_hooksy( tcl_mode