ゴミ箱.net

汚物は消毒

駱駝と蛇

プログラムの変数などの書き方にはいくつかの流儀がある。
単語の頭を大文字、それ以外を小文字にするキャメルケース。camelCaseのような感じになる。
単語をアンダースコアでつなぐスネークケース。snake_caseのような感じになる。
これらを相互変換するemacs lispを作ってみた。

(defun camel-to-snake (s &optional do-upcase)
(let ((case-fold-search nil))
(funcall (if do-upcase 'upcase 'downcase)

(replace-regexp-in-string
"\\([A-Z]\\)" "_\\1"
(concat (downcase (substring s 0 1)) (substring s 1))))))

(defun snake-to-camel (s &optional capitalize)
(let ((case-fold-search nil))
(replace-regexp-in-string
"_\\([a-zA-Z]\\)"
(lambda (s2) (upcase (substring s2 1)))
(concat (if capitalize "_" "") s))))

スポンサーサイト

PageTop

やったーwebgen-modeできたよー

emacs用のマイナーモードを作成したので公開してみる。
EmacsWiki: Webgen Mode
これで俺も一流のemacserの仲間入りだ。Meadowでしか動作確認してないけどな!

続きを読む

PageTop

Meadowでgrepもどき

Emacs/Meadowは超多機能テキストエディタであるが、フォルダ内のファイルを一括して検索する機能がついていない。

Emacsにはそれを可能にするためのigrepというパッケージが存在するが、これは内部でgrepという別のコマンドを呼び出しており、単独では動作しない。
Linuxならgrepが標準で入っているから気にしなくてもいいのだが、Windowsにはgrepはついていない。Cygwinをインストールするか、Windows用にビルドしたgrepを探してインストールする必要がある。だが、それもちょっと面倒ではある。

そこで、Windowsのコマンドプロンプトで使えるfindstrというコマンドを使用して似たようなことを行うためのemacs lispを作成した。当然だがWindows専用である。

ダウンロード ※拡張子を.elに変更し、Meadowにロードさせること。

M-x findstrと入力し、続いて検索する文字列とファイルパターンを入力すれば、検索結果が表示される。
制約事項として文字コードはSJISのみ対応。またgrepのように正規表現の検索はしていない(findstrのオプションを変えればできる)。

PageTop

開いているファイルをすべて閉じるelisp

emacs/Meadowで、現在開いているファイルを一気に閉じるためのelisp。
*scratch*以外のバッファをすべて閉じます。ファイルを編集中の場合は閉じる前に確認が行われます。

ダウンロード
※ダウンロード後、close-all-files.elとリネームして、emacs/Meadowにロードさせてください。

PageTop

樹形図作成elisp

テキストファイルとして樹形図(ツリー)を手間をかけずに作成するための、emacs/Meadow用のlisp関数です。フリーソフトです。
またの名を「石川ってうんこするのジェネレーター」。
あまり凝った出力はできませんが、それなりにツリーにはなります。

ダウンロード
※ダウンロード後、tree-text.elにリネームしてemacs/Meadowにロードさせてください。

続きを読む

PageTop