Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

// http://vimperator.g.hatena.ne.jp/voidy21/20100119/1263907211 の改良(?)版
(function () {
let U = liberator.plugins.libly.$U;
function jump (url) {
let index = 0;
let url = util.stringToURLArray(url).toString();
for each ( [,tab] in tabs.browsers ) {
if(url == tab.currentURI.spec){
// 以下の assert は全部通る。
let a1 = [{}, 1, 2];
let a2 = a1.concat();
assertEqual('A0', false, function () a1 === a2);
assertEqual('A1', false, function () a1 === ({}));
assertEqual('A2', true, function () a1[0] === a2[0]);
let b1 = [{}, 1, 2];
#!/usr/bin/ruby
p "#{:hello_world}"
@anekos
anekos / BackOrDie.js
Created February 8, 2010 08:40
タブの履歴を最後まで戻ったらタブを閉じるよ
let (
back = mappings.getDefault(modes.NORMAL, '<C-o>').action,
remove = mappings.getDefault(modes.NORMAL, 'd').action
)
mappings.addUserMap(
[modes.NORMAL],
['<C-o>'],
'http://d.hatena.ne.jp/nyama/20100208/1265617681',
function () (gBrowser.sessionHistory.index > 0 ? back : remove)(-1)
);
Components.utils.import("resource://gre/modules/ctypes.jsm");
let RUBYLIB_DEF = {
ruby_init: [ctypes.void_t],
rb_eval_string_protect: [ctypes.uint32_t, ctypes.string, ctypes.uint32_t],
};
let rubydll = ctypes.open('msvcrt-ruby18.dll');
let ruby = {};
for (let [name, def] in Iterator(RUBYLIB_DEF))
@anekos
anekos / heuristic-search.js
Created February 14, 2010 08:51 — forked from hitode909/heuristic-search.js
ヒューリスティックに検索する
var PLUGIN_INFO =
<VimperatorPlugin>
<name>heuristic-search</name>
<description>Heuristic search</description>
<author mail="hitode909@gmail.com" homepage="http://www.hatena.ne.jp/hitode909/">hitode909</author>
<version>0.2</version>
<detail><![CDATA[
== Commands ==
:hsearch {keywords}
(function () {
let convertString = function (str, charset) {
let sis = Cc["@mozilla.org/io/string-input-stream;1"].createInstance(Ci.nsIStringInputStream);
sis.setData(str, str.length);
let cis = Cc["@mozilla.org/intl/converter-input-stream;1"].createInstance(Ci.nsIConverterInputStream);
cis.init(sis, charset, 1024, Ci.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER);
'<C-n> <C-p>'.split(/\s/).forEach(
function (key)
mappings.addUserMap(
[modes.INSERT],
[key],
'',
function () mappings.getDefault(modes.NORMAL, key).action(1)
)
)
@anekos
anekos / kill-nico-header.css
Created February 22, 2010 06:21
ニコニコ動画の何かを削除する
@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("nicovideo.jp") {
.bg_headmenu {
display: none !important;
}
}
// imap されていないキーで無視したいものは、inoremap <C-n> <nop> などとしておく
window.addEventListener(
'keypress',
function (event) {
if (modes.isMenuShown) {
let map = mappings.get(modes.INSERT, events.toString(event));
if (map) {
event.preventDefault();
event.stopPropagation();
map.execute();