使い捨てなコマンドを作っては捨て

区分
Emacs
報告者

こんにちは、chibaです!
本当にネタ切れなので、どうでも良いレベルのEmacsの日々を書きます。
emacsのVCモードでは、gitが使えるのですが、git pushはしてくれないらしく、これだけシェルで実行していたりしました。
いやいやこれでは、いけないということで、コマンドを作成。
default-directoryにパスを束縛すれば、そのディレクトリで実行される様子(この辺あまり良く分かっていないのですが…)
ちなみに、無駄にマクロにしています。コマンド名にはスペースも使えるようなので、LispWorksのエディタみたいなコマンド名にできるようなマクロです。
anything.elで絞り込むのでこういう名前でも問題ないみたいですね。

(defmacro defcommand (name lambda-list &rest forms)
  (let* ((lambda-list (copy-list lambda-list))
         (iarg (getf lambda-list '&interactive)))
    `(progn
       (defun ,(intern name) ,(progn (remf lambda-list '&interactive) lambda-list)
         (interactive ,iarg)
         ,@forms)
       ,name)))

(defcommand "Git Push" ()
  (let ((default-directory (file-name-directory (buffer-file-name))))
    (shell-command "git push") ))

トップページに戻る

技師部隊からの
お知らせ

【求人】エンジニア募集しています。

本頁の来客数
八十七万千百七十六名以上(計測停止中)

メンバー一覧

アクトインディ技師部隊員名簿

アクトインディ技師部元隊員

アクトインディへ

カテゴリー

アクトインディ

aaaa