Hex Artifact Content Вы: nobody
Вход

Artifact a51d4db70088cf470f2216a67fbdecc9d17985e7:


0000: ef bb bf 24 65 6e 67 69 6e 65 20 4a 53 63 72 69  ...$engine JScri
0010: 70 74 0d 0a 24 75 6e 61 6d 65 20 65 78 74 53 79  pt..$uname extSy
0020: 6e 74 61 78 43 68 65 63 6b 0d 0a 24 64 6e 61 6d  ntaxCheck..$dnam
0030: 65 20 d0 a0 d0 b0 d1 81 d1 88 d0 b8 d1 80 d0 b5  e ..............
0040: d0 bd d0 bd d0 b8 d0 b5 20 d1 81 d0 be d0 be d0  ........ .......
0050: b1 d1 89 d0 b5 d0 bd d0 b8 d0 b9 20 d0 be d0 b1  ........... ....
0060: 20 d0 be d1 88 d0 b8 d0 b1 d0 ba d0 b0 d1 85 20   .............. 
0070: 2e 0d 0a 24 61 64 64 69 6e 20 73 74 64 6c 69 62  ...$addin stdlib
0080: 0d 0a 24 61 64 64 69 6e 20 73 74 64 63 6f 6d 6d  ..$addin stdcomm
0090: 61 6e 64 73 0d 0a 0d 0a 2f 2f 20 28 63 29 20 d0  ands....// (c) .
00a0: a1 d0 be d1 81 d0 bd d0 b0 20 d0 95 d0 b2 d0 b3  ......... ......
00b0: d0 b5 d0 bd d0 b8 d0 b9 20 3c 73 68 65 6e 6a 61  ........ <shenja
00c0: 40 73 6f 73 6e 61 2e 7a 70 2e 75 61 3e 0d 0a 0d  @sosna.zp.ua>...
00d0: 0a 73 74 64 6c 69 62 2e 72 65 71 75 69 72 65 28  .stdlib.require(
00e0: 27 54 65 78 74 57 69 6e 64 6f 77 2e 6a 73 27 2c  'TextWindow.js',
00f0: 20 53 65 6c 66 53 63 72 69 70 74 29 3b 0d 0a 73   SelfScript);..s
0100: 74 64 6c 69 62 2e 72 65 71 75 69 72 65 28 27 53  tdlib.require('S
0110: 63 72 69 70 74 46 6f 72 6d 2e 6a 73 27 2c 20 53  criptForm.js', S
0120: 65 6c 66 53 63 72 69 70 74 29 3b 0d 0a 73 74 64  elfScript);..std
0130: 6c 69 62 2e 72 65 71 75 69 72 65 28 27 6c 6f 67  lib.require('log
0140: 34 6a 73 2e 6a 73 27 2c 20 53 65 6c 66 53 63 72  4js.js', SelfScr
0150: 69 70 74 29 3b 0d 0a 0d 0a 76 61 72 20 73 70 65  ipt);....var spe
0160: 6c 6c 20 3d 20 73 74 64 6c 69 62 2e 72 65 71 75  ll = stdlib.requ
0170: 69 72 65 28 73 74 64 6c 69 62 2e 67 65 74 53 6e  ire(stdlib.getSn
0180: 65 67 6f 70 61 74 4d 61 69 6e 46 6f 6c 64 65 72  egopatMainFolder
0190: 28 29 20 2b 20 27 73 63 72 69 70 74 73 5c 5c 53  () + 'scripts\\S
01a0: 70 65 6c 6c 43 68 65 63 6b 65 72 2e 6a 73 27 29  pellChecker.js')
01b0: 3b 0d 0a 0d 0a 76 61 72 20 6c 6f 67 67 65 72 20  ;....var logger 
01c0: 3d 20 4c 6f 67 34 6a 73 2e 67 65 74 4c 6f 67 67  = Log4js.getLogg
01d0: 65 72 28 53 65 6c 66 53 63 72 69 70 74 2e 75 6e  er(SelfScript.un
01e0: 69 71 75 65 4e 61 6d 65 29 3b 0d 0a 76 61 72 20  iqueName);..var 
01f0: 61 70 70 65 6e 64 65 72 20 3d 20 6e 65 77 20 4c  appender = new L
0200: 6f 67 34 6a 73 2e 42 72 6f 77 73 65 72 43 6f 6e  og4js.BrowserCon
0210: 73 6f 6c 65 41 70 70 65 6e 64 65 72 28 29 3b 0d  soleAppender();.
0220: 0a 61 70 70 65 6e 64 65 72 2e 73 65 74 4c 61 79  .appender.setLay
0230: 6f 75 74 28 6e 65 77 20 4c 6f 67 34 6a 73 2e 50  out(new Log4js.P
0240: 61 74 74 65 72 6e 4c 61 79 6f 75 74 28 4c 6f 67  atternLayout(Log
0250: 34 6a 73 2e 50 61 74 74 65 72 6e 4c 61 79 6f 75  4js.PatternLayou
0260: 74 2e 54 54 43 43 5f 43 4f 4e 56 45 52 53 49 4f  t.TTCC_CONVERSIO
0270: 4e 5f 50 41 54 54 45 52 4e 29 29 3b 0d 0a 6c 6f  N_PATTERN));..lo
0280: 67 67 65 72 2e 61 64 64 41 70 70 65 6e 64 65 72  gger.addAppender
0290: 28 61 70 70 65 6e 64 65 72 29 3b 0d 0a 6c 6f 67  (appender);..log
02a0: 67 65 72 2e 73 65 74 4c 65 76 65 6c 28 4c 6f 67  ger.setLevel(Log
02b0: 34 6a 73 2e 4c 65 76 65 6c 2e 45 52 52 4f 52 29  4js.Level.ERROR)
02c0: 3b 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e  ;....SelfScript.
02d0: 73 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 9d d0 b0  self['macros....
02e0: d1 81 d1 82 d1 80 d0 be d0 b9 d0 ba d0 b0 27 5d  ..............']
02f0: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d   = function() {.
0300: 0a 20 20 20 20 65 78 74 53 79 6e 74 61 78 43 68  .    extSyntaxCh
0310: 65 63 6b 20 3d 20 47 65 74 45 78 74 53 79 6e 74  eck = GetExtSynt
0320: 61 78 43 68 65 63 6b 28 29 3b 0d 0a 20 20 20 20  axCheck();..    
0330: 65 78 74 53 79 6e 74 61 78 43 68 65 63 6b 2e 73  extSyntaxCheck.s
0340: 68 6f 77 28 29 3b 0d 0a 7d 0d 0a 0d 0a 53 65 6c  how();..}....Sel
0350: 66 53 63 72 69 70 74 2e 73 65 6c 66 5b 27 6d 61  fScript.self['ma
0360: 63 72 6f 73 d0 9f d1 80 d0 be d0 b2 d0 b5 d1 80  cros............
0370: d0 ba d0 b0 20 d1 81 d0 b8 d0 bd d1 82 d0 b0 d0  .... ...........
0380: ba d1 81 d0 b8 d1 81 d0 b0 20 d0 b8 20 d0 be d1  ......... .. ...
0390: 80 d1 84 d0 be d0 b3 d1 80 d0 b0 d1 84 d0 b8 d0  ................
03a0: b8 20 d0 b4 d0 bb d1 8f 20 d0 b8 d0 b7 d0 bc d0  . ...... .......
03b0: b5 d0 bd d0 bd d0 b5 d0 bd d1 8b d1 85 20 d1 81  ............. ..
03c0: d1 82 d1 80 d0 be d0 ba 27 5d 20 3d 20 66 75 6e  ........'] = fun
03d0: 63 74 69 6f 6e 28 29 7b 0d 0a 20 20 20 20 73 79  ction(){..    sy
03e0: 6e 74 61 78 41 6e 64 53 70 65 6c 6c 43 68 65 63  ntaxAndSpellChec
03f0: 6b 28 29 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74  k();..}....funct
0400: 69 6f 6e 20 73 79 6e 74 61 78 41 6e 64 53 70 65  ion syntaxAndSpe
0410: 6c 6c 43 68 65 63 6b 28 29 20 7b 0d 0a 20 20 20  llCheck() {..   
0420: 20 69 66 28 73 74 64 63 6f 6d 6d 61 6e 64 73 2e   if(stdcommands.
0430: 46 72 6e 74 65 6e 64 2e 53 79 6e 74 61 78 43 68  Frntend.SyntaxCh
0440: 65 63 6b 2e 67 65 74 53 74 61 74 65 28 29 2e 65  eck.getState().e
0450: 6e 61 62 6c 65 64 29 0d 0a 20 20 20 20 20 20 20  nabled)..       
0460: 20 73 74 64 63 6f 6d 6d 61 6e 64 73 2e 46 72 6e   stdcommands.Frn
0470: 74 65 6e 64 2e 53 79 6e 74 61 78 43 68 65 63 6b  tend.SyntaxCheck
0480: 2e 73 65 6e 64 28 29 3b 0d 0a 20 20 20 20 0d 0a  .send();..    ..
0490: 20 20 20 20 76 61 72 20 77 6e 64 20 3d 20 47 65      var wnd = Ge
04a0: 74 54 65 78 74 57 69 6e 64 6f 77 28 29 3b 0d 0a  tTextWindow();..
04b0: 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20 74 65      ..    var te
04c0: 78 74 20 3d 20 22 22 3b 0d 0a 20 20 20 20 69 66  xt = "";..    if
04d0: 20 28 77 6e 64 29 7b 0d 0a 20 20 20 20 20 20 20   (wnd){..       
04e0: 20 74 65 78 74 20 3d 20 77 6e 64 2e 47 65 74 54   text = wnd.GetT
04f0: 65 78 74 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  ext();..        
0500: 74 65 78 74 20 3d 20 74 65 78 74 2e 73 70 6c 69  text = text.spli
0510: 74 28 27 5c 6e 27 29 3b 0d 0a 20 20 20 20 20 20  t('\n');..      
0520: 20 20 73 70 65 6c 6c 43 68 65 63 6b 65 72 20 3d    spellChecker =
0530: 20 73 70 65 6c 6c 2e 47 65 74 53 70 65 6c 6c 43   spell.GetSpellC
0540: 68 65 63 6b 65 72 28 29 3b 0d 0a 20 20 20 20 7d  hecker();..    }
0550: 20 65 6c 73 65 20 7b 0d 0a 20 20 20 20 20 20 20   else {..       
0560: 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 7d 0d   return;..    }.
0570: 0a 0d 0a 20 20 20 20 76 61 72 20 73 63 69 4d 67  ...    var sciMg
0580: 72 20 3d 20 61 64 64 69 6e 73 2e 62 79 55 6e 69  r = addins.byUni
0590: 71 75 65 4e 61 6d 65 28 22 53 63 69 43 6f 6c 6f  queName("SciColo
05a0: 72 65 72 56 38 4d 61 6e 61 67 65 72 22 29 2e 6f  rerV8Manager").o
05b0: 62 6a 65 63 74 3b 0d 0a 20 20 20 20 76 61 72 20  bject;..    var 
05c0: 68 77 6e 64 20 3d 20 73 63 69 4d 67 72 2e 67 65  hwnd = sciMgr.ge
05d0: 74 41 63 74 69 76 65 53 63 69 6e 74 69 6c 6c 61  tActiveScintilla
05e0: 48 61 6e 64 6c 65 28 29 3b 0d 0a 20 20 20 20 69  Handle();..    i
05f0: 66 20 28 68 77 6e 64 29 7b 0d 0a 20 20 20 20 20  f (hwnd){..     
0600: 20 20 20 76 61 72 20 6e 65 78 74 4d 6f 64 4c 69     var nextModLi
0610: 6e 65 20 3d 20 73 63 69 4d 67 72 2e 53 65 6e 64  ne = sciMgr.Send
0620: 53 63 69 4d 65 73 73 61 67 65 28 68 77 6e 64 2c  SciMessage(hwnd,
0630: 73 63 69 4d 67 72 2e 53 43 49 5f 47 45 54 4e 45  sciMgr.SCI_GETNE
0640: 58 54 4d 4f 44 4c 49 4e 45 2c 30 2c 2d 31 29 3b  XTMODLINE,0,-1);
0650: 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 63 75  ..        var cu
0660: 72 4d 6f 64 4c 69 6e 65 20 3d 20 2d 31 3b 0d 0a  rModLine = -1;..
0670: 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 6e          while (n
0680: 65 78 74 4d 6f 64 4c 69 6e 65 20 3e 20 63 75 72  extModLine > cur
0690: 4d 6f 64 4c 69 6e 65 29 7b 0d 0a 20 20 20 20 20  ModLine){..     
06a0: 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 73          while (s
06b0: 63 69 4d 67 72 2e 53 65 6e 64 53 63 69 4d 65 73  ciMgr.SendSciMes
06c0: 73 61 67 65 28 68 77 6e 64 2c 73 63 69 4d 67 72  sage(hwnd,sciMgr
06d0: 2e 53 43 49 5f 47 45 54 4d 4f 44 4c 49 4e 45 53  .SCI_GETMODLINES
06e0: 54 41 54 45 2c 6e 65 78 74 4d 6f 64 4c 69 6e 65  TATE,nextModLine
06f0: 29 20 3e 20 30 29 7b 0d 0a 20 20 20 20 20 20 20  ) > 0){..       
0700: 20 20 20 20 20 20 20 20 20 73 70 65 6c 6c 43 68           spellCh
0710: 65 63 6b 65 72 2e 53 70 65 6c 6c 4c 69 6e 65 28  ecker.SpellLine(
0720: 74 65 78 74 5b 6e 65 78 74 4d 6f 64 4c 69 6e 65  text[nextModLine
0730: 2d 31 5d 2c 20 77 6e 64 2c 20 6e 65 78 74 4d 6f  -1], wnd, nextMo
0740: 64 4c 69 6e 65 2d 31 29 3b 0d 0a 20 20 20 20 20  dLine-1);..     
0750: 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 4d             nextM
0760: 6f 64 4c 69 6e 65 2b 2b 3b 0d 0a 20 20 20 20 20  odLine++;..     
0770: 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20         }....    
0780: 20 20 20 20 20 20 20 20 63 75 72 4d 6f 64 4c 69          curModLi
0790: 6e 65 20 3d 20 6e 65 78 74 4d 6f 64 4c 69 6e 65  ne = nextModLine
07a0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e  ;..            n
07b0: 65 78 74 4d 6f 64 4c 69 6e 65 20 3d 20 73 63 69  extModLine = sci
07c0: 4d 67 72 2e 53 65 6e 64 53 63 69 4d 65 73 73 61  Mgr.SendSciMessa
07d0: 67 65 28 68 77 6e 64 2c 73 63 69 4d 67 72 2e 53  ge(hwnd,sciMgr.S
07e0: 43 49 5f 47 45 54 4e 45 58 54 4d 4f 44 4c 49 4e  CI_GETNEXTMODLIN
07f0: 45 2c 30 2c 63 75 72 4d 6f 64 4c 69 6e 65 29 3b  E,0,curModLine);
0800: 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20  ..        }..   
0810: 20 20 20 20 20 74 72 79 7b 0d 0a 20 20 20 20 20       try{..     
0820: 20 20 20 20 20 20 20 73 70 65 6c 6c 43 68 65 63         spellChec
0830: 6b 65 72 2e 70 72 6f 76 69 64 65 72 2e 44 69 73  ker.provider.Dis
0840: 63 6f 6e 6e 65 63 74 28 29 3b 0d 0a 20 20 20 20  connect();..    
0850: 20 20 20 20 7d 20 63 61 74 63 68 28 65 29 7b 7d      } catch(e){}
0860: 0d 0a 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 45 78 74  ..   }..}....Ext
0870: 53 79 6e 74 61 78 43 68 65 63 6b 20 3d 20 53 63  SyntaxCheck = Sc
0880: 72 69 70 74 46 6f 72 6d 2e 65 78 74 65 6e 64 28  riptForm.extend(
0890: 7b 0d 0a 0d 0a 20 20 20 20 73 65 74 74 69 6e 67  {....    setting
08a0: 73 52 6f 6f 74 50 61 74 68 20 3a 20 53 65 6c 66  sRootPath : Self
08b0: 53 63 72 69 70 74 2e 75 6e 69 71 75 65 4e 61 6d  Script.uniqueNam
08c0: 65 2c 0d 0a 20 20 20 20 0d 0a 20 20 20 20 73 65  e,..    ..    se
08d0: 74 74 69 6e 67 73 20 3a 20 7b 0d 0a 20 20 20 20  ttings : {..    
08e0: 20 20 20 20 70 66 6c 53 6e 65 67 6f 70 61 74 20      pflSnegopat 
08f0: 3a 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  : {..           
0900: 20 27 63 61 74 68 53 79 6e 74 61 78 43 68 65 63   'cathSyntaxChec
0910: 6b 27 3a 20 66 61 6c 73 65 2c 0d 0a 20 20 20 20  k': false,..    
0920: 20 20 20 20 20 20 20 20 27 6d 61 78 4c 65 6e 67          'maxLeng
0930: 74 68 27 20 3a 20 34 35 2c 0d 0a 20 20 20 20 20  th' : 45,..     
0940: 20 20 20 20 20 20 20 27 63 68 65 63 6b 4c 65 6e         'checkLen
0950: 67 74 68 46 75 6e 63 74 69 6f 6e 27 3a 20 66 61  gthFunction': fa
0960: 6c 73 65 20 2f 2f 20 d0 9f d0 b5 d1 80 d0 b5 d1  lse // .........
0970: 85 d0 b2 d0 b0 d1 82 d1 8b d0 b2 d0 b0 d1 82 d1  ................
0980: 8c 20 d0 ba d0 be d0 bc d0 bc d0 b0 d0 bd d0 b4  . ..............
0990: d1 83 20 d1 81 d0 b8 d0 bd d1 82 d0 b0 d0 ba d1  .. .............
09a0: 81 d0 b8 d1 87 d0 b5 d1 81 d0 ba d0 be d0 b9 20  ............... 
09b0: d0 bf d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b8  ................
09c0: 2e 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20  ...        }..  
09d0: 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 63 6f 6e 73    },....    cons
09e0: 74 72 75 63 74 20 3a 20 66 75 6e 63 74 69 6f 6e  truct : function
09f0: 20 28 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 0d   () {..        .
0a00: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 5f 73  .        this._s
0a10: 75 70 65 72 28 53 65 6c 66 53 63 72 69 70 74 2e  uper(SelfScript.
0a20: 66 75 6c 6c 50 61 74 68 2e 72 65 70 6c 61 63 65  fullPath.replace
0a30: 28 2f 2e 6a 73 24 2f 2c 20 27 2e 73 73 66 27 29  (/.js$/, '.ssf')
0a40: 29 3b 20 2f 2f d0 97 d0 b0 d0 b3 d1 80 d1 83 d0  ); //...........
0a50: b7 d0 b8 d0 bc 20 d1 84 d0 be d1 80 d0 bc d1 83  ..... ..........
0a60: 20 d1 81 20 d0 bd d0 b0 d1 81 d1 82 d1 80 d0 be   .. ............
0a70: d0 b9 d0 ba d0 b0 d0 bc d0 b8 2c 20 d1 84 d0 be  .........., ....
0a80: d1 80 d0 bc d0 b0 20 d0 b4 d0 be d0 bb d0 b6 d0  ...... .........
0a90: bd d0 b0 20 d0 bd d0 b0 d0 b7 d1 8b d0 b2 d0 b0  ... ............
0aa0: d1 82 d1 8c d1 81 d1 8f 20 d1 82 d0 b0 d0 ba 20  ........ ...... 
0ab0: d0 b6 d0 b5 20 d0 ba d0 b0 d0 ba 20 d0 b8 20 d1  .... ...... .. .
0ac0: 81 d0 ba d1 80 d0 b8 d0 bf d1 82 2c 20 d1 82 d0  ..........., ...
0ad0: be d0 bb d1 8c d0 ba d0 be 20 d1 81 20 d1 80 d0  ......... .. ...
0ae0: b0 d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd d0 b8 d0  ................
0af0: b5 d0 bc 20 73 73 66 0d 0a 20 20 20 20 20 20 20  ... ssf..       
0b00: 20 74 68 69 73 2e 52 45 20 3d 20 6e 65 77 20 52   this.RE = new R
0b10: 65 67 45 78 70 28 22 5e 28 5c 5c 7b 2e 7b 31 2c  egExp("^(\\{.{1,
0b20: 7d 5c 5c 7d 5c 3a 2e 7b 31 2c 7d 5c 29 24 22 2c  }\\}\:.{1,}\)$",
0b30: 20 22 6d 69 67 22 29 3b 20 0d 0a 20 20 20 20 20   "mig"); ..     
0b40: 20 20 20 74 68 69 73 2e 72 65 5f 63 6f 6c 75 6d     this.re_colum
0b50: 6e 20 3d 20 6e 65 77 20 52 65 67 45 78 70 28 22  n = new RegExp("
0b60: 5c 5c 28 5c 28 5c 5c 64 7b 31 2c 7d 29 5c 2c 28  \\(\(\\d{1,})\,(
0b70: 5c 5c 64 7b 31 2c 7d 29 5c 5c 29 5c 5c 7d 5c 3a  \\d{1,})\\)\\}\:
0b80: 22 2c 20 22 69 22 29 3b 0d 0a 20 20 20 20 20 20  ", "i");..      
0b90: 20 20 74 68 69 73 2e 52 45 5f 45 52 52 4f 52 5f    this.RE_ERROR_
0ba0: 54 45 58 54 20 3d 20 6e 65 77 20 52 65 67 45 78  TEXT = new RegEx
0bb0: 70 28 22 5c 5c 73 5c 5c 28 28 d0 9f d1 80 d0 be  p("\\s\\((......
0bc0: d0 b2 d0 b5 d1 80 d0 ba d0 b0 5c 5c 3a 5c 5c 73  ..........\\:\\s
0bd0: 2e 7b 31 2c 7d 29 5c 5c 29 24 22 2c 20 22 67 69  .{1,})\\)$", "gi
0be0: 6d 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 74 68  m");..        th
0bf0: 69 73 2e 65 72 72 6f 72 73 20 3d 20 7b 7d 3b 0d  is.errors = {};.
0c00: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 6c 6f  .        this.lo
0c10: 61 64 53 65 74 74 69 6e 67 73 28 29 3b 20 2f 2f  adSettings(); //
0c20: d0 97 d0 b0 d0 b3 d1 80 d1 83 d0 b7 d0 b8 d0 bc  ................
0c30: 20 d1 81 d0 be d1 85 d1 80 d0 b0 d0 bd d0 b5 d0   ...............
0c40: bd d0 bd d1 8b d0 b5 20 d0 bd d0 b0 d1 81 d1 82  ....... ........
0c50: d1 80 d0 be d0 b9 d0 ba d0 b8 2e 20 0d 0a 20 20  ........... ..  
0c60: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
0c70: 45 78 74 53 79 6e 74 61 78 43 68 65 63 6b 2e 5f  ExtSyntaxCheck._
0c80: 69 6e 73 74 61 6e 63 65 20 3d 20 74 68 69 73 3b  instance = this;
0c90: 0d 0a 20 20 20 20 7d 2c 20 0d 0a 20 20 20 20 0d  ..    }, ..    .
0ca0: 0a 20 20 20 20 6c 6f 61 64 53 65 74 74 69 6e 67  .    loadSetting
0cb0: 73 3a 20 66 75 6e 63 74 69 6f 6e 28 29 7b 0d 0a  s: function(){..
0cc0: 20 20 20 20 20 20 20 20 74 68 69 73 2e 5f 73 75          this._su
0cd0: 70 65 72 28 29 3b 0d 0a 20 20 20 20 20 20 20 20  per();..        
0ce0: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 68  ..        if (th
0cf0: 69 73 2e 66 6f 72 6d 2e 63 61 74 68 53 79 6e 74  is.form.cathSynt
0d00: 61 78 43 68 65 63 6b 29 20 7b 20 0d 0a 20 20 20  axCheck) { ..   
0d10: 20 20 20 20 20 20 20 20 20 2f 2f d0 9f d0 be d0           //.....
0d20: b4 d0 ba d0 bb d1 8e d1 87 d0 b0 d0 b5 d0 bc d1  ................
0d30: 81 d1 8f 20 d0 ba 20 d0 ba d0 be d0 bc d0 b0 d0  ... .. .........
0d40: bd d0 b4 d0 b5 20 d0 bf d1 80 d0 be d0 b2 d0 b5  ..... ..........
0d50: d1 80 d0 ba d0 b8 20 d1 82 d0 b5 d0 ba d1 81 d1  ...... .........
0d60: 82 d0 b0 20 0d 0a 20 20 20 20 20 20 20 20 20 20  ... ..          
0d70: 20 20 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 27    logger.debug('
0d80: 6c 6f 61 64 53 65 74 74 69 6e 67 73 20 61 64 64  loadSettings add
0d90: 48 61 6e 64 6c 65 72 27 29 0d 0a 20 20 20 20 20  Handler')..     
0da0: 20 20 20 20 20 20 20 20 73 74 64 63 6f 6d 6d 61          stdcomma
0db0: 6e 64 73 2e 46 72 6e 74 65 6e 64 2e 53 79 6e 74  nds.Frntend.Synt
0dc0: 61 78 43 68 65 63 6b 2e 61 64 64 48 61 6e 64 6c  axCheck.addHandl
0dd0: 65 72 28 74 68 69 73 2c 20 22 6f 6e 53 79 6e 74  er(this, "onSynt
0de0: 61 78 43 68 65 63 6b 22 29 3b 0d 0a 20 20 20 20  axCheck");..    
0df0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
0e00: 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20 20 20    } else {..    
0e10: 20 20 20 20 20 20 20 20 6c 6f 67 67 65 72 2e 64          logger.d
0e20: 65 62 75 67 28 27 6c 6f 61 64 53 65 74 74 69 6e  ebug('loadSettin
0e30: 67 73 20 64 65 6c 48 61 6e 64 6c 65 72 27 29 0d  gs delHandler').
0e40: 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 72 79  .            try
0e50: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   {..            
0e60: 20 20 20 20 73 74 64 63 6f 6d 6d 61 6e 64 73 2e      stdcommands.
0e70: 46 72 6e 74 65 6e 64 2e 53 79 6e 74 61 78 43 68  Frntend.SyntaxCh
0e80: 65 63 6b 2e 64 65 6c 48 61 6e 64 6c 65 72 28 74  eck.delHandler(t
0e90: 68 69 73 2c 20 22 6f 6e 53 79 6e 74 61 78 43 68  his, "onSyntaxCh
0ea0: 65 63 6b 22 29 3b 0d 0a 20 20 20 20 20 20 20 20  eck");..        
0eb0: 20 20 20 20 7d 20 63 61 74 63 68 28 65 29 20 7b      } catch(e) {
0ec0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
0ed0: 20 20 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 65    logger.debug(e
0ee0: 2e 64 65 73 63 72 69 70 74 69 6f 6e 29 3b 0d 0a  .description);..
0ef0: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20              }.. 
0f00: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20             ..   
0f10: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20       }..        
0f20: 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20  ..    },....    
0f30: 61 6e 61 6c 69 7a 65 4d 6f 64 75 6c 65 3a 20 66  analizeModule: f
0f40: 75 6e 63 74 69 6f 6e 28 29 7b 0d 0a 20 20 20 20  unction(){..    
0f50: 20 20 20 20 6c 6f 67 67 65 72 2e 64 65 62 75 67      logger.debug
0f60: 28 22 61 6e 61 6c 69 7a 65 4d 6f 64 75 6c 65 22  ("analizeModule"
0f70: 29 3b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20  );..        var 
0f80: 70 61 72 73 65 72 20 3d 20 73 6e 65 67 6f 70 61  parser = snegopa
0f90: 74 2e 70 61 72 73 65 53 6f 75 72 63 65 73 28 74  t.parseSources(t
0fa0: 68 69 73 2e 77 6e 64 2e 47 65 74 54 65 78 74 28  his.wnd.GetText(
0fb0: 29 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 66  ));....        f
0fc0: 6f 72 28 76 61 72 20 69 20 3d 20 30 2c 20 63 20  or(var i = 0, c 
0fd0: 3d 20 70 61 72 73 65 72 2e 6c 65 78 65 6d 43 6f  = parser.lexemCo
0fe0: 75 6e 74 3b 20 69 20 3c 20 63 3b 20 69 2b 2b 29  unt; i < c; i++)
0ff0: 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20  ..        {..   
1000: 20 20 20 20 20 20 20 20 20 76 61 72 20 6c 65 78           var lex
1010: 20 3d 20 70 61 72 73 65 72 2e 6c 65 78 65 6d 28   = parser.lexem(
1020: 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  i)..            
1030: 69 66 28 6c 65 78 2e 74 79 70 65 3d 3d 34 30 20  if(lex.type==40 
1040: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69  )..            i
1050: 2b 3d 20 74 68 69 73 2e 61 6e 61 6c 69 7a 65 46  += this.analizeF
1060: 75 6e 63 74 69 6f 6e 28 70 61 72 73 65 72 2c 69  unction(parser,i
1070: 2c 6c 65 78 29 3b 0d 0a 20 20 20 20 20 20 20 20  ,lex);..        
1080: 20 20 20 7d 20 0d 0a 20 20 20 20 7d 2c 0d 0a 20     } ..    },.. 
1090: 20 20 20 0d 0a 20 20 20 20 61 6e 61 6c 69 7a 65     ..    analize
10a0: 46 75 6e 63 74 69 6f 6e 3a 20 66 75 6e 63 74 69  Function: functi
10b0: 6f 6e 28 70 61 72 73 65 72 2c 73 74 61 72 74 2c  on(parser,start,
10c0: 73 74 61 72 74 6c 65 78 29 7b 0d 0a 0d 0a 20 20  startlex){....  
10d0: 20 20 20 20 20 20 6c 69 6e 65 20 3d 20 30 3b 0d        line = 0;.
10e0: 0a 20 20 20 20 20 20 20 20 6e 61 6d 65 20 3d 20  .        name = 
10f0: 70 61 72 73 65 72 2e 6c 65 78 65 6d 28 73 74 61  parser.lexem(sta
1100: 72 74 2b 31 29 2e 74 65 78 74 3b 0d 0a 20 20 20  rt+1).text;..   
1110: 20 20 20 20 20 6c 61 73 74 6c 69 6e 65 20 3d 20       lastline = 
1120: 73 74 61 72 74 6c 65 78 2e 6c 69 6e 65 3b 0d 0a  startlex.line;..
1130: 20 20 20 20 20 20 20 20 76 61 72 20 69 2c 63 2c          var i,c,
1140: 20 77 6e 64 20 3d 20 47 65 74 54 65 78 74 57 69   wnd = GetTextWi
1150: 6e 64 6f 77 28 29 3b 0d 0a 20 20 20 20 20 20 20  ndow();..       
1160: 20 66 6f 72 28 69 20 3d 20 73 74 61 72 74 2c 20   for(i = start, 
1170: 63 20 3d 20 70 61 72 73 65 72 2e 6c 65 78 65 6d  c = parser.lexem
1180: 43 6f 75 6e 74 3b 20 69 3c 20 63 3b 20 69 2b 2b  Count; i< c; i++
1190: 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ){..            
11a0: 76 61 72 20 6c 65 78 20 3d 20 70 61 72 73 65 72  var lex = parser
11b0: 2e 6c 65 78 65 6d 28 69 29 3b 0d 0a 20 20 20 20  .lexem(i);..    
11c0: 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 78 4c          var maxL
11d0: 69 6e 65 73 20 3d 20 74 68 69 73 2e 66 6f 72 6d  ines = this.form
11e0: 2e 6d 61 78 4c 65 6e 67 74 68 3b 0d 0a 20 20 20  .maxLength;..   
11f0: 20 20 20 20 20 20 20 20 20 69 66 28 6c 65 78 2e           if(lex.
1200: 74 79 70 65 3d 3d 34 32 29 7b 0d 0a 20 20 20 20  type==42){..    
1210: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 6c              if(l
1220: 69 6e 65 20 3e 20 6d 61 78 4c 69 6e 65 73 29 20  ine > maxLines) 
1230: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
1240: 20 20 20 76 61 72 20 70 61 72 61 6d 20 3d 20 7b     var param = {
1250: 7d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  };..            
1260: 20 20 20 20 70 61 72 61 6d 5b 27 77 6e 64 27 5d      param['wnd']
1270: 20 3d 20 77 6e 64 3b 0d 0a 20 20 20 20 20 20 20   = wnd;..       
1280: 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 5b 27           param['
1290: 6c 69 6e 65 27 5d 20 3d 20 73 74 61 72 74 6c 65  line'] = startle
12a0: 78 2e 6c 69 6e 65 3b 0d 0a 20 20 20 20 20 20 20  x.line;..       
12b0: 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 65           message
12c0: 28 22 d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 d1 8f  ("..............
12d0: 20 22 2b 6e 61 6d 65 2b 22 20 d0 b1 d0 be d0 bb   "+name+" ......
12e0: d1 8c d1 88 d0 b0 d1 8f 2e 20 d0 9b d0 b8 d1 88  ......... ......
12f0: d0 bd d0 b8 d1 85 20 22 2b 28 6c 69 6e 65 20 2d  ...... "+(line -
1300: 20 6d 61 78 4c 69 6e 65 73 29 2b 22 20 d1 81 d1   maxLines)+" ...
1310: 82 d1 80 d0 be d0 ba 20 22 2c 6d 45 78 63 31 2c  ....... ",mExc1,
1320: 20 74 68 69 73 2e 6f 6e 43 6c 69 63 6b 5f 4d 65   this.onClick_Me
1330: 73 73 61 67 65 2c 20 70 61 72 61 6d 29 3b 0d 0a  ssage, param);..
1340: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1350: 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 62  }..            b
1360: 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20  reak;..         
1370: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20     }..          
1380: 20 20 69 66 20 28 6c 65 78 2e 74 79 70 65 20 3d    if (lex.type =
1390: 3d 20 31 29 20 2f 2f 20 d0 ba d0 be d0 bc d0 b5  = 1) // ........
13a0: d0 bd d1 82 d1 8b 20 d0 bd d0 b5 20 d1 81 d1 87  ...... .... ....
13b0: d0 b8 d1 82 d0 b0 d1 8e d1 82 d1 81 d1 8f 20 d0  .............. .
13c0: ba d0 be d0 b4 d0 be d0 bc 2e 0d 0a 20 20 20 20  ............    
13d0: 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74              cont
13e0: 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20  inue;..         
13f0: 20 20 20 6c 69 6e 65 2b 3d 20 28 6c 61 73 74 6c     line+= (lastl
1400: 69 6e 65 3d 3d 6c 65 78 2e 6c 69 6e 65 29 20 3f  ine==lex.line) ?
1410: 20 30 3a 31 3b 20 2f 2f 20 d1 81 d0 bc d0 b5 d0   0:1; // .......
1420: bd d0 b8 d1 82 d1 8c d1 81 d1 8f 20 d0 bf d0 be  ........... ....
1430: d1 81 d0 bb d0 b5 20 d0 bf d1 80 d0 be d1 87 d1  ...... .........
1440: 82 d0 b5 d0 bd d0 b8 d1 8f 20 d0 bf d0 b5 d1 80  ......... ......
1450: d0 b5 d0 b2 d0 be d0 b4 d0 b0 20 d1 81 d1 82 d1  .......... .....
1460: 80 d0 be d0 ba d0 b8 2e 20 d0 b0 20 d1 8d d1 82  ........ .. ....
1470: d0 be 20 d0 bc d0 be d0 b6 d0 b5 d1 82 20 d1 82  .. .......... ..
1480: d0 be d0 bb d1 8c d0 ba d0 be 20 d0 bf d1 80 d0  .......... .....
1490: b8 20 d1 87 d0 b5 d1 81 d1 82 d0 bd d0 be d0 bc  . ..............
14a0: 20 d0 bf d0 b5 d1 80 d0 b5 d0 b2 d0 be d0 b4 d0   ...............
14b0: b5 20 d0 b8 d0 bb d0 b8 20 d0 b5 d1 81 d0 bb d0  . ...... .......
14c0: b8 20 d0 bf d1 80 d0 be d1 87 d0 bb d0 b8 20 d0  . ............ .
14d0: bc d0 bd d0 be d0 b3 d0 be d1 81 d1 82 d1 80 d0  ................
14e0: be d1 87 d0 bd d1 83 d1 8e 20 d1 81 d1 82 d1 80  ......... ......
14f0: d0 be d0 ba d1 83 0d 0a 20 20 20 20 20 20 20 20  ........        
1500: 20 20 20 20 6c 61 73 74 6c 69 6e 65 20 3d 6c 65      lastline =le
1510: 78 2e 6c 69 6e 65 3b 0d 0a 20 20 20 20 20 20 20  x.line;..       
1520: 20 7d 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75   }..        retu
1530: 72 6e 20 28 69 20 2d 20 73 74 61 72 74 29 3b 0d  rn (i - start);.
1540: 0a 20 20 20 20 7d 2c 20 0d 0a 0d 0a 20 20 20 20  .    }, ....    
1550: 6f 6e 43 6c 69 63 6b 5f 4d 65 73 73 61 67 65 3a  onClick_Message:
1560: 20 66 75 6e 63 74 69 6f 6e 28 70 61 72 61 6d 29   function(param)
1570: 7b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 66 20  {....        if 
1580: 28 21 70 61 72 61 6d 5b 27 77 6e 64 27 5d 29 20  (!param['wnd']) 
1590: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72  {..            r
15a0: 65 74 75 72 6e 20 0d 0a 20 20 20 20 20 20 20 20  eturn ..        
15b0: 7d 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21  }..        if (!
15c0: 70 61 72 61 6d 5b 27 77 6e 64 27 5d 2e 49 73 41  param['wnd'].IsA
15d0: 63 74 69 76 65 28 29 29 20 7b 0d 0a 20 20 20 20  ctive()) {..    
15e0: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 0d          return .
15f0: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20  .        }..    
1600: 20 20 20 20 70 61 72 61 6d 5b 27 77 6e 64 27 5d      param['wnd']
1610: 2e 53 65 74 43 61 72 65 74 50 6f 73 28 70 61 72  .SetCaretPos(par
1620: 61 6d 5b 27 6c 69 6e 65 27 5d 2b 31 2c 20 31 29  am['line']+1, 1)
1630: 3b 0d 0a 20 20 20 20 20 20 20 20 76 69 65 77 20  ;..        view 
1640: 3d 20 70 61 72 61 6d 5b 27 77 6e 64 27 5d 2e 47  = param['wnd'].G
1650: 65 74 56 69 65 77 28 29 3b 0d 0a 20 20 20 20 20  etView();..     
1660: 20 20 20 69 66 20 28 21 76 69 65 77 29 7b 0d 0a     if (!view){..
1670: 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20              ..  
1680: 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a        } else {..
1690: 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 67 67              logg
16a0: 65 72 2e 64 65 62 75 67 28 27 76 69 65 77 20 61  er.debug('view a
16b0: 63 74 69 76 61 74 65 20 27 29 3b 0d 0a 20 20 20  ctivate ');..   
16c0: 20 20 20 20 20 20 20 20 20 76 69 65 77 2e 61 63           view.ac
16d0: 74 69 76 61 74 65 28 29 3b 0d 0a 20 20 20 20 20  tivate();..     
16e0: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 0d 0a     }..        ..
16f0: 20 20 20 20 20 20 20 20 70 61 72 61 6d 20 3d 20          param = 
1700: 6e 75 6c 6c 0d 0a 0d 0a 20 20 20 20 7d 2c 0d 0a  null....    },..
1710: 0d 0a 20 20 20 20 6f 6e 53 79 6e 74 61 78 43 68  ..    onSyntaxCh
1720: 65 63 6b 3a 20 66 75 6e 63 74 69 6f 6e 20 28 63  eck: function (c
1730: 6d 64 29 7b 0d 0a 20 20 20 20 20 20 20 20 6c 6f  md){..        lo
1740: 67 67 65 72 2e 64 65 62 75 67 28 27 6f 6e 53 79  gger.debug('onSy
1750: 6e 74 61 78 43 68 65 63 6b 20 27 29 0d 0a 20 20  ntaxCheck ')..  
1760: 20 20 20 20 20 20 69 66 20 28 63 6d 64 2e 69 73        if (cmd.is
1770: 42 65 66 6f 72 65 29 7b 0d 0a 20 20 20 20 20 20  Before){..      
1780: 20 20 20 20 20 20 74 68 69 73 2e 77 6e 64 20 3d        this.wnd =
1790: 20 6e 65 77 20 54 65 78 74 57 69 6e 64 6f 77 28   new TextWindow(
17a0: 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20  );..        }.. 
17b0: 20 20 20 20 20 20 20 69 66 28 21 63 6d 64 2e 69         if(!cmd.i
17c0: 73 42 65 66 6f 72 65 29 0d 0a 20 20 20 20 20 20  sBefore)..      
17d0: 20 20 7b 20 0d 0a 20 20 20 20 20 20 20 20 20 20    { ..          
17e0: 20 20 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 27    logger.debug('
17f0: 6f 6e 53 79 6e 74 61 78 43 68 65 63 6b 20 64 69  onSyntaxCheck di
1800: 73 63 6f 6e 6e 65 63 74 27 29 0d 0a 20 20 20 20  sconnect')..    
1810: 20 20 20 20 20 20 20 20 74 72 79 20 7b 0d 0a 20          try {.. 
1820: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1830: 20 20 20 65 76 65 6e 74 73 2e 64 69 73 63 6f 6e     events.discon
1840: 6e 65 63 74 28 44 65 73 69 67 6e 65 72 2c 20 22  nect(Designer, "
1850: 6f 6e 4d 65 73 73 61 67 65 22 2c 20 74 68 69 73  onMessage", this
1860: 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20  );....          
1870: 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 20 28         } catch (
1880: 65 29 20 7b 20 7d 0d 0a 20 20 20 20 20 20 20 20  e) { }..        
1890: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20           ..     
18a0: 20 20 20 20 20 20 20 68 61 73 45 72 72 6f 72 73         hasErrors
18b0: 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20   = false;..     
18c0: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
18d0: 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 6b 20       for (var k 
18e0: 69 6e 20 74 68 69 73 2e 65 72 72 6f 72 73 29 7b  in this.errors){
18f0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1900: 20 20 68 61 73 45 72 72 6f 72 73 20 3d 20 74 72    hasErrors = tr
1910: 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ue;..           
1920: 20 20 20 20 20 74 65 78 74 20 3d 20 74 68 69 73       text = this
1930: 2e 65 72 72 6f 72 73 5b 6b 5d 3b 0d 0a 20 20 20  .errors[k];..   
1940: 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72               var
1950: 20 4d 61 74 63 68 65 73 20 3d 20 74 68 69 73 2e   Matches = this.
1960: 72 65 5f 63 6f 6c 75 6d 6e 2e 65 78 65 63 28 74  re_column.exec(t
1970: 65 78 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20  ext);..         
1980: 20 20 20 20 20 20 20 69 66 20 28 4d 61 74 63 68         if (Match
1990: 65 73 20 21 3d 20 6e 75 6c 6c 29 7b 0d 0a 20 20  es != null){..  
19a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b0: 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20    ..            
19c0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
19d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61                va
19e0: 72 20 70 61 72 61 6d 20 3d 20 7b 7d 0d 0a 20 20  r param = {}..  
19f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a00: 20 20 70 61 72 61 6d 5b 27 77 6e 64 27 5d 20 3d    param['wnd'] =
1a10: 20 74 68 69 73 2e 77 6e 64 3b 0d 0a 20 20 20 20   this.wnd;..    
1a20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a30: 70 61 72 61 6d 5b 27 6c 69 6e 65 27 5d 20 3d 20  param['line'] = 
1a40: 4d 61 74 63 68 65 73 5b 31 5d 3b 0d 0a 20 20 20  Matches[1];..   
1a50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a60: 20 70 61 72 61 6d 5b 27 63 6f 6c 75 6d 6e 27 5d   param['column']
1a70: 20 3d 20 4d 61 74 63 68 65 73 5b 32 5d 3b 0d 0a   = Matches[2];..
1a80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a90: 20 20 20 20 6c 6f 67 67 65 72 2e 64 65 62 75 67      logger.debug
1aa0: 28 27 6f 6e 53 79 6e 74 61 78 43 68 65 63 6b 20  ('onSyntaxCheck 
1ab0: d0 b2 d1 8b d0 b2 d0 be d0 b4 20 d1 81 d0 be d0  .......... .....
1ac0: be d0 b1 d1 89 d0 b5 d0 bd d0 b8 d1 8f 20 d0 bf  ............. ..
1ad0: d0 be 20 d1 80 d0 b5 d0 b3 d1 83 d0 bb d1 8f d1  .. .............
1ae0: 80 d0 bd d0 be d0 bc d1 83 20 d0 b2 d1 8b d1 80  ......... ......
1af0: d0 b0 d0 b6 d0 b5 d0 bd d0 b8 d1 8e 2e 27 29 3b  .............');
1b00: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1b10: 20 20 20 20 20 20 4d 65 73 73 61 67 65 28 74 65        Message(te
1b20: 78 74 2c 20 6d 45 78 63 33 2c 20 28 66 75 6e 63  xt, mExc3, (func
1b30: 74 69 6f 6e 28 70 61 72 61 6d 29 7b 0d 0a 20 20  tion(param){..  
1b40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b50: 20 20 20 20 20 20 6c 6f 67 67 65 72 2e 64 65 62        logger.deb
1b60: 75 67 28 27 6f 6e 20 4d 65 73 73 61 67 65 20 d0  ug('on Message .
1b70: 9e d0 b1 d1 80 d0 b0 d0 b1 d0 be d1 82 d1 87 d0  ................
1b80: b8 d0 ba 20 d1 81 d0 be d0 b1 d1 8b d1 82 d0 b8  ... ............
1b90: d0 b9 2e 27 29 3b 0d 0a 20 20 20 20 20 20 20 20  ...');..        
1ba0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb0: 69 66 20 28 21 70 61 72 61 6d 5b 27 77 6e 64 27  if (!param['wnd'
1bc0: 5d 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20  ]) {..          
1bd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be0: 20 20 72 65 74 75 72 6e 20 0d 0a 20 20 20 20 20    return ..     
1bf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c00: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20     }..          
1c10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66                if
1c20: 20 28 21 70 61 72 61 6d 5b 27 77 6e 64 27 5d 2e   (!param['wnd'].
1c30: 49 73 41 63 74 69 76 65 28 29 29 20 7b 0d 0a 20  IsActive()) {.. 
1c40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c50: 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72             retur
1c60: 6e 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  n ..            
1c70: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20              }.. 
1c80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c90: 20 20 20 20 20 20 20 70 61 72 61 6d 5b 27 77 6e         param['wn
1ca0: 64 27 5d 2e 53 65 74 43 61 72 65 74 50 6f 73 28  d'].SetCaretPos(
1cb0: 70 61 72 61 6d 5b 27 6c 69 6e 65 27 5d 2c 20 70  param['line'], p
1cc0: 61 72 61 6d 5b 27 63 6f 6c 75 6d 6e 27 5d 29 3b  aram['column']);
1cd0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1ce0: 20 20 20 20 20 20 20 20 20 20 76 69 65 77 20 3d            view =
1cf0: 20 70 61 72 61 6d 5b 27 77 6e 64 27 5d 2e 47 65   param['wnd'].Ge
1d00: 74 56 69 65 77 28 29 3b 0d 0a 20 20 20 20 20 20  tView();..      
1d10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d20: 20 20 69 66 20 28 21 76 69 65 77 29 7b 0d 0a 20    if (!view){.. 
1d30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d40: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20             ..   
1d50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d60: 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20       } else {.. 
1d70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d80: 20 20 20 20 20 20 20 20 20 20 20 6c 6f 67 67 65             logge
1d90: 72 2e 64 65 62 75 67 28 27 76 69 65 77 20 61 63  r.debug('view ac
1da0: 74 69 76 61 74 65 20 27 29 3b 0d 0a 20 20 20 20  tivate ');..    
1db0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc0: 20 20 20 20 20 20 20 20 76 69 65 77 2e 61 63 74          view.act
1dd0: 69 76 61 74 65 28 29 3b 0d 0a 20 20 20 20 20 20  ivate();..      
1de0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df0: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20    }..           
1e00: 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20               .. 
1e10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e20: 20 20 20 20 20 20 20 70 61 72 61 6d 20 3d 20 6e         param = n
1e30: 75 6c 6c 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ull..           
1e40: 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20               .. 
1e50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e60: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 7d 29 2c         ..    }),
1e70: 20 70 61 72 61 6d 29 3b 0d 0a 20 20 20 20 20 20   param);..      
1e80: 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65            } else
1e90: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   {..            
1ea0: 20 20 20 20 20 20 20 20 6c 6f 67 67 65 72 2e 64          logger.d
1eb0: 65 62 75 67 28 27 6f 6e 53 79 6e 74 61 78 43 68  ebug('onSyntaxCh
1ec0: 65 63 6b 20 d0 b2 d1 8b d0 b2 d0 be d0 b4 20 d1  eck .......... .
1ed0: 81 d0 be d0 be d0 b1 d1 89 d0 b5 d0 bd d0 b8 d1  ................
1ee0: 8f 20 2d 20 d0 bd d0 b5 20 d1 81 d0 bc d0 be d0  . - .... .......
1ef0: b3 d0 bb d0 b8 20 d0 be d0 bf d1 80 d0 b5 d0 b4  ..... ..........
1f00: d0 b5 d0 bb d0 b8 d1 82 d1 8c 2e 27 29 3b 0d 0a  ...........');..
1f10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f20: 20 20 20 20 4d 65 73 73 61 67 65 28 27 27 2b 74      Message(''+t
1f30: 65 78 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20  ext);..         
1f40: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20         }..      
1f50: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
1f60: 20 20 20 20 20 74 68 69 73 2e 65 72 72 6f 72 73       this.errors
1f70: 20 3d 20 7b 7d 3b 0d 0a 20 20 20 20 20 20 20 20   = {};..        
1f80: 20 20 20 20 69 66 20 28 74 68 69 73 2e 66 6f 72      if (this.for
1f90: 6d 2e 63 68 65 63 6b 4c 65 6e 67 74 68 46 75 6e  m.checkLengthFun
1fa0: 63 74 69 6f 6e 29 7b 0d 0a 20 20 20 20 20 20 20  ction){..       
1fb0: 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 61 6e           this.an
1fc0: 61 6c 69 7a 65 4d 6f 64 75 6c 65 28 29 3b 0d 0a  alizeModule();..
1fd0: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20              }.. 
1fe0: 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d         } else {.
1ff0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 67  .            log
2000: 67 65 72 2e 64 65 62 75 67 28 27 6f 6e 53 79 6e  ger.debug('onSyn
2010: 74 61 78 43 68 65 63 6b 20 63 6f 6e 6e 65 63 74  taxCheck connect
2020: 27 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ')..            
2030: 65 76 65 6e 74 73 2e 63 6f 6e 6e 65 63 74 28 44  events.connect(D
2040: 65 73 69 67 6e 65 72 2c 20 22 6f 6e 4d 65 73 73  esigner, "onMess
2050: 61 67 65 22 2c 20 74 68 69 73 29 3b 0d 0a 20 20  age", this);..  
2060: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
2070: 20 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 27 6f   logger.debug('o
2080: 6e 53 79 6e 74 61 78 43 68 65 63 6b 20 65 6e 64  nSyntaxCheck end
2090: 27 29 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20  ')..    },..    
20a0: 0d 0a 20 20 20 20 6f 6e 4d 65 73 73 61 67 65 3a  ..    onMessage:
20b0: 66 75 6e 63 74 69 6f 6e 28 70 61 72 61 6d 29 7b  function(param){
20c0: 0d 0a 20 20 20 20 20 20 20 20 74 65 78 74 20 3d  ..        text =
20d0: 20 70 61 72 61 6d 2e 74 65 78 74 3b 0d 0a 20 20   param.text;..  
20e0: 20 20 20 20 20 20 69 66 20 28 21 74 65 78 74 2e        if (!text.
20f0: 6c 65 6e 67 74 68 29 0d 0a 20 20 20 20 20 20 20  length)..       
2100: 20 20 20 20 20 72 65 74 75 72 6e 0d 0a 20 20 20       return..   
2110: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 74       ..        t
2120: 68 69 73 2e 52 45 20 3d 20 6e 65 77 20 52 65 67  his.RE = new Reg
2130: 45 78 70 28 22 5e 28 5c 5c 7b 2e 7b 31 2c 7d 5c  Exp("^(\\{.{1,}\
2140: 5c 7d 5c 3a 2e 7b 31 2c 7d 5c 29 24 22 2c 20 22  \}\:.{1,}\)$", "
2150: 6d 69 67 22 29 3b 20 0d 0a 20 20 20 20 20 20 20  mig"); ..       
2160: 20 69 66 20 28 28 4d 61 74 63 68 65 73 20 3d 20   if ((Matches = 
2170: 74 68 69 73 2e 52 45 2e 65 78 65 63 28 74 65 78  this.RE.exec(tex
2180: 74 29 29 20 21 3d 20 6e 75 6c 6c 29 7b 0d 0a 20  t)) != null){.. 
2190: 20 20 20 20 20 20 20 20 20 20 20 70 61 72 61 6d             param
21a0: 2e 63 61 6e 63 65 6c 20 3d 20 74 72 75 65 3b 0d  .cancel = true;.
21b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72  .            str
21c0: 20 3d 20 4d 61 74 63 68 65 73 5b 31 5d 3b 0d 0a   = Matches[1];..
21d0: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
21e0: 21 74 68 69 73 2e 65 72 72 6f 72 73 5b 73 74 72  !this.errors[str
21f0: 5d 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ]){..           
2200: 20 20 20 20 20 74 68 69 73 2e 65 72 72 6f 72 73       this.errors
2210: 5b 73 74 72 5d 20 3d 20 74 65 78 74 3b 0d 0a 20  [str] = text;.. 
2220: 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73             } els
2230: 65 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  e {..           
2240: 20 20 20 20 20 74 68 69 73 2e 52 45 5f 45 52 52       this.RE_ERR
2250: 4f 52 5f 54 45 58 54 20 3d 20 6e 65 77 20 52 65  OR_TEXT = new Re
2260: 67 45 78 70 28 22 5c 5c 73 5c 5c 28 28 d0 9f d1  gExp("\\s\\((...
2270: 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b0 5c 5c 3a  .............\\:
2280: 5c 5c 73 2e 7b 31 2c 7d 29 5c 5c 29 24 22 2c 20  \\s.{1,})\\)$", 
2290: 22 67 69 6d 22 29 3b 0d 0a 20 20 20 20 20 20 20  "gim");..       
22a0: 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 2e 63           param.c
22b0: 61 6e 63 65 6c 20 3d 20 74 72 75 65 3b 0d 0a 20  ancel = true;.. 
22c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
22d0: 66 20 28 28 4d 61 74 63 68 65 73 5f 65 72 72 6f  f ((Matches_erro
22e0: 72 20 3d 20 74 68 69 73 2e 52 45 5f 45 52 52 4f  r = this.RE_ERRO
22f0: 52 5f 54 45 58 54 2e 65 78 65 63 28 74 65 78 74  R_TEXT.exec(text
2300: 29 29 20 21 3d 20 6e 75 6c 6c 29 7b 0d 0a 20 20  )) != null){..  
2310: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2320: 20 20 73 74 72 5f 65 72 72 6f 72 20 3d 20 4d 61    str_error = Ma
2330: 74 63 68 65 73 5f 65 72 72 6f 72 5b 30 5d 3b 0d  tches_error[0];.
2340: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
2350: 20 20 20 20 20 74 68 69 73 2e 65 72 72 6f 72 73       this.errors
2360: 5b 73 74 72 5d 20 3d 20 74 68 69 73 2e 65 72 72  [str] = this.err
2370: 6f 72 73 5b 73 74 72 5d 2b 27 20 27 2b 73 74 72  ors[str]+' '+str
2380: 5f 65 72 72 6f 72 3b 0d 0a 20 20 20 20 20 20 20  _error;..       
2390: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20           }..    
23a0: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
23b0: 20 20 20 7d 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20     }..    },..  
23c0: 20 20 0d 0a 20 20 20 20 4f 6b 5f 43 6c 69 63 6b    ..    Ok_Click
23d0: 3a 66 75 6e 63 74 69 6f 6e 28 42 75 74 74 6f 6e  :function(Button
23e0: 29 7b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73  ){..        this
23f0: 2e 73 61 76 65 53 65 74 74 69 6e 67 73 28 29 3b  .saveSettings();
2400: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 6c  ..        this.l
2410: 6f 61 64 53 65 74 74 69 6e 67 73 28 29 3b 0d 0a  oadSettings();..
2420: 20 20 20 20 20 20 20 20 74 68 69 73 2e 66 6f 72          this.for
2430: 6d 2e 43 6c 6f 73 65 28 29 3b 0d 0a 20 20 20 20  m.Close();..    
2440: 7d 2c 20 0d 0a 0d 0a 20 20 20 20 43 6c 6f 73 65  }, ....    Close
2450: 5f 43 6c 69 63 6b 3a 66 75 6e 63 74 69 6f 6e 28  _Click:function(
2460: 42 75 74 74 6f 6e 29 7b 0d 0a 20 20 20 20 20 20  Button){..      
2470: 20 20 74 68 69 73 2e 66 6f 72 6d 2e 43 6c 6f 73    this.form.Clos
2480: 65 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 7d  e();..    }....}
2490: 29 0d 0a 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20  )......function 
24a0: 47 65 74 45 78 74 53 79 6e 74 61 78 43 68 65 63  GetExtSyntaxChec
24b0: 6b 28 29 20 7b 0d 0a 20 20 20 20 69 66 20 28 21  k() {..    if (!
24c0: 45 78 74 53 79 6e 74 61 78 43 68 65 63 6b 2e 5f  ExtSyntaxCheck._
24d0: 69 6e 73 74 61 6e 63 65 29 0d 0a 20 20 20 20 20  instance)..     
24e0: 20 20 20 6e 65 77 20 45 78 74 53 79 6e 74 61 78     new ExtSyntax
24f0: 43 68 65 63 6b 28 29 3b 0d 0a 20 20 20 20 0d 0a  Check();..    ..
2500: 20 20 20 20 72 65 74 75 72 6e 20 45 78 74 53 79      return ExtSy
2510: 6e 74 61 78 43 68 65 63 6b 2e 5f 69 6e 73 74 61  ntaxCheck._insta
2520: 6e 63 65 3b 0d 0a 7d 0d 0a 0d 0a 47 65 74 45 78  nce;..}....GetEx
2530: 74 53 79 6e 74 61 78 43 68 65 63 6b 28 29 3b     tSyntaxCheck();