2015/05/13(水) [n年前の日記]
#2 [xyzzy] xyzzyのruby-modeを少しだけ修正
インデント幅を2文字、かつ空白文字にしたかったのだけど、xyzzyの共通設定のタブ幅4文字になってしまうのでどうにかならんのかなと少しググったり。
_Lovingly Yours: 雪見酒版ruby-modeでxyzzyのバッファ単位にタブ幅を指定できるようにする方法
なるほど、このあたりを弄ればいいのか…。
~/.xyzzy は以下のような指定に。昔の指定が残ってるけど一応メモ。
_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)
アレ? カレントバッファのタブ幅を指定してるのだから、前述のページの修正をすれば目的は果たせそうな…。まあいいや。
[ ツッコむ ]
以上です。