Anyone using arorem in emacs?

Hi there,

I’m interested in arorem.

Here is some info about my emacs environment:

22.0.50.1 Mac OS X

I have arorem installed here:

/Users/maco/.emacs.d/arorem:
total used in directory 376 available 6705392
drwxr-xr-x 20 maco maco 680 Oct 20 12:27 .
drwxr-xr-x 4 maco maco 136 Oct 20 12:24 …
drwxr-xr-x 11 maco maco 374 Aug 4 14:56 .svn
-rw-r–r-- 1 maco maco 3994 Aug 4 14:56 arorem-abbrevs.el
-rw-r–r-- 1 maco maco 793 Aug 4 14:56 arorem-rhtml.el
-rw-r–r-- 1 maco maco 6377 Aug 4 14:56 arorem.el
-rw-r–r-- 1 maco admin 4669 Jul 30 23:22 find-recursive.el
-rw-r–r-- 1 maco admin 14215 Aug 4 15:07 inf-ruby.el
-rw-r–r-- 1 maco admin 16105 Apr 19 2006 rails-core.el
-rw-r–r-- 1 maco admin 6608 Apr 19 2006
rails-for-controller.el
-rw-r–r-- 1 maco admin 1114 Apr 19 2006 rails-for-layout.el
-rw-r–r-- 1 maco admin 7269 Apr 19 2006 rails-for-rhtml.el
-rw-r–r-- 1 maco admin 6646 Apr 19 2006 rails-lib.el
-rw-r–r-- 1 maco admin 12372 Apr 19 2006 rails-navigation.el
-rw-r–r-- 1 maco admin 1433 Apr 19 2006 rails-ruby.el
-rw-r–r-- 1 maco admin 6867 Apr 19 2006 rails-scripts.el
-rw-r–r-- 1 maco admin 21264 Apr 19 2006 rails-ui.el
-rw-r–r-- 1 maco admin 5242 Apr 19 2006 rails-webrick.el
-rw-r–r-- 1 maco admin 13493 Apr 20 2006 rails.el
-rw-r–r-- 1 maco admin 26309 Jul 30 23:19 snippet.el

In my .emacs I have this:

