bool-flip 20161215.739(in MELPA)
flip the boolean under the point

概要

bool-flip.elは、
M-x bool-flip-do-flip という
コマンドのみを提供しています。

カーソル位置の真偽値を
反転させるコマンドです。

多くの言語に対応していて、
汎用的です。

デフォルトでは
以下の真偽値に対応しています。

bool-flip.elより抜き出し。

(defcustom bool-flip-alist
  '(("T"    . "F")
    ("t"    . "f")
    ("TRUE" . "FALSE")
    ("True" . "False")
    ("true" . "false")
    ("Y"    . "N")
    ("y"    . "n")
    ("YES"  . "NO")
    ("Yes"  . "No")
    ("yes"  . "no")
    ("1"    . "0"))
  ...)

たとえば、
FALSEの位置に
カーソルがあるときに、

M-x bool-flip-do-flip
を実行すると、
TRUEになります。

本設定では
Emacs Lispのt/nilに
対応させるために、

emacs-lisp-mode-hook
加えています。

20170107074041.png
Fig1: この状態でM-x bool-flip-do-flipすると

20170107074045.png
Fig2: nilに変わる。再実行でtになる。

ソースコードは
30行少々と短いですので、
挙動を理解するのは
難しくありません。

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてbool-flipを使う方は
以下のコマンドを実行します。

M-x package-install bool-flip

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name bool-flip

設定 170107073133.bool-flip.el(以下のコードと同一)

;;; Emacs Lisp用にt/nilを入れ替えられるようにする
(require 'bool-flip)
(defun emacs-lisp-mode-hook--t-nil ()
  (make-local-variable 'bool-flip-alist)
  (push '("t" . "nil") bool-flip-alist))
(add-hook 'emacs-lisp-mode-hook 'emacs-lisp-mode-hook--t-nil)

実行方法

$ wget http://rubikitch.com/f/170107073133.bool-flip.el
$ emacs -Q -f package-initialize -l 170107073133.bool-flip.el


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。