Hex Artifact Content Вы: nobody
Вход

Artifact e31b93d2a058ac3fdfb7ac4690d31a40ff0c94c7:


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 20 20 20 20 20 20         }..      
0780: 20 20 20 20 20 20 63 75 72 4d 6f 64 4c 69 6e 65        curModLine
0790: 20 3d 20 6e 65 78 74 4d 6f 64 4c 69 6e 65 3b 0d   = nextModLine;.
07a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78  .            nex
07b0: 74 4d 6f 64 4c 69 6e 65 20 3d 20 73 63 69 4d 67  tModLine = sciMg
07c0: 72 2e 53 65 6e 64 53 63 69 4d 65 73 73 61 67 65  r.SendSciMessage
07d0: 28 68 77 6e 64 2c 73 63 69 4d 67 72 2e 53 43 49  (hwnd,sciMgr.SCI
07e0: 5f 47 45 54 4e 45 58 54 4d 4f 44 4c 49 4e 45 2c  _GETNEXTMODLINE,
07f0: 30 2c 63 75 72 4d 6f 64 4c 69 6e 65 29 3b 0d 0a  0,curModLine);..
0800: 20 20 20 20 20 20 20 20 7d 20 20 20 0d 0a 20 20          }   ..  
0810: 20 7d 0d 0a 7d 0d 0a 0d 0a 45 78 74 53 79 6e 74   }..}....ExtSynt
0820: 61 78 43 68 65 63 6b 20 3d 20 53 63 72 69 70 74  axCheck = Script
0830: 46 6f 72 6d 2e 65 78 74 65 6e 64 28 7b 0d 0a 0d  Form.extend({...
0840: 0a 20 20 20 20 73 65 74 74 69 6e 67 73 52 6f 6f  .    settingsRoo
0850: 74 50 61 74 68 20 3a 20 53 65 6c 66 53 63 72 69  tPath : SelfScri
0860: 70 74 2e 75 6e 69 71 75 65 4e 61 6d 65 2c 0d 0a  pt.uniqueName,..
0870: 20 20 20 20 0d 0a 20 20 20 20 73 65 74 74 69 6e      ..    settin
0880: 67 73 20 3a 20 7b 0d 0a 20 20 20 20 20 20 20 20  gs : {..        
0890: 70 66 6c 53 6e 65 67 6f 70 61 74 20 3a 20 7b 0d  pflSnegopat : {.
08a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 63 61  .            'ca
08b0: 74 68 53 79 6e 74 61 78 43 68 65 63 6b 27 3a 20  thSyntaxCheck': 
08c0: 66 61 6c 73 65 2c 0d 0a 20 20 20 20 20 20 20 20  false,..        
08d0: 20 20 20 20 27 6d 61 78 4c 65 6e 67 74 68 27 20      'maxLength' 
08e0: 3a 20 34 35 2c 0d 0a 20 20 20 20 20 20 20 20 20  : 45,..         
08f0: 20 20 20 27 63 68 65 63 6b 4c 65 6e 67 74 68 46     'checkLengthF
0900: 75 6e 63 74 69 6f 6e 27 3a 20 66 61 6c 73 65 20  unction': false 
0910: 2f 2f 20 d0 9f d0 b5 d1 80 d0 b5 d1 85 d0 b2 d0  // .............
0920: b0 d1 82 d1 8b d0 b2 d0 b0 d1 82 d1 8c 20 d0 ba  ............. ..
0930: d0 be d0 bc d0 bc d0 b0 d0 bd d0 b4 d1 83 20 d1  .............. .
0940: 81 d0 b8 d0 bd d1 82 d0 b0 d0 ba d1 81 d0 b8 d1  ................
0950: 87 d0 b5 d1 81 d0 ba d0 be d0 b9 20 d0 bf d1 80  ........... ....
0960: d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b8 2e 0d 0a 20  ............... 
0970: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 7d 2c         }..    },
0980: 0d 0a 0d 0a 20 20 20 20 63 6f 6e 73 74 72 75 63  ....    construc
0990: 74 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28 29 20  t : function () 
09a0: 7b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20  {..        ..   
09b0: 20 20 20 20 20 74 68 69 73 2e 5f 73 75 70 65 72       this._super
09c0: 28 53 65 6c 66 53 63 72 69 70 74 2e 66 75 6c 6c  (SelfScript.full
09d0: 50 61 74 68 2e 72 65 70 6c 61 63 65 28 2f 2e 6a  Path.replace(/.j
09e0: 73 24 2f 2c 20 27 2e 73 73 66 27 29 29 3b 20 2f  s$/, '.ssf')); /
09f0: 2f d0 97 d0 b0 d0 b3 d1 80 d1 83 d0 b7 d0 b8 d0  /...............
0a00: bc 20 d1 84 d0 be d1 80 d0 bc d1 83 20 d1 81 20  . .......... .. 
0a10: d0 bd d0 b0 d1 81 d1 82 d1 80 d0 be d0 b9 d0 ba  ................
0a20: d0 b0 d0 bc d0 b8 2c 20 d1 84 d0 be d1 80 d0 bc  ......, ........
0a30: d0 b0 20 d0 b4 d0 be d0 bb d0 b6 d0 bd d0 b0 20  .. ............ 
0a40: d0 bd d0 b0 d0 b7 d1 8b d0 b2 d0 b0 d1 82 d1 8c  ................
0a50: d1 81 d1 8f 20 d1 82 d0 b0 d0 ba 20 d0 b6 d0 b5  .... ...... ....
0a60: 20 d0 ba d0 b0 d0 ba 20 d0 b8 20 d1 81 d0 ba d1   ...... .. .....
0a70: 80 d0 b8 d0 bf d1 82 2c 20 d1 82 d0 be d0 bb d1  ......., .......
0a80: 8c d0 ba d0 be 20 d1 81 20 d1 80 d0 b0 d1 81 d1  ..... .. .......
0a90: 88 d0 b8 d1 80 d0 b5 d0 bd d0 b8 d0 b5 d0 bc 20  ............... 
0aa0: 73 73 66 0d 0a 20 20 20 20 20 20 20 20 74 68 69  ssf..        thi
0ab0: 73 2e 52 45 20 3d 20 6e 65 77 20 52 65 67 45 78  s.RE = new RegEx
0ac0: 70 28 22 5e 28 5c 5c 7b 2e 7b 31 2c 7d 5c 5c 7d  p("^(\\{.{1,}\\}
0ad0: 5c 3a 2e 7b 31 2c 7d 5c 29 24 22 2c 20 22 6d 69  \:.{1,}\)$", "mi
0ae0: 67 22 29 3b 20 0d 0a 20 20 20 20 20 20 20 20 74  g"); ..        t
0af0: 68 69 73 2e 72 65 5f 63 6f 6c 75 6d 6e 20 3d 20  his.re_column = 
0b00: 6e 65 77 20 52 65 67 45 78 70 28 22 5c 5c 28 5c  new RegExp("\\(\
0b10: 28 5c 5c 64 7b 31 2c 7d 29 5c 2c 28 5c 5c 64 7b  (\\d{1,})\,(\\d{
0b20: 31 2c 7d 29 5c 5c 29 5c 5c 7d 5c 3a 22 2c 20 22  1,})\\)\\}\:", "
0b30: 69 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 74 68  i");..        th
0b40: 69 73 2e 52 45 5f 45 52 52 4f 52 5f 54 45 58 54  is.RE_ERROR_TEXT
0b50: 20 3d 20 6e 65 77 20 52 65 67 45 78 70 28 22 5c   = new RegExp("\
0b60: 5c 73 5c 5c 28 28 d0 9f d1 80 d0 be d0 b2 d0 b5  \s\\((..........
0b70: d1 80 d0 ba d0 b0 5c 5c 3a 5c 5c 73 2e 7b 31 2c  ......\\:\\s.{1,
0b80: 7d 29 5c 5c 29 24 22 2c 20 22 67 69 6d 22 29 3b  })\\)$", "gim");
0b90: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 65  ..        this.e
0ba0: 72 72 6f 72 73 20 3d 20 7b 7d 3b 0d 0a 20 20 20  rrors = {};..   
0bb0: 20 20 20 20 20 74 68 69 73 2e 6c 6f 61 64 53 65       this.loadSe
0bc0: 74 74 69 6e 67 73 28 29 3b 20 2f 2f d0 97 d0 b0  ttings(); //....
0bd0: d0 b3 d1 80 d1 83 d0 b7 d0 b8 d0 bc 20 d1 81 d0  ............ ...
0be0: be d1 85 d1 80 d0 b0 d0 bd d0 b5 d0 bd d0 bd d1  ................
0bf0: 8b d0 b5 20 d0 bd d0 b0 d1 81 d1 82 d1 80 d0 be  ... ............
0c00: d0 b9 d0 ba d0 b8 2e 20 0d 0a 20 20 20 20 20 20  ....... ..      
0c10: 20 20 0d 0a 20 20 20 20 20 20 20 20 45 78 74 53    ..        ExtS
0c20: 79 6e 74 61 78 43 68 65 63 6b 2e 5f 69 6e 73 74  yntaxCheck._inst
0c30: 61 6e 63 65 20 3d 20 74 68 69 73 3b 0d 0a 20 20  ance = this;..  
0c40: 20 20 7d 2c 20 0d 0a 20 20 20 20 0d 0a 20 20 20    }, ..    ..   
0c50: 20 6c 6f 61 64 53 65 74 74 69 6e 67 73 3a 20 66   loadSettings: f
0c60: 75 6e 63 74 69 6f 6e 28 29 7b 0d 0a 20 20 20 20  unction(){..    
0c70: 20 20 20 20 74 68 69 73 2e 5f 73 75 70 65 72 28      this._super(
0c80: 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20  );..        ..  
0c90: 20 20 20 20 20 20 69 66 20 28 74 68 69 73 2e 66        if (this.f
0ca0: 6f 72 6d 2e 63 61 74 68 53 79 6e 74 61 78 43 68  orm.cathSyntaxCh
0cb0: 65 63 6b 29 20 7b 20 0d 0a 20 20 20 20 20 20 20  eck) { ..       
0cc0: 20 20 20 20 20 2f 2f d0 9f d0 be d0 b4 d0 ba d0       //.........
0cd0: bb d1 8e d1 87 d0 b0 d0 b5 d0 bc d1 81 d1 8f 20  ............... 
0ce0: d0 ba 20 d0 ba d0 be d0 bc d0 b0 d0 bd d0 b4 d0  .. .............
0cf0: b5 20 d0 bf d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba  . ..............
0d00: d0 b8 20 d1 82 d0 b5 d0 ba d1 81 d1 82 d0 b0 20  .. ............ 
0d10: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f  ..            lo
0d20: 67 67 65 72 2e 64 65 62 75 67 28 27 6c 6f 61 64  gger.debug('load
0d30: 53 65 74 74 69 6e 67 73 20 61 64 64 48 61 6e 64  Settings addHand
0d40: 6c 65 72 27 29 0d 0a 20 20 20 20 20 20 20 20 20  ler')..         
0d50: 20 20 20 20 73 74 64 63 6f 6d 6d 61 6e 64 73 2e      stdcommands.
0d60: 46 72 6e 74 65 6e 64 2e 53 79 6e 74 61 78 43 68  Frntend.SyntaxCh
0d70: 65 63 6b 2e 61 64 64 48 61 6e 64 6c 65 72 28 74  eck.addHandler(t
0d80: 68 69 73 2c 20 22 6f 6e 53 79 6e 74 61 78 43 68  his, "onSyntaxCh
0d90: 65 63 6b 22 29 3b 0d 0a 20 20 20 20 20 20 20 20  eck");..        
0da0: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 7d 20      ..        } 
0db0: 65 6c 73 65 20 7b 0d 0a 20 20 20 20 20 20 20 20  else {..        
0dc0: 20 20 20 20 6c 6f 67 67 65 72 2e 64 65 62 75 67      logger.debug
0dd0: 28 27 6c 6f 61 64 53 65 74 74 69 6e 67 73 20 64  ('loadSettings d
0de0: 65 6c 48 61 6e 64 6c 65 72 27 29 0d 0a 20 20 20  elHandler')..   
0df0: 20 20 20 20 20 20 20 20 20 74 72 79 20 7b 0d 0a           try {..
0e00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0e10: 73 74 64 63 6f 6d 6d 61 6e 64 73 2e 46 72 6e 74  stdcommands.Frnt
0e20: 65 6e 64 2e 53 79 6e 74 61 78 43 68 65 63 6b 2e  end.SyntaxCheck.
0e30: 64 65 6c 48 61 6e 64 6c 65 72 28 74 68 69 73 2c  delHandler(this,
0e40: 20 22 6f 6e 53 79 6e 74 61 78 43 68 65 63 6b 22   "onSyntaxCheck"
0e50: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  );..            
0e60: 7d 20 63 61 74 63 68 28 65 29 20 7b 0d 0a 20 20  } catch(e) {..  
0e70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f                lo
0e80: 67 67 65 72 2e 64 65 62 75 67 28 65 2e 64 65 73  gger.debug(e.des
0e90: 63 72 69 70 74 69 6f 6e 29 3b 0d 0a 20 20 20 20  cription);..    
0ea0: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
0eb0: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
0ec0: 20 7d 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20   }..        ..  
0ed0: 20 20 7d 2c 0d 0a 0d 0a 20 20 20 20 61 6e 61 6c    },....    anal
0ee0: 69 7a 65 4d 6f 64 75 6c 65 3a 20 66 75 6e 63 74  izeModule: funct
0ef0: 69 6f 6e 28 29 7b 0d 0a 20 20 20 20 20 20 20 20  ion(){..        
0f00: 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 22 61 6e  logger.debug("an
0f10: 61 6c 69 7a 65 4d 6f 64 75 6c 65 22 29 3b 0d 0a  alizeModule");..
0f20: 20 20 20 20 20 20 20 20 76 61 72 20 70 61 72 73          var pars
0f30: 65 72 20 3d 20 73 6e 65 67 6f 70 61 74 2e 70 61  er = snegopat.pa
0f40: 72 73 65 53 6f 75 72 63 65 73 28 74 68 69 73 2e  rseSources(this.
0f50: 77 6e 64 2e 47 65 74 54 65 78 74 28 29 29 3b 0d  wnd.GetText());.
0f60: 0a 0d 0a 20 20 20 20 20 20 20 20 66 6f 72 28 76  ...        for(v
0f70: 61 72 20 69 20 3d 20 30 2c 20 63 20 3d 20 70 61  ar i = 0, c = pa
0f80: 72 73 65 72 2e 6c 65 78 65 6d 43 6f 75 6e 74 3b  rser.lexemCount;
0f90: 20 69 20 3c 20 63 3b 20 69 2b 2b 29 0d 0a 20 20   i < c; i++)..  
0fa0: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20        {..       
0fb0: 20 20 20 20 20 76 61 72 20 6c 65 78 20 3d 20 70       var lex = p
0fc0: 61 72 73 65 72 2e 6c 65 78 65 6d 28 69 29 0d 0a  arser.lexem(i)..
0fd0: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 6c              if(l
0fe0: 65 78 2e 74 79 70 65 3d 3d 34 30 20 29 0d 0a 20  ex.type==40 ).. 
0ff0: 20 20 20 20 20 20 20 20 20 20 20 69 2b 3d 20 74             i+= t
1000: 68 69 73 2e 61 6e 61 6c 69 7a 65 46 75 6e 63 74  his.analizeFunct
1010: 69 6f 6e 28 70 61 72 73 65 72 2c 69 2c 6c 65 78  ion(parser,i,lex
1020: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 7d  );..           }
1030: 20 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d   ..    },..    .
1040: 0a 20 20 20 20 61 6e 61 6c 69 7a 65 46 75 6e 63  .    analizeFunc
1050: 74 69 6f 6e 3a 20 66 75 6e 63 74 69 6f 6e 28 70  tion: function(p
1060: 61 72 73 65 72 2c 73 74 61 72 74 2c 73 74 61 72  arser,start,star
1070: 74 6c 65 78 29 7b 0d 0a 0d 0a 20 20 20 20 20 20  tlex){....      
1080: 20 20 6c 69 6e 65 20 3d 20 30 3b 0d 0a 20 20 20    line = 0;..   
1090: 20 20 20 20 20 6e 61 6d 65 20 3d 20 70 61 72 73       name = pars
10a0: 65 72 2e 6c 65 78 65 6d 28 73 74 61 72 74 2b 31  er.lexem(start+1
10b0: 29 2e 74 65 78 74 3b 0d 0a 20 20 20 20 20 20 20  ).text;..       
10c0: 20 6c 61 73 74 6c 69 6e 65 20 3d 20 73 74 61 72   lastline = star
10d0: 74 6c 65 78 2e 6c 69 6e 65 3b 0d 0a 20 20 20 20  tlex.line;..    
10e0: 20 20 20 20 76 61 72 20 69 2c 63 2c 20 77 6e 64      var i,c, wnd
10f0: 20 3d 20 47 65 74 54 65 78 74 57 69 6e 64 6f 77   = GetTextWindow
1100: 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 66 6f 72  ();..        for
1110: 28 69 20 3d 20 73 74 61 72 74 2c 20 63 20 3d 20  (i = start, c = 
1120: 70 61 72 73 65 72 2e 6c 65 78 65 6d 43 6f 75 6e  parser.lexemCoun
1130: 74 3b 20 69 3c 20 63 3b 20 69 2b 2b 29 7b 0d 0a  t; i< c; i++){..
1140: 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20              var 
1150: 6c 65 78 20 3d 20 70 61 72 73 65 72 2e 6c 65 78  lex = parser.lex
1160: 65 6d 28 69 29 3b 0d 0a 20 20 20 20 20 20 20 20  em(i);..        
1170: 20 20 20 20 76 61 72 20 6d 61 78 4c 69 6e 65 73      var maxLines
1180: 20 3d 20 74 68 69 73 2e 66 6f 72 6d 2e 6d 61 78   = this.form.max
1190: 4c 65 6e 67 74 68 3b 0d 0a 20 20 20 20 20 20 20  Length;..       
11a0: 20 20 20 20 20 69 66 28 6c 65 78 2e 74 79 70 65       if(lex.type
11b0: 3d 3d 34 32 29 7b 0d 0a 20 20 20 20 20 20 20 20  ==42){..        
11c0: 20 20 20 20 20 20 20 20 69 66 28 6c 69 6e 65 20          if(line 
11d0: 3e 20 6d 61 78 4c 69 6e 65 73 29 20 7b 0d 0a 20  > maxLines) {.. 
11e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76                 v
11f0: 61 72 20 70 61 72 61 6d 20 3d 20 7b 7d 3b 0d 0a  ar param = {};..
1200: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1210: 70 61 72 61 6d 5b 27 77 6e 64 27 5d 20 3d 20 77  param['wnd'] = w
1220: 6e 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  nd;..           
1230: 20 20 20 20 20 70 61 72 61 6d 5b 27 6c 69 6e 65       param['line
1240: 27 5d 20 3d 20 73 74 61 72 74 6c 65 78 2e 6c 69  '] = startlex.li
1250: 6e 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ne;..           
1260: 20 20 20 20 20 6d 65 73 73 61 67 65 28 22 d0 a4       message("..
1270: d1 83 d0 bd d0 ba d1 86 d0 b8 d1 8f 20 22 2b 6e  ............ "+n
1280: 61 6d 65 2b 22 20 d0 b1 d0 be d0 bb d1 8c d1 88  ame+" ..........
1290: d0 b0 d1 8f 2e 20 d0 9b d0 b8 d1 88 d0 bd d0 b8  ..... ..........
12a0: d1 85 20 22 2b 28 6c 69 6e 65 20 2d 20 6d 61 78  .. "+(line - max
12b0: 4c 69 6e 65 73 29 2b 22 20 d1 81 d1 82 d1 80 d0  Lines)+" .......
12c0: be d0 ba 20 22 2c 6d 45 78 63 31 2c 20 74 68 69  ... ",mExc1, thi
12d0: 73 2e 6f 6e 43 6c 69 63 6b 5f 4d 65 73 73 61 67  s.onClick_Messag
12e0: 65 2c 20 70 61 72 61 6d 29 3b 0d 0a 20 20 20 20  e, param);..    
12f0: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20              }.. 
1300: 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b             break
1310: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d  ;..            }
1320: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66  ..            if
1330: 20 28 6c 65 78 2e 74 79 70 65 20 3d 3d 20 31 29   (lex.type == 1)
1340: 20 2f 2f 20 d0 ba d0 be d0 bc d0 b5 d0 bd d1 82   // ............
1350: d1 8b 20 d0 bd d0 b5 20 d1 81 d1 87 d0 b8 d1 82  .. .... ........
1360: d0 b0 d1 8e d1 82 d1 81 d1 8f 20 d0 ba d0 be d0  .......... .....
1370: b4 d0 be d0 bc 2e 0d 0a 20 20 20 20 20 20 20 20  ........        
1380: 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65          continue
1390: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c  ;..            l
13a0: 69 6e 65 2b 3d 20 28 6c 61 73 74 6c 69 6e 65 3d  ine+= (lastline=
13b0: 3d 6c 65 78 2e 6c 69 6e 65 29 20 3f 20 30 3a 31  =lex.line) ? 0:1
13c0: 3b 20 2f 2f 20 d1 81 d0 bc d0 b5 d0 bd d0 b8 d1  ; // ...........
13d0: 82 d1 8c d1 81 d1 8f 20 d0 bf d0 be d1 81 d0 bb  ....... ........
13e0: d0 b5 20 d0 bf d1 80 d0 be d1 87 d1 82 d0 b5 d0  .. .............
13f0: bd d0 b8 d1 8f 20 d0 bf d0 b5 d1 80 d0 b5 d0 b2  ..... ..........
1400: d0 be d0 b4 d0 b0 20 d1 81 d1 82 d1 80 d0 be d0  ...... .........
1410: ba d0 b8 2e 20 d0 b0 20 d1 8d d1 82 d0 be 20 d0  .... .. ...... .
1420: bc d0 be d0 b6 d0 b5 d1 82 20 d1 82 d0 be d0 bb  ......... ......
1430: d1 8c d0 ba d0 be 20 d0 bf d1 80 d0 b8 20 d1 87  ...... ...... ..
1440: d0 b5 d1 81 d1 82 d0 bd d0 be d0 bc 20 d0 bf d0  ............ ...
1450: b5 d1 80 d0 b5 d0 b2 d0 be d0 b4 d0 b5 20 d0 b8  ............. ..
1460: d0 bb d0 b8 20 d0 b5 d1 81 d0 bb d0 b8 20 d0 bf  .... ........ ..
1470: d1 80 d0 be d1 87 d0 bb d0 b8 20 d0 bc d0 bd d0  .......... .....
1480: be d0 b3 d0 be d1 81 d1 82 d1 80 d0 be d1 87 d0  ................
1490: bd d1 83 d1 8e 20 d1 81 d1 82 d1 80 d0 be d0 ba  ..... ..........
14a0: d1 83 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
14b0: 6c 61 73 74 6c 69 6e 65 20 3d 6c 65 78 2e 6c 69  lastline =lex.li
14c0: 6e 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a  ne;..        }..
14d0: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28          return (
14e0: 69 20 2d 20 73 74 61 72 74 29 3b 0d 0a 20 20 20  i - start);..   
14f0: 20 7d 2c 20 0d 0a 0d 0a 20 20 20 20 6f 6e 43 6c   }, ....    onCl
1500: 69 63 6b 5f 4d 65 73 73 61 67 65 3a 20 66 75 6e  ick_Message: fun
1510: 63 74 69 6f 6e 28 70 61 72 61 6d 29 7b 0d 0a 0d  ction(param){...
1520: 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 70 61  .        if (!pa
1530: 72 61 6d 5b 27 77 6e 64 27 5d 29 20 7b 0d 0a 20  ram['wnd']) {.. 
1540: 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72             retur
1550: 6e 20 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20  n ..        }.. 
1560: 20 20 20 20 20 20 20 69 66 20 28 21 70 61 72 61         if (!para
1570: 6d 5b 27 77 6e 64 27 5d 2e 49 73 41 63 74 69 76  m['wnd'].IsActiv
1580: 65 28 29 29 20 7b 0d 0a 20 20 20 20 20 20 20 20  e()) {..        
1590: 20 20 20 20 72 65 74 75 72 6e 20 0d 0a 20 20 20      return ..   
15a0: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20       }..        
15b0: 70 61 72 61 6d 5b 27 77 6e 64 27 5d 2e 53 65 74  param['wnd'].Set
15c0: 43 61 72 65 74 50 6f 73 28 70 61 72 61 6d 5b 27  CaretPos(param['
15d0: 6c 69 6e 65 27 5d 2b 31 2c 20 31 29 3b 0d 0a 20  line']+1, 1);.. 
15e0: 20 20 20 20 20 20 20 76 69 65 77 20 3d 20 70 61         view = pa
15f0: 72 61 6d 5b 27 77 6e 64 27 5d 2e 47 65 74 56 69  ram['wnd'].GetVi
1600: 65 77 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 69  ew();..        i
1610: 66 20 28 21 76 69 65 77 29 7b 0d 0a 20 20 20 20  f (!view){..    
1620: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20          ..      
1630: 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20 20 20    } else {..    
1640: 20 20 20 20 20 20 20 20 6c 6f 67 67 65 72 2e 64          logger.d
1650: 65 62 75 67 28 27 76 69 65 77 20 61 63 74 69 76  ebug('view activ
1660: 61 74 65 20 27 29 3b 0d 0a 20 20 20 20 20 20 20  ate ');..       
1670: 20 20 20 20 20 76 69 65 77 2e 61 63 74 69 76 61       view.activa
1680: 74 65 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d  te();..        }
1690: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
16a0: 20 20 20 20 70 61 72 61 6d 20 3d 20 6e 75 6c 6c      param = null
16b0: 0d 0a 0d 0a 20 20 20 20 7d 2c 0d 0a 0d 0a 20 20  ....    },....  
16c0: 20 20 6f 6e 53 79 6e 74 61 78 43 68 65 63 6b 3a    onSyntaxCheck:
16d0: 20 66 75 6e 63 74 69 6f 6e 20 28 63 6d 64 29 7b   function (cmd){
16e0: 0d 0a 20 20 20 20 20 20 20 20 6c 6f 67 67 65 72  ..        logger
16f0: 2e 64 65 62 75 67 28 27 6f 6e 53 79 6e 74 61 78  .debug('onSyntax
1700: 43 68 65 63 6b 20 27 29 0d 0a 20 20 20 20 20 20  Check ')..      
1710: 20 20 69 66 20 28 63 6d 64 2e 69 73 42 65 66 6f    if (cmd.isBefo
1720: 72 65 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20  re){..          
1730: 20 20 74 68 69 73 2e 77 6e 64 20 3d 20 6e 65 77    this.wnd = new
1740: 20 54 65 78 74 57 69 6e 64 6f 77 28 29 3b 0d 0a   TextWindow();..
1750: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
1760: 20 20 20 69 66 28 21 63 6d 64 2e 69 73 42 65 66     if(!cmd.isBef
1770: 6f 72 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 20  ore)..        { 
1780: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f  ..            lo
1790: 67 67 65 72 2e 64 65 62 75 67 28 27 6f 6e 53 79  gger.debug('onSy
17a0: 6e 74 61 78 43 68 65 63 6b 20 64 69 73 63 6f 6e  ntaxCheck discon
17b0: 6e 65 63 74 27 29 0d 0a 20 20 20 20 20 20 20 20  nect')..        
17c0: 20 20 20 20 74 72 79 20 7b 0d 0a 20 20 20 20 20      try {..     
17d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65                 e
17e0: 76 65 6e 74 73 2e 64 69 73 63 6f 6e 6e 65 63 74  vents.disconnect
17f0: 28 44 65 73 69 67 6e 65 72 2c 20 22 6f 6e 4d 65  (Designer, "onMe
1800: 73 73 61 67 65 22 2c 20 74 68 69 73 29 3b 0d 0a  ssage", this);..
1810: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1820: 20 20 20 7d 20 63 61 74 63 68 20 28 65 29 20 7b     } catch (e) {
1830: 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   }..            
1840: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20       ..         
1850: 20 20 20 68 61 73 45 72 72 6f 72 73 20 3d 20 66     hasErrors = f
1860: 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20  alse;..         
1870: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20     ..           
1880: 20 66 6f 72 20 28 76 61 72 20 6b 20 69 6e 20 74   for (var k in t
1890: 68 69 73 2e 65 72 72 6f 72 73 29 7b 0d 0a 20 20  his.errors){..  
18a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 61                ha
18b0: 73 45 72 72 6f 72 73 20 3d 20 74 72 75 65 3b 0d  sErrors = true;.
18c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
18d0: 20 74 65 78 74 20 3d 20 74 68 69 73 2e 65 72 72   text = this.err
18e0: 6f 72 73 5b 6b 5d 3b 0d 0a 20 20 20 20 20 20 20  ors[k];..       
18f0: 20 20 20 20 20 20 20 20 20 76 61 72 20 4d 61 74           var Mat
1900: 63 68 65 73 20 3d 20 74 68 69 73 2e 72 65 5f 63  ches = this.re_c
1910: 6f 6c 75 6d 6e 2e 65 78 65 63 28 74 65 78 74 29  olumn.exec(text)
1920: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
1930: 20 20 20 69 66 20 28 4d 61 74 63 68 65 73 20 21     if (Matches !
1940: 3d 20 6e 75 6c 6c 29 7b 0d 0a 20 20 20 20 20 20  = null){..      
1950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a                ..
1960: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1970: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20      ..          
1980: 20 20 20 20 20 20 20 20 20 20 76 61 72 20 70 61            var pa
1990: 72 61 6d 20 3d 20 7b 7d 0d 0a 20 20 20 20 20 20  ram = {}..      
19a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61                pa
19b0: 72 61 6d 5b 27 77 6e 64 27 5d 20 3d 20 74 68 69  ram['wnd'] = thi
19c0: 73 2e 77 6e 64 3b 0d 0a 20 20 20 20 20 20 20 20  s.wnd;..        
19d0: 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 61              para
19e0: 6d 5b 27 6c 69 6e 65 27 5d 20 3d 20 4d 61 74 63  m['line'] = Matc
19f0: 68 65 73 5b 31 5d 3b 0d 0a 20 20 20 20 20 20 20  hes[1];..       
1a00: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72               par
1a10: 61 6d 5b 27 63 6f 6c 75 6d 6e 27 5d 20 3d 20 4d  am['column'] = M
1a20: 61 74 63 68 65 73 5b 32 5d 3b 0d 0a 20 20 20 20  atches[2];..    
1a30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a40: 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 27 6f 6e  logger.debug('on
1a50: 53 79 6e 74 61 78 43 68 65 63 6b 20 d0 b2 d1 8b  SyntaxCheck ....
1a60: d0 b2 d0 be d0 b4 20 d1 81 d0 be d0 be d0 b1 d1  ...... .........
1a70: 89 d0 b5 d0 bd d0 b8 d1 8f 20 d0 bf d0 be 20 d1  ......... .... .
1a80: 80 d0 b5 d0 b3 d1 83 d0 bb d1 8f d1 80 d0 bd d0  ................
1a90: be d0 bc d1 83 20 d0 b2 d1 8b d1 80 d0 b0 d0 b6  ..... ..........
1aa0: d0 b5 d0 bd d0 b8 d1 8e 2e 27 29 3b 0d 0a 20 20  .........');..  
1ab0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac0: 20 20 4d 65 73 73 61 67 65 28 74 65 78 74 2c 20    Message(text, 
1ad0: 6d 45 78 63 33 2c 20 28 66 75 6e 63 74 69 6f 6e  mExc3, (function
1ae0: 28 70 61 72 61 6d 29 7b 0d 0a 20 20 20 20 20 20  (param){..      
1af0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b00: 20 20 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 27    logger.debug('
1b10: 6f 6e 20 4d 65 73 73 61 67 65 20 d0 9e d0 b1 d1  on Message .....
1b20: 80 d0 b0 d0 b1 d0 be d1 82 d1 87 d0 b8 d0 ba 20  ............... 
1b30: d1 81 d0 be d0 b1 d1 8b d1 82 d0 b8 d0 b9 2e 27  ...............'
1b40: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  );..            
1b50: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
1b60: 21 70 61 72 61 6d 5b 27 77 6e 64 27 5d 29 20 7b  !param['wnd']) {
1b70: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1b80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65                re
1b90: 74 75 72 6e 20 0d 0a 20 20 20 20 20 20 20 20 20  turn ..         
1ba0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d                 }
1bb0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1bc0: 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 70            if (!p
1bd0: 61 72 61 6d 5b 27 77 6e 64 27 5d 2e 49 73 41 63  aram['wnd'].IsAc
1be0: 74 69 76 65 28 29 29 20 7b 0d 0a 20 20 20 20 20  tive()) {..     
1bf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c00: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 0d 0a         return ..
1c10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c20: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
1c30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c40: 20 20 20 70 61 72 61 6d 5b 27 77 6e 64 27 5d 2e     param['wnd'].
1c50: 53 65 74 43 61 72 65 74 50 6f 73 28 70 61 72 61  SetCaretPos(para
1c60: 6d 5b 27 6c 69 6e 65 27 5d 2c 20 70 61 72 61 6d  m['line'], param
1c70: 5b 27 63 6f 6c 75 6d 6e 27 5d 29 3b 0d 0a 20 20  ['column']);..  
1c80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c90: 20 20 20 20 20 20 76 69 65 77 20 3d 20 70 61 72        view = par
1ca0: 61 6d 5b 27 77 6e 64 27 5d 2e 47 65 74 56 69 65  am['wnd'].GetVie
1cb0: 77 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  w();..          
1cc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66                if
1cd0: 20 28 21 76 69 65 77 29 7b 0d 0a 20 20 20 20 20   (!view){..     
1ce0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf0: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20         ..       
1d00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d10: 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20 20 20 20   } else {..     
1d20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d30: 20 20 20 20 20 20 20 6c 6f 67 67 65 72 2e 64 65         logger.de
1d40: 62 75 67 28 27 76 69 65 77 20 61 63 74 69 76 61  bug('view activa
1d50: 74 65 20 27 29 3b 0d 0a 20 20 20 20 20 20 20 20  te ');..        
1d60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d70: 20 20 20 20 76 69 65 77 2e 61 63 74 69 76 61 74      view.activat
1d80: 65 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  e();..          
1d90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d                }.
1da0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
1db0: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20           ..     
1dc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd0: 20 20 20 70 61 72 61 6d 20 3d 20 6e 75 6c 6c 0d     param = null.
1de0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
1df0: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20           ..     
1e00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e10: 20 20 20 0d 0a 20 20 20 20 7d 29 2c 20 70 61 72     ..    }), par
1e20: 61 6d 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  am);..          
1e30: 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a        } else {..
1e40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e50: 20 20 20 20 6c 6f 67 67 65 72 2e 64 65 62 75 67      logger.debug
1e60: 28 27 6f 6e 53 79 6e 74 61 78 43 68 65 63 6b 20  ('onSyntaxCheck 
1e70: d0 b2 d1 8b d0 b2 d0 be d0 b4 20 d1 81 d0 be d0  .......... .....
1e80: be d0 b1 d1 89 d0 b5 d0 bd d0 b8 d1 8f 20 2d 20  ............. - 
1e90: d0 bd d0 b5 20 d1 81 d0 bc d0 be d0 b3 d0 bb d0  .... ...........
1ea0: b8 20 d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb  . ..............
1eb0: d0 b8 d1 82 d1 8c 2e 27 29 3b 0d 0a 20 20 20 20  .......');..    
1ec0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed0: 4d 65 73 73 61 67 65 28 27 27 2b 74 65 78 74 29  Message(''+text)
1ee0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
1ef0: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20     }..          
1f00: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20    }..           
1f10: 20 74 68 69 73 2e 65 72 72 6f 72 73 20 3d 20 7b   this.errors = {
1f20: 7d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  };..            
1f30: 69 66 20 28 74 68 69 73 2e 66 6f 72 6d 2e 63 68  if (this.form.ch
1f40: 65 63 6b 4c 65 6e 67 74 68 46 75 6e 63 74 69 6f  eckLengthFunctio
1f50: 6e 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  n){..           
1f60: 20 20 20 20 20 74 68 69 73 2e 61 6e 61 6c 69 7a       this.analiz
1f70: 65 4d 6f 64 75 6c 65 28 29 3b 0d 0a 20 20 20 20  eModule();..    
1f80: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
1f90: 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20 20     } else {..   
1fa0: 20 20 20 20 20 20 20 20 20 6c 6f 67 67 65 72 2e           logger.
1fb0: 64 65 62 75 67 28 27 6f 6e 53 79 6e 74 61 78 43  debug('onSyntaxC
1fc0: 68 65 63 6b 20 63 6f 6e 6e 65 63 74 27 29 0d 0a  heck connect')..
1fd0: 20 20 20 20 20 20 20 20 20 20 20 20 65 76 65 6e              even
1fe0: 74 73 2e 63 6f 6e 6e 65 63 74 28 44 65 73 69 67  ts.connect(Desig
1ff0: 6e 65 72 2c 20 22 6f 6e 4d 65 73 73 61 67 65 22  ner, "onMessage"
2000: 2c 20 74 68 69 73 29 3b 0d 0a 20 20 20 20 20 20  , this);..      
2010: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 6c 6f 67    }..        log
2020: 67 65 72 2e 64 65 62 75 67 28 27 6f 6e 53 79 6e  ger.debug('onSyn
2030: 74 61 78 43 68 65 63 6b 20 65 6e 64 27 29 0d 0a  taxCheck end')..
2040: 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a 20 20      },..    ..  
2050: 20 20 6f 6e 4d 65 73 73 61 67 65 3a 66 75 6e 63    onMessage:func
2060: 74 69 6f 6e 28 70 61 72 61 6d 29 7b 0d 0a 20 20  tion(param){..  
2070: 20 20 20 20 20 20 74 65 78 74 20 3d 20 70 61 72        text = par
2080: 61 6d 2e 74 65 78 74 3b 0d 0a 20 20 20 20 20 20  am.text;..      
2090: 20 20 69 66 20 28 21 74 65 78 74 2e 6c 65 6e 67    if (!text.leng
20a0: 74 68 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20  th)..           
20b0: 20 72 65 74 75 72 6e 0d 0a 20 20 20 20 20 20 20   return..       
20c0: 20 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e   ..        this.
20d0: 52 45 20 3d 20 6e 65 77 20 52 65 67 45 78 70 28  RE = new RegExp(
20e0: 22 5e 28 5c 5c 7b 2e 7b 31 2c 7d 5c 5c 7d 5c 3a  "^(\\{.{1,}\\}\:
20f0: 2e 7b 31 2c 7d 5c 29 24 22 2c 20 22 6d 69 67 22  .{1,}\)$", "mig"
2100: 29 3b 20 0d 0a 20 20 20 20 20 20 20 20 69 66 20  ); ..        if 
2110: 28 28 4d 61 74 63 68 65 73 20 3d 20 74 68 69 73  ((Matches = this
2120: 2e 52 45 2e 65 78 65 63 28 74 65 78 74 29 29 20  .RE.exec(text)) 
2130: 21 3d 20 6e 75 6c 6c 29 7b 0d 0a 20 20 20 20 20  != null){..     
2140: 20 20 20 20 20 20 20 70 61 72 61 6d 2e 63 61 6e         param.can
2150: 63 65 6c 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20  cel = true;..   
2160: 20 20 20 20 20 20 20 20 20 73 74 72 20 3d 20 4d           str = M
2170: 61 74 63 68 65 73 5b 31 5d 3b 0d 0a 20 20 20 20  atches[1];..    
2180: 20 20 20 20 20 20 20 20 69 66 20 28 21 74 68 69          if (!thi
2190: 73 2e 65 72 72 6f 72 73 5b 73 74 72 5d 29 7b 0d  s.errors[str]){.
21a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
21b0: 20 74 68 69 73 2e 65 72 72 6f 72 73 5b 73 74 72   this.errors[str
21c0: 5d 20 3d 20 74 65 78 74 3b 0d 0a 20 20 20 20 20  ] = text;..     
21d0: 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d         } else {.
21e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
21f0: 20 74 68 69 73 2e 52 45 5f 45 52 52 4f 52 5f 54   this.RE_ERROR_T
2200: 45 58 54 20 3d 20 6e 65 77 20 52 65 67 45 78 70  EXT = new RegExp
2210: 28 22 5c 5c 73 5c 5c 28 28 d0 9f d1 80 d0 be d0  ("\\s\\((.......
2220: b2 d0 b5 d1 80 d0 ba d0 b0 5c 5c 3a 5c 5c 73 2e  .........\\:\\s.
2230: 7b 31 2c 7d 29 5c 5c 29 24 22 2c 20 22 67 69 6d  {1,})\\)$", "gim
2240: 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ");..           
2250: 20 20 20 20 20 70 61 72 61 6d 2e 63 61 6e 63 65       param.cance
2260: 6c 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 20  l = true;..     
2270: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28             if ((
2280: 4d 61 74 63 68 65 73 5f 65 72 72 6f 72 20 3d 20  Matches_error = 
2290: 74 68 69 73 2e 52 45 5f 45 52 52 4f 52 5f 54 45  this.RE_ERROR_TE
22a0: 58 54 2e 65 78 65 63 28 74 65 78 74 29 29 20 21  XT.exec(text)) !
22b0: 3d 20 6e 75 6c 6c 29 7b 0d 0a 20 20 20 20 20 20  = null){..      
22c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74                st
22d0: 72 5f 65 72 72 6f 72 20 3d 20 4d 61 74 63 68 65  r_error = Matche
22e0: 73 5f 65 72 72 6f 72 5b 30 5d 3b 0d 0a 20 20 20  s_error[0];..   
22f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2300: 20 74 68 69 73 2e 65 72 72 6f 72 73 5b 73 74 72   this.errors[str
2310: 5d 20 3d 20 74 68 69 73 2e 65 72 72 6f 72 73 5b  ] = this.errors[
2320: 73 74 72 5d 2b 27 20 27 2b 73 74 72 5f 65 72 72  str]+' '+str_err
2330: 6f 72 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  or;..           
2340: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20       }..        
2350: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d      }..        }
2360: 0d 0a 20 20 20 20 7d 2c 0d 0a 20 20 20 20 0d 0a  ..    },..    ..
2370: 20 20 20 20 4f 6b 5f 43 6c 69 63 6b 3a 66 75 6e      Ok_Click:fun
2380: 63 74 69 6f 6e 28 42 75 74 74 6f 6e 29 7b 0d 0a  ction(Button){..
2390: 20 20 20 20 20 20 20 20 74 68 69 73 2e 73 61 76          this.sav
23a0: 65 53 65 74 74 69 6e 67 73 28 29 3b 0d 0a 20 20  eSettings();..  
23b0: 20 20 20 20 20 20 74 68 69 73 2e 6c 6f 61 64 53        this.loadS
23c0: 65 74 74 69 6e 67 73 28 29 3b 0d 0a 20 20 20 20  ettings();..    
23d0: 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e 43 6c      this.form.Cl
23e0: 6f 73 65 28 29 3b 0d 0a 20 20 20 20 7d 2c 20 0d  ose();..    }, .
23f0: 0a 0d 0a 20 20 20 20 43 6c 6f 73 65 5f 43 6c 69  ...    Close_Cli
2400: 63 6b 3a 66 75 6e 63 74 69 6f 6e 28 42 75 74 74  ck:function(Butt
2410: 6f 6e 29 7b 0d 0a 20 20 20 20 20 20 20 20 74 68  on){..        th
2420: 69 73 2e 66 6f 72 6d 2e 43 6c 6f 73 65 28 29 3b  is.form.Close();
2430: 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 7d 29 0d 0a 0d  ..    }....})...
2440: 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 47 65 74 45  ...function GetE
2450: 78 74 53 79 6e 74 61 78 43 68 65 63 6b 28 29 20  xtSyntaxCheck() 
2460: 7b 0d 0a 20 20 20 20 69 66 20 28 21 45 78 74 53  {..    if (!ExtS
2470: 79 6e 74 61 78 43 68 65 63 6b 2e 5f 69 6e 73 74  yntaxCheck._inst
2480: 61 6e 63 65 29 0d 0a 20 20 20 20 20 20 20 20 6e  ance)..        n
2490: 65 77 20 45 78 74 53 79 6e 74 61 78 43 68 65 63  ew ExtSyntaxChec
24a0: 6b 28 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20  k();..    ..    
24b0: 72 65 74 75 72 6e 20 45 78 74 53 79 6e 74 61 78  return ExtSyntax
24c0: 43 68 65 63 6b 2e 5f 69 6e 73 74 61 6e 63 65 3b  Check._instance;
24d0: 0d 0a 7d 0d 0a 0d 0a 47 65 74 45 78 74 53 79 6e  ..}....GetExtSyn
24e0: 74 61 78 43 68 65 63 6b 28 29 3b                 taxCheck();