mieki256's diary



2015/05/13(水) [n年前の日記]

#2 [xyzzy] xyzzyのruby-modeを少しだけ修正

インデント幅を2文字、かつ空白文字にしたかったのだけど、xyzzyの共通設定のタブ幅4文字になってしまうのでどうにかならんのかなと少しググったり。

_Lovingly Yours: 雪見酒版ruby-modeでxyzzyのバッファ単位にタブ幅を指定できるようにする方法

なるほど、このあたりを弄ればいいのか…。
> diff -u -w ruby-mode.l.org ruby-mode.l

--- ruby-mode.l.org     Sun Jul  4 22:50:08 2010
+++ ruby-mode.l Wed May 13 09:00:34 2015
@@ -27,6 +27,7 @@
                  *ruby-mode-map*
                  *ruby-mode-abbrev-table*
                  *ruby-indent-with-spaces*
+                 *ruby-indent-spaces*
                  *ruby-reference-html-help-file*
                  *ruby-save-bufer-before-run*
                  *ruby-execution-path-alist*
@@ -42,6 +43,7 @@
 (defvar *ruby-keyword-file* "Ruby")
 (defvar *ruby-completion-list* nil)
 (defvar  *ruby-indent-with-spaces* t)
+(defvar *ruby-indent-spaces* 2)
 (defvar *ruby-reference-html-help-file* "rubymanjp.chm")
 (defvar *ruby-save-bufer-before-run* t)
 (defvar *ruby-execution-path-alist* nil)
@@ -363,7 +365,7 @@
                        (when (and (> level 0) (looking-at rb-mid-end-regexp))
                                (decf level))
                        (if *ruby-indent-with-spaces*
-                                       (insert " " (* level (tab-columns)))
+                                       (insert " " (* level *ruby-indent-spaces*))
                                (insert "\t" level)))))
*ruby-indent-spaces* という変数(?)を増やして強制的にインデント幅を指定するようにしてみた、とメモ。

~/.xyzzy は以下のような指定に。昔の指定が残ってるけど一応メモ。
(load-library "ruby-mode")
(push '("\\.rb$" . ruby-mode) *auto-mode-alist*)

;(setq *ruby-prog* "ruby")

;; タブ文字とスペースの切り替え
(setq *ruby-indent-with-spaces* t)
;; (setq *ruby-indent-with-spaces* nil)

;; インデント量(スペース文字)を変える
(setq *ruby-indent-spaces* 2)

;; 変数廃止。t:TABを挿入する nil:空白を挿入する。
(setq *ruby-indent-tabs-mode* nil)
;; (setq *ruby-indent-tabs-mode* t)

;; 変数廃止。インデント量を変える。nilの時はタブを挿入。
(setq *ruby-indent-column* 2)
;;(setq *ruby-indent-column* nil)
;; (setq *ruby-indent-level* 2)

;; ruby-mode時はタブ幅を2にする
(add-hook '*ruby-mode-hook*
          '(lambda ()
            (set-tab-columns 2 (selected-buffer))
            ;; (setq *ruby-indent-column* (tab-columns (selected-buffer)))
            ))

;; (setq *ruby-save-bufer-before-run* t)

(define-key *ruby-mode-map* #\C-. 'ed::ruby-completion)
アレ? カレントバッファのタブ幅を指定してるのだから、前述のページの修正をすれば目的は果たせそうな…。まあいいや。

以上です。

過去ログ表示

Prev - 2015/05 - Next
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project