タグ

ブックマーク / d.hatena.ne.jp/mooz (10)

  • popup.el の popup-menu* ではじめから絞り込み検索 - mooz deceives you

    popup.el の popup-menu* は非常に便利なのですが, auto-complete.el のように打ち込んだ文字に応じて絞り込み検索がされてくれればなあ, と思うこともあります. 候補が選択されてから C-s を押すことで incremental-search はできるのですが, この C-s が中々手間です. こんなことを Twitter でつぶやいていたら, 作者の id:m2ym さんからコメントを頂くことが出来ました. コメントを参考に書いてみたのが次の関数です. (defun popup-menu-ac-like (&rest arguments) (interactive) (push (car (rassoc 'popup-isearch popup-menu-keymap)) unread-command-events) (apply 'popup-menu

    popup.el の popup-menu* ではじめから絞り込み検索 - mooz deceives you
  • JavaScript で Lisp の処理系 (と REPL) を実装してみた - mooz deceives you

    MiSPLi: http://mooz.github.com/mispli/ MiSPLi Emacs に出会ったのが三年前. それから一年程して elisp をいじり始めたので, 僕と Lisp との付き合いはかれこれ二年ほどになる. JavaScript を始めたのが一年前だから, 僕の中では C 言語に次いで付き合いの長い言語だ. 必要にかられたときにちょこちょこと elisp を書いて, 終わったらしばらく別れを告げる. そんな中途半端な付き合いを続けていた三月も終盤, 竹内先生の書かれた「初めての人のための LISP」を読み, その内容に深い感銘を受けた. Lisp を Lisp で実装する, といった章があり, これまで何となしに使っていた Lisp の中身を垣間見ることができたような, そんな気分になっていた. その時に, 「ひょっとしたら僕にも Lisp の処理系を実装でき

    JavaScript で Lisp の処理系 (と REPL) を実装してみた - mooz deceives you
  • js2-mode.el をいくつかの新しい JavaScript の記法に対応させた - mooz deceives you

    JavaScript の奇妙な記法 最近の JavaScript (Firefox 3.5 以降) では, 色々と奇妙な記法が可能となっている. 例えば, 次のようなもの. let obj = {a: 10, b: 20}; let {a: a, b: b} = obj; // 分割代入の一種 let {a, b} = obj; // 上の省略記法 let [a, b] = [1, 2]; といった分割代入をご存知の方は多いのではないかと思う. 上記の記法はそれの一種とされていて, オブジェクトから特定プロパティの値を持ってくるときに有用. コードゴルフをたしなむ方々や, 某邪悪なアドオンのプラグインを書かれている方々の間では, 空気のような存在となっているらしい. 自分はこの記法を数ヶ月ほど前に知り, それからずっとこの書き方に憧れては, とある理由の為に使うことができずもどかしい思いを

    khiker
    khiker 2010/03/15
    こりゃすごいなあ。
  • 分割したウィンドウの大きさをインタラクティヴに変更する - mooz deceives you

    デフォルトのキーバインドが異常 Emacs をお使いの方であれば、次のようにしてウィンドウを分割しまくりの生活を送られていることと思います。 C-x 2 や C-x 3 を入力してウィンドウを分割。これは基中の基ですよね。しかし、分割されたウィンドウのサイズを変えるキーバインドとなると、即座に出てくる人はガクッと少なくなるのではないでしょうか。 この背景には、 デフォルトのキーバインドが覚えにくい というか覚えても入力しにくい 入力しにくいから使わない 忘れる といった一連の流れがあるのではないかと、僕は密かに踏んでいます。 ここで、その覚えにくいデフォルトのキーバインドを載せておきましょう。 キー説明 C-u -1 C-x ^ウィンドウを縦方向へ縮める C-x ^ウィンドウを縦方向へ広げる C-x {ウィンドウを横方向へ縮める C-x }ウィンドウを横方向へ広げる 例えば 3 文字分

    分割したウィンドウの大きさをインタラクティヴに変更する - mooz deceives you
    khiker
    khiker 2010/01/19
    これは便利げ。
  • JsDoc 形式のコメントを扱うパッケージ js-doc.el - mooz deceives you

    JsDoc 形式のコメントを Emacs で扱うための elisp パッケージ js-doc.el を作成しました。 ソースコードなどは no title に置いてあります。 ダウンロード git コマンドが使える方は、 git clone git://github.com/mooz/js-doc.git とすればプロジェクトを一括ダウンロードすることが出来ます。 ソースコードだけであれば、最新版を直接ダウンロードすることも出来ます。 インストール ロードパスの通った場所へ js-doc.el を保存し、 .emacs などの初期化ファイルに (require 'js-doc) の一行を記述して下さい。 機能 現在のところ、 js-doc.el は次のような機能を備えています。 関数のドキュメント入力 例えば次のような関数があったときに、 関数内で M-x js-doc-insert-fu

    JsDoc 形式のコメントを扱うパッケージ js-doc.el - mooz deceives you
    khiker
    khiker 2009/08/21
    js-doc.el
  • proced - mooz deceives you

    Emacs 23 がもうすぐ出るよという記事を読んでいて、 proced という機能を知った。 dired のプロセス版らしい。 早速 M-x proced してみると、 見た目は top っぽい。ここでカーソルを agave に合わせておもむろに x を押すと、 どんなシグナルを送るか聞かれる。 TAB を押せば、送ることの出来るシグナルのリストが表示される。 心苦しいけれども agave には犠牲になってもらおう、ということでそのまま RET を押して TERM シグナルを送ると、 見事、という表現はどうかとも思うけれど agave がいなくなりました。 キーバインド 基的には dired に似せてあるようで、良く使いそうなものをピックアップすると キー説明 d,m マークを付ける M 全てにマークを付ける u マークを外す U 全てのマークを外す C 子プロセスをマーク P 親プロ

    proced - mooz deceives you
    khiker
    khiker 2009/07/30
    M-x proced
  • 任意のキーシーケンスに関数を割り当てる拡張機能 KeySnail を(プレ)リリースしました - mooz deceives you

    お知らせ ver 0.3.2 には日語環境以外で使うと初期化ファイルが作成できないバグがありました。修正版は 0.3.3 となります。 後のバージョンで追加された機能などは、 KeySnail 0.3.7 をリリースしました - mooz deceives you KeySnail 0.4.1 リリース & 説明ページ作成 - mooz deceives you KeySnail 0.5.2 をリリースしました - mooz deceives you などを参照して下さい。 ダウンロード 以下の URL からダウンロードすることが可能です。 Add-ons for Firefox (ja) プロジェクトのサイトは、現在の所 github の wiki を利用しています。 no title 説明 KeySnail は Mozilla Firefox に bindkey 機能を提供する拡張機

    任意のキーシーケンスに関数を割り当てる拡張機能 KeySnail を(プレ)リリースしました - mooz deceives you
  • org-mode で表計算とか - mooz deceives you

    khiker
    khiker 2009/05/15
    org-mode
  • mooz deceives you

    khiker
    khiker 2008/04/06
  • 逆方向dabbrev-expand欲しい - mooz deceives you

    何だかすごくネガティヴな文章しか書けない。これは読み手をうんざりとさせるだけなので自重しておく。 大学の書籍部でEffective C++を注文したのだけどなかなか来ないので、最近はelispをいじったりしている。超高レベルな言語ってのもなかなか面白いものだ。そこでなにか役に立つスクリプトでも書いてやろうかと思ったけど、特にアイディアも浮かばない。 dabbrev-expandで補完候補を表示させるとき、行き過ぎた場合に戻る機能が欲しいんだけど、作れるかな。負の前置引数を渡せば一応逆方向に補完候補をたどれるようけど、これだと通常方向の補完と連携ができない。例えば、 abe abu abo aho a という文章があったとき、aの後ろでdabbrev-expandを呼ぶとaが順にaho、abo、abu、abeに補完される。ここでaboまで補完してからahoに戻りたい、と思っても、abu、ab

    khiker
    khiker 2008/02/05
    略語展開について. なるほろ. やり直しかー.
  • 1