タグ

ブックマーク / caisui.hatenadiary.org (17)

  • hints-ext 更新しました - caisuiの日記

    更新内容は inline style 禁止 対策 面積のないElementが 欠ける件、実質問題なさげなレベルまで改善 ラベル再配置(ラベルが重ならないようにする機能) 高速化(10倍くらいになった) ラベルの移動処理変更 細々と微調整 です。 vimperator/hints-ext.js at master · caisui/vimperator · GitHub inline style 禁止 基 CSP による inline style禁止 対策です。 また、コンテンツのcssの影響を受けなくなったので、!importが多様されているページでも崩れてしまうことがなくなりました。 CSPによって、ヒントの配置に失敗の図 改善後 ちなみに、test で使った簡便なCSPを吐く http server はこんなです。 https://gist.github.com/caisui/795

    hints-ext 更新しました - caisuiの日記
    teramako
    teramako 2013/12/16
    うーむ、うまく本家に取り込めたら良いのだが
  • vimperator3.6 について - caisuiの日記

    vimperator3.6で e4x を除去 し Template String で 代替するパッチがマージされました。 結果、pluginが影響を受けますので思い付くままに記載したいと思います。 vimperator 3.5で困ってないかたは、 バグの洗い出しや、pluginの 対応が終るまで移行しないほうが良いと思います。 (javascript.options.xml.chrome=true でも軽微ですが、副作用があります) Template Stringの 正しい仕様は、http://wiki.ecmascript.org/doku.php?id=harmony:quasisを参照下さい。 現段階において、Firefox にTemplate Stringは実装されいません。 vimperator side で 現行javascriptで動くように変換して実行しています。 5行で書

    vimperator3.6 について - caisuiの日記
    teramako
    teramako 2013/01/13
    Template構文について
  • vimperatorでもifがしたい! - caisuiの日記

    Vimperator Advent Calendar 2012 9日目担当 caisui です。 ローカルパッチで 作成していた if コマンドを pluginに移植してみました。 改変部位が io.source のため 一工夫入れないと使えませんがご了承願います。 https://gist.github.com/4239753#file_cmd_if.js 特徴として 評価するのは、javascript heredoc サポート(最後の行を評価結果として判定) elseif に 変数を引き継ぎする 無いよりまし程度だけど、commandlineでも 動作 vim の if と違い 実行しないブロックのコマンドもパースする(heredocの関係で同等にすることは断念しました) 細かい仕様は、 https://gist.github.com/4239753#file_test.vimp から

    vimperatorでもifがしたい! - caisuiの日記
    teramako
    teramako 2012/12/09
    petadactylじゃないけどifがしたい!ktkr
  • ページ上の単語で補完 - caisuiの日記

    ページ上の単語を completer に 出したいなと思って書きました。 現状、単語の区切り方がよろしくない(特に日語)せいか、微妙です。 COMMAND_LINE,INSERT から の 補完 vimperatorrc に :js <<EOF userContext.word_completer_maps = [ [[modes.COMMAND_LINE, modes.INSERT], ["<C-Space>"], {screen: true}], ]; EOF のように 設定します。 の 状態から (割り当てた map) を 実行すると 単語補完に遷移します。 ここでは、hintMatcher を 利用して 絞ることができます。 (= migemo hint matcher を 利用していれば、migemo で 絞れます) 単語を指定後、を押せば、 commandline や inp

    ページ上の単語で補完 - caisuiの日記
    teramako
    teramako 2012/06/26
    熱い
  • vimperator で ES.next - caisuiの日記

    ES.next を vimperator で 動かせるようにしてみた。 正しくない点が多々あると思います。 特に、「<|」はさっぱりです。 http://github.com/caisui/vimperator/blob/master/plugin/es.next.js 使用するには、 id:Constellation さん の es.next.jsが必要です。 ~/vimperator 直下に配置 あるいは let es_next_js="path" と指定すれば、読込みます。 実行は :es [option] expression です。 --ast AST を echo します --echo 結果をecho します --test javascript への変換結果を echo します(不恰好です。デバッグ用) --bare globalObject を userContext にしま

    vimperator で ES.next - caisuiの日記
    teramako
    teramako 2011/12/17
    ためす!
  • highlighter を キーボードで - caisuiの日記

    Firefox 標準の Inspector の highlighter が 素敵です。(nightly) しかし、マウスベース操作なため、vimperator的に残念だったので、専用 modeを作ってみた。 https://github.com/caisui/vimperator/blob/master/plugin/inspectorUI.js 特徴は こんな感じ caret(単なるboxですが)をマウスポイントの代りに動かす独自 map 独自commandを組込 DOM Inspecotr を call できる (残念仕様ですが)Chrome に対しても 動作 mappings h caret を caret size の 半分 上へ移動 j caret を caret size の 半分 左へ移動 k caret を caret size の 半分 下へ移動 l caret を ca

    highlighter を キーボードで - caisuiの日記
  • scratchpad - caisuiの日記

    Scratchpad の orion を vimperatorから 扱えるようにしてみた。 (たぶん、Firefox 9で 且つset!devtools.editor.component=orionで 設定されている必要あります) plugin はhttps://github.com/caisui/vimperator/blob/master/plugin/scratchpad.jsです。 オプション -c Browser(Chrome Window Scope)で open(ついでに"let"もキーワードにします) -ft mode の 指定(javascript, java, html, css, xml) -r read only で 開く -w 既に開いている Scratchpad で 開く サブコマンド javascript javascript の 実行結果を開く file 指

    scratchpad - caisuiの日記
    teramako
    teramako 2011/08/24
    おおおおお、すごい
  • ヒント - caisuiの日記

    ヒントを 書き直してみた。 vimperator/hints-ext.js at master · caisui/vimperator · GitHub 変更点は ヒントの高速化(できてたらいいなぁ) ヒントが重なって見えないよ! 番号キー(hintchars) を押した後のの遷移 キーバインドの追加(1キースロークもの のみ) です。 1.の恩恵は、tags に クエリーセレクタを利用する必要があります。 (xpath や array like な ものでも動作はします) let use_hints_ext_hinttags=1 let use_hints_ext_extendedhinttags=1 で option の hinttags, extendedhinttags を クエリセレクター版に上書きできます。 対象Node の 画面内外判定が原因で遅い状況は改善するはずです。 当

    ヒント - caisuiの日記
  • inspector.js を 弄ってみた - caisuiの日記

    inspector.jsが便利で重宝しているのですが、気づくと 大量の inspector window に なるんで、俺得に弄ってみた。(+α) 修正内容は -new-window(-nw) しない限り inspector window を 再利用する -query(-q) で query selector で 選択(要 complete-queryselector.js) これで、大量の inspector window から 必要なものを 探さなくて済む!

    inspector.js を 弄ってみた - caisuiの日記
    teramako
    teramako 2011/03/08
    #vimperator おお、すばらしい。
  • querySelector で 補完 - caisuiの日記

    querySelector[All] の補完 を 作ってみた。 https://github.com/caisui/vimperator/blob/master/plugin/complete-queryselector.js ns や 疑似セレクタ の "()"内の 補完 は 未対応です。(ns に 至っては知りませんでしたし…) plugins.completeQueryselector.complete(context, obj) で、Commandのcompleter として 利用できると思います。 obj は、適当な Element や document です。 一応 動作している所を gif にしてみましたが、大きいし、色が変わちゃいました… 2011/02/07 00:43 追加 value の 補完が '" スタートだと 中間一致ができません( completion.quo

    querySelector で 補完 - caisuiの日記
    teramako
    teramako 2011/02/07
    あとで導入
  • completer や MOW を オーバーレイ - caisuiの日記

    Firefox4 推奨 で liberator-overlay-ext を 書き直しました。 改善点は panel の 利用 廃止により、環境依存の focus 周りの不安定感の解消(DOMを 弄っていないので起きないはずです) -moz-transition を 利用して 伸縮を アニメーション です。 以前より悪くなった点は、 Penta への 対応 を やっていない 片方のみ オーバーレイ を 廃止 両方を同時表示させたとき、オリジナルと表示が異なる(=重なってでてしまう) 兎にも角にも iframe を 透過できるようになったことが嬉しいです。 コードとてもシンプルになりました。 また、「-moz-transition 」は簡単に アニメーションが付けられて素敵ですね。 また、 一応 「:so」で 再読込みできるようにしていますが、 collapsed を unwatch する部位

    completer や MOW を オーバーレイ - caisuiの日記
    teramako
    teramako 2010/12/02
    piroさんの記事、一回読んだんだけど理解できていなかった。読み直してやっと理解した。凄い。
  • plugin を Penta で 動くようにしてみた - caisuiの日記

    体調がよくない日が続いているので、 Firefox 4 が リリースされるまで 休眠の予定でしたが気になったので触ってみた。 拙作 plugin の うち MOWと補完リストのオーバーレイ表示 と grep が エラーがでなくなる程度に修正しました。(Fx4 6b に hg4285 (created: 2010/09/23 01:15:09)) http://github.com/caisui/vimperator/blob/master/plugin/_hints-generate-ext.js http://github.com/caisui/vimperator/blob/master/plugin/grep.js 修正対象は id の vimp-xxxx は dactyl-xxxx に なっている(単純置換ですまないものもあり) liberator.eval が liberator

    plugin を Penta で 動くようにしてみた - caisuiの日記
  • 括弧の対応をハイライトする - caisuiの日記

    対応括弧をハイライトが欲しくなったので作ってみた。 http://github.com/caisui/vimperator/blob/master/plugin/bracket-pair.js おまけ で対応括弧へジャンプします。(vimの%のイメージです) show_cursor_bracket = true で 括弧の両方がハイライトされます(カーソルが見えなくなるので微妙) 先頭が js, javascript, echo の場合のみ働きます。(もっと良い方法ないかなぁ) また、removeAllRangesをやっているので選択範囲の SELECTION_FIND と SELECTION_SPELLCHECK を利用するものと競合します。 これで括弧が多いワンライナーで混乱しなくなるかな? 以下スクリーンショット 括弧のハイライト 文字列 括弧不釣り合いの場合

    括弧の対応をハイライトする - caisuiの日記
    teramako
    teramako 2010/09/27
    これ超重要
  • 補完リストの拡張 - caisuiの日記

    ある程度動くようになったので公開です。 補完リストをオーバーレイっぽく表示にしてみた。 windows 以外では 微妙もしくは動作しないようです こんな感じになります。 折角オーバレイなので透過させてます。 処理 vbox>iframe#liberator-completions を panel(tooltip)>vbox>iframe#liberator-completions に変更し、表示・非表示できるように関数を修正してます。 usePanel 0 で tooltip を利用 1 で panel を 利用 useDummyAction panel の 問題強引改修 0 無効 1 有効 useResize windowリサイズに自動幅調整 0 無効 1 有効 delayResize 補完リスト幅リサイズ遅延時間 あまり小さいと多分重いかなと… useWinGlass きっとvista

    補完リストの拡張 - caisuiの日記
    teramako
    teramako 2010/04/24
    う~む、やはりLinuxではopacity関連のせいで動かないな。Macでも微妙だと予想される。
  • ヒントをチートシートで見る - caisuiの日記

    キーボードレイアウトで 割り当てを見たくて作ってみた。 vimp らしからぬ操作系ですが、マウスオーバーでdescription表示です。 こんな感じ キーボードのレイアウトを取得する方法が分からなかったので、 自力定義です。直せば英字キーボード化もそんなには難しくはないはずです。 ソースの大半がスタイルシートですねぇ… // vim:set fdm=marker: (function(self){ const info = (function(){ var list = []; function setLayout(s1,s2){ var a = []; for(let[i,v] in Iterator(s1)){ a.push([v,s2[i]]); } list.push(a); } setLayout("1234567890-^\\","!\"#$%&'() =~|"); setL

    ヒントをチートシートで見る - caisuiの日記
  • IMEを制御したい - caisuiの日記

    IME の 制御方法が分からなかったので、 flash 経由で制御する 拡張 を 作ってみた。 当初は、データスキームで埋めこもうとしたのですが、flashが再生されなかったのです。 (やりかたがまずい か セキュリティ周りの制限か わかりません) ime.xpi(バイナリをハテナに置く方法がわからなかったので外部です。) 多分macでも動くはずですが、試したわけではありません。 linuxは そもそも flexのdocumentに 載ってませんでした(;´д`) 拡張のid の 命名規則がよくわからなかったので、@以降は、localhostにしてます。 gIMEController enabled(getter,setter) IME の ON/OFFの状態 取得・設定 conversion(getter,setter) IME 変換モードの取得・設定 mode(Object) conv

    IMEを制御したい - caisuiの日記
    teramako
    teramako 2010/03/29
    クロスプラットフォームかな? Linuxで動くなら導入したい
  • grep - caisuiの日記

    ページをgrep するコマンド です。 competerで ヒット 一覧を 見ることができます。 オプション n 標準検索 r 正規表現 検索 x migemo 検索(要 XUL/Migemo) i 大文字小文字無視 m マルチライン 例 ringo → 標準指定(vimp_grep_default_option)で検索(標準指定無しならimx) ringo/ix → migemo で 大文字小文字無視検索 ringo/n → 標準検索 or 検索 りんご\ みかん/n の形で りんご または みかん を 検索します migemoも migemo.queryFunctional で 同様のことができるはずなんですが、 私の環境だとエラーがでて使えなかったので、未実装です。 セパレータのスペースは\無しできるとよかったのですけど、 やりかたがさっぱりでした。 use_hook_search_

    grep - caisuiの日記
  • 1