Forum: Ruby on Rails rails on emacs - need a working .emacs sample

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Bakki K. (Guest)
on 2006-03-14 23:00
(Received via mailing list)
I would like to hear from some one who has ecb, multiple modes with
ruby mode + html mode, rails mode all working together and playing
well.

I had ecb working with Ruby syntax highlighting. That was a no-brainer
since I just had to apt-get them on my Debian Sarge box.

It got a bit more comlex after I got most of the .el files in the
articles
http://www.emacswiki.org/cgi-bin/emacs/RubyOnRails   -and-
http://wiki.rubyonrails.com/rails/pages/HowToUseEm....

Each of these has a sample of .emacs and I see that some commands may
be duplicated.

eg, (setq auto-mode-alist  (cons '("\\.rhtml$" . html-mode)
auto-mode-alist))
and
(add-to-list 'auto-mode-alist '("\\.rhtml$" . html-mode))

I copied both of these files into my .emacs and have been playing with
commenting out or uncommenting various lines. (Obviously I am not
elisp proficient) While I have ecb still working, Ruby mode is now
broken while rails mode commands still don't work.

I would very much appreciate any one who can help me out in properly
setting up these modes. Thanks,

bakki
Carmen -. (Guest)
on 2006-03-15 00:27
heres mine.. basically i just installed these via portage:

apel-10.6/
cedet-1.0_pre3/
cmail-2.62/
css-mode-0.11/
ecb-2.32/
elib-1.0/
emacs-w3m-1.4.4/
flim-1.14.8/
folding-2.97/
mew-4.2/
mmm-mode-0.4.8-r1/
php-mode-1.1.0/
pymacs-0.22/
python-mode-4.70/
ruby-mode-1.8.4/
semi-1.14.6/

copied the ECB browser icons out of their CVS tarball since portage
didnt install them, then put a few .el's into
/usr/share/emacs/site-lisp:

ido, better buffer/file selection
ruby-electric, not sure what this does besides adding an end for a def
rails, you know what this is, i think it mainly helps with snippets

then -eval "(ecb-activate)" on launch (or enable it by default)

the web forum email autowrapping will proably totally send the format to
hell, my backup is at http://whats-your.name/.emacs

(load "/usr/share/emacs/site-lisp/site-gentoo")
;;(menu-bar-mode nil)
;;(tool-bar-mode nil)
(add-to-list 'auto-mode-alist '("SConstruct\\'" . python-mode))
(add-to-list 'auto-mode-alist '("SConscript\\'" . python-mode))
(add-to-list 'auto-mode-alist '("\\.tk" . tcl-mode))
(add-to-list 'auto-mode-alist '("\\.wid" . tcl-mode))
(add-to-list 'auto-mode-alist '("\\.rjs" . ruby-mode))
(add-to-list 'auto-mode-alist '("\\.mab" . ruby-mode))
(add-to-list 'auto-mode-alist '("\\.psp" . python-mode))
(add-to-list 'auto-mode-alist '("\\.rhtml$" . html-mode))
(add-to-list 'auto-mode-alist '("/mutt" . mail-mode))
(add-hook 'shell-mode-hook 'goto-address)
(add-hook 'Man-mode-hook 'goto-address)
(setq inhibit-startup-message   t)   ; Don't want any startup message
(setq make-backup-files         nil) ; Don't want any backup files
(setq auto-save-list-file-name  nil) ; Don't want any .saves files
(setq auto-save-default         nil) ; Don't want any auto saving
(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(auto-save-default t)
 '(auto-save-interval 60)
 '(blink-cursor-delay 0.2)
 '(blink-cursor-interval 0.2)
 '(browse-url-browser-function (quote browse-url-mozilla))
 '(browse-url-mozilla-program "firefox")
 '(buffer-auto-save-file-format t t)
 '(comint-completion-autolist t)
 '(cua-mode nil nil (cua-base))
 '(delete-auto-save-files nil)
 '(display-time-mode t)
 '(ecb-auto-activate nil)
 '(ecb-directories-menu-user-extension-function (quote ignore))
 '(ecb-history-menu-user-extension-function (quote ignore))
 '(ecb-layout-window-sizes (quote (("left8" (0.19631901840490798 .
0.2916666666666667) (0.19631901840490798 . 0.23958333333333334)
(0.19631901840490798 . 0.2916666666666667) (0.19631901840490798 .
0.16666666666666666)))))
 '(ecb-methods-menu-user-extension-function (quote ignore))
 '(ecb-options-version "2.32")
 '(ecb-source-path (quote ("/" ("/a/var/www/cracklog" "cracklog")
("/a/var/www/s43" "s43") ("/a/var/www/sidebyside" "sidebyside"))))
 '(ecb-sources-menu-user-extension-function (quote ignore))
 '(ecb-tip-of-the-day nil)
 '(ecb-vc-enable-support t)
 '(ecb-vc-supported-backends (quote ((ecb-vc-dir-managed-by-SVN .
