JavaScript

RegExp.y

先頭固定 (sticky) 。対象文字列中の正規表現の lastIndex プロパティによって示された位置からのみマッチするようになります(それより後の位置からのマッチは試みません)。このフラグは、 特殊文字 "^" が持つ開始位置でのみマッチする性質を、lastIndex …

set guioptions=r

guioptions に r が増えた。 これが"無い"と右のスクロールバーがなくなる。 マウスホイールでのスクロールも出来なるので注意。 set guioptions= とかやるとアウッ

fetchyoutube を改良

今回は、外部のAPIを使わずにHD動画の有無を確認する方法を見つけたので紹介します。 キーとなるのはFLVの在処を探し出した時と同様、ページ内にあるJavaScript変数「swfArgs」になります。 実はこのswfArgs変数の中に「fmt_map」という気になる要素が入って…

罠チック let and for

browser_object.js が全然動いてなかったので直した http://coderepos.org/share/changeset/25883 alerts = []; for (let [name, value] in Iterator({neko: 'cat', inu: 'dog', tori: 'bird'})) { alerts.push(function () alert(name + ' = ' + value)); }…

ステータスラインに情報を表示するプラグイン

ステータスラインに情報を表示するプラグインを書いた。 :statstat buffer.evaluateXPath('//img').snapshotLength + "images" これで こんな風に表示される。 表示は一定間隔で更新されます。 主にデバッグ用。 リアルタイムで値を確認したい時があるが、li…

liberator.eval

あーあと eval 関連で vimperator の場合は liberator.eval があるんだけどこれは旧 eval ( https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Functions/eval ) を emulate していて第 2 引数で context の指定ができるんだけどなん…

commit は自重

function stringToBoolean(str, defaultValue) { return !str ? (defaultValue ? true : false) : str.toLowerCase() === 'false' ? false : /^\d+$/.test(str) ? (parseInt(str) ? true : false) : true; } true とか false がいっぱい出てくる…

うさぎとけい入れてみた。

http://d.hatena.ne.jp/janus_wel/20081127/1227812752 で status bar がかなりいい感じになって最適化も終了かと思ったそのときおれに電流走る。「時計だ。時計を表示しよう。」ゴメンどうしてそうなったのかおれもわかんない。 時計だ、時計があるぞっ! …

Command#action関連修正

http://coderepos.org/share/changeset/25172 一応一通り動作も確認したと思う。

commands.addUserCommand の仕様変更

以前も書いた気がするけれど… http://d.hatena.ne.jp/nokturnalmortum/20081020#1224500029 また変わったらしい。今はまだバグっているところがあるが、 Command#action に渡される引数が以下の様になったみたい。 function (args, bang, count, modifiers) …

migemo_completion.js が使えなくなった。

CVS Head. liberator.modules.completion.filter が無くなった模様。 代替手段は調べてない。

プラグイン読み込みの変更

読み込み時の環境が変わった模様。 http://hg.intevation.org/mirrors/mozdev.org/vimperator-cvs/rev/8e4046287b02 見えるオブジェクトはそれほどかわらないっぽいので修正はいらないかな。 あとなんか、補完の見た目がまた良くなった。 タイトルとリストが…

妖怪捕獲

グリモンのがうちではうまく行かないので書いてみた。 fmt=22を自動で付加するプラグイン。 Vimperator のヒントやコマンドで開く分にはOK。 http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/hd-youkai-youtube.js

moreqmarks.js を Head 対応

意外なところで使えなくなっていたので修正してコミット。 補完関連だが、直接的な物ではないので最新でなくても動くはず。 http://coderepos.org/share/changeset/24898/lang/javascript/vimperator-plugins/trunk

ldr_cooperation.js

char-hints-mod.jsも;をマッピングしている模様. とりあえず、addUserMap しないパターンに書き換えてみたよ。 http://coderepos.org/share/changeset/24841/lang/javascript/vimperator-plugins これで、rc のが効くと思う。char-hint は、asdfghjkl.js で…

walk-input.js

