2013年06月20日

FuelPHP用のEmacsのマイナーモードfuelphp-mode.el作ってる

ここ半年ぐらいお仕事でFuelPHPというPHPのMVCフレームワークを触ってる。

このFuelPHPというフレームワーク、 理由はよく分からないけど、どうやら日本で人気らしい。

人気らしいんだけども、 どうもいまいち開発をサポートしてくれる環境が見当たらない。

というかEmacsでのサポートが欲しかった。 欲しかったから、半年ぐらいサポート的な何かが出るのを待ち続けてみた。 出なかった。少なくとも見つけられなかった。

というわけでタイトルの通り、自作中。

とりあえずGithubに上げてます。 https://github.com/mugijiru/fuelphp-mode

というわけで以下説明。 ほぼREADMEのコピペ。

fuelphp-mode.el

概要

FuelPHP の開発をサポートするためのマイナーモード

インストール

fuelphp-mode.el をload-pathが通っているところに置いて

(require 'fuelphp-mode)

使い方

FuelPHPプロジェクト内のファイルをfind-fileで開くと自動的に有効になります。 また、FuelPHPプロジェクト内のファイルを開いている時に

M-x fuelphp-mode

を実行することによりよっても有効になります。

コマンド

FuelPHPマイナーモードが有効な時には以下のコマンドが使用できます。

コマンド機能
C-c . f mModelファイルを開く
C-c . f cControllerファイルを開く
C-c . f vViewファイルを開く
C-c . o sサーバを起動する
C-c . o cコンソールを起動する
C-c . gfuel/app内をgrepする

カスタマイズ変数

fuelphp-tags-file-name

FuelPHPプロジェクト内で利用しているタグファイルの名前。 プロジェクトROOT直下にこの変数で指定された名前のタグファイルがあるものとして検索されます。

デフォルト値: TAGS

posted by 麦汁 at 22:36 | Comment(0) | TrackBack(0) | emacs | このブログの読者になる | 更新情報をチェックする

2013年06月10日

SayKotoeri を使って喋らせるマイナーモード作った。

Cocoa な Emacs に日本語喋らせたいなあ とか思ってたら Macのsayコマンドに日本語を喋らせるための SayKotoeri という素敵なコマンドが落ちていた。

ってことで saykotoeri.el というマイナーモードを作った。

SayKotoeriとSayKanaに依存しているので 事前にそれらをインストールしていてください。

それが済んだら適当に

(auto-install-from-url "https://raw.github.com/mugijiru/saykotoeri-el/master/saykotoeri.el")

したらインストールはできる。

あとは

(add-to-list 'load-path (expand-file-name "~/path/to"))
(require 'saykotoeri)

とかで読み込んでおいて

M-x saykotoeri-mode

を実行したらsaykotoeri-modeというマイナーモードが有効になります。

saykotoeri-modeが有効な時にリージョン選択して

M-x saykotoeri-region

としたら、選択部分を読み上げてくれます。

saykotoeri-mode が有効でない時は saykotoeri-region は使えません。

そんだけ。

タグ:Emacs emacs lisp Mac
posted by 麦汁 at 21:19 | Comment(0) | TrackBack(0) | emacs | このブログの読者になる | 更新情報をチェックする

2013年04月11日

Emacsが死んだ時に勝手に嘆きTweetするようにした

基本的にEmacsがないと何もできないほどにEmacsに依存しているので Emacsが突然死してしまった場合に備えて 自動的にTwitterに向けて嘆くようにしてみました。

環境はMax OS XにてHomebrewで入れたEmacs23ちゃん。多分CocoaEmacsってやつ。

あと、事前準備として つぶやき専用コマンド tweet-command を試してみた | 麦汁三昧 で導入したtweet-commandが必要。

でまあ、とりあえず Emacsの死活監視のためのshell scriptの用意。

死んでる間に何度でもつぶやこうとされたら困るので つぶやいた後は ~/.emacs.dead というファイルを生成し、 それがある場合にはつぶやかないようにしている。

#!/bin/sh

emacs_process=`/bin/ps ux | grep Emacs.app | grep -v grep`

if [[ ${emacs_process[@]} = "" ]] ; then
  file="$HOME/.emacs.dead"

  if [[ ! -e $file ]] ; then
    echo "Emacs落ちたし帰りたい @mugijiru" | tweet
    touch $file
  fi
fi

こんな感じのを ~/bin/check_emacs.sh とかいう場所に適当に保存して実行権限を付与。

そしてcrontabで

PATH="/Users/mugijiru/bin:/Users/mugijiru/.rbenv/shims:/bin:/usr/bin:/usr/local/bin"

* * * * * check_emacs.sh

とでも書いておけば、 毎分毎分Emacsが生きているかを確認して死んでいたら嘆くことができる。

しかしまあ、ひとしきり嘆いた後には再度Emacsを立ち上げるわけで そいつがまた死んだ時も嘆きたいわけで。

そのために、Emacsを起動した時には 嘆いて後に作られる「死んでるの確認したよ」のファイルを削除してあげたい。

ってことで ~/.emacs.d/init.el の最後の方にでも適当に

(if (file-exists-p (expand-file-name "~/.emacs.dead"))
    (delete-file (expand-file-name "~/.emacs.dead")))

とか書いておく。

これでEmacsが再び死んだ時にも嘆くことができる。

なんだけどこれだと(滅多にしない)正常終了時にも嘆いちゃうので、 ~/.emacs.dead を作成してから死ぬことに。 こいつがあればcheck_emacs.shちゃんが嘆かないからね。

ってことでやはり ~/.emacs.d/init.el の最後の方に

(add-hook 'kill-emacs-hook
          '(lambda nil
              (shell-command (concat "touch " (expand-file-name "~/.emacs.dead")))))

なんて書いておく。

以上で 「Emacsが異常終了したら自動的に嘆きTweetをする」 ってのが実現。

というわけで私がTwitterで 「Emacs落ちたし帰りたい @mugijiru」 などとつぶやいている時は哀れんでやってください。

posted by 麦汁 at 22:16 | Comment(0) | TrackBack(0) | emacs | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。