summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-04-26 04:54:01 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-04-26 04:54:01 +0000
commitda4ad54e47972340399756467d682174601488ec (patch)
treec8dd1f94fdd83e6db31709c6f05b6327bfd9d521 /misc
parent24af397fcdc96219ab4fc110d48aba7fad79a34f (diff)
* misc/ruby-style.el: new file. C/C++ style for ruby source code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'misc')
-rw-r--r--misc/ruby-style.el36
1 files changed, 36 insertions, 0 deletions
diff --git a/misc/ruby-style.el b/misc/ruby-style.el
new file mode 100644
index 0000000000..1768789470
--- /dev/null
+++ b/misc/ruby-style.el
@@ -0,0 +1,36 @@
+;;; -*- emacs-lisp -*-
+;;; C/C++ mode style for Ruby.
+
+(defun ruby-style-case-indent (x)
+ (save-excursion
+ (goto-char (cdr x))
+ (if (looking-at "\\<case\\|default\\>")
+ (- c-basic-offset
+ (% (current-column) c-basic-offset)))))
+
+(require 'cc-styles)
+(c-add-style
+ "ruby"
+ '("bsd"
+ (c-basic-offset . 4)
+ (c-offsets-alist
+ (case-label . *)
+ (label . *)
+ (statement-case-intro . *)
+ (statement-case-open . *)
+ (statement-block-intro . (ruby-style-case-indent +))
+ (access-label /)
+ )))
+
+(defun ruby-style-c-mode ()
+ (interactive)
+ (if (or (string-match "/ruby\\>" (buffer-file-name))
+ (save-excursion
+ (goto-char (point-min))
+ (let ((head (progn (forward-line 100) (point)))
+ (case-fold-search nil))
+ (goto-char (point-min))
+ (re-search-forward "Copyright (C) .* Yukihiro Matsumoto" head t))))
+ (setq c-file-style "ruby")))
+
+(provide 'ruby-style)