読者です 読者をやめる 読者になる 読者になる

続 Emacsのエンコーディング指定プラグマを挿入する

emacs elisp

以前書いたバージョン
では, 各プログラミング言語用にコメント記法をリストで保持していましたけど、
comment-regionを使えば、Emacsが認識する言語であれば正しくコメントアウト
してくれるはず。

ということで以下のようなものにした

(defun insert-encoding-pragma ()
  "Insert encoding pragma for each programming languages"
  (interactive)
  (save-excursion
    (let* ((charset-list '(("utf-8") ("euc-jp") ("shift_jis")))
          (completion-ignore-case t)
          (charset (completing-read "Charset: "
                           charset-list nil t "utf-8"))
          (pragma (concat "-*- coding:" charset " -*-")))
      (progn
          (beginning-of-line)
          (let ((region-begin (point)))
            (progn
              (insert pragma)
              (end-of-line)
              (let ((region-end (point)))
                (comment-region region-begin region-end))))))))