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();