Elisp

Elispで属性リストは他のリスト構造と違って参照渡しなので注意するんだ

Emacsの拡張の設定ファイルとかで属性リストが使われているのを見てから、 最近、自作の拡張とかで属性リストを使い始めてます。 今まで、key-valueな構造を作りたい時、ハッシュを使う程でもなかったり、 シリアライズしたかったりする場合は、連想リストを…

ターミナル作業向けのe2wm.elのパースペクティブe2wm-term.elを作りました

これは何? 日頃、様々な場面でターミナルを起動して作業するということがよくあるのですが、 純粋なOSのターミナルだと、なかなか不便です。 ファイルを編集しながら、コマンド実行結果を切り貼りしたりする場合などは特に。 そういう時は、Emacsからシェル…

tss.elでeldoc対応、補完強化、コード自動挿入など

現在の最新バージョンは0.6.0です。 tss.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-tss 変更点 eldoc対応 補完強化 継承定義挿入 eldoc対応 しました。 補完強化 以下について、自動で補完されるようになり…

pophint-config.elで機能をいろいろ追加・変更しましたv0.10

現在の最新バージョンはpophint.elが0.9.0、pophint-config.elが0.10.1です。 pophint.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-pophint 変更点 移動用コマンド追加 リージョンをkillするコマンド追加 set…

GnusでGmailのメールを日本語で検索できるgnus-x-gm-raw.elを作りました

これは何? 最近、GnusでGmailを扱おうと試みています。 Gnusではgnus-group-make-nnir-group(デフォルトで"G G")でグループ内のメール検索ができますが、 GmailのIMAPフォルダを日本語で検索すると、以下のように表示され検索できませんでした。 Couldn't r…

pophint.elのソース切替をいろいろな方法でできるようにしました

現在の最新バージョンはpophint.elが0.8.4、pophint-config.elが0.9.4です。 pophint.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-pophint 変更点 リファクタリング 逆順で切替 切替確定の遅延 各sourceにキ…

Perlのパッケージ構造を表示するe2wm.elのプラグインe2wm-pkgex4pl.elを作りました

これは何? Perlのパッケージ構造をdirex.elで表示するplsense-direx.elという拡張を以前作りましたが、 それをe2wm.elのプラグインとして使う拡張を作りました。 スクリーンショット インストール/設定など 以下にまとめました。 https://github.com/aki2o/…

e2wm.elで一つのウィンドウで複数のプラグインを切り替えながら使えるe2wm-sww.elを作りました

これは何? e2wm.elを使うと、 EmacsがIDEっぽくなって良い感じですが、各ウィンドウには一つのプラグインしか表示できません。 調べたら、e2wm:plugin-switch-commandが見つかりましたが、使い勝手はよくありませんでした。 Eclipseとかだとタブで切り替え…

Emacsでwidgetのボタン作ったけどクリックのイベントが発生しなくてハマった