(setq load-path (append '("~/.emacs.d/arorem") load-path))
(require 'arorem)

When I start emacs I notice some changes.

These items are added to my command completion set:

Possible completions are:
arorem arorem-console
arorem-rhtml arorem-switch-test
arorem-switch-view

When I try to complete the command
rails

I get nothing.

So, I’m worried my arorem setup is not right.

If I can get some answers to the questions below,
maybe I can use those answers to get handier with arorem.

Suppose I’m editing a controller named admin_controller.rb
How do I hot-key to corresponding views?

Suppose I’m editing foo.rhtml
How do I hot-key to get an empty erb tag?
[
currently, if I type <%=, arorem jumps in and gives me this:
<<%= -%>
which is very annoying
]

Suppose I’m editing a model class
How do I hot-key to the corresponding migration script?

How do I tell arorem that my copy of ruby is here:
/Applications/Locomotive2/Bundles/standardRailsSept2006.locobundle/powerpc/bin/ruby

How do I tell arorem I want a console running in a shell buffer?

Thanks,

-Dan

Hi Again,

A quick bit of foot work yielded some answers:

http://dev.technomancy.us/phil/wiki/arorem

* C-c C-v switches between a controller action and the associated 

view
* C-c C-t switches between a controller and its functional test or a
model and its unit test
* C-c C-s launches script/console in inferior-ruby-mode (like
regular
ruby-mode)
* The file arorem-abbrevs.el defines snippets that auto-expand

-Dan

Hi again,

I learned a little more.

I found out that if I type
%=
in an rhtml file,
arorem will transform it into
<%= -%>
I just bumped into this by mistake.

I’m not sure of any other code completion gizmos
have been baked in; I’d like to find the list.

And…
I found some abbreviations here:

arorem-abbrevs.el

This one looks interesting:

%ft

So, I type
%ft
into a list.rhtml file

Then do key strokes

C-x a e

and emacs transforms
%ft
into

<%= form_tag :action => “update” %>

<%= end_form_tag %>

So, that will save me some typing.

Also, I can use
arorem-abbrevs.el
as an informal index of rails syntax:

;;; arorem-abbrevs.el

;; Part of arorem - Another Ruby on Rails Emacs Mode
;; Uses snippet.el to set up auto-expanded abbreviations
;; Thanks to TextMate, Pete Kazmier, and Galinsky Dmitry

(snippet-with-abbrev-table 'arorem-abbrev-table
;; model
(“bt” . “belongs_to”)
(“hm” . “has_many”)
(“ho” . “has_one”)
;; controller renders
(“ra” . “render :action => “$${action}””)
(“ral” . “render :action => “$${action}”, :layout =>
“$${layoutname}””)
(“rf” . “render :file => “$${filepath}””)
(“rfu” . “render :file => “$${filepath}”, :use_full_path =>
$${false}”)
(“ri” . “render :inline => “$${<%= ‘hello’ %>}””)
(“ril” . “render :inline => “$${<%= ‘hello’ %>}”, :locals => {
$${name} => “$${value}” }”)
(“rit” . “render :inline => “$${<%= ‘hello’ %>}”, :type =>
:$${rxml})”)
(“rl” . “render :layout => “$${layoutname}””)
(“rn” . “render :nothing => $${true}”)
(“rns” . “render :nothing => $${true}, :status => $${401}”)
(“rp” . “render :partial => “$${item}””)
(“rpc” . “render :partial => “$${item}”, :collection =>
$${items}”)
(“rpl” . “render :partial => “$${item}”, :locals => { :$${name} =>
“$${value}”}”)
(“rpo” . “render :partial => “$${item}”, :object => $${object}”)
(“rps” . “render :partial => “$${item}”, :status => $${500}”)
(“rt” . “render :text => “$${Text here…}””)
(“rtl” . “render :text => “$${Text here…}”, :layout =>
“$${layoutname}””)
(“rtlt” . “render :text => “$${Text here…}”, :layout =>
$${true}”)
(“rts” . “render :text => “$${Text here…}”, :status => $${401}”)
(“rcea” . “render_component :action => “$${index}””)
(“rcec” . “render_component :controller => “$${items}””)
(“rceca” . “render_component :controller => “$${items}”, :action
=>
“$${index}””)
;; redirects
(“rea” . “redirect_to :action => “$${index}””)
(“reai” . “redirect_to :action => “$${show}”, :id => $${@item}”)
(“rec” . “redirect_to :controller => “$${items}””)
(“reca” . “redirect_to :controller => “$${items}”, :action =>
“$${list}””)
(“recai” . “redirect_to :controller => “$${items}”, :action =>
“$${show}”, :id => $${@item}”)
;; assertions
(“ae” . “assert_equal $${expected}, $${actual}”)
(“ann” . “assert_not_nil $${object}”)
(“ako” . “assert_kind_of $${class}, $${object}”)
(“ars” . “assert_response :$${success}”)
(“ar” . “assert_raises $${Exception} { $. }”)
(“art” . “assert_redirected_to :controller => “$${controller}””)
;; validations
(“va” . “validates_associated :$${attr}”)
(“vc” . “validates_confirmation_of :$${attr}”)
(“ve” . “validates_exclusion_of :$${attr}”)
(“vp” . “validates_presence_of :$${attr}”)
(“vu” . “validates_uniqueness_of :$${attr}”)
(“vn” . “validates_numericality_of :$${attr}”)
(“vf” . “validates_format_of :$${attr}, :with => /$${regex}/”)
;; misc
(“flash” . “flash[:$${notice}] = “$${Text here…}””)
(“logi” . “logger.info “$${Text here…}””)
(“par” . “params[:$${id}]”)
(“ses” . “session[:$${user}]”))

(snippet-with-abbrev-table 'arorem-rhtml-abbrev-table
;; view
("%ft" . “<%= form_tag :action => “$${update}” %>\n$.\n<%=
end_form_tag %>”)
("%lia" . “<%= link_to “$${title}”, :action => “$${index}” %>”)
("%liai" . “<%= link_to “$${title}”, :action => “$${edit}”, :id
=>
$${@item} %>”)
("%lic" . “<%= link_to “$${title}”, :controller => “$${items}”
%>”)
("%lica" . “<%= link_to “$${title}”, :controller => “$${items}”,
:action => “$${index}” %>”)
("%licai" . “<%= link_to “$${title}”, :controller =>
“$${items}”,
:action => “$${edit}”, :id => $${@item} %>”)
("%h" . “<%=h $${@item} %>”)
("%if" . “<% if $${cond} -%>\n$.\n<% end -%>”)
("%ifel" . “<% if $${cond} -%>\n$.\n<% else -%>\n<% end -%>”)
("%unless" . “<% unless $${cond} -%>\n$.\n<% end -%>”)
("%" . “<%$. -%>”)
("%%" . “<%=$. %>”))

-Dan

ok,

I figured out how to hot-key to various locations in my rails tree.

step 1.
go to some random file in the tree,
list.rhtml
for example
type in this emacs command:
rails-minor-mode

Then to go someplace, try this emacs command

rails-nav:goto-

I saw these completions:

rails-nav:goto-controllers rails-nav:goto-helpers
rails-nav:goto-javascripts rails-nav:goto-layouts
rails-nav:goto-migrate rails-nav:goto-models
rails-nav:goto-stylesheets

I tried them out and they worked great.

Next, I used old-fashioned grep to tell me how they are tied to keys:

mac:~/.emacs.d/arorem maco$ grep C-c *el
arorem-rhtml.el: “\C-c\C-v” 'arorem-switch-view)
arorem.el: “\C-c\C-t” 'arorem-switch-test)
arorem.el: “\C-c\C-v” 'arorem-switch-view)
arorem.el: “\C-c\C-s” 'arorem-console)
inf-ruby.el: (define-key inferior-ruby-mode-map “\C-c\C-l”
'ruby-load-file)
inf-ruby.el: (define-key ruby-mode-map “\C-c\C-b” 'ruby-send-block)
inf-ruby.el: (define-key ruby-mode-map “\C-c\M-b”
'ruby-send-block-and-go)
inf-ruby.el: (define-key ruby-mode-map “\C-c\C-x”
'ruby-send-definition)
inf-ruby.el: (define-key ruby-mode-map “\C-c\M-x”
'ruby-send-definition-and-go)
inf-ruby.el: (define-key ruby-mode-map “\C-c\C-r” 'ruby-send-region)
inf-ruby.el: (define-key ruby-mode-map “\C-c\M-r”
'ruby-send-region-and-go)
inf-ruby.el: (define-key ruby-mode-map “\C-c\C-z” 'switch-to-ruby)
inf-ruby.el: (define-key ruby-mode-map “\C-c\C-l” 'ruby-load-file)
inf-ruby.el: (define-key ruby-mode-map “\C-c\C-s” 'run-ruby)
rails-for-rhtml.el: (local-set-key (kbd “\C-c p”)
'rails-rhtml:create-partial-from-selection)
rails-for-rhtml.el: (local-set-key (kbd “\C-c b”)
'rails-rhtml:create-helper-from-block))
rails-ui.el: ((kbd “\C-c g m”) 'rails-nav:goto-models)
rails-ui.el: ((kbd “\C-c g c”) 'rails-nav:goto-controllers)
rails-ui.el: ((kbd “\C-c g h”) 'rails-nav:goto-helpers)
rails-ui.el: ((kbd “\C-c g l”) 'rails-nav:goto-layouts)
rails-ui.el: ((kbd “\C-c g s”) 'rails-nav:goto-stylesheets)
rails-ui.el: ((kbd “\C-c g j”) 'rails-nav:goto-javascripts)
rails-ui.el: ((kbd “\C-c g g”) 'rails-nav:goto-migrate)
rails-ui.el: ((kbd "C-c ") 'rails-lib:run-primary-switch)
rails-ui.el: ((kbd "C-c ") 'rails-lib:run-secondary-switch)
rails-ui.el: ((kbd “\C-c s g c”) 'rails-generate-controller)
rails-ui.el: ((kbd “\C-c s g m”) 'rails-generate-model)
rails-ui.el: ((kbd “\C-c s g s”) 'rails-generate-scaffold)
rails-ui.el: ((kbd “\C-c s g g”) 'rails-generate-migration)
rails-ui.el: ((kbd “\C-c s d c”) 'rails-destroy-controller)
rails-ui.el: ((kbd “\C-c s d m”) 'rails-destroy-model)
rails-ui.el: ((kbd “\C-c s d s”) 'rails-destroy-scaffold)
rails-ui.el: ((kbd “\C-c s c”) 'rails-run-console)
rails-ui.el: ((kbd “\C-c s b”) 'rails-run-breakpointer)
rails-ui.el: ((kbd “\C-c s s”) 'rails-run-sql)
rails-ui.el: ((kbd “\C-c s r”) 'rails-rake)
rails-ui.el: ((kbd “\C-c s w”) 'rails-webrick:start)
rails-ui.el: ((kbd “\C-c f m”) 'rails-find-models)
rails-ui.el: ((kbd “\C-c f c”) 'rails-find-controller)
rails-ui.el: ((kbd “\C-c f h”) 'rails-find-helpers)
rails-ui.el: ((kbd “\C-c f l”) 'rails-find-layout)
rails-ui.el: ((kbd “\C-c f s”) 'rails-find-stylesheets)
rails-ui.el: ((kbd “\C-c f j”) 'rails-find-javascripts)
rails-ui.el: ((kbd “\C-c f g”) 'rails-find-migrate)
rails-ui.el: ((kbd “\C-c f v”) 'rails-find-view)
rails-ui.el: ((kbd “\C-c f d”) 'rails-find-db)
rails-ui.el: ((kbd “\C-c f p”) 'rails-find-public)
rails-ui.el: ((kbd “\C-c f o”) 'rails-find-config)
rails-ui.el: ((kbd “\C-c l”) 'rails-open-log)
rails-ui.el: ((kbd “\C-c \C-t”) 'rails-create-tags)
rails-ui.el: ((kbd "\C-c ") 'rails-webrick:auto-open-browser)
mac:~/.emacs.d/arorem maco$

All I need to do now is figure out how I tell emacs that
on my Mac, ruby is here:

/Applications/Locomotive2/Bundles/standardRailsSept2006.locobundle/powerpc/bin/ruby

not here:

/usr/bin/ruby

Anyone here know how to talk with emacs?

-Dan

On 11/24/06, Dan B. [email protected] wrote:

I forgot to mention that
rails-minor-mode
started working after I added a line to my .emacs.

Thanks a lot for this informative thread. I am using rails with emacs,
and was really looking for a nice rails mode.

raj

oops,

I forgot to mention that
rails-minor-mode
started working after I added a line to my .emacs.

So, now my .emacs has three lines:

;; lines below spaz out emacs in /usr/bin but work with my purple emacs
(setq load-path (append '("~/.emacs.d/arorem") load-path))
(require 'arorem)
(require 'rails)

-Dan

Thanks for the info Dan. I do use rails.el. I’ll give this a try too.
Can you mix this with ecb? I really like ecb for its multi-pane views.

-bakki

uh,

I don’t know.

What are some good google keywords I can use to learn about ecb?

-Dan

Never mind,

I found it:

http://ecb.sourceforge.net/

"
ECB…

The informational windows can contain:

  • A directory tree,
  • a list of source files in the current directory,
  • a list of functions/classes/methods/… in the current file, (ECB
    uses the Semantic Bovinator, or Imenu, or etags, for getting this
    list so
    all languages supported by any of these tools are automatically
    supported by
    ECB too)
  • a history of recently visited files,
  • the Speedbar and
  • output from compilation (the compilation window) and other modes
    like help, grep etc. or whatever a user defines to be displayed in
    this
    window.

As an added bonus, ECB makes sure to keep these informational windows
visible, even when you use C-x 1 and similar commands.
"

ECB looks good.

I wonder if ‘Bovinator’ is a real word?

-Dan

Dear List:

you get ECB here:
http://ecb.sourceforge.net/

The readme says:

ECB requires the following packages:

  • Semantic, author version 1.4 or higher
  • Eieio, author version 0.17 or higher
  • speedbar, author version 0.14beta1 or higher

Download links for above 3 are there:

http://sourceforge.net/project/showfiles.php?group_id=17886

http://sourceforge.net/project/showfiles.php?group_id=17886&package_id=14926&release_id=154524
http://sourceforge.net/project/showfiles.php?group_id=17886&package_id=14925&release_id=104048
http://sourceforge.net/project/showfiles.php?group_id=17886&package_id=14924&release_id=80017

I made copies and put them here:

http://GoodJobFastCar.com/downloads/

-rw-r–r-- 1 peter peter 114994 Nov 26 14:11
speedbar-0.14beta4.tar.gz
-rw-r–r-- 1 peter peter 120643 Nov 26 14:10
eieio-0.17.tar.gz
-rw-r–r-- 1 peter peter 322819 Nov 26 14:05
semantic-1.4.4.tar.gz
-rw-r–r-- 1 peter peter 896382 Nov 26 13:55 ecb-2.32.tar.gz

http://GoodJobFastCar.com/downloads/speedbar-0.14beta4.tar.gz
http://GoodJobFastCar.com/downloads/eieio-0.17.tar.gz
http://GoodJobFastCar.com/downloads/semantic-1.4.4.tar.gz
http://GoodJobFastCar.com/downloads/ecb-2.32.tar.gz

…Peter


Peter S.
[email protected]
http://GoodJobFastCar.com

On 11/26/06, Dan B. [email protected] wrote:

The informational windows can contain:
like help, grep etc. or whatever a user defines to be displayed in this
-Dan

-Dan

On 11/24/06, Dan B. < [email protected]> wrote:

(setq load-path (append '("~/.emacs.d/arorem") load-path))

I figured out how to hot-key to various locations in my rails

'ruby-load-file)

inf-ruby.el: (define-key ruby-mode-map “\C-c\M-r”
rails-ui.el: ((kbd “\C-c g m”) 'rails-nav:goto-models)
rails-ui.el: ((kbd “\C-c s g m”) 'rails-generate-model)
rails-ui.el: ((kbd “\C-c f m”) 'rails-find-models)
rails-ui.el: ((kbd “\C-c l”) 'rails-open-log)
/Applications/Locomotive2/Bundles/standardRailsSept2006.locobundle/powerpc/bin/ruby

arorem will transform it into

C-x a e

(snippet-with-abbrev-table 'arorem-abbrev-table
=>

("rp" . "render :partial => \"$${item}\"")
("rtl" . "render :text => \"$${Text here...}\", :layout =>
;; redirects
;; assertions
("ve" . "validates_exclusion_of :$${attr}")

“$${items}”

("%unless" . "<% unless $${cond} -%>\n$.\n<% end -%>")

Hi Again,
a model and its unit test

On 11/23/06, Dan B. < [email protected]> wrote:

/Users/maco/.emacs.d/arorem:
find-recursive.el

-rw-r–r-- 1 maco admin 6646 Apr 19 2006
rails-webrick.el

I get nothing.
2.
Suppose I’m editing a model class
buffer?


Peter S.
[email protected]
http://GoodJobFastCar.com

Hi Dan,

Looks like you found everything needed. I love ecb+emacs. On Debian I
use it with emacs21(X11) but on the Mac I use it with Aquamacs and it
works great on both.

-bakki

About ECB,

The first thing I installed was speedbar.

I plays well with rails editing tasks.

My installation recipe for speedbar:

  1. make note of where I put speedbar:
    I put it here:
    /software/ecb/speedbar-0.14beta4/

  2. Add lines to my .emacs:

; ecb stuff
(add-to-list 'load-path “/software/ecb/speedbar-0.14beta4”)
(autoload 'speedbar-frame-mode “speedbar” “Popup a speedbar frame” t)
(autoload 'speedbar-get-focus “speedbar” “Jump to speedbar frame” t)
(global-set-key [(f4)] 'speedbar-get-focus)
;; HTML fancy chapter tags
(add-hook 'html-mode-hook (lambda () (require 'sb-html)))

  1. run
    eval-current-buffer
    while in .emacs

  2. Watch a window appear. It is named speedbar.
    It’s behavior is intuitive. Just ignore it while you
    do some editing. You will see that it changes and constantly
    displays a list of files and folders near your editing activity.
    Eventually you will see some file or directory in speedbar
    that you will want so just click on it to get it. I consider
    it a nice complement to my favorite emacs call which is
    buffer-menu.

  3. Speed bar by itself is very useful when I edit files in
    a rails tree. These directories are just a quick click away:

app
components
config
db
doc
lang
lib
log
public
script
test
tmp
vendor

  1. Speed bar knows about methods in a .rb file.
    Each .rb file has a [+] drill-downer which I use
    to display methods. After I click on a method,
    emacs opens the .rb file right at that method; I like it.

Next, I’ll install
eieio-0.17.tar.gz

and see what that does.

…Peter


Peter S.
[email protected]
http://GoodJobFastCar.com http://goodjobfastcar.com/

Well,

I installed eieio.

I did it by adding one line to my .emacs:

(add-to-list 'load-path “/software/ecb/eieio-0.17”)

I did not see any obvious changes to my emacs environment.

I found some documentation here:

http://cedet.sourceforge.net/info/eieio.html

I read :

EIEIO is a framework for writing object oriented applications in emacs
lisp.

Today, I’m writing object oriented applications in ruby, not emacs
lisp.

I’ll ignore eieio for now.

Next, I’ll study:

semantic-1.4.4.tar.gz

…Peter


Peter S.
[email protected]
http://GoodJobFastCar.com

Yep,

I installed semantic-1.4.4

  1. I added syntax to my .emacs:

(add-to-list 'load-path “/software/ecb/semantic-1.4.4”)
(setq semantic-load-turn-everything-on t)
(require 'semantic-load)

  1. I looked for keys:

mac:/software/ecb/semantic-1.4.4 maco$ grep define-key *el
semantic-bnf.el: (define-key semantic-bnf-map “\t”
'semantic-bnf-indent)
semantic-bnf.el: (define-key semantic-bnf-map “|”
'semantic-bnf-electric-punctuation)
semantic-bnf.el: (define-key semantic-bnf-map “;”
'semantic-bnf-electric-punctuation)
semantic-bnf.el: (define-key semantic-bnf-map “#”
'semantic-bnf-electric-punctuation)
semantic-bnf.el: (define-key semantic-bnf-map “%”
'semantic-bnf-electric-punctuation)
semantic-bnf.el: (define-key semantic-bnf-map “(”
'semantic-bnf-electric-punctuation)
semantic-bnf.el: (define-key semantic-bnf-map “)”
'semantic-bnf-electric-punctuation)
semantic-bnf.el: (define-key semantic-bnf-map “\C-c\C-c”
'semantic-bnf-generate-and-load-no-indent)
semantic-bnf.el: (define-key semantic-bnf-map “\C-cc”
'semantic-bnf-generate-and-load)
semantic-bnf.el: (define-key semantic-bnf-map “\C-cr”
'semantic-bnf-generate-one-rule)
semantic-bnf.el: (define-key semantic-bnf-map “\M-\t”
'semantic-bnf-complete)
semantic-ia-sb.el: (define-key semantic-ia-sb-key-map “\C-m”
'speedbar-edit-line)
semantic-ia-sb.el: (define-key semantic-ia-sb-key-map “I”
'semantic-ia-sb-tag-info)
semantic-util-modes.el: (define-key km “\C-c,`”
'semantic-show-unmatched-syntax-next)
senator.el: (define-key km “i” 'senator-isearch-toggle-semantic-mode)
senator.el: (define-key km “j” 'senator-jump)
senator.el: (define-key km “p” 'senator-previous-token)
senator.el: (define-key km “n” 'senator-next-token)
senator.el: (define-key km “\t” 'senator-complete-symbol)
senator.el: (define-key km " " 'senator-completion-menu-popup)
senator.el: (define-key km “\C-w” 'senator-kill-token)
senator.el: (define-key km “\M-w” 'senator-copy-token)
senator.el: (define-key km “\C-y” 'senator-yank-token)
senator.el: (define-key km senator-prefix-key senator-prefix-map)
senator.el: (define-key km [(shift mouse-3)]
'senator-completion-menu-popup)
senator.el: (define-key mode-line-mode-menu [senator-minor-mode]
senator.el:(define-key isearch-mode-map
mac:/software/ecb/semantic-1.4.4 maco$ grep set-key *el
mac:/software/ecb/semantic-1.4.4 maco$

I put an application.rb in my emacs buffer.

I ran senator-minor-mode

It told me:
application.rb was not setup for parsing.

More info about semantic is here:

http://cedet.sourceforge.net/semantic.shtml

…Peter


Peter S.
[email protected]
http://GoodJobFastCar.com

Anyway…
here is a recap of how I got ECB and arorem to work on my Mac.

-Get emacs 22.0.50.1
-Get arorem
-Get ecb
-Get eieio
-Get semantic
-Get speedbar

http://www.google.com/search?hl=en&q=emacs+22.0.50.1+os+x
http://GoodJobFastCar.com/downloads/arorem-2006-1126.tgz
http://GoodJobFastCar.com/downloads/ecb-2.32.tar.gz
http://GoodJobFastCar.com/downloads/eieio-0.17.tar.gz
http://GoodJobFastCar.com/downloads/semantic-1.4.4.tar.gz
http://GoodJobFastCar.com/downloads/speedbar-0.14beta4.tar.gz

Unpack the files somewhere convenient
(for me this place is /software/)

Add appropriate entries to .emacs:

(setq load-path (append '("/software/arorem") load-path))
(require 'arorem)
(require 'rails)
; ecb stuff
(add-to-list 'load-path “/software/ecb/speedbar-0.14beta4”)
(autoload 'speedbar-frame-mode “speedbar” “Popup a speedbar frame” t)
(autoload 'speedbar-get-focus “speedbar” “Jump to speedbar frame” t)
(global-set-key “\C-c f b” 'speedbar-get-focus)
;; HTML fancy chapter tags
(add-hook 'html-mode-hook (lambda () (require 'sb-html)))
(add-to-list 'load-path “/software/ecb/eieio-0.17”)
(add-to-list 'load-path “/software/ecb/semantic-1.4.4”)
(setq semantic-load-turn-everything-on t)
(require 'semantic-load)
(add-to-list 'load-path “/software/ecb/ecb232”)
(require 'ecb)

stop and start emacs

edit a .rb or .rhtml in a rails tree.

You should see a RubyOnRails entry in your emacs menu at the top.

At this point I usually give an emacs command in the command window:

speedbar

and the speedbar will appear which contains a convenient list of
files and directories near where I’m editing.

I actually find it a little more convenient than the
RubyOnRails menu.

Once I memorize the hot-keys, it will be even quicker:

rails-ui.el: ((kbd “\C-c f m”) 'rails-find-models)
rails-ui.el: ((kbd “\C-c f c”) 'rails-find-controller)
rails-ui.el: ((kbd “\C-c f h”) 'rails-find-helpers)
rails-ui.el: ((kbd “\C-c f l”) 'rails-find-layout)
rails-ui.el: ((kbd “\C-c f s”) 'rails-find-stylesheets)
rails-ui.el: ((kbd “\C-c f j”) 'rails-find-javascripts)
rails-ui.el: ((kbd “\C-c f g”) 'rails-find-migrate)
rails-ui.el: ((kbd “\C-c f v”) 'rails-find-view)
rails-ui.el: ((kbd “\C-c f d”) 'rails-find-db)
rails-ui.el: ((kbd “\C-c f p”) 'rails-find-public)
rails-ui.el: ((kbd “\C-c f o”) 'rails-find-config)
rails-ui.el: ((kbd “\C-c l”) 'rails-open-log)

…Peter

Peter S.
[email protected]
http://GoodJobFastCar.com http://goodjobfastcar.com/

Next,

I installed

ecb-2.32.tar.gz

un packing it in /software/ecb/ecb232

Then I added 2 lines to my .emacs:

(add-to-list 'load-path “/software/ecb/ecb232”)
(require 'ecb)

After I did
eval-current-buffer

I looked at a
app/controllers/application.rb
file

A RubyOnRails item appeared in my menu bar
with a lot of different navigation items.

I put my cursor on this and tried:
‘Rails API doc at point’

It gave me an error:

Please configure variable rails-api-root

Some other items worked well though:

goto migrate
goto models
open development log
context sensitive snippets of syntax
search documentation

…Peter

Peter S.
[email protected]
http://GoodJobFastCar.com http://goodjobfastcar.com/

Peter,

Once you have the modes enabled, you can see what key bindings are in
effect within Emacs. Do a ‘C-h b’ or ‘M-x describe-bindings’ to see
the current key bindings for that buffer.

  • Hitesh

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs