タグ

ブックマーク / m2ym.hatenadiary.org (14)

  • popwin.el v0.3をリリースしました - Functional Emacser

    popwin.el v0.3をリリースしました。表示まわりの修正が主です。個人的には過去最高の安定度だと思います。 v0.3体は次のURLから取得してください。 https://github.com/m2ym/popwin-el/tree/v0.3 install-elispあるいはauto-installを持っている人は次の式を評価することでインストールできます。 ;; install-elisp (install-elisp "https://raw.github.com/m2ym/popwin-el/v0.3/popwin.el") ;; auto-install (auto-install-from-url "https://raw.github.com/m2ym/popwin-el/v0.3/popwin.el") 今後の目標としては、より積極的なUIの刷新を行いたいと考えてい

    popwin.el v0.3をリリースしました - Functional Emacser
    joan9
    joan9 2011/07/18
  • 主張しないスクロールバーモード、yascroll.elをリリースしました - Functional Emacser

    恥をしのんで告白しますが、実は僕は数カ月前まで標準のスクロールバーモードを有効にしていました。明確な目的があったわけではなく、単純に自分の編集箇所を視覚的に知りたかっただけです。 しかしながら、この標準のスクロールバーモードは、個別のウィンドウごとに出す出さないの選択ができず、しかもスクロールバーが不要な時でも常に表示されるため、編集領域を無駄にするという欠点があります。 そこでiPhoneのスクロールバーからインスピレーションを得て、主張しないスクロールバーモード、yascroll.elというのを作ってみました。yascroll.elはスクロール時にスクロールバーがウィンドウ右辺に現われるという単純なものです。 体は次のURLから手に入ります。 https://github.com/m2ym/yascroll-el install-elispやauto-installがある場合は次の式

    主張しないスクロールバーモード、yascroll.elをリリースしました - Functional Emacser
    joan9
    joan9 2011/04/02
    afj?
  • ヘルプバッファや補完バッファをポップアップで表示してくれるpopwin.elをリリースしました - Functional Emacser

    ヘルプバッファや補完バッファをポップアップで表示してくれるpopwin.elをリリースしました。popwin.elはEmacsにポップアップウィンドウという概念を導入することにより、バッファを表示する(display-buffer)際のEmacsのトチ狂った仕様を矯正します。この「トチ狂った仕様」とは例えば、 M-x describe-functionしたらウィンドウが勝手に分割された あるいはウィンドウのバッファを勝手に切り替えられた ヘルプバッファ(*Help*)とか補完バッファ(*Completions*)がどのウィンドウに出現するか予測できない しかも作業後にそれらのバッファが表示されたままになったりする のようなものを指します。Emacsを触ったことがある人なら上記のいずれかは不満に思ったことがあるはずです。ちなみに僕は全てを不満に思っています。 余談になりますが、Wikiped

    ヘルプバッファや補完バッファをポップアップで表示してくれるpopwin.elをリリースしました - Functional Emacser
    joan9
    joan9 2011/01/20
  • auto-complete v1.3をリリースしました - Functional Emacser

    auto-complete v1.3をリリースしました。 http://cx4a.org/software/auto-complete/ 主張するほどの新機能はありません。現状に不満がなければアップグレードしなくてもいいかもしれません。 なお詳しい変更点は以下のURLにあります。 http://cx4a.org/software/auto-complete/changes.html#Changes_v1.3 ここに書くべき変更点は以下のようになります。 単語収集速度の改善 初回補完時に、補完対象となる単語を全てのバッファから収集しますが、この処理にパフォーマンス上の問題があったので修正しました。文字入力中に待たされるというのがなくなると思います。 ac-use-menu-map ac-use-menu-mapをtにしておくと、メニューー表示時のみに有効になるキーマップを利用できます。有効に

    auto-complete v1.3をリリースしました - Functional Emacser
  • auto-complete v1.2をリリースしました - Functional Emacser

    次のURLから最新版を手に入れることができます。 http://cx4a.org/software/auto-complete/index.ja.html v1.2の変更点は次のURLから確認できます。 http://cx4a.org/software/auto-complete/changes-v1.2.ja.html デモムービーです。

    auto-complete v1.2をリリースしました - Functional Emacser
  • Rubyのための開発補助ツール、RSenseをリリースしました - Functional Emacser

    未踏プロジェクトの援助を受けて、ここ数ヶ月集中して開発していた、Rubyのための開発補助ツールRSenseをようやくリリースしました!配布物やドキュメントは次のURLから入手できます。 http://cx4a.org/software/rsense/index.ja.html RSenseの最大の特徴は、他の開発環境(IDE)では実現できていない高精度なコード補完を実現しているところです。周知のことだと思いますがRubyは動的型付け言語です。そのためプログラムを実際に実行してみないと、ほとんどの式の型は分からないのです。型情報からユーザーの入力を補助するコード補完機能の分野では、これはかなり致命的な問題です。RSenseは型推論の技術を応用することで、この問題を解決しました。上記のURLにもありますが、以下に実際のスクリーンショットやデモが貼っておくので、ぜひご覧ください。 現在利用できる

    Rubyのための開発補助ツール、RSenseをリリースしました - Functional Emacser
  • C/C++のための開発援助ツール、GCCSenseをリリースしました - Functional Emacser

    未踏プロジェクトの支援を受けて開発していた、C/C++のための開発援助ツールGCCSenseをリリースしました。配布物やドキュメントは次のURLから入手できます。 http://cx4a.org/software/gccsense/index.ja.html 開発援助ツールと銘打っていますが、現状利用できる機能はコード補完と自動構文チェック(Emacsのみ)だけです。将来的には関数ヘルプ機能や型表示機能を実装する予定です。 GCCSenseはコード補完などの機能を搭載した独自のGCCを利用しているため、インストールがかなり面倒です。ドキュメントによってある程度カバーしたつもりですが、環境によってまちまちなのでインストール時に問題が出てくるのは必至だと思います。その際は私に連絡してください。 また、独自GCCを利用している関係上、現状ではWindowsでの利用はできません。自由なソフトウェア

    C/C++のための開発援助ツール、GCCSenseをリリースしました - Functional Emacser
  • auto-complete.elに補完候補を賢くソートしてくれる機能、comphistを実装 - Functional Emacser

    最近、auto-complete.elの拡張ばかりでパフォーマンスや安定性を度外視してる感がありますが、今回も凝りずにauto-complete.elの拡張の話をします。お許しを。 auto-complete.elの開発を始めて以来、補完候補の選択の手間を減らせないか、という意見を定期的に頂いています。その時に提案された方法には様々ありましたが、ここで説明するのは面倒くさいので、その基となるアイデアを要約しますと、補完候補の文字列や補完中の文字列の長さからヒューリスティックを用いて、次に補完されそうな補完候補を先頭にもってくるというものでした。ヒューリスティックを用いるのは全く否定しないのですが、そのヒューリスティック自体の有効性に疑問がありました。そういうわけで、かなり長い間その手の実装を回避していたのですが、未踏でやると公言した手前、やらないわけにはいかないので、実験的に実装してみま

    auto-complete.elに補完候補を賢くソートしてくれる機能、comphistを実装 - Functional Emacser
  • 2009年下期未踏ユースで採択されました - Functional Emacser

    家HPで詳細情報が掲載されるまでとっておくつもりでしたが、結構待たされるようなので今さらですが公表してしまいます。知っている人は知っていると思いますが、2009年下期未踏ユースで採択されました。 http://www.ipa.go.jp/jinzai/mitou/2009/2009_2/youth/k_koubokekka.html テーマ名は「Emacsにおける高精度コード補完機能の開発」です。簡単に概要を説明すると、EclipseやVisual Studioなどが提供している高精度なコード補完機能をEmacsでも実現してしまおうというプロジェクトです。対応するプログラム言語はC++, Java, Ruby, Pythonなどとしていますが、内容の変更は十分にありえますので悪しからず。 Emacsでの補完インターフェースはもちろんauto-complete.elで実現します。現状のau

    2009年下期未踏ユースで採択されました - Functional Emacser
  • auto-complete.elが曖昧マッチに対応 - Functional Emacser

    auto-complete.elを曖昧マッチに対応させるため、今回からfuzzy.elという拡張が同封されるようになりました。この拡張は必須ではありませんが、曖昧マッチを使う場合は必要になります。 曖昧マッチで補完を行うにはac-fuzzy-completeコマンドを実行します。このときカーソルが赤色になりますが、これが曖昧マッチで補完を行っていることを表わしています。 曖昧マッチによる補完はauto-completeコマンドからでも行うことができます。このとき曖昧マッチを使うかどうかのフラグであるac-use-fuzzy変数がtである必要があります。デフォルトはtなので、曖昧マッチを使いたくない人のみ適宜nilにしてください。auto-completeコマンドが実行されると、従来のマッチで補完候補の生成を試みますが、このときに一つも補完候補を生成できない場合のみマッチの方法を曖昧マッチに

    auto-complete.elが曖昧マッチに対応 - Functional Emacser
  • 迷路の最短ルートを探索するEmacs Lisp - Functional Emacser

    元ネタ: http://okajima.air-nifty.com/b/2010/01/post-abc6.html 幅優先検索を使えば一瞬で解けるのでいちいち晒すほどのネタではありませんが、解決手順をEmacs Lispでアニメーションできたら面白いかなと思ったのでやってみました。 C-x bで適当なバッファを作って迷路を入力します。ちょっと試したいという方は以下の迷路をコピペするとよいでしょう。 ************************** *S* * * * * * * ************* * * * * ************ * * * * ************** *********** * * ** *********************** * * G * * * *********** * * * * ******* * * * * * ****

    迷路の最短ルートを探索するEmacs Lisp - Functional Emacser
    joan9
    joan9 2010/01/17
  • popup.elによるポップアップメニュー、カスケードポップアップメニュー、ツールチップの実現 - Functional Emacser

    さまざまな現代的なインターフェースを実現できるようpulldown.elを大幅に拡張しました。それに伴って抽象度も上がったため、pulldown.elという名前は少し内容にそぐわなくなりました。そこでpulldown.elあらためpopup.elという名前で開発を続けていくことにしました*1。マーケティング的にはあまりよろしくないと思いますが、主な利用者はauto-completeだけなのでまあいいでしょう。 成果物はいつも通りauto-completeのリポジトリから取得できます。 http://github.com/m2ym/auto-complete さて、今回の拡張で何ができるようになったかですが、おそらく次のスクリーンショットを見れば一目瞭然かと思われます。 見ての通り、多階層ポップアップメニューとツールチップが実現できるようになっています。元々、これらの機能を実装するつもりはな

    popup.elによるポップアップメニュー、カスケードポップアップメニュー、ツールチップの実現 - Functional Emacser
  • 汎用プルダウンメニューインターフェースライブラリpulldown.el - Functional Emacser

    汎用のプルダウンメニューインターフェースライブラリpulldown.elをリリースしました。このライブラリはauto-complete.elからメニュー表示ルーチンを抜き出して独立させたものです。今のところauto-complete.elのリポジトリで開発しています。利用するにはauto-complete.elのリポジトリから取得してください。 http://github.com/m2ym/auto-complete/blob/master/pulldown.el pulldown.elを利用してプルダウンメニューを作るには二つの方法があります。一つは内部でコマンドループをシミュレートして同期的に選択結果を返すpulldown-menu関数を利用する方法です。もう一つは、auto-complete.elがやっていることですが、独自でコマンドループを適宜ハンドリングしてプルダウンメニューを操

    汎用プルダウンメニューインターフェースライブラリpulldown.el - Functional Emacser
  • query-replaceのクエリ入力中に置換対象をハイライトする - Functional Emacser

    前々から思ってたんですが、query-replaceやquery-replace-regexpでクエリ入力中に置換対象がハイライトされると便利だと思いませんか?re-builderなどで作った正規表現をコピペしてもよいのですが、id:a666666:20090715みたいな問題が出てきてしまうので、やっぱりそういう機能は必要だと思います。ということでやってみました。 こんな感じになります。 lazy-highlight機能を使いまわしてるのでwindowのちらつきがあります。あとハイライトされたアクティブリージョン上の置換対象がうまくハイライトされないという問題もあります。その辺りはいつか。 (defvar query-replace-auto-highlight-buffer nil) (defvar query-replace-auto-highlight-regexp-flag ni

    query-replaceのクエリ入力中に置換対象をハイライトする - Functional Emacser
    joan9
    joan9 2009/08/23
  • 1