ecb-vc-state))))
 '(face-default-stipple "gray3" t)
 '(global-font-lock-mode t nil (font-core))
 '(global-semantic-idle-completions-mode t nil (semantic-idle))
 '(make-cursor-line-fully-visible t t)
 '(mmm-submode-decoration-level 2)
 '(partial-completion-mode t)
 '(read-file-name-completion-ignore-case nil)
 '(server-mode t)
 '(show-paren-mode t)
 '(transient-mark-mode t)
 '(truncate-partial-width-windows nil)
 '(url-handler-mode t)
 '(url-history-track t)
 '(vc-handled-backends (quote (SVN)))
 '(w3m-about-history-indent-level 4 t)
 '(w3m-default-display-inline-images t)
 '(w3m-file-coding-system-for-read nil t)
 '(w3m-image-viewer "/usr/bin/display" t)
 '(w3m-verbose nil t)
 '(x-stretch-cursor t))
(ansi-color-for-comint-mode-on)
(custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(default ((t (:stipple nil :background "#000000" :foreground "#ffffff"
:inverse-video t :box nil :strike-through nil :overline nil :underline
nil :slant normal :weight normal :height 96 :width normal :family
"microsoft-consolas"))))
 '(cursor ((t (:background "#ff3eb2" :foreground "green"))) t)
 '(font-lock-builtin-face ((((class color) (min-colors 88) (background
light)) (:foreground "#b802b2"))))
 '(font-lock-constant-face ((t (:background "white" :foreground
"#00cccc"))))
 '(font-lock-string-face ((((class color) (min-colors 88) (background
light)) (:foreground "DarkOrange"))))
 '(font-lock-variable-name-face ((((class color) (min-colors 88)
(background light)) (:foreground "HotPink"))))
 '(mmm-cleanup-submode-face ((t (:background "#aacc33"))))
 '(mmm-code-submode-face ((t (:background "HotPink"))))
 '(mmm-output-submode-face ((t (:background "#f80000" :foreground
"white"))))
 '(region ((((class color) (min-colors 88) (background dark))
(:background "wgute" :foreground "blue3" :inverse-video t))))
 '(secondary-selection ((((class color) (min-colors 88) (background
dark)) (:background "SkyBlue4" :foreground "#9999ff"))))
 '(vhdl-font-lock-directive-face ((((class color) (background light))
(:foreground "#29dee4"))))
 '(vhdl-font-lock-generic-/constant-face ((((class color) (background
light)) (:foreground "#decc29")))))

(require 'cedet)
(semantic-load-enable-code-helpers)
(require 'mmm-mode)
(require 'mmm-auto)
(setq mmm-global-mode 'maybe)
(setq mmm-submode-decoration-level 2)
(mmm-add-classes
 '((erb-code
    :submode ruby-mode
    :match-face (("<%#" . mmm-comment-submode-face)
                 ("<%=" . mmm-output-submode-face)
                 ("<%"  . mmm-code-submode-face))
    :front "<%[#=]?"
    :back "%>"
    :insert ((?% erb-code       nil @ "<%"  @ " " _ " " @ "%>" @)
             (?# erb-comment    nil @ "<%#" @ " " _ " " @ "%>" @)
             (?= erb-expression nil @ "<%=" @ " " _ " " @ "%>" @)))))
(add-hook 'html-mode-hook
          (lambda ()
            (local-set-key (kbd "<f8>") 'mmm-parse-buffer)
            (setq mmm-classes '(erb-code))
            (mmm-mode-on)))
(require 'ruby-electric)
(defun my-ruby-mode-hook ()
  (ruby-electric-mode))
(add-hook 'ruby-mode-hook 'my-ruby-mode-hook)
(require 'ido)
(ido-mode t)
(defun try-complete-abbrev (old)
  (if (expand-abbrev) t nil))

(setq hippie-expand-try-functions-list
      '(try-complete-abbrev
        try-complete-file-name
        try-expand-dabbrev))

(require 'rails)
Bakki K. (Guest)
on 2006-03-15 00:51
(Received via mailing list)
Carmen,

Thank you for your help. I will have to see which of the .el you have
listed is already in site-lisp and add those which are missing. I'll
give your .emacs a try and see how it works.

-bakki
David N. Welton (Guest)
on 2006-03-15 01:32
(Received via mailing list)
What I'd really like is a trick so that psgml mode 'knows' what the DTD
 is, and where the current file fits into the layout, when dealing with
anything other than layouts.

--
David N. Welton
- http://www.dedasys.com/davidw/

Linux, Open Source Consulting
- http://www.dedasys.com/
This topic is locked and can not be replied to.