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 74 65 78 74 45 pt..$uname textE
0020: 64 69 74 6f 72 45 78 74 0d 0a 24 64 6e 61 6d 65 ditorExt..$dname
0030: 20 d0 a0 d0 b0 d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 ...............
0040: bd d0 b8 d0 b5 20 d1 80 d0 b5 d0 b4 d0 b0 d0 ba ..... ..........
0050: d1 82 d0 be d1 80 d0 b0 20 d1 82 d0 b5 d0 ba d1 ........ .......
0060: 81 d1 82 d0 be d0 b2 0d 0a 24 61 64 64 69 6e 20 .........$addin
0070: 67 6c 6f 62 61 6c 0d 0a 24 61 64 64 69 6e 20 73 global..$addin s
0080: 74 64 6c 69 62 0d 0a 0d 0a 2f 2a 20 3d 3d 3d 3d tdlib..../* ====
0090: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00d0: 3d 3d 0d 0a 0d 0a 41 55 54 48 4f 52 3a 20 d0 92 ==....AUTHOR: ..
00e0: d0 b0 d1 81 d0 b8 d0 bb d0 b8 d0 b9 20 d0 a4 d1 ............ ...
00f0: 80 d0 be d0 bb d0 be d0 b2 20 61 6b 61 20 d0 9f ......... aka ..
0100: d0 b0 d0 bb d1 8b d1 87 2c 20 70 61 6c 79 74 73 ........, palyts
0110: 68 40 6d 61 69 6c 2e 72 75 0d 0a 0d 0a 44 41 54 h@mail.ru....DAT
0120: 45 3a 20 30 32 2e 30 39 2e 32 30 31 31 0d 0a 0d E: 02.09.2011...
0130: 0a 43 4f 4d 4d 45 4e 54 3a 20 0d 0a 0d 0a 20 20 .COMMENT: ....
0140: 20 31 2e 20 d0 9c d0 b0 d0 ba d1 80 d0 be d1 81 1. ............
0150: d1 8b 20 d0 9d d0 b0 d0 b9 d1 82 d0 b8 d0 92 d1 .. .............
0160: 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 bd d1 8b d0 ................
0170: b9 d0 a2 d0 b5 d0 ba d1 81 d1 82 d0 92 d0 bd d0 ................
0180: b8 d0 b7 20 d0 b8 20 d0 9d d0 b0 d0 b9 d1 82 d0 ... .. .........
0190: b8 d0 92 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 ................
01a0: bd d1 8b d0 b9 d0 a2 d0 b5 d0 ba d1 81 d1 82 d0 ................
01b0: 92 d0 b2 d0 b5 d1 80 d1 85 2e 20 0d 0a d0 93 d0 .......... .....
01c0: be d1 80 d1 8f d1 87 d0 b8 d0 b5 20 d0 ba d0 bb ........... ....
01d0: d0 b0 d0 b2 d0 b8 d1 88 d0 b8 20 43 74 72 6c 20 .......... Ctrl
01e0: 2b 20 44 6f 77 6e 20 d0 b8 20 43 74 72 6c 20 2b + Down .. Ctrl +
01f0: 20 55 70 2e 0d 0a 0d 0a 20 20 20 32 2e 20 d0 9c Up..... 2. ..
0200: d0 b0 d0 ba d1 80 d0 be d1 81 20 d0 9a d0 bb d0 .......... .....
0210: be d0 bd d0 b8 d1 80 d0 be d0 b2 d0 b0 d1 82 d1 ................
0220: 8c d0 a2 d0 b5 d0 ba d1 81 d1 82 2e 20 d0 9f d0 ............ ...
0230: be d0 b7 d0 b2 d0 be d0 bb d1 8f d0 b5 d1 82 20 ...............
0240: d1 81 d0 ba d0 be d0 bf d0 b8 d1 80 d0 be d0 b2 ................
0250: d0 b0 d1 82 d1 8c 20 d0 b2 d1 8b d0 b4 d0 b5 d0 ...... .........
0260: bb d0 b5 d0 bd d0 bd d1 8b d0 b9 20 d1 84 d1 80 ........... ....
0270: d0 b0 d0 b3 d0 bc d0 b5 d0 bd d1 82 20 0d 0a d1 ............ ...
0280: 82 d0 b5 d0 ba d1 81 d1 82 d0 b0 20 d0 b1 d0 b5 ........... ....
0290: d0 b7 20 d0 b8 d1 81 d0 bf d0 be d0 bb d1 8c d0 .. .............
02a0: b7 d0 be d0 b2 d0 b0 d0 bd d0 b8 d1 8f 20 d0 b1 ............. ..
02b0: d1 83 d1 84 d0 b5 d1 80 d0 b0 20 d0 be d0 b1 d0 .......... .....
02c0: bc d0 b5 d0 bd d0 b0 2e 20 d0 93 d0 be d1 80 d1 ........ .......
02d0: 8f d1 87 d0 b8 d0 b5 20 d0 ba d0 bb d0 b0 d0 b2 ....... ........
02e0: d0 b8 d1 88 d0 b8 20 43 74 72 6c 20 2b 20 44 2e ...... Ctrl + D.
02f0: 0d 0a 0d 0a 20 20 20 33 2e 20 d0 9c d0 b0 d0 ba .... 3. ......
0300: d1 80 d0 be d1 81 d1 8b 20 4f 6e 50 72 65 73 73 ........ OnPress
0310: 45 6e 74 65 72 49 6e 43 6f 6d 6d 65 6e 74 2c 20 EnterInComment,
0320: 4f 6e 50 72 65 73 73 42 61 63 6b 73 70 61 63 65 OnPressBackspace
0330: 49 6e 43 6f 6d 6d 65 6e 74 2c 20 0d 0a 4f 6e 50 InComment, ..OnP
0340: 72 65 73 73 44 65 6c 65 74 65 49 6e 43 6f 6d 6d ressDeleteInComm
0350: 65 6e 74 20 d0 bf d1 80 d0 b5 d0 b4 d0 bd d0 b0 ent ............
0360: d0 b7 d0 bd d0 b0 d1 87 d0 b5 d0 bd d1 8b 20 d0 .............. .
0370: b4 d0 bb d1 8f 20 d0 b1 d0 be d0 bb d0 b5 d0 b5 ..... ..........
0380: 20 d1 83 d0 b4 d0 be d0 b1 d0 bd d0 be d0 b3 d0 ...............
0390: be 20 d1 80 d0 b5 d0 b4 d0 b0 d0 ba d1 82 d0 b8 . ..............
03a0: d1 80 d0 be d0 b2 d0 b0 d0 bd d0 b8 d1 8f 20 0d .............. .
03b0: 0a d0 bc d0 bd d0 be d0 b3 d0 be d1 81 d1 82 d1 ................
03c0: 80 d0 be d1 87 d0 bd d1 8b d1 85 20 d0 ba d0 be ........... ....
03d0: d0 bc d0 bc d0 b5 d0 bd d1 82 d0 b0 d1 80 d0 b8 ................
03e0: d0 b5 d0 b2 2e 20 d0 92 d1 8b d0 b7 d1 8b d0 b2 ..... ..........
03f0: d0 b0 d1 8e d1 82 d1 81 d1 8f 20 d0 bd d0 b5 d1 .......... .....
0400: 8f d0 b2 d0 bd d0 be 20 d0 bf d1 80 d0 b8 20 d0 ....... ...... .
0410: bd d0 b0 d0 b6 d0 b0 d1 82 d0 b8 d0 b8 20 d1 81 ............. ..
0420: d0 be d0 be d1 82 d0 b2 d0 b5 d1 82 d1 81 d1 82 ................
0430: d0 b2 d1 83 d1 8e d1 89 d0 b8 d1 85 20 0d 0a d0 ............ ...
0440: ba d0 bb d0 b0 d0 b2 d0 b8 d1 88 2e 0d 0a 0d 0a ................
0450: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0460: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0470: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0480: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0490: 3d 3d 3d 3d 3d 3d 3d 3d 3d 20 2a 2f 0d 0a 0d 0a ========= */....
04a0: 67 6c 6f 62 61 6c 2e 63 6f 6e 6e 65 63 74 47 6c global.connectGl
04b0: 6f 62 61 6c 73 28 53 65 6c 66 53 63 72 69 70 74 obals(SelfScript
04c0: 29 3b 0d 0a 0d 0a 73 74 64 6c 69 62 2e 72 65 71 );....stdlib.req
04d0: 75 69 72 65 28 27 54 65 78 74 57 69 6e 64 6f 77 uire('TextWindow
04e0: 2e 6a 73 27 2c 20 53 65 6c 66 53 63 72 69 70 74 .js', SelfScript
04f0: 29 3b 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 67 );....function g
0500: 65 74 50 72 65 64 65 66 69 6e 65 64 48 6f 74 6b etPredefinedHotk
0510: 65 79 73 28 70 72 65 64 65 66 29 7b 0d 0a 20 20 eys(predef){..
0520: 20 20 70 72 65 64 65 66 2e 73 65 74 56 65 72 73 predef.setVers
0530: 69 6f 6e 28 37 29 3b 0d 0a 20 20 20 20 70 72 65 ion(7);.. pre
0540: 64 65 66 2e 61 64 64 28 22 d0 9d d0 b0 d0 b9 d1 def.add(".......
0550: 82 d0 b8 d0 92 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 ................
0560: bd d0 bd d1 8b d0 b9 d0 a2 d0 b5 d0 ba d1 81 d1 ................
0570: 82 d0 92 d0 bd d0 b8 d0 b7 22 2c 20 22 43 74 72 .........", "Ctr
0580: 6c 20 2b 20 44 6f 77 6e 22 29 3b 0d 0a 20 20 20 l + Down");..
0590: 20 70 72 65 64 65 66 2e 61 64 64 28 22 d0 9d d0 predef.add("...
05a0: b0 d0 b9 d1 82 d0 b8 d0 92 d1 8b d0 b4 d0 b5 d0 ................
05b0: bb d0 b5 d0 bd d0 bd d1 8b d0 b9 d0 a2 d0 b5 d0 ................
05c0: ba d1 81 d1 82 d0 92 d0 b2 d0 b5 d1 80 d1 85 22 ..............."
05d0: 2c 20 22 43 74 72 6c 20 2b 20 55 70 22 29 3b 0d , "Ctrl + Up");.
05e0: 0a 20 20 20 20 70 72 65 64 65 66 2e 61 64 64 28 . predef.add(
05f0: 22 d0 9a d0 bb d0 be d0 bd d0 b8 d1 80 d0 be d0 "...............
0600: b2 d0 b0 d1 82 d1 8c d0 a2 d0 b5 d0 ba d1 81 d1 ................
0610: 82 22 2c 20 22 43 74 72 6c 20 2b 20 44 22 29 3b .", "Ctrl + D");
0620: 0d 0a 20 20 20 20 70 72 65 64 65 66 2e 61 64 64 .. predef.add
0630: 28 22 4f 6e 50 72 65 73 73 45 6e 74 65 72 49 6e ("OnPressEnterIn
0640: 43 6f 6d 6d 65 6e 74 22 2c 20 22 45 6e 74 65 72 Comment", "Enter
0650: 22 29 3b 0d 0a 20 20 20 20 70 72 65 64 65 66 2e ");.. predef.
0660: 61 64 64 28 22 4f 6e 50 72 65 73 73 44 65 6c 65 add("OnPressDele
0670: 74 65 49 6e 43 6f 6d 6d 65 6e 74 22 2c 20 22 44 teInComment", "D
0680: 65 6c 22 29 3b 0d 0a 20 20 20 20 70 72 65 64 65 el");.. prede
0690: 66 2e 61 64 64 28 22 4f 6e 50 72 65 73 73 42 61 f.add("OnPressBa
06a0: 63 6b 73 70 61 63 65 49 6e 43 6f 6d 6d 65 6e 74 ckspaceInComment
06b0: 22 2c 20 22 42 6b 53 70 61 63 65 22 29 3b 0d 0a ", "BkSpace");..
06c0: 20 20 20 20 70 72 65 64 65 66 2e 61 64 64 28 22 predef.add("
06d0: 4f 6e 50 72 65 73 73 42 61 63 6b 73 70 61 63 65 OnPressBackspace
06e0: 49 6e 42 72 61 63 6b 65 74 22 2c 20 22 42 6b 53 InBracket", "BkS
06f0: 70 61 63 65 22 29 3b 0d 0a 20 20 20 20 70 72 65 pace");.. pre
0700: 64 65 66 2e 61 64 64 28 22 4f 6e 50 72 65 73 73 def.add("OnPress
0710: 44 65 6c 49 6e 42 72 61 63 6b 65 74 22 2c 20 22 DelInBracket", "
0720: 44 65 6c 22 29 3b 0d 0a 20 20 20 20 70 72 65 64 Del");.. pred
0730: 65 66 2e 61 64 64 28 22 d0 9f d1 80 d0 b5 d0 be ef.add("........
0740: d0 b1 d1 80 d0 b0 d0 b7 d0 be d0 b2 d0 b0 d1 82 ................
0750: d1 8c 20 d1 80 d0 b5 d0 b3 d0 b8 d1 81 d1 82 d1 .. .............
0760: 80 3a 20 d0 9f d0 a0 d0 9e d0 9f d0 98 d0 a1 d0 .: .............
0770: 9d d0 ab d0 95 22 2c 20 22 43 74 72 6c 20 2b 20 .....", "Ctrl +
0780: 53 68 69 66 74 20 2b 20 55 22 29 3b 0d 0a 20 20 Shift + U");..
0790: 20 20 70 72 65 64 65 66 2e 61 64 64 28 22 d0 9f predef.add("..
07a0: d1 80 d0 b5 d0 be d0 b1 d1 80 d0 b0 d0 b7 d0 be ................
07b0: d0 b2 d0 b0 d1 82 d1 8c 20 d1 80 d0 b5 d0 b3 d0 ........ .......
07c0: b8 d1 81 d1 82 d1 80 3a 20 d1 81 d1 82 d1 80 d0 .......: .......
07d0: be d1 87 d0 bd d1 8b d0 b5 22 2c 20 22 43 74 72 .........", "Ctr
07e0: 6c 20 2b 20 55 22 29 3b 0d 0a 7d 0d 0a 0d 0a 66 l + U");..}....f
07f0: 75 6e 63 74 69 6f 6e 20 6d 61 63 72 6f 73 d0 9d unction macros..
0800: d0 b0 d0 b9 d1 82 d0 b8 d0 92 d1 8b d0 b4 d0 b5 ................
0810: d0 bb d0 b5 d0 bd d0 bd d1 8b d0 b9 d0 a2 d0 b5 ................
0820: d0 ba d1 81 d1 82 d0 92 d0 bd d0 b8 d0 b7 28 29 ..............()
0830: 7b 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 73 65 {.. return se
0840: 6c 65 63 74 4e 65 78 74 50 61 74 74 65 72 6e 28 lectNextPattern(
0850: 31 29 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 1);..}....functi
0860: 6f 6e 20 6d 61 63 72 6f 73 d0 9d d0 b0 d0 b9 d1 on macros.......
0870: 82 d0 b8 d0 92 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 ................
0880: bd d0 bd d1 8b d0 b9 d0 a2 d0 b5 d0 ba d1 81 d1 ................
0890: 82 d0 92 d0 b2 d0 b5 d1 80 d1 85 28 29 7b 0d 0a ...........(){..
08a0: 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 65 63 return selec
08b0: 74 4e 65 78 74 50 61 74 74 65 72 6e 28 2d 31 29 tNextPattern(-1)
08c0: 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e ;..}....function
08d0: 20 6d 61 63 72 6f 73 d0 9f d0 be d0 bc d0 b5 d0 macros.........
08e0: bd d1 8f d1 82 d1 8c d0 9e d0 bf d0 b5 d1 80 d0 ................
08f0: b0 d0 bd d0 b4 d1 8b d0 9f d1 80 d0 b8 d1 81 d0 ................
0900: b2 d0 b0 d0 b8 d0 b2 d0 b0 d0 bd d0 b8 d1 8f d0 ................
0910: 9c d0 b5 d1 81 d1 82 d0 b0 d0 bc d0 b8 28 29 20 .............()
0920: 7b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76 61 72 {.. .. var
0930: 20 77 20 3d 20 47 65 74 54 65 78 74 57 69 6e 64 w = GetTextWind
0940: 6f 77 28 29 3b 20 0d 0a 20 20 20 20 69 66 20 28 ow(); .. if (
0950: 21 77 20 7c 7c 20 77 69 6e 64 6f 77 73 2e 6d 6f !w || windows.mo
0960: 64 61 6c 4d 6f 64 65 20 21 3d 20 6d 73 4e 6f 6e dalMode != msNon
0970: 65 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b e) return false;
0980: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20 .. .. var
0990: 73 65 6c 54 65 78 74 20 3d 20 77 2e 47 65 74 53 selText = w.GetS
09a0: 65 6c 65 63 74 65 64 54 65 78 74 28 29 3b 0d 0a electedText();..
09b0: 20 20 20 20 69 66 20 28 73 65 6c 54 65 78 74 20 if (selText
09c0: 3d 3d 20 27 27 29 20 72 65 74 75 72 6e 20 66 61 == '') return fa
09d0: 6c 73 65 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 lse;.. ..
09e0: 76 61 72 20 73 65 6c 20 3d 20 77 2e 47 65 74 53 var sel = w.GetS
09f0: 65 6c 65 63 74 69 6f 6e 28 29 3b 0d 0a 20 20 20 election();..
0a00: 20 0d 0a 20 20 20 20 76 61 72 20 6c 69 6e 65 73 .. var lines
0a10: 20 3d 20 53 74 72 69 6e 67 55 74 69 6c 73 2e 74 = StringUtils.t
0a20: 6f 4c 69 6e 65 73 28 73 65 6c 54 65 78 74 29 3b oLines(selText);
0a30: 0d 0a 20 20 20 20 66 6f 72 28 76 61 72 20 6c 69 .. for(var li
0a40: 6e 65 4e 6f 20 3d 20 30 3b 20 6c 69 6e 65 4e 6f neNo = 0; lineNo
0a50: 20 3c 20 6c 69 6e 65 73 2e 6c 65 6e 67 74 68 3b < lines.length;
0a60: 20 6c 69 6e 65 4e 6f 2b 2b 29 0d 0a 20 20 20 20 lineNo++)..
0a70: 20 20 20 20 6c 69 6e 65 73 5b 6c 69 6e 65 4e 6f lines[lineNo
0a80: 5d 20 3d 20 6c 69 6e 65 73 5b 6c 69 6e 65 4e 6f ] = lines[lineNo
0a90: 5d 2e 72 65 70 6c 61 63 65 28 2f 28 5c 73 2a 29 ].replace(/(\s*)
0aa0: 28 5c 53 2a 2e 2b 3f 29 5c 73 2a 3d 5c 73 2a 28 (\S*.+?)\s*=\s*(
0ab0: 5c 53 2a 2e 2b 29 5c 73 2a 3b 2f 2c 20 22 24 31 \S*.+)\s*;/, "$1
0ac0: 24 33 3d 24 32 3b 22 29 3b 0d 0a 20 20 20 20 0d $3=$2;");.. .
0ad0: 0a 20 20 20 20 77 2e 53 65 74 53 65 6c 65 63 74 . w.SetSelect
0ae0: 65 64 54 65 78 74 28 53 74 72 69 6e 67 55 74 69 edText(StringUti
0af0: 6c 73 2e 66 72 6f 6d 4c 69 6e 65 73 28 6c 69 6e ls.fromLines(lin
0b00: 65 73 29 29 3b 0d 0a 20 20 20 20 2f 2f 20 d0 92 es));.. // ..
0b10: d0 be d1 81 d1 81 d1 82 d0 b0 d0 bd d0 be d0 b2 ................
0b20: d0 b8 d0 bc 20 d0 b8 d1 81 d1 85 d0 be d0 b4 d0 .... ...........
0b30: bd d0 be d0 b5 20 d0 b2 d1 8b d0 b4 d0 b5 d0 bb ..... ..........
0b40: d0 b5 d0 bd d0 b8 d0 b5 2e 0d 0a 20 20 20 20 77 ........... w
0b50: 2e 53 65 74 53 65 6c 65 63 74 69 6f 6e 28 73 65 .SetSelection(se
0b60: 6c 2e 62 65 67 69 6e 52 6f 77 2c 20 73 65 6c 2e l.beginRow, sel.
0b70: 62 65 67 69 6e 43 6f 6c 2c 20 73 65 6c 2e 65 6e beginCol, sel.en
0b80: 64 52 6f 77 2c 20 73 65 6c 2e 65 6e 64 43 6f 6c dRow, sel.endCol
0b90: 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 69 66 );.. .. if
0ba0: 20 28 6c 69 6e 65 73 2e 6c 65 6e 67 74 68 20 3e (lines.length >
0bb0: 20 31 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 1).. {..
0bc0: 20 20 20 20 2f 2f 20 d0 95 d1 81 d0 bb d0 b8 20 // ........
0bd0: d0 b1 d1 8b d0 bb d0 be 20 d0 b2 d1 8b d0 b4 d0 ........ .......
0be0: b5 d0 bb d0 b5 d0 bd d0 be 20 d0 bd d0 b5 d1 81 ......... ......
0bf0: d0 ba d0 be d0 bb d1 8c d0 ba d0 be 20 d1 81 d1 ............ ...
0c00: 82 d1 80 d0 be d0 ba 2c 20 d0 b2 d1 8b d1 80 d0 ......., .......
0c10: be d0 b2 d0 bd d1 8f d0 b5 d0 bc 20 d0 b2 20 d0 ........... .. .
0c20: bd d0 b8 d1 85 20 d0 bf d0 be 20 d0 b7 d0 bd d0 ..... .... .....
0c30: b0 d0 ba d0 b0 d0 bc 20 27 3d 27 2e 0d 0a 20 20 ....... '='...
0c40: 20 20 20 20 20 20 76 61 72 20 66 6f 72 6d 61 74 var format
0c50: 53 63 72 69 70 74 20 3d 20 61 64 64 69 6e 73 2e Script = addins.
0c60: 62 79 55 6e 69 71 75 65 4e 61 6d 65 28 27 66 6f byUniqueName('fo
0c70: 72 6d 61 74 5f 73 63 72 69 70 74 27 29 3b 0d 0a rmat_script');..
0c80: 20 20 20 20 20 20 20 20 69 66 20 28 66 6f 72 6d if (form
0c90: 61 74 53 63 72 69 70 74 29 0d 0a 20 20 20 20 20 atScript)..
0ca0: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 {..
0cb0: 20 20 66 6f 72 6d 61 74 53 63 72 69 70 74 2e 69 formatScript.i
0cc0: 6e 76 6f 6b 65 4d 61 63 72 6f 73 28 27 d0 92 d1 nvokeMacros('...
0cd0: 8b d1 80 d0 be d0 b2 d0 bd d1 8f d1 82 d1 8c d0 ................
0ce0: 97 d0 bd d0 b0 d0 ba d0 b8 d0 a0 d0 b0 d0 b2 d0 ................
0cf0: bd d0 be 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 ...');..
0d00: 20 20 20 20 2f 2f 20 d0 98 20 d1 81 d0 bd d0 be // .. ......
0d10: d0 b2 d0 b0 20 d0 b2 d0 be d1 81 d1 81 d1 82 d0 .... ...........
0d20: b0 d0 bd d0 be d0 b2 d0 b8 d0 bc 20 d0 b8 d1 81 ........... ....
0d30: d1 85 d0 be d0 b4 d0 bd d0 be d0 b5 20 d0 b2 d1 ............ ...
0d40: 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 b8 d0 b5 2e ................
0d50: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 2e .. w.
0d60: 53 65 74 53 65 6c 65 63 74 69 6f 6e 28 73 65 6c SetSelection(sel
0d70: 2e 62 65 67 69 6e 52 6f 77 2c 20 73 65 6c 2e 62 .beginRow, sel.b
0d80: 65 67 69 6e 43 6f 6c 2c 20 73 65 6c 2e 65 6e 64 eginCol, sel.end
0d90: 52 6f 77 2c 20 73 65 6c 2e 65 6e 64 43 6f 6c 29 Row, sel.endCol)
0da0: 3b 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 ; ..
0db0: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 7d 0d }.. }.
0dc0: 0a 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 . return true
0dd0: 3b 0d 0a 7d 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 ;..}....SelfScri
0de0: 70 74 2e 53 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 pt.Self['macros.
0df0: 9f d1 80 d0 b5 d0 be d0 b1 d1 80 d0 b0 d0 b7 d0 ................
0e00: be d0 b2 d0 b0 d1 82 d1 8c 20 d1 80 d0 b5 d0 b3 ......... ......
0e10: d0 b8 d1 81 d1 82 d1 80 3a 20 d0 9f d0 a0 d0 9e ........: ......
0e20: d0 9f d0 98 d0 a1 d0 9d d0 ab d0 95 27 5d 20 3d ............'] =
0e30: 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 20 function() {..
0e40: 20 20 20 72 65 74 75 72 6e 20 70 72 6f 63 65 73 return proces
0e50: 73 53 65 6c 65 63 74 65 64 54 65 78 74 28 66 75 sSelectedText(fu
0e60: 6e 63 74 69 6f 6e 28 73 65 6c 54 65 78 74 29 7b nction(selText){
0e70: 20 72 65 74 75 72 6e 20 73 65 6c 54 65 78 74 2e return selText.
0e80: 74 6f 55 70 70 65 72 43 61 73 65 28 29 3b 20 7d toUpperCase(); }
0e90: 29 3b 0d 0a 7d 0d 0a 0d 0a 53 65 6c 66 53 63 72 );..}....SelfScr
0ea0: 69 70 74 2e 53 65 6c 66 5b 27 6d 61 63 72 6f 73 ipt.Self['macros
0eb0: d0 9f d1 80 d0 b5 d0 be d0 b1 d1 80 d0 b0 d0 b7 ................
0ec0: d0 be d0 b2 d0 b0 d1 82 d1 8c 20 d1 80 d0 b5 d0 .......... .....
0ed0: b3 d0 b8 d1 81 d1 82 d1 80 3a 20 d1 81 d1 82 d1 .........: .....
0ee0: 80 d0 be d1 87 d0 bd d1 8b d0 b5 27 5d 20 3d 20 ...........'] =
0ef0: 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 20 20 function() {..
0f00: 20 20 72 65 74 75 72 6e 20 70 72 6f 63 65 73 73 return process
0f10: 53 65 6c 65 63 74 65 64 54 65 78 74 28 66 75 6e SelectedText(fun
0f20: 63 74 69 6f 6e 28 73 65 6c 54 65 78 74 29 7b 20 ction(selText){
0f30: 72 65 74 75 72 6e 20 73 65 6c 54 65 78 74 2e 74 return selText.t
0f40: 6f 4c 6f 77 65 72 43 61 73 65 28 29 3b 20 7d 29 oLowerCase(); })
0f50: 3b 0d 0a 7d 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 ;..}....SelfScri
0f60: 70 74 2e 53 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 pt.Self['macros.
0f70: 92 d1 8b d0 b4 d0 b5 d0 bb d0 b8 d1 82 d1 8c 20 ...............
0f80: d1 82 d0 b5 d0 ba d1 81 d1 82 20 d0 b2 20 d1 81 .......... .. ..
0f90: d0 ba d0 be d0 b1 d0 ba d0 b0 d1 85 27 5d 20 3d ............'] =
0fa0: 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 0d function() {...
0fb0: 0a 20 20 20 20 76 61 72 20 77 20 3d 20 47 65 74 . var w = Get
0fc0: 54 65 78 74 57 69 6e 64 6f 77 28 29 3b 20 0d 0a TextWindow(); ..
0fd0: 20 20 20 20 69 66 20 28 21 77 20 20 7c 7c 20 77 if (!w || w
0fe0: 69 6e 64 6f 77 73 2e 6d 6f 64 61 6c 4d 6f 64 65 indows.modalMode
0ff0: 20 21 3d 20 6d 73 4e 6f 6e 65 29 20 72 65 74 75 != msNone) retu
1000: 72 6e 20 66 61 6c 73 65 3b 20 20 20 20 0d 0a 20 rn false; ..
1010: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 76 61 72 .. var
1020: 20 73 65 6c 20 3d 20 77 2e 47 65 74 43 61 72 65 sel = w.GetCare
1030: 74 50 6f 73 28 29 3b 0d 0a 20 20 20 20 0d 0a 20 tPos();.. ..
1040: 20 20 20 76 61 72 20 73 74 61 72 74 50 6f 73 20 var startPos
1050: 3d 20 7b 20 27 72 6f 77 27 20 3a 20 73 65 6c 2e = { 'row' : sel.
1060: 62 65 67 69 6e 52 6f 77 2d 31 2c 20 27 63 6f 6c beginRow-1, 'col
1070: 27 20 3a 20 73 65 6c 2e 62 65 67 69 6e 43 6f 6c ' : sel.beginCol
1080: 2d 31 20 7d 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 -1 };.. ..
1090: 20 76 61 72 20 6c 69 6e 65 73 20 3d 20 77 2e 47 var lines = w.G
10a0: 65 74 4c 69 6e 65 73 28 29 3b 20 20 20 20 0d 0a etLines(); ..
10b0: 20 20 20 20 76 61 72 20 66 6f 75 6e 64 4f 70 65 var foundOpe
10c0: 6e 69 6e 67 42 72 61 63 65 20 3d 20 66 61 6c 73 ningBrace = fals
10d0: 65 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 77 68 e;.. .. wh
10e0: 69 6c 65 20 28 74 72 75 65 29 0d 0a 20 20 20 20 ile (true)..
10f0: 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 6c {.. var l
1100: 69 6e 65 20 3d 20 6c 69 6e 65 73 5b 73 74 61 72 ine = lines[star
1110: 74 50 6f 73 2e 72 6f 77 5d 3b 0d 0a 20 20 20 20 tPos.row];..
1120: 20 20 20 20 77 68 69 6c 65 20 28 73 74 61 72 74 while (start
1130: 50 6f 73 2e 63 6f 6c 20 3e 20 2d 31 29 20 0d 0a Pos.col > -1) ..
1140: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 {..
1150: 20 20 20 20 20 20 20 69 66 20 28 6c 69 6e 65 2e if (line.
1160: 63 68 61 72 41 74 28 73 74 61 72 74 50 6f 73 2e charAt(startPos.
1170: 63 6f 6c 29 20 3d 3d 20 27 28 27 29 0d 0a 20 20 col) == '(')..
1180: 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 {..
1190: 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 75 fou
11a0: 6e 64 4f 70 65 6e 69 6e 67 42 72 61 63 65 20 3d ndOpeningBrace =
11b0: 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 true;..
11c0: 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a break;..
11d0: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 }..
11e0: 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 start
11f0: 50 6f 73 2e 63 6f 6c 2d 2d 3b 20 0d 0a 20 20 20 Pos.col--; ..
1200: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 }..
1210: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 6f .. if (fo
1220: 75 6e 64 4f 70 65 6e 69 6e 67 42 72 61 63 65 29 undOpeningBrace)
1230: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 72 .. br
1240: 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a eak;.. ..
1250: 20 20 20 20 20 20 20 20 73 74 61 72 74 50 6f 73 startPos
1260: 2e 72 6f 77 2d 2d 3b 0d 0a 20 20 20 20 20 20 20 .row--;..
1270: 20 69 66 20 28 73 74 61 72 74 50 6f 73 2e 72 6f if (startPos.ro
1280: 77 20 3c 20 30 29 0d 0a 20 20 20 20 20 20 20 20 w < 0)..
1290: 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 break;..
12a0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 ..
12b0: 20 20 73 74 61 72 74 50 6f 73 2e 63 6f 6c 20 3d startPos.col =
12c0: 20 6c 69 6e 65 73 5b 73 74 61 72 74 50 6f 73 2e lines[startPos.
12d0: 72 6f 77 5d 2e 6c 65 6e 67 74 68 20 2d 20 31 3b row].length - 1;
12e0: 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 20 .. }.. ..
12f0: 20 20 20 69 66 20 28 21 66 6f 75 6e 64 4f 70 65 if (!foundOpe
1300: 6e 69 6e 67 42 72 61 63 65 29 0d 0a 20 20 20 20 ningBrace)..
1310: 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 return false
1320: 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 ;.. ..
1330: 20 2f 2a 20 d0 a1 d1 87 d0 b5 d1 82 d1 87 d0 b8 /* ............
1340: d0 ba 20 d0 bd d0 b5 d0 bf d0 b0 d1 80 d0 bd d1 .. .............
1350: 8b d1 85 20 d1 81 d0 ba d0 be d0 b1 d0 be d0 ba ... ............
1360: 2e 20 d0 95 d1 81 d0 bb d0 b8 20 d0 b2 d1 81 d1 . ........ .....
1370: 82 d1 80 d0 b5 d1 87 d0 b0 d0 b5 d1 82 d1 81 d1 ................
1380: 8f 20 d0 be d1 82 d0 ba d1 80 d1 8b d0 b2 d0 b0 . ..............
1390: d1 8e d1 89 d0 b0 d1 8f d1 81 d1 8f 20 d1 81 d0 ............ ...
13a0: ba d0 be d0 b1 d0 ba d0 b0 20 2d 20 d0 bf d1 80 ......... - ....
13b0: d0 b8 d0 b1 d0 b0 d0 b2 d0 bb d1 8f d0 b5 d0 bc ................
13c0: 20 31 2c 20 0d 0a 20 20 20 20 d0 b5 d1 81 d0 bb 1, .. ......
13d0: d0 b8 20 d0 b7 d0 b0 d0 ba d1 80 d1 8b d0 b2 d0 .. .............
13e0: b0 d1 8e d1 89 d0 b0 d1 8f 20 2d 20 d0 b2 d1 8b ......... - ....
13f0: d1 87 d0 b8 d1 82 d0 b0 d0 b5 d0 bc 20 31 2e 20 ............ 1.
1400: d0 9a d0 be d0 b3 d0 b4 d0 b0 20 d0 b7 d0 bd d0 .......... .....
1410: b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 20 d1 81 d1 82 ........... ....
1420: d0 b0 d0 bd d0 be d0 b2 d0 b8 d1 82 d1 81 d1 8f ................
1430: 20 d1 80 d0 b0 d0 b2 d0 bd d1 8b d0 bc 20 30 2c ............ 0,
1440: 20 d0 b7 d0 bd d0 b0 d1 87 d0 b8 d1 82 20 d0 bc ............ ..
1450: d1 8b 20 d0 bd d0 b0 d1 88 d0 bb d0 b8 20 0d 0a .. .......... ..
1460: 20 20 20 20 d0 bf d0 b0 d1 80 d0 bd d1 83 d1 8e ............
1470: 20 d0 b7 d0 b0 d0 ba d1 80 d1 8b d0 b2 d0 b0 d1 ...............
1480: 8e d1 89 d1 83 d1 8e 20 d1 81 d0 ba d0 be d0 b1 ....... ........
1490: d0 ba d1 83 20 d0 b8 20 d0 bf d0 be d0 b8 d1 81 .... .. ........
14a0: d0 ba 20 d0 bc d0 be d0 b6 d0 bd d0 be 20 d0 bf .. .......... ..
14b0: d1 80 d0 b5 d0 ba d1 80 d0 b0 d1 82 d0 b8 d1 82 ................
14c0: d1 8c 2e 20 2a 2f 0d 0a 20 20 20 20 76 61 72 20 ... */.. var
14d0: 6e 6f 74 50 61 69 72 65 64 43 6f 75 6e 74 20 3d notPairedCount =
14e0: 20 31 3b 20 0d 0a 20 20 20 20 0d 0a 20 20 20 20 1; .. ..
14f0: 76 61 72 20 65 6e 64 50 6f 73 20 3d 20 7b 20 27 var endPos = { '
1500: 72 6f 77 27 20 3a 20 73 74 61 72 74 50 6f 73 2e row' : startPos.
1510: 72 6f 77 2c 20 27 63 6f 6c 27 20 3a 20 73 74 61 row, 'col' : sta
1520: 72 74 50 6f 73 2e 63 6f 6c 20 2b 20 31 20 7d 3b rtPos.col + 1 };
1530: 0d 0a 20 20 20 20 77 68 69 6c 65 20 28 65 6e 64 .. while (end
1540: 50 6f 73 2e 72 6f 77 20 3c 20 6c 69 6e 65 73 2e Pos.row < lines.
1550: 6c 65 6e 67 74 68 29 0d 0a 20 20 20 20 7b 0d 0a length).. {..
1560: 20 20 20 20 20 20 20 20 76 61 72 20 6c 69 6e 65 var line
1570: 20 3d 20 6c 69 6e 65 73 5b 65 6e 64 50 6f 73 2e = lines[endPos.
1580: 72 6f 77 5d 3b 0d 0a 20 20 20 20 20 20 20 20 77 row];.. w
1590: 68 69 6c 65 20 28 65 6e 64 50 6f 73 2e 63 6f 6c hile (endPos.col
15a0: 20 3c 20 6c 69 6e 65 2e 6c 65 6e 67 74 68 29 0d < line.length).
15b0: 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 . {..
15c0: 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 switch (
15d0: 6c 69 6e 65 2e 63 68 61 72 41 74 28 65 6e 64 50 line.charAt(endP
15e0: 6f 73 2e 63 6f 6c 29 29 0d 0a 20 20 20 20 20 20 os.col))..
15f0: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 {..
1600: 20 20 20 20 20 63 61 73 65 20 27 28 27 3a 0d 0a case '(':..
1610: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1620: 6e 6f 74 50 61 69 72 65 64 43 6f 75 6e 74 2b 2b notPairedCount++
1630: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
1640: 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 break;..
1650: 20 20 20 20 20 20 20 63 61 73 65 20 27 29 27 3a case ')':
1660: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
1670: 20 20 6e 6f 74 50 61 69 72 65 64 43 6f 75 6e 74 notPairedCount
1680: 2d 2d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 --;..
1690: 20 20 20 20 20 62 72 65 61 6b 3b 20 20 20 20 20 break;
16a0: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 ..
16b0: 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 default
16c0: 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 :..
16d0: 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 break;..
16e0: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 }..
16f0: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 ..
1700: 20 20 20 20 69 66 20 28 21 6e 6f 74 50 61 69 72 if (!notPair
1710: 65 64 43 6f 75 6e 74 29 0d 0a 20 20 20 20 20 20 edCount)..
1720: 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b break;
1730: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a .. ..
1740: 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 50 endP
1750: 6f 73 2e 63 6f 6c 2b 2b 3b 0d 0a 20 20 20 20 20 os.col++;..
1760: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 0d 0a }.. ..
1770: 20 20 20 20 20 20 20 20 69 66 20 28 21 6e 6f 74 if (!not
1780: 50 61 69 72 65 64 43 6f 75 6e 74 29 0d 0a 20 20 PairedCount)..
1790: 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b break;
17a0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a .. ..
17b0: 20 20 20 20 20 20 20 20 65 6e 64 50 6f 73 2e 72 endPos.r
17c0: 6f 77 2b 2b 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 ow++;.. }..
17d0: 20 20 0d 0a 20 20 20 20 69 66 20 28 6e 6f 74 50 .. if (notP
17e0: 61 69 72 65 64 43 6f 75 6e 74 29 0d 0a 20 20 20 airedCount)..
17f0: 20 7b 0d 0a 20 20 20 20 20 20 20 20 44 6f 4d 65 {.. DoMe
1800: 73 73 61 67 65 42 6f 78 28 27 d0 9d d0 b5 20 d0 ssageBox('.... .
1810: be d0 b1 d0 bd d0 b0 d1 80 d1 83 d0 b6 d0 b5 d0 ................
1820: bd d0 be 20 d0 bf d0 b0 d1 80 d0 bd d0 be d0 b9 ... ............
1830: 20 d1 81 d0 ba d0 be d0 b1 d0 ba d0 b8 20 d0 b4 ............ ..
1840: d0 bb d1 8f 20 d1 81 d0 ba d0 be d0 b1 d0 ba d0 .... ...........
1850: b8 20 d0 b2 20 d0 bf d0 be d0 b7 d0 b8 d1 86 d0 . .. ...........
1860: b8 d0 b8 20 28 27 20 2b 20 28 73 74 61 72 74 50 ... (' + (startP
1870: 6f 73 2e 72 6f 77 20 2b 20 31 29 20 2b 20 27 2c os.row + 1) + ',
1880: 20 27 20 2b 20 28 73 74 61 72 74 50 6f 73 2e 63 ' + (startPos.c
1890: 6f 6c 20 2b 20 31 29 20 2b 20 27 29 21 27 29 3b ol + 1) + ')!');
18a0: 0d 0a 20 20 20 20 20 20 20 20 77 2e 53 65 74 53 .. w.SetS
18b0: 65 6c 65 63 74 69 6f 6e 28 73 74 61 72 74 50 6f election(startPo
18c0: 73 2e 72 6f 77 20 2b 20 31 2c 20 73 74 61 72 74 s.row + 1, start
18d0: 50 6f 73 2e 63 6f 6c 20 2b 20 31 2c 20 73 74 61 Pos.col + 1, sta
18e0: 72 74 50 6f 73 2e 72 6f 77 20 2b 20 31 2c 20 73 rtPos.row + 1, s
18f0: 74 61 72 74 50 6f 73 2e 63 6f 6c 20 2b 20 32 29 tartPos.col + 2)
1900: 3b 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 ;.. retur
1910: 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 7d 0d n false;.. }.
1920: 0a 20 20 20 20 0d 0a 20 20 20 20 2f 2a 20 d0 9d . .. /* ..
1930: d0 b5 20 d0 b7 d0 b0 d0 b1 d1 8b d0 b2 d0 b0 d0 .. .............
1940: b5 d0 bc 2c 20 d1 87 d1 82 d0 be 20 d1 83 20 d0 ..., ...... .. .
1950: bd d0 b0 d1 81 20 d0 bd d1 83 d0 bc d0 b5 d1 80 ..... ..........
1960: d0 b0 d1 86 d0 b8 d1 8f 20 d1 81 d1 82 d1 80 d0 ........ .......
1970: be d0 ba 20 d0 b8 20 d0 ba d0 be d0 bb d0 be d0 ... .. .........
1980: bd d0 be d0 ba 20 d0 bd d0 b0 d1 87 d0 b8 d0 bd ..... ..........
1990: d0 b0 d0 b5 d1 82 d1 81 d1 8f 20 d1 81 20 31 2c .......... .. 1,
19a0: 20 0d 0a 20 20 20 20 d0 b0 20 d0 b8 d0 bd d0 b4 .. .. ......
19b0: d0 b5 d0 ba d1 81 d1 8b 20 d1 8d d0 bb d0 b5 d0 ........ .......
19c0: bc d0 b5 d0 bd d1 82 d0 be d0 b2 20 d0 bc d0 b0 ........... ....
19d0: d1 81 d1 81 d0 b8 d0 b2 d0 b0 20 d0 b8 20 d0 b8 .......... .. ..
19e0: d0 bd d0 b4 d0 b5 d0 ba d1 81 d1 8b 20 d1 81 d0 ............ ...
19f0: b8 d0 bc d0 b2 d0 be d0 bb d0 be d0 b2 20 d0 b2 ............. ..
1a00: 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b5 20 2d 20 ............ -
1a10: d1 81 20 d0 bd d1 83 d0 bb d1 8f 2e 20 2a 2f 0d .. ......... */.
1a20: 0a 20 20 20 20 77 2e 53 65 74 53 65 6c 65 63 74 . w.SetSelect
1a30: 69 6f 6e 28 73 74 61 72 74 50 6f 73 2e 72 6f 77 ion(startPos.row
1a40: 20 2b 20 31 2c 20 73 74 61 72 74 50 6f 73 2e 63 + 1, startPos.c
1a50: 6f 6c 20 2b 20 32 2c 20 65 6e 64 50 6f 73 2e 72 ol + 2, endPos.r
1a60: 6f 77 20 2b 20 31 2c 20 65 6e 64 50 6f 73 2e 63 ow + 1, endPos.c
1a70: 6f 6c 20 2b 20 31 29 3b 0d 0a 20 20 20 20 72 65 ol + 1);.. re
1a80: 74 75 72 6e 20 74 72 75 65 3b 0d 0a 7d 0d 0a 0d turn true;..}...
1a90: 0a 53 65 6c 66 53 63 72 69 70 74 2e 53 65 6c 66 .SelfScript.Self
1aa0: 5b 27 6d 61 63 72 6f 73 d0 97 d0 b0 d0 bc d0 b5 ['macros........
1ab0: d0 bd d0 b8 d1 82 d1 8c 20 d1 82 d0 b0 d0 b1 d1 ........ .......
1ac0: 83 d0 bb d1 8f d1 86 d0 b8 d1 8e 20 d0 b2 20 d0 ........... .. .
1ad0: be d1 82 d1 81 d1 82 d1 83 d0 bf d0 b0 d1 85 20 ...............
1ae0: d0 bd d0 b0 20 d0 bf d1 80 d0 be d0 b1 d0 b5 d0 .... ...........
1af0: bb d1 8b 27 5d 20 3d 20 66 75 6e 63 74 69 6f 6e ...'] = function
1b00: 28 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 72 65 () {...return re
1b10: 70 6c 61 63 65 54 61 62 73 54 6f 53 70 61 63 65 placeTabsToSpace
1b20: 73 49 6e 53 65 6c 65 63 74 65 64 54 65 78 74 28 sInSelectedText(
1b30: 29 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f );..}....functio
1b40: 6e 20 72 65 70 6c 61 63 65 54 61 62 73 54 6f 53 n replaceTabsToS
1b50: 70 61 63 65 73 49 6e 53 65 6c 65 63 74 65 64 54 pacesInSelectedT
1b60: 65 78 74 28 64 6f 4e 6f 74 52 65 73 74 6f 72 65 ext(doNotRestore
1b70: 53 65 6c 65 63 74 69 6f 6e 29 20 7b 09 0d 0a 20 Selection) {...
1b80: 20 20 20 72 65 74 75 72 6e 20 70 72 6f 63 65 73 return proces
1b90: 73 53 65 6c 65 63 74 65 64 54 65 78 74 28 66 75 sSelectedText(fu
1ba0: 6e 63 74 69 6f 6e 28 73 65 6c 54 65 78 74 29 7b nction(selText){
1bb0: 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 74 61 .. var ta
1bc0: 62 53 69 7a 65 20 3d 20 70 72 6f 66 69 6c 65 52 bSize = profileR
1bd0: 6f 6f 74 2e 67 65 74 56 61 6c 75 65 28 22 4d 6f oot.getValue("Mo
1be0: 64 75 6c 65 54 65 78 74 45 64 69 74 6f 72 2f 54 duleTextEditor/T
1bf0: 61 62 53 69 7a 65 22 29 3b 0d 0a 20 20 20 20 20 abSize");..
1c00: 20 20 20 76 61 72 20 73 70 61 63 65 73 20 3d 20 var spaces =
1c10: 27 27 3b 20 66 6f 72 20 28 76 61 72 20 69 3d 30 ''; for (var i=0
1c20: 3b 20 69 3c 74 61 62 53 69 7a 65 3b 20 69 2b 2b ; i<tabSize; i++
1c30: 29 20 7b 20 73 70 61 63 65 73 20 2b 3d 20 27 20 ) { spaces += '
1c40: 27 20 7d 3b 0d 0a 20 20 20 20 20 20 20 20 72 65 ' };.. re
1c50: 74 75 72 6e 20 73 65 6c 54 65 78 74 2e 72 65 70 turn selText.rep
1c60: 6c 61 63 65 28 2f 5e 28 28 3c 5b 5e 3e 5d 2b 3e lace(/^((<[^>]+>
1c70: 7c 5c 74 29 2b 29 2f 67 6d 2c 20 66 75 6e 63 74 |\t)+)/gm, funct
1c80: 69 6f 6e 28 6d 61 74 63 68 2c 20 70 31 2c 20 6f ion(match, p1, o
1c90: 66 66 73 65 74 2c 20 73 29 20 7b 0d 0a 20 20 20 ffset, s) {..
1ca0: 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 return
1cb0: 70 31 2e 72 65 70 6c 61 63 65 28 2f 5c 74 2f 67 p1.replace(/\t/g
1cc0: 2c 20 73 70 61 63 65 73 29 3b 0d 0a 20 20 20 20 , spaces);..
1cd0: 20 20 20 20 7d 29 3b 0d 0a 20 20 20 20 7d 2c 20 });.. },
1ce0: 64 6f 4e 6f 74 52 65 73 74 6f 72 65 53 65 6c 65 doNotRestoreSele
1cf0: 63 74 69 6f 6e 29 3b 0d 0a 7d 0d 0a 0d 0a 66 75 ction);..}....fu
1d00: 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 4e 65 78 nction selectNex
1d10: 74 50 61 74 74 65 72 6e 28 64 69 72 29 7b 0d 0a tPattern(dir){..
1d20: 20 20 20 20 2f 2f 64 65 62 75 67 67 65 72 3b 0d //debugger;.
1d30: 0a 20 20 20 20 76 61 72 20 77 20 3d 20 47 65 74 . var w = Get
1d40: 54 65 78 74 57 69 6e 64 6f 77 28 29 3b 20 2f 2f TextWindow(); //
1d50: 73 6e 65 67 6f 70 61 74 2e 61 63 74 69 76 65 54 snegopat.activeT
1d60: 65 78 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 20 20 extWindow();..
1d70: 20 20 69 66 20 28 21 77 20 7c 7c 20 77 69 6e 64 if (!w || wind
1d80: 6f 77 73 2e 6d 6f 64 61 6c 4d 6f 64 65 20 21 3d ows.modalMode !=
1d90: 20 6d 73 4e 6f 6e 65 29 20 72 65 74 75 72 6e 20 msNone) return
1da0: 66 61 6c 73 65 3b 0d 0a 20 20 20 20 0d 0a 2f 2f false;.. ..//
1db0: 64 65 62 75 67 67 65 72 3b 20 20 20 20 0d 0a 20 debugger; ..
1dc0: 20 20 20 0d 0a 20 20 20 20 76 61 72 20 73 65 6c .. var sel
1dd0: 20 3d 20 77 2e 67 65 74 53 65 6c 65 63 74 69 6f = w.getSelectio
1de0: 6e 28 29 3b 0d 0a 20 20 20 20 76 61 72 20 73 65 n();.. var se
1df0: 6c 54 65 78 74 20 3d 20 77 2e 73 65 6c 65 63 74 lText = w.select
1e00: 65 64 54 65 78 74 28 29 3b 0d 0a 20 20 20 20 69 edText();.. i
1e10: 66 20 28 73 65 6c 54 65 78 74 20 3d 3d 20 27 27 f (selText == ''
1e20: 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d ) return false;.
1e30: 0a 0d 0a 20 20 20 20 76 61 72 20 72 6f 77 20 3d ... var row =
1e40: 20 64 69 72 20 3c 20 30 20 3f 20 0d 0a 20 20 20 dir < 0 ? ..
1e50: 20 20 20 20 20 73 65 61 72 63 68 50 61 74 74 65 searchPatte
1e60: 72 6e 55 70 28 77 2c 20 73 65 6c 54 65 78 74 2c rnUp(w, selText,
1e70: 20 73 65 6c 2e 62 65 67 69 6e 52 6f 77 29 20 3a sel.beginRow) :
1e80: 0d 0a 20 20 20 20 20 20 20 20 73 65 61 72 63 68 .. search
1e90: 50 61 74 74 65 72 6e 44 6f 77 6e 28 77 2c 20 73 PatternDown(w, s
1ea0: 65 6c 54 65 78 74 2c 20 73 65 6c 2e 62 65 67 69 elText, sel.begi
1eb0: 6e 52 6f 77 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 nRow);.. ..
1ec0: 20 20 69 66 20 28 21 72 6f 77 29 20 72 65 74 75 if (!row) retu
1ed0: 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 76 rn false;.. v
1ee0: 61 72 20 73 74 72 20 3d 20 77 2e 6c 69 6e 65 28 ar str = w.line(
1ef0: 72 6f 77 29 3b 0d 0a 20 20 20 20 76 61 72 20 63 row);.. var c
1f00: 6f 6c 20 3d 20 31 20 2b 20 73 74 72 2e 69 6e 64 ol = 1 + str.ind
1f10: 65 78 4f 66 28 73 65 6c 54 65 78 74 29 3b 0d 0a exOf(selText);..
1f20: 20 20 20 20 0d 0a 20 20 20 20 77 2e 73 65 74 43 .. w.setC
1f30: 61 72 65 74 50 6f 73 28 31 2c 20 31 29 3b 0d 0a aretPos(1, 1);..
1f40: 20 20 20 20 77 2e 73 65 74 53 65 6c 65 63 74 69 w.setSelecti
1f50: 6f 6e 28 72 6f 77 2c 20 63 6f 6c 2c 20 72 6f 77 on(row, col, row
1f60: 2c 20 63 6f 6c 20 2b 20 73 65 6c 54 65 78 74 2e , col + selText.
1f70: 6c 65 6e 67 74 68 29 3b 0d 0a 20 20 20 20 77 2e length);.. w.
1f80: 73 65 74 43 61 72 65 74 50 6f 73 28 72 6f 77 2c setCaretPos(row,
1f90: 20 63 6f 6c 29 3b 0d 0a 20 20 20 20 77 2e 73 65 col);.. w.se
1fa0: 74 53 65 6c 65 63 74 69 6f 6e 28 72 6f 77 2c 20 tSelection(row,
1fb0: 63 6f 6c 2c 20 72 6f 77 2c 20 63 6f 6c 20 2b 20 col, row, col +
1fc0: 73 65 6c 54 65 78 74 2e 6c 65 6e 67 74 68 29 3b selText.length);
1fd0: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 72 65 74 75 .. .. retu
1fe0: 72 6e 20 74 72 75 65 3b 0d 0a 7d 0d 0a 0d 0a 66 rn true;..}....f
1ff0: 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 50 61 unction searchPa
2000: 74 74 65 72 6e 44 6f 77 6e 28 64 6f 63 2c 20 70 tternDown(doc, p
2010: 61 74 74 65 72 6e 2c 20 73 74 61 72 74 52 6f 77 attern, startRow
2020: 29 7b 0d 0a 20 20 20 20 76 61 72 20 71 20 3d 20 ){.. var q =
2030: 30 3b 0d 0a 20 20 20 20 66 6f 72 20 28 76 61 72 0;.. for (var
2040: 20 69 20 3d 20 73 74 61 72 74 52 6f 77 20 2b 20 i = startRow +
2050: 31 3b 20 69 20 3c 3d 20 64 6f 63 2e 6c 69 6e 65 1; i <= doc.line
2060: 73 43 6f 75 6e 74 28 29 3b 20 69 2b 2b 29 7b 0d sCount(); i++){.
2070: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 . ..
2080: 20 20 20 69 66 20 28 2b 2b 71 20 3e 20 31 30 30 if (++q > 100
2090: 30 30 29 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 00) return null;
20a0: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 .. ..
20b0: 20 20 20 20 76 61 72 20 73 74 72 20 3d 20 64 6f var str = do
20c0: 63 2e 6c 69 6e 65 28 69 29 3b 0d 0a 20 20 20 20 c.line(i);..
20d0: 20 20 20 20 76 61 72 20 6a 20 3d 20 73 74 72 2e var j = str.
20e0: 69 6e 64 65 78 4f 66 28 70 61 74 74 65 72 6e 29 indexOf(pattern)
20f0: 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 6a ;.. if (j
2100: 20 3e 20 2d 31 29 20 72 65 74 75 72 6e 20 69 3b > -1) return i;
2110: 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 72 65 74 .. }.. ret
2120: 75 72 6e 20 6e 75 6c 6c 3b 0d 0a 7d 0d 0a 0d 0a urn null;..}....
2130: 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 50 function searchP
2140: 61 74 74 65 72 6e 55 70 28 64 6f 63 2c 20 70 61 atternUp(doc, pa
2150: 74 74 65 72 6e 2c 20 73 74 61 72 74 52 6f 77 29 ttern, startRow)
2160: 7b 0d 0a 2f 2f 64 65 62 75 67 67 65 72 3b 20 20 {..//debugger;
2170: 20 20 0d 0a 20 20 20 20 76 61 72 20 71 20 3d 20 .. var q =
2180: 30 3b 0d 0a 20 20 20 20 66 6f 72 20 28 76 61 72 0;.. for (var
2190: 20 69 20 3d 20 73 74 61 72 74 52 6f 77 20 2d 20 i = startRow -
21a0: 31 3b 20 69 20 3e 3d 20 31 3b 20 69 2d 2d 29 7b 1; i >= 1; i--){
21b0: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 .. ..
21c0: 20 20 20 20 69 66 20 28 2b 2b 71 20 3e 20 31 30 if (++q > 10
21d0: 30 30 30 29 20 72 65 74 75 72 6e 20 6e 75 6c 6c 000) return null
21e0: 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 ;.. ..
21f0: 20 20 20 20 20 76 61 72 20 73 74 72 20 3d 20 64 var str = d
2200: 6f 63 2e 6c 69 6e 65 28 69 29 3b 0d 0a 20 20 20 oc.line(i);..
2210: 20 20 20 20 20 76 61 72 20 6a 20 3d 20 73 74 72 var j = str
2220: 2e 69 6e 64 65 78 4f 66 28 70 61 74 74 65 72 6e .indexOf(pattern
2230: 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 );.. if (
2240: 6a 20 3e 20 2d 31 29 20 72 65 74 75 72 6e 20 69 j > -1) return i
2250: 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 72 65 ;.. }.. re
2260: 74 75 72 6e 20 6e 75 6c 6c 3b 0d 0a 7d 0d 0a 0d turn null;..}...
2270: 0a 66 75 6e 63 74 69 6f 6e 20 6d 61 63 72 6f 73 .function macros
2280: d0 9a d0 bb d0 be d0 bd d0 b8 d1 80 d0 be d0 b2 ................
2290: d0 b0 d1 82 d1 8c d0 a2 d0 b5 d0 ba d1 81 d1 82 ................
22a0: 28 29 7b 0d 0a 20 20 20 20 76 61 72 20 77 20 3d (){.. var w =
22b0: 20 47 65 74 54 65 78 74 57 69 6e 64 6f 77 28 29 GetTextWindow()
22c0: 3b 2f 2f 73 6e 65 67 6f 70 61 74 2e 61 63 74 69 ;//snegopat.acti
22d0: 76 65 54 65 78 74 57 69 6e 64 6f 77 28 29 3b 0d veTextWindow();.
22e0: 0a 20 20 20 20 69 66 20 28 21 77 20 7c 7c 20 77 . if (!w || w
22f0: 69 6e 64 6f 77 73 2e 6d 6f 64 61 6c 4d 6f 64 65 indows.modalMode
2300: 20 21 3d 20 6d 73 4e 6f 6e 65 29 20 72 65 74 75 != msNone) retu
2310: 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 0d rn false;.. .
2320: 0a 20 20 20 20 76 61 72 20 73 65 6c 20 3d 20 77 . var sel = w
2330: 2e 67 65 74 53 65 6c 65 63 74 69 6f 6e 28 29 3b .getSelection();
2340: 0d 0a 20 20 20 20 76 61 72 20 73 65 6c 54 65 78 .. var selTex
2350: 74 20 3d 20 77 2e 73 65 6c 65 63 74 65 64 54 65 t = w.selectedTe
2360: 78 74 28 29 3b 0d 0a 20 20 20 20 69 66 20 28 73 xt();.. if (s
2370: 65 6c 54 65 78 74 20 21 3d 20 27 27 29 7b 20 20 elText != ''){
2380: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 ..
2390: 20 20 20 20 77 2e 53 65 74 53 65 6c 65 63 74 65 w.SetSelecte
23a0: 64 54 65 78 74 28 73 65 6c 54 65 78 74 20 2b 20 dText(selText +
23b0: 22 5c 6e 22 20 2b 20 73 65 6c 54 65 78 74 29 3b "\n" + selText);
23c0: 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 65 6c 73 .. }.. els
23d0: 65 7b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0 e{.. // .
23e0: 95 d1 81 d0 bb d0 b8 20 d0 bd d0 b8 d1 87 d0 b5 ....... ........
23f0: d0 b3 d0 be 20 d0 bd d0 b5 20 d0 b2 d1 8b d0 b4 .... .... ......
2400: d0 b5 d0 bb d0 b5 d0 bd d0 be 2c 20 d1 81 d0 ba .........., ....
2410: d0 bb d0 be d0 bd d0 b8 d1 80 d1 83 d0 b5 d0 bc ................
2420: 20 d1 82 d0 b5 d0 ba d1 83 d1 89 d1 83 d1 8e 20 ..............
2430: d1 81 d1 82 d1 80 d0 be d0 ba d1 83 0d 0a 20 20 ..............
2440: 20 20 20 20 20 20 76 61 72 20 70 6f 73 20 3d 20 var pos =
2450: 77 2e 67 65 74 43 61 72 65 74 50 6f 73 28 29 3b w.getCaretPos();
2460: 0d 0a 20 20 20 20 20 20 20 20 77 2e 73 65 74 53 .. w.setS
2470: 65 6c 65 63 74 69 6f 6e 28 70 6f 73 2e 62 65 67 election(pos.beg
2480: 69 6e 52 6f 77 2c 20 31 2c 20 70 6f 73 2e 62 65 inRow, 1, pos.be
2490: 67 69 6e 52 6f 77 2c 20 31 20 2b 20 77 2e 6c 69 ginRow, 1 + w.li
24a0: 6e 65 28 70 6f 73 2e 62 65 67 69 6e 52 6f 77 29 ne(pos.beginRow)
24b0: 2e 6c 65 6e 67 74 68 29 3b 0d 0a 20 20 20 20 20 .length);..
24c0: 20 20 20 77 2e 53 65 74 53 65 6c 65 63 74 65 64 w.SetSelected
24d0: 54 65 78 74 28 77 2e 73 65 6c 65 63 74 65 64 54 Text(w.selectedT
24e0: 65 78 74 28 29 20 2b 20 22 5c 6e 22 20 2b 20 77 ext() + "\n" + w
24f0: 2e 73 65 6c 65 63 74 65 64 54 65 78 74 28 29 29 .selectedText())
2500: 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 72 65 ;.. }.. re
2510: 74 75 72 6e 20 74 72 75 65 3b 0d 0a 7d 0d 0a 0d turn true;..}...
2520: 0a 66 75 6e 63 74 69 6f 6e 20 6d 61 63 72 6f 73 .function macros
2530: 4f 6e 50 72 65 73 73 45 6e 74 65 72 49 6e 43 6f OnPressEnterInCo
2540: 6d 6d 65 6e 74 28 29 7b 0d 0a 20 20 20 20 76 61 mment(){.. va
2550: 72 20 77 20 3d 20 47 65 74 54 65 78 74 57 69 6e r w = GetTextWin
2560: 64 6f 77 28 29 3b 2f 2f 73 6e 65 67 6f 70 61 74 dow();//snegopat
2570: 2e 61 63 74 69 76 65 54 65 78 74 57 69 6e 64 6f .activeTextWindo
2580: 77 28 29 3b 0d 0a 20 20 20 20 69 66 20 28 21 77 w();.. if (!w
2590: 20 7c 7c 20 77 69 6e 64 6f 77 73 2e 6d 6f 64 61 || windows.moda
25a0: 6c 4d 6f 64 65 20 21 3d 20 6d 73 4e 6f 6e 65 29 lMode != msNone)
25b0: 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a return false;..
25c0: 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20 70 6f .. var po
25d0: 73 20 3d 20 77 2e 67 65 74 43 61 72 65 74 50 6f s = w.getCaretPo
25e0: 73 28 29 3b 0d 0a 20 20 20 20 76 61 72 20 73 74 s();.. var st
25f0: 72 20 3d 20 77 2e 6c 69 6e 65 28 70 6f 73 2e 62 r = w.line(pos.b
2600: 65 67 69 6e 52 6f 77 29 3b 0d 0a 20 20 20 20 69 eginRow);.. i
2610: 66 20 28 73 74 72 2e 6d 61 74 63 68 28 2f 5e 5c f (str.match(/^\
2620: 73 2a 5c 2f 5c 2f 5c 73 2a 5b 5e 5c 73 5d 2b 2f s*\/\/\s*[^\s]+/
2630: 69 67 29 29 20 7b 20 20 20 20 20 0d 0a 0d 0a 20 ig)) { ....
2640: 20 20 20 20 20 20 20 2f 2f 20 d0 95 d1 81 d0 bb // ......
2650: d0 b8 20 d0 ba d1 83 d1 80 d1 81 d0 be d1 80 20 .. ............
2660: d1 83 d1 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0 bb ................
2670: d0 b5 d0 bd 20 d0 bb d0 b5 d0 b2 d0 b5 d0 b5 20 .... ..........
2680: d1 81 d0 b8 d0 bc d0 b2 d0 be d0 bb d0 be d0 b2 ................
2690: 20 d0 ba d0 be d0 bc d0 bc d0 b5 d0 bd d1 82 d0 ...............
26a0: b0 d1 80 d0 b8 d1 8f 2c 20 d1 82 d0 be 20 d0 bd ......., .... ..
26b0: d0 b5 20 d0 be d0 b1 d1 80 d0 b0 d0 b1 d0 b0 d1 .. .............
26c0: 82 d1 8b d0 b2 d0 b0 d0 b5 d0 bc 20 d0 bd d0 b0 ........... ....
26d0: d0 b6 d0 b0 d1 82 d0 b8 d0 b5 2c 0d 0a 20 20 20 ..........,..
26e0: 20 20 20 20 20 2f 2f 20 d1 87 d1 82 d0 be d0 b1 // ........
26f0: d1 8b 20 d0 b4 d0 be d0 b1 d0 b0 d0 b2 d0 bb d1 .. .............
2700: 8f d0 bb d0 b0 d1 81 d1 8c 20 d0 bf d1 83 d1 81 ......... ......
2710: d1 82 d0 b0 d1 8f 20 d1 81 d1 82 d1 80 d0 be d0 ...... .........
2720: ba d0 b0 2c 20 d0 ba d0 b0 d0 ba 20 d0 b8 20 d0 ..., ...... .. .
2730: be d0 b6 d0 b8 d0 b4 d0 b0 d0 b5 d1 82 d1 81 d1 ................
2740: 8f 2e 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 .... if (
2750: 70 6f 73 2e 62 65 67 69 6e 43 6f 6c 20 3c 3d 20 pos.beginCol <=
2760: 73 74 72 2e 73 65 61 72 63 68 28 27 2f 2f 27 29 str.search('//')
2770: 20 2b 20 31 29 0d 0a 20 20 20 20 20 20 20 20 20 + 1)..
2780: 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b return false;
2790: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0 .... // .
27a0: ad d1 82 d0 be 20 d0 bd d0 b5 d0 bf d1 83 d1 81 ..... ..........
27b0: d1 82 d0 be d0 b9 20 d0 ba d0 be d0 bc d0 bc d0 ...... .........
27c0: b5 d0 bd d1 82 d0 b0 d1 80 d0 b8 d0 b9 20 2d 20 ............. -
27d0: d0 b4 d0 be d0 b1 d0 b0 d0 b2 d0 bb d1 8f d0 b5 ................
27e0: d0 bc 20 d0 ba d0 be d0 bc d0 bc d0 b5 d0 bd d1 .. .............
27f0: 82 d0 b0 d1 80 d0 b8 d0 b9 20 d0 bd d0 b8 d0 b6 ......... ......
2800: d0 b5 20 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 .. .. //
2810: d1 81 20 d0 be d1 82 d1 81 d1 82 d1 83 d0 bf d0 .. .............
2820: be d0 bc 20 d0 ba d0 b0 d0 ba 20 d0 b2 20 d0 bf ... ...... .. ..
2830: d1 80 d0 b5 d0 b4 d1 8b d0 b4 d1 83 d1 89 d0 b5 ................
2840: d0 b9 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b5 2e .. .............
2850: 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 6e 65 .. var ne
2860: 77 53 74 72 20 3d 20 67 65 74 43 6f 6d 6d 65 6e wStr = getCommen
2870: 74 53 74 72 69 6e 67 48 65 61 64 65 72 28 73 74 tStringHeader(st
2880: 72 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f r);.... /
2890: 2f 20 d0 95 d1 81 d0 bb d0 b8 20 d1 81 d0 bf d1 / ........ .....
28a0: 80 d0 b0 d0 b2 d0 b0 20 d0 be d1 82 20 d0 ba d1 ....... .... ...
28b0: 83 d1 80 d1 81 d0 be d1 80 d0 b0 20 d0 b5 d1 81 ........... ....
28c0: d1 82 d1 8c 20 d1 82 d0 b5 d0 ba d1 81 d1 82 2c .... ..........,
28d0: 20 d0 bf d0 b5 d1 80 d0 b5 d0 bd d0 b5 d1 81 d0 ...............
28e0: b5 d0 bc 20 d0 b5 d0 b3 d0 be 20 0d 0a 20 20 20 ... ...... ..
28f0: 20 20 20 20 20 2f 2f 20 d0 bd d0 b0 20 d0 bd d0 // .... ...
2900: be d0 b2 d1 83 d1 8e 20 d1 81 d1 82 d1 80 d0 be ....... ........
2910: d0 ba d1 83 20 d0 ba d0 be d0 bc d0 bc d0 b5 d0 .... ...........
2920: bd d1 82 d0 b0 d1 80 d0 b8 d1 8f 2e 0d 0a 20 20 ..............
2930: 20 20 20 20 20 20 69 66 20 28 73 74 72 2e 6c 65 if (str.le
2940: 6e 67 74 68 20 3e 3d 20 70 6f 73 2e 65 6e 64 43 ngth >= pos.endC
2950: 6f 6c 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 ol) {..
2960: 20 20 20 76 61 72 20 74 61 69 6c 20 3d 20 73 74 var tail = st
2970: 72 2e 73 75 62 73 74 72 28 70 6f 73 2e 62 65 67 r.substr(pos.beg
2980: 69 6e 43 6f 6c 20 2d 20 31 2c 20 73 74 72 2e 6c inCol - 1, str.l
2990: 65 6e 67 74 68 20 2d 20 70 6f 73 2e 62 65 67 69 ength - pos.begi
29a0: 6e 43 6f 6c 20 2b 20 31 29 3b 0d 0a 20 20 20 20 nCol + 1);..
29b0: 20 20 20 20 20 20 20 20 77 2e 52 65 70 6c 61 63 w.Replac
29c0: 65 4c 69 6e 65 28 70 6f 73 2e 62 65 67 69 6e 52 eLine(pos.beginR
29d0: 6f 77 2c 20 73 74 72 2e 73 75 62 73 74 72 28 30 ow, str.substr(0
29e0: 2c 20 70 6f 73 2e 62 65 67 69 6e 43 6f 6c 20 2d , pos.beginCol -
29f0: 20 31 29 29 3b 20 20 20 20 2f 2f 20 d0 be d1 82 1)); // ....
2a00: d1 80 d0 b5 d0 b7 d0 b0 d0 b5 d0 bc 20 d1 85 d0 ............ ...
2a10: b2 d0 be d1 81 d1 82 20 d0 be d1 82 20 d1 82 d0 ....... .... ...
2a20: b5 d0 ba d1 83 d1 89 d0 b5 d0 b9 20 d1 81 d1 82 ........... ....
2a30: d1 80 d0 be d0 ba d0 b8 0d 0a 20 20 20 20 20 20 ..........
2a40: 20 20 20 20 20 20 6e 65 77 53 74 72 20 3d 20 6e newStr = n
2a50: 65 77 53 74 72 20 2b 20 74 61 69 6c 2e 72 65 70 ewStr + tail.rep
2a60: 6c 61 63 65 28 2f 5e 5c 73 2a 2f 69 67 2c 20 22 lace(/^\s*/ig, "
2a70: 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a ");.. }..
2a80: 20 20 20 20 20 20 20 20 76 61 72 20 6e 65 77 43 var newC
2a90: 61 72 65 74 52 6f 77 20 3d 20 31 20 2b 20 70 6f aretRow = 1 + po
2aa0: 73 2e 62 65 67 69 6e 52 6f 77 3b 0d 0a 20 20 20 s.beginRow;..
2ab0: 20 20 20 20 20 77 2e 49 6e 73 65 72 74 4c 69 6e w.InsertLin
2ac0: 65 28 6e 65 77 43 61 72 65 74 52 6f 77 2c 20 6e e(newCaretRow, n
2ad0: 65 77 53 74 72 29 3b 0d 0a 20 20 20 20 20 20 20 ewStr);..
2ae0: 20 77 2e 73 65 74 43 61 72 65 74 50 6f 73 28 6e w.setCaretPos(n
2af0: 65 77 43 61 72 65 74 52 6f 77 2c 20 31 20 2b 20 ewCaretRow, 1 +
2b00: 6e 65 77 53 74 72 2e 6c 65 6e 67 74 68 29 3b 0d newStr.length);.
2b10: 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 . return
2b20: 74 72 75 65 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 true;.. }..
2b30: 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d return false;.
2b40: 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 6d .}....function m
2b50: 61 63 72 6f 73 4f 6e 50 72 65 73 73 44 65 6c 65 acrosOnPressDele
2b60: 74 65 49 6e 43 6f 6d 6d 65 6e 74 28 29 7b 0d 0a teInComment(){..
2b70: 20 20 20 20 76 61 72 20 77 20 3d 20 47 65 74 54 var w = GetT
2b80: 65 78 74 57 69 6e 64 6f 77 28 29 3b 2f 2f 73 6e extWindow();//sn
2b90: 65 67 6f 70 61 74 2e 61 63 74 69 76 65 54 65 78 egopat.activeTex
2ba0: 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 20 20 20 20 tWindow();..
2bb0: 69 66 20 28 21 77 20 7c 7c 20 77 69 6e 64 6f 77 if (!w || window
2bc0: 73 2e 6d 6f 64 61 6c 4d 6f 64 65 20 21 3d 20 6d s.modalMode != m
2bd0: 73 4e 6f 6e 65 29 20 72 65 74 75 72 6e 20 66 61 sNone) return fa
2be0: 6c 73 65 3b 0d 0a 0d 0a 20 20 20 20 69 66 20 28 lse;.... if (
2bf0: 77 2e 73 65 6c 65 63 74 65 64 54 65 78 74 28 29 w.selectedText()
2c00: 20 21 3d 20 22 22 29 7b 0d 0a 20 20 20 20 20 20 != ""){..
2c10: 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 return false;
2c20: 20 20 20 2f 2f 2f 20 54 4f 44 4f 3a 20 d0 be d0 /// TODO: ...
2c30: b1 d1 80 d0 b0 d0 b1 d0 be d1 82 d0 b0 d1 82 d1 ................
2c40: 8c 20 d1 8d d1 82 d0 be d1 82 20 d0 b2 d0 b0 d1 . ........ .....
2c50: 80 d0 b8 d0 b0 d0 bd d1 82 2e 0d 0a 20 20 20 20 ............
2c60: 7d 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76 61 72 }.. .. var
2c70: 20 70 6f 73 20 3d 20 77 2e 67 65 74 43 61 72 65 pos = w.getCare
2c80: 74 50 6f 73 28 29 3b 0d 0a 20 20 20 20 0d 0a 20 tPos();.. ..
2c90: 20 20 20 69 66 20 28 70 6f 73 2e 62 65 67 69 6e if (pos.begin
2ca0: 52 6f 77 20 3d 3d 20 77 2e 6c 69 6e 65 73 43 6f Row == w.linesCo
2cb0: 75 6e 74 29 20 72 65 74 75 72 6e 20 66 61 6c 73 unt) return fals
2cc0: 65 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76 61 e;.. .. va
2cd0: 72 20 73 74 72 20 3d 20 77 2e 6c 69 6e 65 28 70 r str = w.line(p
2ce0: 6f 73 2e 62 65 67 69 6e 52 6f 77 29 3b 0d 0a 20 os.beginRow);..
2cf0: 20 20 20 0d 0a 20 20 20 20 69 66 20 28 21 69 73 .. if (!is
2d00: 43 6f 6d 6d 65 6e 74 53 74 72 69 6e 67 28 73 74 CommentString(st
2d10: 72 29 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 r)) return false
2d20: 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 69 66 20 ;.. .. if
2d30: 28 70 6f 73 2e 65 6e 64 43 6f 6c 20 3e 20 73 74 (pos.endCol > st
2d40: 72 2e 6c 65 6e 67 74 68 29 7b 0d 0a 20 20 20 20 r.length){..
2d50: 20 20 20 20 2f 2f 20 d0 9a d1 83 d1 80 d1 81 d0 // .........
2d60: be d1 80 20 d1 81 d1 82 d0 be d0 b8 d1 82 20 d0 ... .......... .
2d70: b2 20 d1 81 d0 b0 d0 bc d0 be d0 bc 20 d0 ba d0 . .......... ...
2d80: be d0 bd d1 86 d0 b5 20 d1 81 d1 82 d1 80 d0 be ....... ........
2d90: d0 ba d0 b8 20 d0 b8 20 d0 bf d1 80 d0 b8 20 d0 .... .. ...... .
2da0: bd d0 b0 d0 b6 d0 b0 d1 82 d0 b8 d0 b8 20 0d 0a ............. ..
2db0: 20 20 20 20 20 20 20 20 2f 2f 20 44 65 6c 65 74 // Delet
2dc0: 65 20 d1 81 d0 bb d0 b5 d0 b4 d1 83 d1 8e d1 89 e ..............
2dd0: d0 b0 d1 8f 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 .... ...........
2de0: b0 20 d0 b4 d0 be d0 bb d0 b6 d0 bd d0 b0 20 d0 . ............ .
2df0: bf d1 80 d0 b8 d0 ba d0 bb d0 b5 d0 b8 d1 82 d1 ................
2e00: 8c d1 81 d1 8f 20 d0 b2 20 d0 ba d0 be d0 bd d0 ..... .. .......
2e10: b5 d1 86 20 d1 82 d0 b5 d0 ba d1 83 d1 89 d0 b5 ... ............
2e20: d0 b9 2e 0d 0a 20 20 20 20 20 20 20 20 76 61 72 ..... var
2e30: 20 6e 65 77 54 61 69 6c 20 3d 20 77 2e 6c 69 6e newTail = w.lin
2e40: 65 28 31 20 2b 20 70 6f 73 2e 62 65 67 69 6e 52 e(1 + pos.beginR
2e50: 6f 77 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a ow);.. ..
2e60: 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 43 if (!isC
2e70: 6f 6d 6d 65 6e 74 53 74 72 69 6e 67 28 6e 65 77 ommentString(new
2e80: 54 61 69 6c 29 29 20 72 65 74 75 72 6e 20 66 61 Tail)) return fa
2e90: 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a lse;.. ..
2ea0: 20 20 20 20 20 20 20 20 6e 65 77 54 61 69 6c 20 newTail
2eb0: 3d 20 6e 65 77 54 61 69 6c 2e 72 65 70 6c 61 63 = newTail.replac
2ec0: 65 28 2f 5e 5c 73 2a 5c 2f 5c 2f 2a 5c 2f 5c 73 e(/^\s*\/\/*\/\s
2ed0: 2a 2f 69 67 2c 20 22 22 29 3b 20 0d 0a 20 20 20 */ig, ""); ..
2ee0: 20 20 20 20 20 69 66 20 28 73 74 72 2e 6d 61 74 if (str.mat
2ef0: 63 68 28 2f 5b 5e 5c 73 5d 24 2f 69 67 29 29 20 ch(/[^\s]$/ig))
2f00: 6e 65 77 54 61 69 6c 20 3d 20 22 20 22 20 2b 20 newTail = " " +
2f10: 6e 65 77 54 61 69 6c 3b 0d 0a 20 20 20 20 20 20 newTail;..
2f20: 20 20 0d 0a 20 20 20 20 20 20 20 20 77 2e 52 65 .. w.Re
2f30: 70 6c 61 63 65 4c 69 6e 65 28 70 6f 73 2e 62 65 placeLine(pos.be
2f40: 67 69 6e 52 6f 77 2c 20 73 74 72 20 2b 20 6e 65 ginRow, str + ne
2f50: 77 54 61 69 6c 29 3b 0d 0a 20 20 20 20 20 20 20 wTail);..
2f60: 20 77 2e 44 65 6c 65 74 65 4c 69 6e 65 28 31 20 w.DeleteLine(1
2f70: 2b 20 70 6f 73 2e 62 65 67 69 6e 52 6f 77 29 3b + pos.beginRow);
2f80: 0d 0a 20 20 20 20 20 20 20 20 77 2e 73 65 74 43 .. w.setC
2f90: 61 72 65 74 50 6f 73 28 70 6f 73 2e 62 65 67 69 aretPos(pos.begi
2fa0: 6e 52 6f 77 2c 20 70 6f 73 2e 62 65 67 69 6e 43 nRow, pos.beginC
2fb0: 6f 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 72 65 ol);.. re
2fc0: 74 75 72 6e 20 74 72 75 65 3b 0d 0a 20 20 20 20 turn true;..
2fd0: 7d 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 66 61 }.. return fa
2fe0: 6c 73 65 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 lse;..}....funct
2ff0: 69 6f 6e 20 6d 61 63 72 6f 73 4f 6e 50 72 65 73 ion macrosOnPres
3000: 73 42 61 63 6b 73 70 61 63 65 49 6e 43 6f 6d 6d sBackspaceInComm
3010: 65 6e 74 28 29 7b 0d 0a 20 20 20 20 76 61 72 20 ent(){.. var
3020: 77 20 3d 20 47 65 74 54 65 78 74 57 69 6e 64 6f w = GetTextWindo
3030: 77 28 29 3b 2f 2f 73 6e 65 67 6f 70 61 74 2e 61 w();//snegopat.a
3040: 63 74 69 76 65 54 65 78 74 57 69 6e 64 6f 77 28 ctiveTextWindow(
3050: 29 3b 0d 0a 20 20 20 20 69 66 20 28 21 77 20 7c );.. if (!w |
3060: 7c 20 77 69 6e 64 6f 77 73 2e 6d 6f 64 61 6c 4d | windows.modalM
3070: 6f 64 65 20 21 3d 20 6d 73 4e 6f 6e 65 29 20 72 ode != msNone) r
3080: 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 0d 0a eturn false;....
3090: 20 20 20 20 69 66 20 28 77 2e 73 65 6c 65 63 74 if (w.select
30a0: 65 64 54 65 78 74 28 29 20 21 3d 20 22 22 29 7b edText() != ""){
30b0: 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e .. return
30c0: 20 66 61 6c 73 65 3b 20 20 20 20 2f 2f 2f 20 54 false; /// T
30d0: 4f 44 4f 3a 20 d0 be d0 b1 d1 80 d0 b0 d0 b1 d0 ODO: ...........
30e0: be d1 82 d0 b0 d1 82 d1 8c 20 d1 8d d1 82 d0 be ......... ......
30f0: d1 82 20 d0 b2 d0 b0 d1 80 d0 b8 d0 b0 d0 bd d1 .. .............
3100: 82 2e 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 0d .... }.. .
3110: 0a 20 20 20 20 76 61 72 20 70 6f 73 20 3d 20 77 . var pos = w
3120: 2e 67 65 74 43 61 72 65 74 50 6f 73 28 29 3b 0d .getCaretPos();.
3130: 0a 20 20 20 20 69 66 20 28 70 6f 73 2e 62 65 67 . if (pos.beg
3140: 69 6e 52 6f 77 20 3d 3d 20 31 29 20 72 65 74 75 inRow == 1) retu
3150: 72 6e 20 66 61 6c 73 65 3b 20 20 20 20 2f 2f 20 rn false; //
3160: d0 98 20 d1 82 d0 b0 d0 ba 20 d1 83 d0 b6 d0 b5 .. ...... ......
3170: 20 d1 81 d1 82 d0 be d0 b8 d0 bc 20 d0 b2 20 d0 .......... .. .
3180: bf d0 b5 d1 80 d0 b2 d0 be d0 b9 20 d1 81 d1 82 ........... ....
3190: d1 80 d0 be d0 ba d0 b5 2e 0d 0a 20 20 20 20 0d ........... .
31a0: 0a 20 20 20 20 2f 2f 20 d0 9e d0 b1 d1 80 d0 b0 . // ........
31b0: d0 b1 d0 b0 d1 82 d1 8b d0 b2 d0 b0 d0 b5 d0 bc ................
31c0: 20 d1 82 d0 be d0 bb d1 8c d0 ba d0 be 20 d0 b5 ............ ..
31d0: d1 81 d0 bb d0 b8 20 d1 81 d1 82 d0 be d0 b8 d0 ...... .........
31e0: bc 20 20 d0 b2 20 d1 81 d0 b0 d0 bc d0 be d0 bc . .. ..........
31f0: 20 d0 bd d0 b0 d1 87 d0 b0 d0 bb d0 b5 20 d1 81 ............ ..
3200: d1 82 d1 80 d0 be d0 ba d0 b8 20 d0 b8 20 0d 0a .......... .. ..
3210: 20 20 20 20 2f 2f 20 d0 b5 d1 81 d0 bb d0 b8 20 // ........
3220: d1 8d d1 82 d0 b0 20 d0 b8 20 d0 bf d1 80 d0 b5 ...... .. ......
3230: d0 b4 d1 8b d0 b4 d1 83 d1 89 d0 b0 d1 8f 20 d1 .............. .
3240: 81 d1 82 d1 80 d0 be d0 ba d0 b8 20 d1 8f d0 b2 ........... ....
3250: d0 bb d1 8f d1 8e d1 82 d1 81 d1 8f 20 d0 ba d0 ............ ...
3260: be d0 bc d0 bc d0 b5 d0 bd d1 82 d0 b0 d1 80 d0 ................
3270: b8 d1 8f d0 bc d0 b8 2e 0d 0a 20 20 20 20 69 66 .......... if
3280: 20 28 70 6f 73 2e 62 65 67 69 6e 43 6f 6c 20 3e (pos.beginCol >
3290: 20 31 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 1) return false
32a0: 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76 61 72 ;.. .. var
32b0: 20 73 74 72 20 3d 20 77 2e 6c 69 6e 65 28 70 6f str = w.line(po
32c0: 73 2e 62 65 67 69 6e 52 6f 77 29 3b 0d 0a 20 20 s.beginRow);..
32d0: 20 20 69 66 20 28 21 69 73 43 6f 6d 6d 65 6e 74 if (!isComment
32e0: 53 74 72 69 6e 67 28 73 74 72 29 29 20 72 65 74 String(str)) ret
32f0: 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 urn false;..
3300: 0d 0a 20 20 20 20 76 61 72 20 70 72 65 76 53 74 .. var prevSt
3310: 72 20 3d 20 77 2e 6c 69 6e 65 28 70 6f 73 2e 62 r = w.line(pos.b
3320: 65 67 69 6e 52 6f 77 20 2d 20 31 29 3b 0d 0a 20 eginRow - 1);..
3330: 20 20 20 69 66 20 28 21 69 73 43 6f 6d 6d 65 6e if (!isCommen
3340: 74 53 74 72 69 6e 67 28 70 72 65 76 53 74 72 29 tString(prevStr)
3350: 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d ) return false;.
3360: 0a 20 20 20 20 0d 0a 20 20 20 20 2f 2f 20 d0 9a . .. // ..
3370: d1 83 d1 80 d1 81 d0 be d1 80 20 d1 81 d1 82 d0 .......... .....
3380: be d0 b8 d1 82 20 d0 b2 20 d1 81 d0 b0 d0 bc d0 ..... .. .......
3390: be d0 bc 20 d0 bd d0 b0 d1 87 d0 b0 d0 bb d0 b5 ... ............
33a0: 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b8 20 d0 b8 ............ ..
33b0: 20 d0 bf d1 80 d0 b8 20 d0 bd d0 b0 d0 b6 d0 b0 ...... ........
33c0: d1 82 d0 b8 d0 b8 20 0d 0a 20 20 20 20 2f 2f 20 ...... .. //
33d0: 42 61 63 6b 73 70 61 63 65 20 d1 82 d0 b5 d0 ba Backspace ......
33e0: d1 83 d1 89 d0 b0 d1 8f 20 d1 81 d1 82 d1 80 d0 ........ .......
33f0: be d0 ba d0 b0 20 d0 b4 d0 be d0 bb d0 b6 d0 bd ..... ..........
3400: d0 b0 20 d0 bf d1 80 d0 b8 d0 ba d0 bb d0 b5 d0 .. .............
3410: b8 d1 82 d1 8c d1 81 d1 8f 20 d0 b2 20 d0 ba d0 ......... .. ...
3420: be d0 bd d0 b5 d1 86 20 d0 bf d1 80 d0 b5 d0 b4 ....... ........
3430: d1 8b d0 b4 d1 83 d1 89 d0 b5 d0 b9 2e 0d 0a 20 ...............
3440: 20 20 20 76 61 72 20 6e 65 77 54 61 69 6c 20 3d var newTail =
3450: 20 73 74 72 2e 72 65 70 6c 61 63 65 28 2f 5e 5c str.replace(/^\
3460: 73 2a 5c 2f 5c 2f 2a 5c 2f 5c 73 2a 2f 69 67 2c s*\/\/*\/\s*/ig,
3470: 20 22 22 29 3b 20 0d 0a 20 20 20 20 69 66 20 28 ""); .. if (
3480: 70 72 65 76 53 74 72 2e 6d 61 74 63 68 28 2f 5b prevStr.match(/[
3490: 5e 5c 73 5d 24 2f 69 67 29 29 20 6e 65 77 54 61 ^\s]$/ig)) newTa
34a0: 69 6c 20 3d 20 22 20 22 20 2b 20 6e 65 77 54 61 il = " " + newTa
34b0: 69 6c 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 77 il;.. .. w
34c0: 2e 73 65 74 53 65 6c 65 63 74 69 6f 6e 28 70 6f .setSelection(po
34d0: 73 2e 62 65 67 69 6e 52 6f 77 20 2d 20 31 2c 20 s.beginRow - 1,
34e0: 31 2c 20 70 6f 73 2e 62 65 67 69 6e 52 6f 77 2c 1, pos.beginRow,
34f0: 20 0d 0a 20 20 20 20 20 20 20 20 77 2e 6c 69 6e .. w.lin
3500: 65 28 70 6f 73 2e 62 65 67 69 6e 52 6f 77 29 2e e(pos.beginRow).
3510: 6c 65 6e 67 74 68 20 2b 20 31 29 3b 0d 0a 20 20 length + 1);..
3520: 20 20 77 2e 53 65 74 53 65 6c 65 63 74 65 64 54 w.SetSelectedT
3530: 65 78 74 28 70 72 65 76 53 74 72 20 2b 20 6e 65 ext(prevStr + ne
3540: 77 54 61 69 6c 29 3b 0d 0a 20 20 20 20 0d 0a 20 wTail);.. ..
3550: 20 20 20 77 2e 73 65 74 43 61 72 65 74 50 6f 73 w.setCaretPos
3560: 28 70 6f 73 2e 62 65 67 69 6e 52 6f 77 20 2d 20 (pos.beginRow -
3570: 31 2c 20 31 20 2b 20 70 72 65 76 53 74 72 2e 6c 1, 1 + prevStr.l
3580: 65 6e 67 74 68 29 3b 0d 0a 20 20 20 20 0d 0a 20 ength);.. ..
3590: 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d return true;.
35a0: 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 69 .}....function i
35b0: 73 43 6f 6d 6d 65 6e 74 53 74 72 69 6e 67 28 73 sCommentString(s
35c0: 74 72 29 7b 0d 0a 20 20 20 20 72 65 74 75 72 6e tr){.. return
35d0: 20 6e 75 6c 6c 20 21 3d 20 73 74 72 2e 6d 61 74 null != str.mat
35e0: 63 68 28 2f 5e 5c 73 2a 5c 2f 5c 2f 2f 69 67 29 ch(/^\s*\/\//ig)
35f0: 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e ;..}....function
3600: 20 67 65 74 54 65 78 74 42 6c 6f 63 6b 4f 66 66 getTextBlockOff
3610: 73 65 74 28 73 74 72 29 7b 0d 0a 20 20 20 20 76 set(str){.. v
3620: 61 72 20 6d 61 74 63 68 20 3d 20 73 74 72 2e 6d ar match = str.m
3630: 61 74 63 68 28 2f 5e 28 5b 5c 73 5d 2b 29 2f 69 atch(/^([\s]+)/i
3640: 67 29 3b 0d 0a 20 20 20 20 76 61 72 20 72 65 73 g);.. var res
3650: 20 3d 20 21 6d 61 74 63 68 20 3f 20 22 22 20 3a = !match ? "" :
3660: 20 6d 61 74 63 68 5b 30 5d 3b 0d 0a 20 20 20 20 match[0];..
3670: 72 65 74 75 72 6e 20 72 65 73 3b 0d 0a 7d 0d 0a return res;..}..
3680: 0d 0a 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f ..function getCo
3690: 6d 6d 65 6e 74 53 74 72 69 6e 67 48 65 61 64 65 mmentStringHeade
36a0: 72 28 73 74 72 29 7b 0d 0a 20 20 20 20 76 61 72 r(str){.. var
36b0: 20 6d 61 74 63 68 20 3d 20 73 74 72 2e 6d 61 74 match = str.mat
36c0: 63 68 28 2f 5e 28 5b 5c 73 5d 2a 5c 2f 5c 2f 2a ch(/^([\s]*\/\/*
36d0: 5c 2f 5b 5c 73 5d 3f 29 2a 2f 69 67 29 3b 0d 0a \/[\s]?)*/ig);..
36e0: 20 20 20 20 76 61 72 20 72 65 73 20 3d 20 21 6d var res = !m
36f0: 61 74 63 68 20 3f 20 22 22 20 3a 20 6d 61 74 63 atch ? "" : matc
3700: 68 5b 30 5d 3b 0d 0a 20 20 20 20 72 65 74 75 72 h[0];.. retur
3710: 6e 20 72 65 73 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e n res;..}....fun
3720: 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 53 65 6c ction processSel
3730: 65 63 74 65 64 54 65 78 74 28 73 65 6c 54 65 78 ectedText(selTex
3740: 74 48 61 6e 64 6c 65 72 2c 20 64 6f 4e 6f 74 52 tHandler, doNotR
3750: 65 73 74 6f 72 65 53 65 6c 65 63 74 69 6f 6e 29 estoreSelection)
3760: 20 7b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76 61 {.. .. va
3770: 72 20 77 20 3d 20 47 65 74 54 65 78 74 57 69 6e r w = GetTextWin
3780: 64 6f 77 28 29 3b 20 0d 0a 20 20 20 20 69 66 20 dow(); .. if
3790: 28 21 77 20 7c 7c 20 77 69 6e 64 6f 77 73 2e 6d (!w || windows.m
37a0: 6f 64 61 6c 4d 6f 64 65 20 21 3d 20 6d 73 4e 6f odalMode != msNo
37b0: 6e 65 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 ne) return false
37c0: 3b 20 20 20 20 0d 0a 20 20 20 20 0d 0a 20 20 20 ; .. ..
37d0: 20 76 61 72 20 73 65 6c 20 3d 20 77 2e 47 65 74 var sel = w.Get
37e0: 53 65 6c 65 63 74 69 6f 6e 28 29 3b 20 20 20 20 Selection();
37f0: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 76 61 .. va
3800: 72 20 73 65 6c 54 65 78 74 20 3d 20 77 2e 47 65 r selText = w.Ge
3810: 74 53 65 6c 65 63 74 65 64 54 65 78 74 28 29 3b tSelectedText();
3820: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 74 72 79 20 .. .. try
3830: 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 .. {..
3840: 20 73 65 6c 54 65 78 74 20 3d 20 73 65 6c 54 65 selText = selTe
3850: 78 74 48 61 6e 64 6c 65 72 2e 63 61 6c 6c 28 6e xtHandler.call(n
3860: 75 6c 6c 2c 20 73 65 6c 54 65 78 74 29 3b 0d 0a ull, selText);..
3870: 20 20 20 20 7d 0d 0a 20 20 20 20 63 61 74 63 68 }.. catch
3880: 20 28 65 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 (e).. {..
3890: 20 20 20 20 4d 65 73 73 61 67 65 28 65 2e 64 65 Message(e.de
38a0: 73 63 72 69 70 74 69 6f 6e 29 3b 0d 0a 20 20 20 scription);..
38b0: 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 return false
38c0: 3b 0d 0a 20 20 20 20 7d 20 20 20 20 20 20 20 20 ;.. }
38d0: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 77 2e 53 65 .. .. w.Se
38e0: 74 53 65 6c 65 63 74 65 64 54 65 78 74 28 73 65 tSelectedText(se
38f0: 6c 54 65 78 74 29 3b 0d 0a 20 20 20 20 0d 0a 20 lText);.. ..
3900: 20 20 20 2f 2f 20 d0 92 d0 be d1 81 d1 81 d1 82 // ..........
3910: d0 b0 d0 bd d0 be d0 b2 d0 b8 d0 bc 20 d0 b8 d1 ............ ...
3920: 81 d1 85 d0 be d0 b4 d0 bd d0 be d0 b5 20 d0 b2 ............. ..
3930: d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 b8 d0 b5 ................
3940: 2e 0d 0a 20 20 20 20 69 66 20 28 21 64 6f 4e 6f ... if (!doNo
3950: 74 52 65 73 74 6f 72 65 53 65 6c 65 63 74 69 6f tRestoreSelectio
3960: 6e 29 0d 0a 20 20 20 20 20 20 20 20 77 2e 53 65 n).. w.Se
3970: 74 53 65 6c 65 63 74 69 6f 6e 28 73 65 6c 2e 62 tSelection(sel.b
3980: 65 67 69 6e 52 6f 77 2c 20 73 65 6c 2e 62 65 67 eginRow, sel.beg
3990: 69 6e 43 6f 6c 2c 20 73 65 6c 2e 65 6e 64 52 6f inCol, sel.endRo
39a0: 77 2c 20 73 65 6c 2e 65 6e 64 43 6f 6c 29 3b 0d w, sel.endCol);.
39b0: 0a 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 . return true
39c0: 3b 0d 0a 7d 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 ;..}....SelfScri
39d0: 70 74 2e 53 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 pt.Self['macros.
39e0: a3 d1 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0 b8 d1 ................
39f0: 82 d1 8c 20 d1 81 d0 b8 d0 bc d0 b2 d0 be d0 bb ... ............
3a00: 20 7c 20 d0 b2 20 d1 81 d1 82 d1 80 d0 be d0 ba | .. ..........
3a10: d0 b5 2f d0 b2 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 ../.............
3a20: bd d0 b8 d0 b8 27 5d 20 3d 20 66 75 6e 63 74 69 .....'] = functi
3a30: 6f 6e 28 29 20 7b 0d 0a 20 20 20 0d 0a 20 20 20 on() {.. ..
3a40: 20 76 61 72 20 77 20 3d 20 47 65 74 54 65 78 74 var w = GetText
3a50: 57 69 6e 64 6f 77 28 29 3b 20 2f 2f d0 9f d0 be Window(); //....
3a60: d0 bb d1 83 d1 87 d0 b8 d0 bc 20 d0 b0 d0 ba d1 .......... .....
3a70: 82 d0 b8 d0 b2 d0 bd d0 be d0 b5 20 d1 82 d0 b5 ........... ....
3a80: d0 ba d1 81 d1 82 d0 be d0 b2 d0 be d0 b5 20 d0 .............. .
3a90: be d0 ba d0 bd d0 be 0d 0a 20 20 20 20 69 66 20 ......... if
3aa0: 28 21 77 20 7c 7c 20 77 69 6e 64 6f 77 73 2e 6d (!w || windows.m
3ab0: 6f 64 61 6c 4d 6f 64 65 20 21 3d 20 6d 73 4e 6f odalMode != msNo
3ac0: 6e 65 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 ne) return false
3ad0: 3b 20 20 20 0d 0a 20 20 20 0d 0a 20 20 20 20 2f ; .. .. /
3ae0: 2f 20 d0 9f d1 80 d0 be d0 b2 d0 b5 d1 80 d0 b5 / ..............
3af0: d0 bc 20 d0 b5 d1 81 d1 82 d1 8c 20 d0 bb d0 b8 .. ........ ....
3b00: 20 d0 b2 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 ...............
3b10: bd d1 8b d0 b9 20 d1 82 d0 b5 d0 ba d1 81 2c 20 ..... ........,
3b20: d0 b5 d1 81 d0 bb d0 b8 20 d0 bd d0 b5 d1 82 2c ........ ......,
3b30: 20 d1 82 d0 be 20 d0 b2 d1 8b d0 b4 d0 b5 d0 bb .... ..........
3b40: d0 b8 d0 bc 20 d1 82 d0 b5 d0 ba d1 83 d1 89 d1 .... ...........
3b50: 83 d1 8e 20 d1 81 d1 82 d1 80 d0 be d0 ba d1 83 ... ............
3b60: 20 2c 20 d0 b2 20 d1 80 d0 b5 d0 b7 d1 83 d0 bb , .. ..........
3b70: d1 8c d1 82 d0 b0 d1 82 d0 b5 20 d0 be d0 b1 d1 .......... .....
3b80: 80 d0 b0 d0 b1 d0 be d1 82 d0 b0 d0 b5 d0 bc 20 ...............
3b90: d0 b2 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 bd ................
3ba0: d1 8b d0 b9 20 d1 82 d0 b5 d0 ba d1 81 d1 82 20 .... ..........
3bb0: d0 b8 20 d0 b2 d0 b5 d1 80 d0 bd d0 b5 d0 bc 20 .. ............
3bc0: d0 bd d0 b0 20 d0 bc d0 b5 d1 81 d1 82 d0 be 2e .... ...........
3bd0: 0d 0a 20 20 20 20 76 61 72 20 73 65 6c 54 65 78 .. var selTex
3be0: 74 20 3d 20 77 2e 47 65 74 53 65 6c 65 63 74 65 t = w.GetSelecte
3bf0: 64 54 65 78 74 28 29 3b 0d 0a 20 20 20 20 69 66 dText();.. if
3c00: 20 28 73 65 6c 54 65 78 74 2e 6c 65 6e 67 74 68 (selText.length
3c10: 3d 3d 30 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 ==0) {..
3c20: 76 61 72 20 70 6f 73 20 3d 20 77 2e 67 65 74 43 var pos = w.getC
3c30: 61 72 65 74 50 6f 73 28 29 3b 0d 0a 20 20 20 20 aretPos();..
3c40: 20 20 20 20 77 2e 73 65 74 53 65 6c 65 63 74 69 w.setSelecti
3c50: 6f 6e 28 70 6f 73 2e 62 65 67 69 6e 52 6f 77 2c on(pos.beginRow,
3c60: 20 31 2c 20 70 6f 73 2e 62 65 67 69 6e 52 6f 77 1, pos.beginRow
3c70: 2c 20 31 20 2b 20 77 2e 6c 69 6e 65 28 70 6f 73 , 1 + w.line(pos
3c80: 2e 62 65 67 69 6e 52 6f 77 29 2e 6c 65 6e 67 74 .beginRow).lengt
3c90: 68 29 3b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 h);.. var
3ca0: 20 74 65 78 74 20 3d 20 77 2e 47 65 74 53 65 6c text = w.GetSel
3cb0: 65 63 74 65 64 54 65 78 74 28 29 3b 0d 0a 20 20 ectedText();..
3cc0: 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20 20 20 } else {..
3cd0: 20 20 20 20 76 61 72 20 74 65 78 74 20 3d 20 73 var text = s
3ce0: 65 6c 54 65 78 74 3b 0d 0a 20 20 20 20 7d 0d 0a elText;.. }..
3cf0: 20 20 20 20 77 2e 53 65 74 53 65 6c 65 63 74 65 w.SetSelecte
3d00: 64 54 65 78 74 28 73 65 74 53 79 6d 62 6f 6c 49 dText(setSymbolI
3d10: 6e 42 65 67 69 6e 6e 4c 69 6e 65 28 74 65 78 74 nBeginnLine(text
3d20: 2c 20 22 7c 20 22 29 29 3b 0d 0a 20 20 20 20 72 , "| "));.. r
3d30: 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 7d 0d 0a eturn true;..}..
3d40: 0d 0a 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 79 ..function setSy
3d50: 6d 62 6f 6c 49 6e 42 65 67 69 6e 6e 4c 69 6e 65 mbolInBeginnLine
3d60: 28 74 65 78 74 2c 20 73 79 6d 62 6f 6c 29 7b 0d (text, symbol){.
3d70: 0a 20 20 20 20 76 61 72 20 72 65 73 75 6c 74 20 . var result
3d80: 3d 20 22 22 3b 0d 0a 20 20 20 20 76 61 72 20 4c = "";.. var L
3d90: 69 6e 65 73 20 3d 20 74 65 78 74 2e 73 70 6c 69 ines = text.spli
3da0: 74 28 27 5c 6e 27 29 3b 0d 0a 20 20 20 20 69 66 t('\n');.. if
3db0: 20 28 4c 69 6e 65 73 2e 6c 65 6e 67 74 68 20 3d (Lines.length =
3dc0: 3d 20 30 20 26 26 20 73 74 72 2e 69 6e 64 65 78 = 0 && str.index
3dd0: 4f 66 28 73 79 6d 62 6f 6c 29 20 3d 3d 20 2d 31 Of(symbol) == -1
3de0: 29 7b 0d 0a 20 20 20 20 20 20 20 20 72 65 73 75 ){.. resu
3df0: 6c 74 20 3d 20 72 65 73 75 6c 74 2b 74 65 78 74 lt = result+text
3e00: 2e 72 65 70 6c 61 63 65 28 2f 5e 5c 73 2a 2f 2c .replace(/^\s*/,
3e10: 20 22 24 26 22 2b 22 22 2b 73 79 6d 62 6f 6c 2b "$&"+""+symbol+
3e20: 22 22 29 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 "");.. }..
3e30: 20 66 6f 72 20 28 76 61 72 20 69 3d 30 3b 20 69 for (var i=0; i
3e40: 3c 4c 69 6e 65 73 2e 6c 65 6e 67 74 68 3b 20 69 <Lines.length; i
3e50: 2b 2b 29 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 ++){.. va
3e60: 72 20 73 74 72 20 3d 20 4c 69 6e 65 73 5b 69 5d r str = Lines[i]
3e70: 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 73 ;.. if (s
3e80: 74 72 2e 69 6e 64 65 78 4f 66 28 73 79 6d 62 6f tr.indexOf(symbo
3e90: 6c 29 20 3d 3d 20 2d 31 29 0d 0a 20 20 20 20 20 l) == -1)..
3ea0: 20 20 20 20 20 20 20 73 74 72 20 3d 20 73 74 72 str = str
3eb0: 2e 72 65 70 6c 61 63 65 28 2f 5e 5c 73 2a 2f 2c .replace(/^\s*/,
3ec0: 20 22 24 26 22 2b 22 22 2b 73 79 6d 62 6f 6c 2b "$&"+""+symbol+
3ed0: 22 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 "");..
3ee0: 20 0d 0a 20 20 20 20 20 20 20 20 72 65 73 75 6c .. resul
3ef0: 74 20 3d 20 72 65 73 75 6c 74 2b 73 74 72 2b 28 t = result+str+(
3f00: 28 28 4c 69 6e 65 73 2e 6c 65 6e 67 74 68 2d 31 ((Lines.length-1
3f10: 29 3d 3d 69 29 3f 22 22 3a 22 5c 6e 22 29 3b 0d )==i)?"":"\n");.
3f20: 0a 20 20 20 20 7d 0d 0a 20 20 20 20 72 65 74 75 . }.. retu
3f30: 72 6e 20 72 65 73 75 6c 74 0d 0a 7d 0d 0a 0d 0a rn result..}....
3f40: 66 75 6e 63 74 69 6f 6e 20 6d 61 63 72 6f 73 4f function macrosO
3f50: 6e 50 72 65 73 73 42 61 63 6b 73 70 61 63 65 49 nPressBackspaceI
3f60: 6e 42 72 61 63 6b 65 74 28 29 7b 0d 0a 20 20 20 nBracket(){..
3f70: 20 76 61 72 20 77 20 3d 20 47 65 74 54 65 78 74 var w = GetText
3f80: 57 69 6e 64 6f 77 28 29 3b 2f 2f 73 6e 65 67 6f Window();//snego
3f90: 70 61 74 2e 61 63 74 69 76 65 54 65 78 74 57 69 pat.activeTextWi
3fa0: 6e 64 6f 77 28 29 3b 0d 0a 20 20 20 20 69 66 20 ndow();.. if
3fb0: 28 21 77 20 7c 7c 20 77 69 6e 64 6f 77 73 2e 6d (!w || windows.m
3fc0: 6f 64 61 6c 4d 6f 64 65 20 21 3d 20 6d 73 4e 6f odalMode != msNo
3fd0: 6e 65 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 ne) return false
3fe0: 3b 0d 0a 0d 0a 20 20 20 20 69 66 20 28 77 2e 73 ;.... if (w.s
3ff0: 65 6c 65 63 74 65 64 54 65 78 74 28 29 20 21 3d electedText() !=
4000: 20 22 22 29 7b 0d 0a 20 20 20 20 20 20 20 20 72 ""){.. r
4010: 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 20 20 20 eturn false;
4020: 2f 2f 2f 20 54 4f 44 4f 3a 20 d0 be d0 b1 d1 80 /// TODO: ......
4030: d0 b0 d0 b1 d0 be d1 82 d0 b0 d1 82 d1 8c 20 d1 .............. .
4040: 8d d1 82 d0 be d1 82 20 d0 b2 d0 b0 d1 80 d0 b8 ....... ........
4050: d0 b0 d0 bd d1 82 2e 0d 0a 20 20 20 20 7d 0d 0a ......... }..
4060: 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20 70 6f .. var po
4070: 73 20 3d 20 77 2e 67 65 74 43 61 72 65 74 50 6f s = w.getCaretPo
4080: 73 28 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 s();.. ..
4090: 76 61 72 20 62 65 67 69 6e 52 6f 77 20 3d 20 70 var beginRow = p
40a0: 6f 73 2e 62 65 67 69 6e 52 6f 77 3b 0d 0a 20 20 os.beginRow;..
40b0: 20 20 76 61 72 20 77 6f 72 64 42 65 67 50 6f 73 var wordBegPos
40c0: 20 3d 20 70 6f 73 2e 62 65 67 69 6e 43 6f 6c 20 = pos.beginCol
40d0: 2d 20 31 3b 0d 0a 20 20 20 20 76 61 72 20 6c 69 - 1;.. var li
40e0: 6e 65 20 3d 20 77 2e 47 65 74 4c 69 6e 65 28 70 ne = w.GetLine(p
40f0: 6f 73 2e 62 65 67 69 6e 52 6f 77 29 3b 0d 0a 20 os.beginRow);..
4100: 20 20 20 76 61 72 20 63 75 72 43 68 61 72 20 3d var curChar =
4110: 20 6c 69 6e 65 2e 63 68 61 72 41 74 28 77 6f 72 line.charAt(wor
4120: 64 42 65 67 50 6f 73 29 3b 0d 0a 20 20 20 20 69 dBegPos);.. i
4130: 66 20 28 77 6f 72 64 42 65 67 50 6f 73 3e 30 29 f (wordBegPos>0)
4140: 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 {.. var
4150: 77 6f 72 64 42 61 63 6b 73 70 20 3d 20 77 6f 72 wordBacksp = wor
4160: 64 42 65 67 50 6f 73 2d 31 3b 0d 0a 20 20 20 20 dBegPos-1;..
4170: 20 20 20 20 69 66 20 28 63 75 72 43 68 61 72 3d if (curChar=
4180: 3d 22 29 22 20 26 26 20 6c 69 6e 65 2e 63 68 61 =")" && line.cha
4190: 72 41 74 28 77 6f 72 64 42 61 63 6b 73 70 29 3d rAt(wordBacksp)=
41a0: 3d 22 28 22 29 20 7b 0d 0a 20 20 20 20 20 20 20 ="(") {..
41b0: 20 20 20 20 20 2f 2f 64 65 62 75 67 67 65 72 3b //debugger;
41c0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 2e .. w.
41d0: 53 65 74 53 65 6c 65 63 74 69 6f 6e 28 70 6f 73 SetSelection(pos
41e0: 2e 62 65 67 69 6e 52 6f 77 2c 20 77 6f 72 64 42 .beginRow, wordB
41f0: 61 63 6b 73 70 2b 31 2c 20 70 6f 73 2e 62 65 67 acksp+1, pos.beg
4200: 69 6e 52 6f 77 2c 20 77 6f 72 64 42 65 67 50 6f inRow, wordBegPo
4210: 73 2b 32 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 s+2);..
4220: 20 20 20 77 2e 53 65 74 53 65 6c 65 63 74 65 64 w.SetSelected
4230: 54 65 78 74 28 22 22 29 3b 0d 0a 20 20 20 20 20 Text("");..
4240: 20 20 20 20 20 20 20 77 2e 73 65 74 43 61 72 65 w.setCare
4250: 74 50 6f 73 28 70 6f 73 2e 62 65 67 69 6e 52 6f tPos(pos.beginRo
4260: 77 2c 20 28 6c 69 6e 65 2e 63 68 61 72 41 74 28 w, (line.charAt(
4270: 77 6f 72 64 42 65 67 50 6f 73 2b 31 29 3d 3d 22 wordBegPos+1)=="
4280: 3b 22 29 3f 77 6f 72 64 42 65 67 50 6f 73 2b 31 ;")?wordBegPos+1
4290: 3a 77 6f 72 64 42 61 63 6b 73 70 2b 31 29 3b 0d :wordBacksp+1);.
42a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 . ret
42b0: 75 72 6e 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 urn true;..
42c0: 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20 20 } else {..
42d0: 20 20 20 20 20 20 20 20 20 69 66 20 28 77 6f 72 if (wor
42e0: 64 42 61 63 6b 73 70 3e 30 20 0d 0a 20 20 20 20 dBacksp>0 ..
42f0: 20 20 20 20 20 20 20 20 20 20 20 20 26 26 20 6c && l
4300: 69 6e 65 2e 63 68 61 72 41 74 28 77 6f 72 64 42 ine.charAt(wordB
4310: 61 63 6b 73 70 29 3d 3d 22 29 22 20 0d 0a 20 20 acksp)==")" ..
4320: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 26 &&
4330: 20 6c 69 6e 65 2e 63 68 61 72 41 74 28 77 6f 72 line.charAt(wor
4340: 64 42 61 63 6b 73 70 2d 31 29 3d 3d 22 28 22 29 dBacksp-1)=="(")
4350: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 {..
4360: 20 20 20 77 2e 53 65 74 53 65 6c 65 63 74 69 6f w.SetSelectio
4370: 6e 28 70 6f 73 2e 62 65 67 69 6e 52 6f 77 2c 20 n(pos.beginRow,
4380: 77 6f 72 64 42 61 63 6b 73 70 2c 20 70 6f 73 2e wordBacksp, pos.
4390: 62 65 67 69 6e 52 6f 77 2c 20 77 6f 72 64 42 65 beginRow, wordBe
43a0: 67 50 6f 73 2b 31 29 3b 0d 0a 20 20 20 20 20 20 gPos+1);..
43b0: 20 20 20 20 20 20 20 20 20 20 77 2e 53 65 74 53 w.SetS
43c0: 65 6c 65 63 74 65 64 54 65 78 74 28 22 22 29 3b electedText("");
43d0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
43e0: 20 20 77 2e 73 65 74 43 61 72 65 74 50 6f 73 28 w.setCaretPos(
43f0: 70 6f 73 2e 62 65 67 69 6e 52 6f 77 2c 20 28 6c pos.beginRow, (l
4400: 69 6e 65 2e 63 68 61 72 41 74 28 77 6f 72 64 42 ine.charAt(wordB
4410: 61 63 6b 73 70 2b 31 29 3d 3d 22 3b 22 29 3f 77 acksp+1)==";")?w
4420: 6f 72 64 42 61 63 6b 73 70 2b 31 3a 77 6f 72 64 ordBacksp+1:word
4430: 42 61 63 6b 73 70 29 3b 0d 0a 20 20 20 20 20 20 Backsp);..
4440: 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e return
4450: 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 true;..
4460: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d }.. }
4470: 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 72 .. }.... r
4480: 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 eturn false;..
4490: 20 20 0d 0a 7d 0d 0a 66 75 6e 63 74 69 6f 6e 20 ..}..function
44a0: 6d 61 63 72 6f 73 4f 6e 50 72 65 73 73 44 65 6c macrosOnPressDel
44b0: 49 6e 42 72 61 63 6b 65 74 28 29 7b 0d 0a 20 20 InBracket(){..
44c0: 20 20 76 61 72 20 77 20 3d 20 47 65 74 54 65 78 var w = GetTex
44d0: 74 57 69 6e 64 6f 77 28 29 3b 2f 2f 73 6e 65 67 tWindow();//sneg
44e0: 6f 70 61 74 2e 61 63 74 69 76 65 54 65 78 74 57 opat.activeTextW
44f0: 69 6e 64 6f 77 28 29 3b 0d 0a 20 20 20 20 69 66 indow();.. if
4500: 20 28 21 77 20 7c 7c 20 77 69 6e 64 6f 77 73 2e (!w || windows.
4510: 6d 6f 64 61 6c 4d 6f 64 65 20 21 3d 20 6d 73 4e modalMode != msN
4520: 6f 6e 65 29 20 72 65 74 75 72 6e 20 66 61 6c 73 one) return fals
4530: 65 3b 0d 0a 0d 0a 20 20 20 20 69 66 20 28 77 2e e;.... if (w.
4540: 73 65 6c 65 63 74 65 64 54 65 78 74 28 29 20 21 selectedText() !
4550: 3d 20 22 22 29 7b 0d 0a 20 20 20 20 20 20 20 20 = ""){..
4560: 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 20 20 return false;
4570: 20 2f 2f 2f 20 54 4f 44 4f 3a 20 d0 be d0 b1 d1 /// TODO: .....
4580: 80 d0 b0 d0 b1 d0 be d1 82 d0 b0 d1 82 d1 8c 20 ...............
4590: d1 8d d1 82 d0 be d1 82 20 d0 b2 d0 b0 d1 80 d0 ........ .......
45a0: b8 d0 b0 d0 bd d1 82 2e 0d 0a 20 20 20 20 7d 0d .......... }.
45b0: 0a 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20 70 . .. var p
45c0: 6f 73 20 3d 20 77 2e 67 65 74 43 61 72 65 74 50 os = w.getCaretP
45d0: 6f 73 28 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 os();.. ..
45e0: 20 76 61 72 20 62 65 67 69 6e 52 6f 77 20 3d 20 var beginRow =
45f0: 70 6f 73 2e 62 65 67 69 6e 52 6f 77 3b 0d 0a 20 pos.beginRow;..
4600: 20 20 20 76 61 72 20 77 6f 72 64 42 65 67 50 6f var wordBegPo
4610: 73 20 3d 20 70 6f 73 2e 62 65 67 69 6e 43 6f 6c s = pos.beginCol
4620: 20 2d 20 31 3b 0d 0a 20 20 20 20 76 61 72 20 77 - 1;.. var w
4630: 6f 72 64 41 66 74 65 72 50 6f 73 20 3d 20 70 6f ordAfterPos = po
4640: 73 2e 62 65 67 69 6e 43 6f 6c 3b 0d 0a 20 20 20 s.beginCol;..
4650: 20 76 61 72 20 6c 69 6e 65 20 3d 20 77 2e 47 65 var line = w.Ge
4660: 74 4c 69 6e 65 28 70 6f 73 2e 62 65 67 69 6e 52 tLine(pos.beginR
4670: 6f 77 29 3b 0d 0a 20 20 20 20 69 66 20 28 6c 69 ow);.. if (li
4680: 6e 65 2e 6c 65 6e 67 74 68 20 3c 20 77 6f 72 64 ne.length < word
4690: 41 66 74 65 72 50 6f 73 20 7c 7c 20 77 6f 72 64 AfterPos || word
46a0: 42 65 67 50 6f 73 2d 31 20 3c 20 30 29 20 72 65 BegPos-1 < 0) re
46b0: 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 turn false;..
46c0: 20 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76 61 72 .. .. var
46d0: 20 63 75 72 43 68 61 72 20 3d 20 6c 69 6e 65 2e curChar = line.
46e0: 63 68 61 72 41 74 28 77 6f 72 64 42 65 67 50 6f charAt(wordBegPo
46f0: 73 29 3b 20 0d 0a 20 20 20 20 69 66 20 28 63 75 s); .. if (cu
4700: 72 43 68 61 72 20 3d 3d 20 22 29 22 20 26 26 20 rChar == ")" &&
4710: 6c 69 6e 65 2e 63 68 61 72 41 74 28 77 6f 72 64 line.charAt(word
4720: 42 65 67 50 6f 73 2d 31 29 3d 3d 22 28 22 29 20 BegPos-1)=="(")
4730: 20 7b 0d 0a 20 20 20 20 20 20 20 20 77 2e 53 65 {.. w.Se
4740: 74 53 65 6c 65 63 74 69 6f 6e 28 70 6f 73 2e 62 tSelection(pos.b
4750: 65 67 69 6e 52 6f 77 2c 20 77 6f 72 64 42 65 67 eginRow, wordBeg
4760: 50 6f 73 2c 20 70 6f 73 2e 62 65 67 69 6e 52 6f Pos, pos.beginRo
4770: 77 2c 20 77 6f 72 64 42 65 67 50 6f 73 2b 32 29 w, wordBegPos+2)
4780: 3b 0d 0a 20 20 20 20 20 20 20 20 77 2e 53 65 74 ;.. w.Set
4790: 53 65 6c 65 63 74 65 64 54 65 78 74 28 22 22 29 SelectedText("")
47a0: 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 77 2e 73 ;.. //w.s
47b0: 65 74 43 61 72 65 74 50 6f 73 28 70 6f 73 2e 62 etCaretPos(pos.b
47c0: 65 67 69 6e 52 6f 77 2c 20 28 6c 69 6e 65 2e 63 eginRow, (line.c
47d0: 68 61 72 41 74 28 77 6f 72 64 42 65 67 50 6f 73 harAt(wordBegPos
47e0: 2b 31 29 3d 3d 22 3b 22 29 3f 77 6f 72 64 42 65 +1)==";")?wordBe
47f0: 67 50 6f 73 2b 31 3a 77 6f 72 64 42 65 67 50 6f gPos+1:wordBegPo
4800: 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 77 2e 73 s);.. w.s
4810: 65 74 43 61 72 65 74 50 6f 73 28 70 6f 73 2e 62 etCaretPos(pos.b
4820: 65 67 69 6e 52 6f 77 2c 20 77 6f 72 64 42 65 67 eginRow, wordBeg
4830: 50 6f 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 72 Pos);.. r
4840: 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 20 20 20 eturn true;..
4850: 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20 20 20 20 } else {..
4860: 20 20 20 20 20 20 20 69 66 20 28 63 75 72 43 68 if (curCh
4870: 61 72 20 3d 3d 20 22 28 22 20 0d 0a 20 20 20 20 ar == "(" ..
4880: 20 20 20 20 20 20 20 20 26 26 20 6c 69 6e 65 2e && line.
4890: 63 68 61 72 41 74 28 77 6f 72 64 41 66 74 65 72 charAt(wordAfter
48a0: 50 6f 73 29 3d 3d 22 29 22 29 20 7b 0d 0a 20 20 Pos)==")") {..
48b0: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 ..
48c0: 20 20 20 20 20 20 20 20 77 2e 53 65 74 53 65 6c w.SetSel
48d0: 65 63 74 69 6f 6e 28 70 6f 73 2e 62 65 67 69 6e ection(pos.begin
48e0: 52 6f 77 2c 20 77 6f 72 64 42 65 67 50 6f 73 2b Row, wordBegPos+
48f0: 31 2c 20 70 6f 73 2e 62 65 67 69 6e 52 6f 77 2c 1, pos.beginRow,
4900: 20 77 6f 72 64 42 65 67 50 6f 73 2b 33 29 3b 0d wordBegPos+3);.
4910: 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 2e 53 . w.S
4920: 65 74 53 65 6c 65 63 74 65 64 54 65 78 74 28 22 etSelectedText("
4930: 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ");..
4940: 20 77 2e 73 65 74 43 61 72 65 74 50 6f 73 28 70 w.setCaretPos(p
4950: 6f 73 2e 62 65 67 69 6e 52 6f 77 2c 20 77 6f 72 os.beginRow, wor
4960: 64 42 65 67 50 6f 73 2b 31 29 3b 0d 0a 20 20 20 dBegPos+1);..
4970: 20 20 20 20 20 20 20 20 20 2f 2f 77 2e 73 65 74 //w.set
4980: 43 61 72 65 74 50 6f 73 28 70 6f 73 2e 62 65 67 CaretPos(pos.beg
4990: 69 6e 52 6f 77 2c 20 28 6c 69 6e 65 2e 63 68 61 inRow, (line.cha
49a0: 72 41 74 28 77 6f 72 64 41 66 74 65 72 50 6f 73 rAt(wordAfterPos
49b0: 2b 31 29 3d 3d 22 3b 22 29 3f 77 6f 72 64 42 65 +1)==";")?wordBe
49c0: 67 50 6f 73 2b 32 3a 77 6f 72 64 42 65 67 50 6f gPos+2:wordBegPo
49d0: 73 2b 31 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 s+1);..
49e0: 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d return true;.
49f0: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 . }..
4a00: 7d 0d 0a 20 20 20 20 0d 0a 20 20 20 20 72 65 74 }.. .. ret
4a10: 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 urn false;..
4a20: 0d 0a 7d 0d 0a 0d 0a 0d 0a ..}......