Jim Tcl
Hex Artifact Content
Not logged in

Artifact 8bcb4d573efb00da3e9a75a5a30a7b007c310604:


0000: 2f 2a 20 43 6f 70 79 72 69 67 68 74 20 28 43 29  /* Copyright (C)
0010: 20 32 30 30 37 20 67 6e 6f 6d 62 61 74 40 75 73   2007 gnombat@us
0020: 65 72 73 2e 73 6f 75 72 63 65 66 6f 72 67 65 2e  ers.sourceforge.
0030: 6e 65 74 20 2a 2f 0a 2f 2a 20 4c 69 63 65 6e 73  net */./* Licens
0040: 65 3a 20 68 74 74 70 3a 2f 2f 73 68 6a 73 2e 73  e: http://shjs.s
0050: 6f 75 72 63 65 66 6f 72 67 65 2e 6e 65 74 2f 64  ourceforge.net/d
0060: 6f 63 2f 6c 69 63 65 6e 73 65 2e 68 74 6d 6c 20  oc/license.html 
0070: 2a 2f 0a 69 66 20 28 21 20 74 68 69 73 2e 73 68  */.if (! this.sh
0080: 5f 6c 61 6e 67 75 61 67 65 73 29 20 7b 0a 20 20  _languages) {.  
0090: 74 68 69 73 2e 73 68 5f 6c 61 6e 67 75 61 67 65  this.sh_language
00a0: 73 20 3d 20 7b 7d 3b 0a 7d 0a 73 68 5f 6c 61 6e  s = {};.}.sh_lan
00b0: 67 75 61 67 65 73 5b 27 74 63 6c 27 5d 20 3d 20  guages['tcl'] = 
00c0: 5b 0a 20 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20  [.  [.    {.    
00d0: 20 20 27 6e 65 78 74 27 3a 20 31 2c 0a 20 20 20    'next': 1,.   
00e0: 20 20 20 27 72 65 67 65 78 27 3a 20 2f 23 2f 67     'regex': /#/g
00f0: 2c 0a 20 20 20 20 20 20 27 73 74 79 6c 65 27 3a  ,.      'style':
0100: 20 27 73 68 5f 63 6f 6d 6d 65 6e 74 27 0a 20 20   'sh_comment'.  
0110: 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20    },.    {.     
0120: 20 27 72 65 67 65 78 27 3a 20 2f 5c 62 5b 2b 2d   'regex': /\b[+-
0130: 5d 3f 28 3f 3a 28 3f 3a 30 78 5b 41 2d 46 61 2d  ]?(?:(?:0x[A-Fa-
0140: 66 30 2d 39 5d 2b 29 7c 28 3f 3a 28 3f 3a 5b 5c  f0-9]+)|(?:(?:[\
0150: 64 5d 2a 5c 2e 29 3f 5b 5c 64 5d 2b 28 3f 3a 5b  d]*\.)?[\d]+(?:[
0160: 65 45 5d 5b 2b 2d 5d 3f 5b 5c 64 5d 2b 29 3f 29  eE][+-]?[\d]+)?)
0170: 29 75 3f 28 3f 3a 28 3f 3a 69 6e 74 28 3f 3a 38  )u?(?:(?:int(?:8
0180: 7c 31 36 7c 33 32 7c 36 34 29 29 7c 4c 29 3f 5c  |16|32|64))|L)?\
0190: 62 2f 67 2c 0a 20 20 20 20 20 20 27 73 74 79 6c  b/g,.      'styl
01a0: 65 27 3a 20 27 73 68 5f 6e 75 6d 62 65 72 27 0a  e': 'sh_number'.
01b0: 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20      },.    {.   
01c0: 20 20 20 27 6e 65 78 74 27 3a 20 32 2c 0a 20 20     'next': 2,.  
01d0: 20 20 20 20 27 72 65 67 65 78 27 3a 20 2f 22 2f      'regex': /"/
01e0: 67 2c 0a 20 20 20 20 20 20 27 73 74 79 6c 65 27  g,.      'style'
01f0: 3a 20 27 73 68 5f 73 74 72 69 6e 67 27 0a 20 20  : 'sh_string'.  
0200: 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20    },.    {.     
0210: 20 27 6e 65 78 74 27 3a 20 33 2c 0a 20 20 20 20   'next': 3,.    
0220: 20 20 27 72 65 67 65 78 27 3a 20 2f 27 2f 67 2c    'regex': /'/g,
0230: 0a 20 20 20 20 20 20 27 73 74 79 6c 65 27 3a 20  .      'style': 
0240: 27 73 68 5f 73 74 72 69 6e 67 27 0a 20 20 20 20  'sh_string'.    
0250: 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 27  },.    {.      '
0260: 72 65 67 65 78 27 3a 20 2f 7e 7c 21 7c 25 7c 5c  regex': /~|!|%|\
0270: 5e 7c 5c 2a 7c 5c 28 7c 5c 29 7c 2d 7c 5c 2b 7c  ^|\*|\(|\)|-|\+|
0280: 3d 7c 5c 5b 7c 5c 5d 7c 5c 5c 7c 3a 7c 3b 7c 2c  =|\[|\]|\\|:|;|,
0290: 7c 5c 2e 7c 5c 2f 7c 5c 3f 7c 26 7c 3c 7c 3e 7c  |\.|\/|\?|&|<|>|
02a0: 5c 7c 2f 67 2c 0a 20 20 20 20 20 20 27 73 74 79  \|/g,.      'sty
02b0: 6c 65 27 3a 20 27 73 68 5f 73 79 6d 62 6f 6c 27  le': 'sh_symbol'
02c0: 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20  .    },.    {.  
02d0: 20 20 20 20 27 72 65 67 65 78 27 3a 20 2f 5c 7b      'regex': /\{
02e0: 7c 5c 7d 2f 67 2c 0a 20 20 20 20 20 20 27 73 74  |\}/g,.      'st
02f0: 79 6c 65 27 3a 20 27 73 68 5f 63 62 72 61 63 6b  yle': 'sh_cbrack
0300: 65 74 27 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b  et'.    },.    {
0310: 0a 20 20 20 20 20 20 27 72 65 67 65 78 27 3a 20  .      'regex': 
0320: 2f 5c 62 28 3f 3a 70 72 6f 63 7c 67 6c 6f 62 61  /\b(?:proc|globa
0330: 6c 7c 75 70 76 61 72 7c 69 66 7c 74 68 65 6e 7c  l|upvar|if|then|
0340: 65 6c 73 65 7c 65 6c 73 65 69 66 7c 66 6f 72 7c  else|elseif|for|
0350: 66 6f 72 65 61 63 68 7c 62 72 65 61 6b 7c 63 6f  foreach|break|co
0360: 6e 74 69 6e 75 65 7c 77 68 69 6c 65 7c 73 65 74  ntinue|while|set
0370: 7c 65 76 61 6c 7c 63 61 73 65 7c 69 6e 7c 73 77  |eval|case|in|sw
0380: 69 74 63 68 7c 64 65 66 61 75 6c 74 7c 65 78 69  itch|default|exi
0390: 74 7c 65 72 72 6f 72 7c 70 72 6f 63 7c 72 65 74  t|error|proc|ret
03a0: 75 72 6e 7c 75 70 6c 65 76 65 6c 7c 6c 6f 6f 70  urn|uplevel|loop
03b0: 7c 66 6f 72 5f 61 72 72 61 79 5f 6b 65 79 73 7c  |for_array_keys|
03c0: 66 6f 72 5f 72 65 63 75 72 73 69 76 65 5f 67 6c  for_recursive_gl
03d0: 6f 62 7c 66 6f 72 5f 66 69 6c 65 7c 75 6e 77 69  ob|for_file|unwi
03e0: 6e 64 5f 70 72 6f 74 65 63 74 7c 65 78 70 72 7c  nd_protect|expr|
03f0: 63 61 74 63 68 7c 6e 61 6d 65 73 70 61 63 65 7c  catch|namespace|
0400: 72 65 6e 61 6d 65 7c 76 61 72 69 61 62 6c 65 7c  rename|variable|
0410: 6d 65 74 68 6f 64 7c 69 74 63 6c 5f 63 6c 61 73  method|itcl_clas
0420: 73 7c 70 75 62 6c 69 63 7c 70 72 6f 74 65 63 74  s|public|protect
0430: 65 64 7c 61 70 70 65 6e 64 7c 62 69 6e 61 72 79  ed|append|binary
0440: 7c 66 6f 72 6d 61 74 7c 72 65 5f 73 79 6e 74 61  |format|re_synta
0450: 78 7c 72 65 67 65 78 70 7c 72 65 67 73 75 62 7c  x|regexp|regsub|
0460: 73 63 61 6e 7c 73 74 72 69 6e 67 7c 73 75 62 73  scan|string|subs
0470: 74 7c 63 6f 6e 63 61 74 7c 6a 6f 69 6e 7c 6c 61  t|concat|join|la
0480: 70 70 65 6e 64 7c 6c 69 6e 64 65 78 7c 6c 69 73  ppend|lindex|lis
0490: 74 7c 6c 6c 65 6e 67 74 68 7c 6c 72 61 6e 67 65  t|llength|lrange
04a0: 7c 6c 72 65 70 6c 61 63 65 7c 6c 73 65 61 72 63  |lreplace|lsearc
04b0: 68 7c 6c 73 65 74 7c 6c 73 6f 72 74 7c 73 70 6c  h|lset|lsort|spl
04c0: 69 74 7c 65 78 70 72 7c 69 6e 63 72 7c 63 6c 6f  it|expr|incr|clo
04d0: 73 65 7c 65 6f 66 7c 66 62 6c 6f 63 6b 65 64 7c  se|eof|fblocked|
04e0: 66 63 6f 6e 66 69 67 75 72 65 7c 66 63 6f 70 79  fconfigure|fcopy
04f0: 7c 66 69 6c 65 7c 66 69 6c 65 65 76 65 6e 74 7c  |file|fileevent|
0500: 66 6c 75 73 68 7c 67 65 74 73 7c 6f 70 65 6e 7c  flush|gets|open|
0510: 70 75 74 73 7c 72 65 61 64 7c 73 65 65 6b 7c 73  puts|read|seek|s
0520: 6f 63 6b 65 74 7c 74 65 6c 6c 7c 6c 6f 61 64 7c  ocket|tell|load|
0530: 6c 6f 61 64 54 6b 7c 70 61 63 6b 61 67 65 7c 70  loadTk|package|p
0540: 67 6b 3a 3a 63 72 65 61 74 65 7c 70 67 6b 5f 6d  gk::create|pgk_m
0550: 6b 49 6e 64 65 78 7c 73 6f 75 72 63 65 7c 62 67  kIndex|source|bg
0560: 65 72 72 6f 72 7c 68 69 73 74 6f 72 79 7c 69 6e  error|history|in
0570: 66 6f 7c 69 6e 74 65 72 70 7c 6d 65 6d 6f 72 79  fo|interp|memory
0580: 7c 75 6e 6b 6e 6f 77 6e 7c 65 6e 63 6f 6e 64 69  |unknown|encondi
0590: 6e 67 7c 68 74 74 70 7c 6d 73 67 63 61 74 7c 63  ng|http|msgcat|c
05a0: 64 7c 63 6c 6f 63 6b 7c 65 78 65 63 7c 65 78 69  d|clock|exec|exi
05b0: 74 7c 67 6c 6f 62 7c 70 69 64 7c 70 77 64 7c 74  t|glob|pid|pwd|t
05c0: 69 6d 65 7c 64 64 65 7c 72 65 67 69 73 74 72 79  ime|dde|registry
05d0: 7c 72 65 73 6f 75 72 63 65 29 5c 62 2f 67 2c 0a  |resource)\b/g,.
05e0: 20 20 20 20 20 20 27 73 74 79 6c 65 27 3a 20 27        'style': '
05f0: 73 68 5f 6b 65 79 77 6f 72 64 27 0a 20 20 20 20  sh_keyword'.    
0600: 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 27  },.    {.      '
0610: 72 65 67 65 78 27 3a 20 2f 5c 24 5b 41 2d 5a 61  regex': /\$[A-Za
0620: 2d 7a 30 2d 39 5f 5d 2b 2f 67 2c 0a 20 20 20 20  -z0-9_]+/g,.    
0630: 20 20 27 73 74 79 6c 65 27 3a 20 27 73 68 5f 76    'style': 'sh_v
0640: 61 72 69 61 62 6c 65 27 0a 20 20 20 20 7d 0a 20  ariable'.    }. 
0650: 20 5d 2c 0a 20 20 5b 0a 20 20 20 20 7b 0a 20 20   ],.  [.    {.  
0660: 20 20 20 20 27 65 78 69 74 27 3a 20 74 72 75 65      'exit': true
0670: 2c 0a 20 20 20 20 20 20 27 72 65 67 65 78 27 3a  ,.      'regex':
0680: 20 2f 24 2f 67 0a 20 20 20 20 7d 0a 20 20 5d 2c   /$/g.    }.  ],
0690: 0a 20 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20  .  [.    {.     
06a0: 20 27 65 78 69 74 27 3a 20 74 72 75 65 2c 0a 20   'exit': true,. 
06b0: 20 20 20 20 20 27 72 65 67 65 78 27 3a 20 2f 22       'regex': /"
06c0: 2f 67 2c 0a 20 20 20 20 20 20 27 73 74 79 6c 65  /g,.      'style
06d0: 27 3a 20 27 73 68 5f 73 74 72 69 6e 67 27 0a 20  ': 'sh_string'. 
06e0: 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20     },.    {.    
06f0: 20 20 27 72 65 67 65 78 27 3a 20 2f 5c 5c 2e 2f    'regex': /\\./
0700: 67 2c 0a 20 20 20 20 20 20 27 73 74 79 6c 65 27  g,.      'style'
0710: 3a 20 27 73 68 5f 73 70 65 63 69 61 6c 63 68 61  : 'sh_specialcha
0720: 72 27 0a 20 20 20 20 7d 0a 20 20 5d 2c 0a 20 20  r'.    }.  ],.  
0730: 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 27 65  [.    {.      'e
0740: 78 69 74 27 3a 20 74 72 75 65 2c 0a 20 20 20 20  xit': true,.    
0750: 20 20 27 72 65 67 65 78 27 3a 20 2f 27 2f 67 2c    'regex': /'/g,
0760: 0a 20 20 20 20 20 20 27 73 74 79 6c 65 27 3a 20  .      'style': 
0770: 27 73 68 5f 73 74 72 69 6e 67 27 0a 20 20 20 20  'sh_string'.    
0780: 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 27  },.    {.      '
0790: 72 65 67 65 78 27 3a 20 2f 5c 5c 2e 2f 67 2c 0a  regex': /\\./g,.
07a0: 20 20 20 20 20 20 27 73 74 79 6c 65 27 3a 20 27        'style': '
07b0: 73 68 5f 73 70 65 63 69 61 6c 63 68 61 72 27 0a  sh_specialchar'.
07c0: 20 20 20 20 7d 0a 20 20 5d 0a 5d 3b 0a 73 68 5f      }.  ].];.sh_
07d0: 6c 61 6e 67 75 61 67 65 73 5b 27 75 6e 69 78 27  languages['unix'
07e0: 5d 20 3d 20 5b 0a 20 20 5b 0a 20 20 20 20 7b 0a  ] = [.  [.    {.
07f0: 20 20 20 20 20 20 27 72 65 67 65 78 27 3a 20 2f        'regex': /
0800: 5c 24 20 2e 2a 2f 67 2c 0a 20 20 20 20 20 20 27  \$ .*/g,.      '
0810: 73 74 79 6c 65 27 3a 20 27 73 68 5f 63 6f 6d 6d  style': 'sh_comm
0820: 65 6e 74 27 0a 20 20 20 20 7d 0a 20 20 5d 0a 5d  ent'.    }.  ].]
0830: 3b 0a 73 68 5f 6c 61 6e 67 75 61 67 65 73 5b 27  ;.sh_languages['
0840: 61 75 74 6f 73 65 74 75 70 27 5d 20 3d 20 5b 0a  autosetup'] = [.
0850: 20 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20    [.    {.      
0860: 27 6e 65 78 74 27 3a 20 31 2c 0a 20 20 20 20 20  'next': 1,.     
0870: 20 27 72 65 67 65 78 27 3a 20 2f 23 2f 67 2c 0a   'regex': /#/g,.
0880: 20 20 20 20 20 20 27 73 74 79 6c 65 27 3a 20 27        'style': '
0890: 73 68 5f 63 6f 6d 6d 65 6e 74 27 0a 20 20 20 20  sh_comment'.    
08a0: 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 27  },.    {.      '
08b0: 72 65 67 65 78 27 3a 20 2f 5c 62 5b 2b 2d 5d 3f  regex': /\b[+-]?
08c0: 28 3f 3a 28 3f 3a 30 78 5b 41 2d 46 61 2d 66 30  (?:(?:0x[A-Fa-f0
08d0: 2d 39 5d 2b 29 7c 28 3f 3a 28 3f 3a 5b 5c 64 5d  -9]+)|(?:(?:[\d]
08e0: 2a 5c 2e 29 3f 5b 5c 64 5d 2b 28 3f 3a 5b 65 45  *\.)?[\d]+(?:[eE
08f0: 5d 5b 2b 2d 5d 3f 5b 5c 64 5d 2b 29 3f 29 29 75  ][+-]?[\d]+)?))u
0900: 3f 28 3f 3a 28 3f 3a 69 6e 74 28 3f 3a 38 7c 31  ?(?:(?:int(?:8|1
0910: 36 7c 33 32 7c 36 34 29 29 7c 4c 29 3f 5c 62 2f  6|32|64))|L)?\b/
0920: 67 2c 0a 20 20 20 20 20 20 27 73 74 79 6c 65 27  g,.      'style'
0930: 3a 20 27 73 68 5f 6e 75 6d 62 65 72 27 0a 20 20  : 'sh_number'.  
0940: 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20    },.    {.     
0950: 20 27 6e 65 78 74 27 3a 20 32 2c 0a 20 20 20 20   'next': 2,.    
0960: 20 20 27 72 65 67 65 78 27 3a 20 2f 22 2f 67 2c    'regex': /"/g,
0970: 0a 20 20 20 20 20 20 27 73 74 79 6c 65 27 3a 20  .      'style': 
0980: 27 73 68 5f 73 74 72 69 6e 67 27 0a 20 20 20 20  'sh_string'.    
0990: 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 27  },.    {.      '
09a0: 72 65 67 65 78 27 3a 20 2f 7e 7c 21 7c 25 7c 5c  regex': /~|!|%|\
09b0: 5e 7c 5c 2a 7c 5c 28 7c 5c 29 7c 2d 7c 5c 2b 7c  ^|\*|\(|\)|-|\+|
09c0: 3d 7c 5c 5b 7c 5c 5d 7c 5c 5c 7c 3a 7c 3b 7c 2c  =|\[|\]|\\|:|;|,
09d0: 7c 5c 2e 7c 5c 2f 7c 5c 3f 7c 26 7c 3c 7c 3e 7c  |\.|\/|\?|&|<|>|
09e0: 5c 7c 2f 67 2c 0a 20 20 20 20 20 20 27 73 74 79  \|/g,.      'sty
09f0: 6c 65 27 3a 20 27 73 68 5f 73 79 6d 62 6f 6c 27  le': 'sh_symbol'
0a00: 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20  .    },.    {.  
0a10: 20 20 20 20 27 72 65 67 65 78 27 3a 20 2f 5c 7b      'regex': /\{
0a20: 7c 5c 7d 2f 67 2c 0a 20 20 20 20 20 20 27 73 74  |\}/g,.      'st
0a30: 79 6c 65 27 3a 20 27 73 68 5f 63 62 72 61 63 6b  yle': 'sh_cbrack
0a40: 65 74 27 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b  et'.    },.    {
0a50: 0a 20 20 20 20 20 20 27 72 65 67 65 78 27 3a 20  .      'regex': 
0a60: 2f 5c 62 28 3f 3a 63 63 2d 5b 2d 61 2d 7a 5d 2a  /\b(?:cc-[-a-z]*
0a70: 7c 64 65 66 69 6e 65 5b 2d 61 2d 7a 5d 2a 7c 67  |define[-a-z]*|g
0a80: 65 74 2d 64 65 66 69 6e 65 7c 75 73 65 72 2d 65  et-define|user-e
0a90: 72 72 6f 72 7c 6f 70 74 69 6f 6e 73 7c 75 73 65  rror|options|use
0aa0: 7c 6f 70 74 2d 5b 61 2d 7a 5d 2a 7c 6d 73 67 2d  |opt-[a-z]*|msg-
0ab0: 5b 2d 61 2d 7a 5d 2a 7c 6d 61 6b 65 2d 5b 2d 61  [-a-z]*|make-[-a
0ac0: 2d 7a 5d 2a 7c 68 61 76 65 2d 5b 2d 61 2d 7a 5d  -z]*|have-[-a-z]
0ad0: 2a 29 5c 73 2f 67 2c 0a 20 20 20 20 20 20 27 73  *)\s/g,.      's
0ae0: 74 79 6c 65 27 3a 20 27 73 68 5f 66 75 6e 63 74  tyle': 'sh_funct
0af0: 69 6f 6e 27 0a 20 20 20 20 7d 2c 0a 20 20 20 20  ion'.    },.    
0b00: 7b 0a 20 20 20 20 20 20 27 72 65 67 65 78 27 3a  {.      'regex':
0b10: 20 2f 5c 62 28 3f 3a 70 72 6f 63 7c 67 6c 6f 62   /\b(?:proc|glob
0b20: 61 6c 7c 75 70 76 61 72 7c 69 66 7c 74 68 65 6e  al|upvar|if|then
0b30: 7c 65 6c 73 65 7c 65 6c 73 65 69 66 7c 66 6f 72  |else|elseif|for
0b40: 7c 66 6f 72 65 61 63 68 7c 62 72 65 61 6b 7c 63  |foreach|break|c
0b50: 6f 6e 74 69 6e 75 65 7c 77 68 69 6c 65 7c 73 65  ontinue|while|se
0b60: 74 7c 65 76 61 6c 7c 63 61 73 65 7c 69 6e 7c 73  t|eval|case|in|s
0b70: 77 69 74 63 68 7c 64 65 66 61 75 6c 74 7c 65 78  witch|default|ex
0b80: 69 74 7c 65 72 72 6f 72 7c 70 72 6f 63 7c 72 65  it|error|proc|re
0b90: 74 75 72 6e 7c 75 70 6c 65 76 65 6c 7c 6c 6f 6f  turn|uplevel|loo
0ba0: 70 7c 65 78 70 72 7c 63 61 74 63 68 7c 6e 61 6d  p|expr|catch|nam
0bb0: 65 73 70 61 63 65 7c 72 65 6e 61 6d 65 7c 76 61  espace|rename|va
0bc0: 72 69 61 62 6c 65 7c 6d 65 74 68 6f 64 7c 70 75  riable|method|pu
0bd0: 62 6c 69 63 7c 70 72 6f 74 65 63 74 65 64 7c 61  blic|protected|a
0be0: 70 70 65 6e 64 7c 62 69 6e 61 72 79 7c 66 6f 72  ppend|binary|for
0bf0: 6d 61 74 7c 72 65 5f 73 79 6e 74 61 78 7c 72 65  mat|re_syntax|re
0c00: 67 65 78 70 7c 72 65 67 73 75 62 7c 73 63 61 6e  gexp|regsub|scan
0c10: 7c 73 74 72 69 6e 67 7c 73 75 62 73 74 7c 63 6f  |string|subst|co
0c20: 6e 63 61 74 7c 6a 6f 69 6e 7c 6c 61 70 70 65 6e  ncat|join|lappen
0c30: 64 7c 6c 69 6e 64 65 78 7c 6c 69 73 74 7c 6c 6c  d|lindex|list|ll
0c40: 65 6e 67 74 68 7c 6c 72 61 6e 67 65 7c 6c 72 65  ength|lrange|lre
0c50: 70 6c 61 63 65 7c 6c 73 65 61 72 63 68 7c 6c 73  place|lsearch|ls
0c60: 65 74 7c 6c 73 6f 72 74 7c 73 70 6c 69 74 7c 65  et|lsort|split|e
0c70: 78 70 72 7c 69 6e 63 72 7c 63 6c 6f 73 65 7c 65  xpr|incr|close|e
0c80: 6f 66 7c 66 62 6c 6f 63 6b 65 64 7c 66 63 6f 6e  of|fblocked|fcon
0c90: 66 69 67 75 72 65 7c 66 63 6f 70 79 7c 66 69 6c  figure|fcopy|fil
0ca0: 65 7c 66 69 6c 65 65 76 65 6e 74 7c 66 6c 75 73  e|fileevent|flus
0cb0: 68 7c 67 65 74 73 7c 6f 70 65 6e 7c 70 75 74 73  h|gets|open|puts
0cc0: 7c 72 65 61 64 7c 73 65 65 6b 7c 73 6f 63 6b 65  |read|seek|socke
0cd0: 74 7c 74 65 6c 6c 7c 6c 6f 61 64 7c 6c 6f 61 64  t|tell|load|load
0ce0: 54 6b 7c 70 61 63 6b 61 67 65 7c 70 67 6b 3a 3a  Tk|package|pgk::
0cf0: 63 72 65 61 74 65 7c 70 67 6b 5f 6d 6b 49 6e 64  create|pgk_mkInd
0d00: 65 78 7c 73 6f 75 72 63 65 7c 62 67 65 72 72 6f  ex|source|bgerro
0d10: 72 7c 68 69 73 74 6f 72 79 7c 69 6e 66 6f 7c 69  r|history|info|i
0d20: 6e 74 65 72 70 7c 6d 65 6d 6f 72 79 7c 75 6e 6b  nterp|memory|unk
0d30: 6e 6f 77 6e 7c 65 6e 63 6f 6e 64 69 6e 67 7c 68  nown|enconding|h
0d40: 74 74 70 7c 6d 73 67 63 61 74 7c 63 64 7c 63 6c  ttp|msgcat|cd|cl
0d50: 6f 63 6b 7c 65 78 65 63 7c 65 78 69 74 7c 67 6c  ock|exec|exit|gl
0d60: 6f 62 7c 70 69 64 7c 70 77 64 7c 74 69 6d 65 7c  ob|pid|pwd|time|
0d70: 64 64 65 7c 72 65 67 69 73 74 72 79 7c 72 65 73  dde|registry|res
0d80: 6f 75 72 63 65 29 5c 62 2f 67 2c 0a 20 20 20 20  ource)\b/g,.    
0d90: 20 20 27 73 74 79 6c 65 27 3a 20 27 73 68 5f 6b    'style': 'sh_k
0da0: 65 79 77 6f 72 64 27 0a 20 20 20 20 7d 2c 0a 20  eyword'.    },. 
0db0: 20 20 20 7b 0a 20 20 20 20 20 20 27 72 65 67 65     {.      'rege
0dc0: 78 27 3a 20 2f 5c 24 5b 41 2d 5a 61 2d 7a 30 2d  x': /\$[A-Za-z0-
0dd0: 39 5f 5d 2b 2f 67 2c 0a 20 20 20 20 20 20 27 73  9_]+/g,.      's
0de0: 74 79 6c 65 27 3a 20 27 73 68 5f 76 61 72 69 61  tyle': 'sh_varia
0df0: 62 6c 65 27 0a 20 20 20 20 7d 0a 20 20 5d 2c 0a  ble'.    }.  ],.
0e00: 20 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20    [.    {.      
0e10: 27 65 78 69 74 27 3a 20 74 72 75 65 2c 0a 20 20  'exit': true,.  
0e20: 20 20 20 20 27 72 65 67 65 78 27 3a 20 2f 24 2f      'regex': /$/
0e30: 67 0a 20 20 20 20 7d 0a 20 20 5d 2c 0a 20 20 5b  g.    }.  ],.  [
0e40: 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 27 65 78  .    {.      'ex
0e50: 69 74 27 3a 20 74 72 75 65 2c 0a 20 20 20 20 20  it': true,.     
0e60: 20 27 72 65 67 65 78 27 3a 20 2f 22 2f 67 2c 0a   'regex': /"/g,.
0e70: 20 20 20 20 20 20 27 73 74 79 6c 65 27 3a 20 27        'style': '
0e80: 73 68 5f 73 74 72 69 6e 67 27 0a 20 20 20 20 7d  sh_string'.    }
0e90: 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 27 72  ,.    {.      'r
0ea0: 65 67 65 78 27 3a 20 2f 5c 5c 2e 2f 67 2c 0a 20  egex': /\\./g,. 
0eb0: 20 20 20 20 20 27 73 74 79 6c 65 27 3a 20 27 73       'style': 's
0ec0: 68 5f 73 70 65 63 69 61 6c 63 68 61 72 27 0a 20  h_specialchar'. 
0ed0: 20 20 20 7d 0a 20 20 5d 2c 0a 5d 3b 0a              }.  ],.];.