ÿþ#title=Ctags·0ó0Ü0ë0i"} /* http://emeditor.web.fc2.com/ Aye Wong S0n0Þ0¯0í0o0×0í0°0é0à0‹•zvk0(uD0~0Y00 Exuberant Ctags L0ubW0_0tagsÕ0¡0¤0ë0K0‰0«0ü0½0ë0MOnn0XSžŠ’0i"}W00 š[©MOn’0‹‰d0Q0~0Y00P}œgL0N‡{@bn04XTo0ôv¥c0 ]0n0Õ0¡0¤0ë0’0‹•M0«0ü0½0ë0’0]0a0‰0k0ûyÕRU0[0~0Y00 P}œgL0ŒN‡{@båN NB0‹0p0B0D0o00N§‰’0¢0¦0È0×0Ã0È0Ð0ü0k0¸0ã0ó0×0(u¿0°0’0úQ›RW0~0Y00 S0n0Þ0¯0í0n0h0 TX0Õ0©0ë0À0k0 tags_list.{-Šš[ T}.txt h0D0F0 Tn0Õ0¡0¤0ë0’0nD0f00 TLˆk0tagsÕ0¡0¤0ë0n0Ñ0¹0’0nO0h0]0n0tagsÕ0¡0¤0ë0’0i"}þ[ðyk0Y0‹0S0h0L0ïSý€g0Y00 v}þ[Ñ0¹0h0øvþ[Ñ0¹0n0!N¹en0cš[L0ïSý€g0Y00 ~0_0Ç0Õ0©0ë0È0g00è}Æ–-Nn0Õ0¡0¤0ë0n0B0‹0Õ0©0ë0À0’09Ž–d\~0g0U0K0n0|0c0f0tagsÕ0¡0¤0ë0’0¢cW0~0Y00 http://ctags.sourceforge.net/ Exuberant Ctags http://hp.vector.co.jp/authors/VA025040/ctags/ åe,gžŠHr */ var TagsPaths = [ ".\\tags", "..\\tags", "..\\..\\tags", "..\\..\\..\\tags", "..\\..\\..\\..\\tags", "..\\..\\..\\..\\..\\tags", "..\\..\\..\\..\\..\\..\\tags", "..\\..\\..\\..\\..\\..\\..\\tags", "..\\..\\..\\..\\..\\..\\..\\..\\tags", "..\\..\\..\\..\\..\\..\\..\\..\\..\\tags", ]; fso = new ActiveXObject("Scripting.FileSystemObject"); { var thisScriptPath = ScriptFullName; var parentFolder = fso.GetParentFolderName(thisScriptPath); var pathListPath = parentFolder + "\\_tags_list." + document.ConfigName + ".txt"; if (fso.FileExists(pathListPath)) { var fileStream = fso.OpenTextFile(pathListPath, 1, false, 0); var paths = fileStream.ReadAll().split(/[\n\r]/); for (var i = 0 ; i < paths.length ; ++i) { TagsPaths.push(paths[i]); } } } function escapeBackslash(src) { return src.replace(/\\/g, "\\"); } function escapeSlash(src) { return src.replace(/\\([\/\^$])/g, "$1").replace(/([?+|.*{}()\[\]])/g, "\\$1"); } var word = document.selection.Text; if (word == "") { document.selection.SelectWord(); word = document.selection.Text; } var words = word.match(/\w+/g); var exactMatch = true; if (words == null) { status = "i"}Y0y0M0·0ó0Ü0ë0L0«0ü0½0ë0MOnk0B0Š0~0[0“00"; words = prompt("i"}W0_0D0·0ó0Ü0ë0 T’0eQ›RW0f0O0`0U0D0").match(/\w+/g); if (words == null) { status = "i"}Y0y0M0·0ó0Ü0ë0 TL0eQ›RU0Œ0~0[0“0g0W0_00"; Quit(); } exactMatch = false; } word = words[0]; Redraw = false; var addedDocs = []; var curDoc = editor.ActiveDocument; var baseDir = fso.GetParentFolderName(document.FullName); function StoreSelection() { return { x0 : document.selection.GetActivePointX(eePosView), y0 : document.selection.GetActivePointY(eePosView), x1 : document.selection.GetAnchorPointX(eePosView), y1 : document.selection.GetAnchorPointY(eePosView), mode : document.selection.Mode, restore : function () { document.selection.SetAnchorPoint(eePosView, this.x1, this.y1); document.selection.SetActivePoint(eePosView, this.x0, this.y0, true); document.selection.Mode = this.mode; } }; } var results = []; results.pushIfUnique = function (arg) { for (var i = 0 ; i < this.length ; ++i) { if (this[i].path != arg.path) continue; if (this[i].number != arg.number) continue; if (this[i].line != arg.line) continue; return true; } this.push(arg); return true; } for (var i = 0 ; i < TagsPaths.length ; ++i) { var tags = TagsPaths[i]; if (!fso.FileExists(tags)) { //v}þ[Ñ0¹0g0‹‰d0K0‰0j0Q0Œ0p0øvþ[Ñ0¹0k0W0f00‹0 tags = baseDir + "\\" + tags; } if (!fso.FileExists(tags)) { //tagsÕ0¡0¤0ë0L0‹‰d0K0‰0j0K0c0_0n0g0!kx0 continue; } status = escapeBackslash(tags) + " …Qn0 " + word + "’0i"}-N ..."; var f = fso.OpenTextFile(tags, 1, false, 0); var d = fso.GetParentFolderName(tags); while (! f.AtEndOfStream) { var l = f.ReadLine(); var a = l.split("\t"); if (a.length < 4) continue; var s = a[0]; if (s.charAt(0) == "!") continue; if (exactMatch ? (s != word) : (s.indexOf(word) < 0)) continue; //·0ó0Ü0ë0n0nK0Œ0_0Õ0¡0¤0ë0Ñ0¹0 var f2 = d + "\\" + a[1]; if (!fso.FileExists(f2)) continue; f2 = fso.GetAbsolutePathName(f2); var numDocs = editor.Documents.Count; editor.OpenFile(f2, 0, eeOpenAllowNewWindow); if (editor.Documents.Count > numDocs) { //°eW0O0‹•K0Œ0_0Õ0¡0¤0ë0o0B0h0g0‰•X0‹0 addedDocs.push(editor.ActiveDocument); } var sel = StoreSelection(); var info = a[2]; var number = 0; if (info.charAt(0) == "/") { info = escapeSlash(info.substr(1, info.length - 4)); document.selection.StartOfDocument(); if (!document.selection.Find(info, eeFindNext | eeFindReplaceRegExp)) continue; document.HighlightFind = false; number = document.selection.GetActivePointY( eePosLogical ); } else { info = info.substr(0, info.length - 2); number = parseInt(info, 10); document.selection.setActivePoint(eePosLogical, 1, number); } document.selection.SelectLine(); var line = document.selection.Text; results.pushIfUnique({path:f2, line:line, number:number}); sel.restore(); } } if (results.length >= 2) { for (var i = 0 ; i < addedDocs.length ; ++i) { addedDocs[i].close(); } OutputBar.Clear(); for (var i = 0 ; i < results.length ; ++i) { OutputBar.write(results[i].path + "(" + results[i].number.toString() + "): " + results[i].line); } OutputBar.Visible = true; OutputBar.SetFocus(); status = "·0ó0Ü0ë0 " + word + " n0š[©L0 " + results.length.toString() + " P‹‰d0K0Š0~0W0_00" curDoc.Activate(); } else if (results.length == 1) { Redraw = true; editor.OpenFile(results[0].path, 0, eeOpenAllowNewWindow); document.selection.SetActivePoint(eePosLogical, 1, results[0].number); document.selection.Find(word, eeFindNext); OutputBar.Visible = false; status = "·0ó0Ü0ë0 " + word + " n0š[©L0 " + results[0].path + " k0‹‰d0K0Š0~0W0_00" } else { OutputBar.Visible = false; status = "·0ó0Ü0ë0 " + word + " n0š[©o0 tags Õ0¡0¤0ë0-Nk0o0‹‰d0K0Š0~0[0“0g0W0_00" curDoc.Activate(); }