コマンドライン・バッファのリンクを開くパッチ
vimpのコマンド結果のリンクはhref属性が無視され、テキストがliberator.opon
に渡される。どうも気に入らないのでパッチを書いた
ui_js-multilineoutput_anchor.patch
Index: ui.js =================================================================== RCS file: /cvs/vimperator/src/content/ui.js,v retrieving revision 1.107 diff -u -r1.107 ui.js --- ui.js 24 Sep 2008 10:53:28 -0000 1.107 +++ ui.js 25 Sep 2008 14:04:11 -0000 @@ -917,21 +917,32 @@ { liberator.tabs.select(parseInt(event.originalTarget.parentNode.parentNode.firstChild.textContent, 10) - 1); closeWindow = true; - break; } else if (event.originalTarget.localName.toLowerCase() == "a") { - liberator.open(event.originalTarget.textContent); - break; + var href = event.originalTarget.getAttribute('href'); + if (href != "#") + liberator.open(href); + else + liberator.open(event.originalTarget.textContent); + } + event.preventDefault(); + break; case "<A-LeftMouse>": // for those not owning a 3-button mouse case "<MiddleMouse>": if (event.originalTarget.localName.toLowerCase() == "a") { + var href = event.originalTarget.getAttribute('href'); var where = /\btabopen\b/.test(liberator.options["activate"]) ? liberator.NEW_TAB : liberator.NEW_BACKGROUND_TAB; - liberator.open(event.originalTarget.textContent, where); + if (href != "#") + liberator.open(href, where); + else + liberator.open(event.originalTarget.textContent, where); + } + event.preventDefault(); break; // let firefox handle those to select table cells or show a context menu
これで長ったらしいURLを短く抑えられる。
2008-09-25
- 一部ミスってたので修正