diff --git a/nanorc b/nanorc index 7bfefdf..e363aa7 100644 --- a/nanorc +++ b/nanorc @@ -58,6 +58,7 @@ include ~/.nano/sed.nanorc include ~/.nano/sh.nanorc include ~/.nano/sql.nanorc include ~/.nano/systemd.nanorc +include ~/.nano/tcl.nanorc include ~/.nano/tex.nanorc include ~/.nano/vala.nanorc include ~/.nano/vi.nanorc diff --git a/tcl.nanorc b/tcl.nanorc new file mode 100644 index 0000000..2959512 --- /dev/null +++ b/tcl.nanorc @@ -0,0 +1,24 @@ +syntax "tcl" "\.tcl$" +header "^#!.*/(env +)?tclsh( |$)" + +## Standard Tcl [info commands] +color cyan "\<(after|append|array|auto_execok|auto_import|auto_load|auto_load_index|auto_qualify|binary|break|case|catch|cd|clock|close|concat|continue|else|encoding|eof|error|eval|exec|exit|expr|fblocked|fconfigure|fcopy|file|fileevent|flush|for|foreach|format|gets|glob|global|history|if|incr|info|interp|join|lappend|lindex|linsert|list|llength|load|lrange|lreplace|lsearch|lset|lsort|namespace|open|package|pid|puts|pwd|read|regexp|regsub|rename|return|scan|seek|set|socket|source|split|string|subst|switch|tclLog|tell|time|trace|unknown|unset|update|uplevel|upvar|variable|vwait|while)\>" +## Basic Tcl sub commands +color cyan "\<(array anymore|array donesearch|array exists|array get|array names|array nextelement|array set|array size|array startsearch|array statistics|array unset)\>" +color cyan "\<(string bytelength|string compare|string equal|string first|string index|string is|string last|string length|string map|string match|string range|string repeat|string replace|string to|string tolower|string totitle|string toupper|string trim|string trimleft|string trimright|string will|string wordend|string wordstart)\>" +## Extended TclX [info commands] +color cyan "\<(alarm|auto_load_pkg|bsearch|catclose|catgets|catopen|ccollate|cconcat|cequal|chgrp|chmod|chown|chroot|cindex|clength|cmdtrace|commandloop|crange|csubstr|ctoken|ctype|dup|echo|execl|fcntl|flock|fork|fstat|ftruncate|funlock|host_info|id|infox|keyldel|keylget|keylkeys|keylset|kill|lassign|lcontain|lempty|lgets|link|lmatch|loadlibindex|loop|lvarcat|lvarpop|lvarpush|max|min|nice|pipe|profile|random|readdir|replicate|scancontext|scanfile|scanmatch|select|server_accept|server_create|signal|sleep|sync|system|tclx_findinit|tclx_fork|tclx_load_tndxs|tclx_sleep|tclx_system|tclx_wait|times|translit|try_eval|umask|wait)\>" +## Function declaration +color brightblue "proc[[:space:]]" "(\{|\})" +## Syntax +color green "(\(|\)|\;|`|\\|\$|<|>|!|=|&|\|)" +## Numbers +color brightyellow "\<[0-9]+(\.[0-9]+)?\>" +## Strings +color yellow ""(\\.|[^"])*"" "'(\\.|[^'])*'" +## Variables +icolor brightred "\$\{?[0-9A-Z_!@#$*?-]+\}?" +## Comments +color magenta "(^|;)[[:space:]]*#.*" +## Trailing whitespace +color ,blue "[[:space:]]+$"