フレーム間移動に対応した。 フレーム自体に一度フォーカスするのが味噌。 http://coderepos.org/share/changeset/24838/lang/javascript/vimperator-plugins/trunk

migemo_completion

補完関係でまた変更があったのか、おかしくなっていたので修正。 眠いので、理解しないで Vimperator のコードからでっちあげただけ。 http://coderepos.org/share/changeset/24831/lang/javascript/vimperator-plugins/trunk あいかわらず、フォーカス周り…

高画質妖怪

これ、効いてない気がする… http://coderepos.org/share/browser/lang/javascript/userscripts/highratetube.user.js?

新 completer への置き換え方法

completer の返り血で補完リストが決定されるのではなくなりました。多分。 completer への第一引数のオブジェクト context の操作で補完リストを構築します。 completer: function (context, arg) { // 補完リストのカラムタイトル context.tile = ["name",…

ニコニコ動画プレイヤー

の ext_getPlayheadTime とかって文字列型返すのね。 整数だと思って、一瞬はまった。

Struct コードみてみた。 let anekos = { set meow (value) 'gyahahaha' }; liberator.log(anekos.meow = 'neko'); // => gyahahaha 罠っぽい。 setter もまっとうな値を返しておけばいいと思うよ!!Ruby の場合は、右辺を返すのでそういうのになれてるとやら…

Struct

重すぎて、history などでは結局使わないことになったようだが liberator.modules.Struct はなかなか便利。 let Neko = new Struct("name", "class", "tails"); Neko.defaultValue("tails", function () 1); let alex = new Neko("alex", "mix"); liberator.…

commandBookmarklet.js

が動かない問題の手抜きパッチ diff -r 4d364605df76 src/content/completion.js --- a/src/content/completion.js Thu Nov 20 22:55:41 2008 +0100 +++ b/src/content/completion.js Fri Nov 21 11:24:40 2008 +0900 @@ -746,8 +746,8 @@ let filterTokens …

hatenaStar.js Hintモードに対応!

";h" でヒントモードが発動して、スターを選べるよ!あと、 let g:hatena_star_mappings = ",?s" let g:hatena_star_hint_mapping = "h" みたいにして、マッピングの設定も出来るようにした。http://coderepos.org/share/changeset/24536/lang/javascript/vi…

commandBookmarklet.js

が使えなくなってる? Vimperator側の(問題|仕様変更)かな。 bookmarks.get('javascript:') が空のようだ。 ちょっとだけのぞいてみたけれど、よくわからない。 hg changeset: 2448:7088b6f6d3ae までならOKだった。 関係ないけどうざいこと。 さいきん、Vim…

walk-input.js をフレーム対応

してみた! ただし、正常に動かない可能性有り。 Vimperator自体の問題っぽくて、フレーム内でのフォーカスの移動がうまくいかない。 (キーでもおかしかった) http://coderepos.org/share/changeset/24334/lang/javascript/vimperator-plugins/trunk/walk-in…

nicontroller.js

再生が終わった状態で :nicopause をしたときは、最初まで戻った上で再生開始するようにしてみた。 http://coderepos.org/share/changeset/24182 リピートしてない無いときに、見直すのが面倒だったので。

高画質妖怪のようつべを捕獲するプラグイン

を書いた! :fetchyoutube [<FILE_PATH> | <DIRECTORY_PATH>] で、(ダウンロードディレクトリ + タイトル + "mp4") に落ちてくるよ! for 1.2 http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/branches/1.2/fetchyoutube.js for 2.0pre http://coderepos.org/sh</directory_path></file_path>…

youtubeamp.js

なんかフルスクリーン時のサイズがおかしいなぁ。 前直したはずだけど、完全じゃなかったのかな。 スクロールバーがでてちょっとうざい。

サイドバーを消したい!

ツリー型タブとMultiSidebarを併用しているんだが、たまに両サイド共に消したいときがある。 そこで下のをてけとーに書いてみたんだけれど、(window.content === null) になってしまう。 当然 Vimperator さんが発狂。 困る。 let sidebars = ['sidebar-2-bo…