現象 表題まんまなんですが、customize-groupとかで出てくるようなボタンが作りたくて、 (widget-create 'push-button :tag " Hoge " :action `(lambda (widget &optional event) (message "Clicked!!!"))) のような感じでボタンは作れました。 ...が、クリ…

plsense-direx.elで表示できるパッケージ構造を増やしました

現在の最新バージョンはv0.2.0です。 plsense-direx.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/plsense-direx 変更点 複数プロジェクト対応 mainパッケージ表示 関連パッケージ表示 複数プロジェクト対応 今まで…

e2wm.elでfilesプラグインの代わりにdirex.elが使えるe2wm-direx.elを作りました

これは何? e2wm.elのコードパースペクティブでは、 デフォルトでFilesプラグインのバッファが左側に表示されますが、 この代わりにdirex.elのバッファを扱うプラグインを追加する拡張を作りました。 スクリーンショット インストール/設定など 以下にまとめ…

pophint.elでe2wm.elの各プラグインの任意のエントリを簡単に選択できるようになりました

現在の最新バージョンはpophint.elが0.7.0、pophint-config.elが0.9.0です。 pophint.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-pophint 変更点 各ウィンドウ毎に適切なsourceを使ってヒント表示 e2wm.el向…

任意のウィンドウを切り替えずに操作できるowdriver.elを作りました

これは何? 私は、Emacsでファイルを編集する時、別のバッファを横に開いて参照しながら、ということがよくあります。 そういった時、そのアクティブでない参照用のバッファに対して必要になる、 スクロールとかのちょっとした操作を、scroll-other-windowや…

direx.elのバッファをanything.el/helm.elっぽくインクリメンタルに絞り込むdirex-grep.elを作りました

これは何? 最近、自然とdirex.elを使うようになってきていてなかなか良い感じなのですが、 direx.elでファイル数やディレクトリ構造が複雑なディレクトリを開いた時、 作業対象のファイルに行ったり来たりするのがちょっとメンドい時があります。 Diredだと…

guide-key.elをpos-tip.elと連携させるguide-key-tip.elを作りました

これは何? Emacsの壁のひとつにキーバインドがあるかと思います。 凡人では覚えきれない、その無数のキーバインドを把握するために、guide-key.elという便利な拡張があります。 Emacs で自動的にキーバインドをポップアップする guide-key - 備忘録 guide-k…

org-modeでTravis CIのステータス画像のリンクを入力できるorg-link-travis.elを作りました

これは何? 最近、Travis CIでCIったり、org-modeでドキュメンたりし始めて、 GithubのREADMEは、org-modeで書いてMarkdownにエクスポートすることにしています。 で、Travis CIのビルドステータスへのリンクはMarkdown形式で以下のように記述しますが、 [![…

Emacs上でCaskを操作できるcaskxy.elを作りました

これは何? 以前作った拡張が、Emacsのバージョンが違うと動作しない機能があることに最近遭遇したせいもあり、 そろそろテスト環境をちゃんと整備すべきだなぁと実感して、話題のCaskを使おうと思いました。 が。どうやら、CaskはWindowsでは現状動作しない…

EmacsでPerlのパッケージ構造をdirex.elで表示するplsense-direx.elを作りました

これは何? 慣れたら便利だろなと思っていたdirex.elに、なかなか使い慣れたDiredから移行できなかったんですが、 direx.elで指摘されている問題点を私も感じていたので、最近direx.elを努めて触っています。 で、使っているとdirex.elにも不満というか願望…

org-modeでリンクの入力をanything.el/helm.elでできるorg-linkany.elを作りました

これは何? 最近ようやくorg-modeを触り始めています。 org-modeではリンクの入力/編集でヘルパー的なインタフェースが提供されているのですが、 使い勝手が良いとはとても言えず...。 この手の機能なら、anything.elやhelm.elの拡張が既にあるんじゃないか…

pophint.elがpos-tip.elと連携できるようになりました

現在の最新バージョンはpophint.elが0.6.0、pophint-config.elが0.7.0です。 pophint.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-pophint pos-tip.elでプロンプト表示 pos-tip.elについての説明は割愛します…

org-modeでM-TABの補完をauto-complete.elでできるorg-ac.elを作りました

これは何? 最近ようやくorg-modeを触り始めています。 org-modeではデフォルトでM-TABにより、ポイントしているコンテキストに 合わせた補完が利用できるのですが、補完のインタフェースが使いにくいです。 そこで、auto-complete.elのインタフェースでそれ…

Emacsで右クリックメニューのようなコンテキストメニューを表示するctxmenu.elを作りました

これは何? Emacsの壁のひとつにキーバインドがあるかと思います。 凡人では覚えきれない、その無数のキーバインドを把握するために、以下の便利な拡張があります。 Emacs 初心者必見! one-key.el はキーバインドが覚えられない人への特効薬だ - (rubikitch…

EmacsのMUA向けアドレス帳BBDBのレコード検索/選択を簡単に行えるbbdb-.elを作りました

これは何? 最近Gnusを使ってみてます。 一般的なメーラならアドレス帳の機能は当然ありますが、 Gnusには無い様で、BBDBという拡張を別途インストールして使うらしいです。 で、使ってみたんですが、ぶっちゃけ使いにくいです。 To/Cc/Bccの指定を一度にで…

EmacsをVisual Basic Editor並みのVBA開発環境にするvbasense.elを作りました

これは何? 経緯は別エントリに書いたので省きますが、VBAで開発する機会がありました。 visual-basic-modeを使ってEmacsで開発し始めたんですが、機能に不満で(特に入力補完)、 YAMYでEmacsっぽいキーバインドにすることでVisual Basic Editorを使うことに…

PlSenseで定義元ジャンプができるようになりました

PlSenseは、型推論を使ってPerlでオムニ補完をするためのツールです。 詳しくは過去エントリを参照して下さい。 変更点 PlSenseと、そのEmacs用インタフェースであるplsense.el、それぞれの変更点を以下にまとめます。 PlSense 現在の最新バージョンは0.10で…

pophint.el/pophint-config.elをv0.5にアップデートしました

現在の最新バージョンはともに0.5.0です。 pophint.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-pophint 変更点 ウィンドウ移動する時にヒント表示 全てのウィンドウをヒント表示対象に 検索方向切り替えの無…

tss.elをv0.3にアップデートしました

現在の最新バージョンは0.3.0です。 tss.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-tss 変更点 設定方法の変更 カスタマイズ変数などの追加 特筆するような機能の追加/変更はないんですが、設定ファイルの…

plsense.elをv0.2にアップデートしました

現在の最新バージョンは0.2.0です。 plsense.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-plsense 変更点 設定方法の変更 カスタマイズ変数などの追加 特筆するような機能の追加/変更はないんですが、設定フ…

pophint.el/pophint-config.elをv0.4にアップデートしました

現在の最新バージョンは以下です。 pophint.el ... 0.3.7 pophint-config.el ... 0.4.0 pophint.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-pophint 変更点 バグ修正 アクション追加 さらにVimperator/Keysn…

EmacsでTypescript編集時、auto-complete.el/flymake.elを使って入力補完/文法チェックができるtss.elを作りました

これは何? Javascriptは今まであまり触れた経験がなかったんですが、 ようやく最近ちゃんとやってみようと思い始めました。 しかし、いかんせん私は搭載スペックが低いので、 手取り足取りサポートしてくれる開発環境でないとやってられません。 かといって…

pophint.el/pophint-config.elをv0.3にアップデートしました

現在の最新バージョンはともに0.3.0です。 pophint.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-pophint 変更点 ヒント文字列の重複回避 サイズが大きいバッファでのパフォーマンス向上 cua-modeへの対応 any…

Perlでオムニ補完を実現するPlSenseを作りました

これは何? 今までEmacsでPerlをコーディングする時は、perl-completion.elを使わせて頂いていました。 perl-completion.elでは、バッファ内で定義されたインスタンスであれば、適切なメソッド補完ができます。 しかし、下記リンクの記事で書かれている通り…

pophint.elをv0.2にアップデートしました

現在の最新バージョンは0.2.0です。 pophint.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/emacs-pophint 変更点 アップデートというか、ほぼバグ修正です。 ヒントが表示されたままになってしまうバグを修正 別ウィ…

log4e.elをv0.2にアップデートしました

現在の最新バージョンは0.2.0です。 log4e.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/log4e 変更点 ポイントしている関数/マクロの先頭にログ出力のs式を挿入 ポイントしている関数/マクロの先頭にログ出力のs式…

nXML-modeで使うRNC形式のスキーマを別形式のスキーマから変換して生成するgenrnc.elを作りました

これは何? nXML-modeではバッファに適用するスキーマを切り替えることで、そのスキーマに沿った適切な入力補完、 いわゆるオムニ補完ができ、スキーマもユーザが追加で登録することができます。 が、登録できるスキーマは RELAX NG Compact形式(拡張子がrnc…

EmacsでVimperatorやKeysnailのヒントモード機能を提供するpophint.elを作りました

2013/09/14追記 機能や設定については、Wikiにまとめることにしました。 バージョンアップにより、これらは変更されている可能性があります。 最新の情報はWikiを確認して下さい。 これは何? FirefoxをVimライクに操作できるVimperator/KeysnailというFiref…

ElispでJavaライクな例外処理を提供するyaxception.elを作りました

これは何? Emacsは大分前から使っていますが、ようやく最近Elispを書くようになりました。 で、Elispでの例外処理に関して以下の不満を持ちました。 記述がめんどい 独自のエラー定義もめんどい Javaでいうスタックトレースがデバッグ時のBacktraceでしか見…

Elispでのログ出力をサポートするlog4e.elを作りました

これは何? Emacsは大分前から使っていますが、ようやく最近Elispを書くようになりました。 で、Elispでロギングフレームワーク的なものはまだないようで、 自分の使っている拡張のコードを幾つか見てみると、 自前でデバッグ用のコードを仕込んでいたりしま…

auto-complete-nxml.elをアップデートしました

最新バージョンは0.3です。 auto-complete-nxml.elについては過去エントリを参照して下さい。 ソース置き場:https://github.com/aki2o/auto-complete-nxml 変更点 バグいろいろ タグ内のテキストでも補完 タグや属性のヘルプを表示 タグ内のテキストでも補…

任意のメジャーモードでもone-key.elを利用してキーバインドを表示するone-key-local.elを作りました

これは何? Emacsの壁のひとつにキーバインドがあるかと思います。 凡人では覚えきれない、その無数のキーバインドのヘルプを一覧で表示してくれる one-key.elという素晴らしい拡張があります(※1)。 ですが、以下のような不満を私は感じていました(※2)。 設…

nXML-modeでauto-complete.elを使って入力補完するauto-complete-nxml.elを作りました

これは何? Emacsでxmlやhtmlの編集のためにnXML-modeという拡張があります。 編集しているコンテキストに合わせてオムニ補完ができるので、とても便利ですが、 補完候補を選択するインタフェースがEmacs標準のもので使い勝手が悪く、 また、補完する時には…