Ouverture de session

Commentaires récents

Syndication
Flux XML

emacs-rails

emacs-rails
Posté par orfeu le Vendredi, 18 Mai, 2007 - 6:42pm. Environnements de développement intégré

J'essaie désesperément de faire fonctionner emacs-rails qui n'a pas l'air mal du tout, mais c'est d'un compliqué... Je suis complètement perdu!
Si quelqu'un sait comment faire fonctionner la chose...



[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | sujet précédent | sujet suivant | envoyer par email ]

Options d'affichage des commentaires
Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder" pour activer vos changements.

Sujet: 
Emacs-rails
Auteur: 
Olivier Haegi
Date: 
Ven, 18/05/2007 - 20:23

Je l'utilse. Voici mon .emacs :

(setq load-path (cons "/usr/share/emacs/site-lisp/emacs-rails" load-path))

(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)
(require 'yaml-mode)

(setq rails-use-mongrel t)

(autoload 'javascript-mode "javascript-mode" "JavaScript mode" t)
(setq auto-mode-alist (append '(("\\.js$" . javascript-mode))
auto-mode-alist))

(setq auto-mode-alist (append '(("\\.rhtml$" . html-mode))
auto-mode-alist))

(add-to-list 'auto-mode-alist '("\\.yml$" . yaml-mode))

J'ai les fichiers suivant dans /usr/share/emacs/site-lisp/emacs-rails :

rails-core.el
rails-lib.el
c-mode.el
rails.el
rails-navigation.el
snippet.el
find-recursive.el
rails-ruby.el
yaml-mode.el
rails-for-controller.el
rails-scripts.el
gtags.el
rails-for-layout.el
rails-ui.el
javascript-mode.el
rails-for-rhtml.el
rails-webrick.el

Il y a peu être plus que necessaire.J'ai trouvé les .el non existant dans le package rails sur internet en faisant une recherche sur google.C'est tous ce que je peux te dire.

Bonne chance.


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
apres pas mal de galeres
Auteur: 
orfeu
Date: 
Dim, 20/05/2007 - 03:57

Voici mon .emacs, j'avoue que je n'ai fait que piocher un peu partout mais bon..
il est un peu long mais bon faut bien faire et la je crois approcher de la perfection ;)

(add-to-list 'load-path
"~/.emacsGoodies/site-lisp")
(add-to-list 'load-path
"~/.emacsGoodies/site-lisp/emacs-goodies-el")

;for saving sessions
(require 'session)
(add-hook 'after-init-hook 'session-initialize)
(add-to-list 'kill-emacs-query-functions 'session-save-session)

(autoload 'save-current-configuration "revive" "Save status" t)
(autoload 'resume "revive" "Resume Emacs" t)
(autoload 'wipe "revive" "Wipe Emacs" t)
(add-hook 'after-init-hook 'resume)
(add-to-list 'kill-emacs-query-functions 'save-current-configuration)

; ----------------------------------------------------------------------
; Thème - Affichage
(add-to-list 'default-frame-alist '(height . 45))
(add-to-list 'default-frame-alist '(width . 120))
;speedbar
(add-to-list 'load-path
"~/.emacsGoodies/site-lisp/speedbar")

(defconst my-junk-buffer-name "Junk")
(setq junk-buffer (get-buffer-create my-junk-buffer-name))

(require 'speedbar)
(defconst my-speedbar-buffer-name "SPEEDBAR")
(setq speedbar-buffer (get-buffer-create my-speedbar-buffer-name)
speedbar-frame (selected-frame)
dframe-attached-frame (selected-frame)
speedbar-select-frame-method 'attached
speedbar-verbosity-level 0
speedbar-last-selected-file nil)
(setq right-window (split-window-horizontally 10))
(setq left-window (frame-first-window))
;(walk-windows (lambda (w) (setq left-window w)) "nominibuffer" t)

(set-buffer speedbar-buffer)
(speedbar-mode)
(speedbar-reconfigure-keymaps)
(speedbar-update-contents)
(speedbar-set-timer 1)
(set-window-buffer left-window "SPEEDBAR")
(set-window-dedicated-p left-window t)
(toggle-read-only) ; HACK, REQUIRED for Tramp to work ????
(select-window right-window)
(defun select-right-window () (select-window right-window))

;(defun reset-window-config () (interactive)
; (walk-windows (lambda (w) (when (not (or (eq w left-window) (eq w right-window))) (delete-window w))) "nominibuffer" t)
; )
(defun reset-window-config () (interactive)
(delete-other-windows)
(setq right-window (split-window-horizontally 24))
(setq left-window (frame-first-window))
(set-window-buffer left-window speedbar-buffer)
(set-window-dedicated-p left-window t)
(select-window right-window)
(set-window-dedicated-p right-window nil)
(when (eq speedbar-buffer (window-buffer right-window)) (set-window-buffer right-window (next-buffer)))
(set-window-dedicated-p right-window nil)
)
(global-set-key "\C-x1" 'reset-window-config)

; Installer avant color-theme
(require 'color-theme)
; Un theme trÚs clair
(color-theme-gnome2)

;modify frames size...
(require 'frame-cmds)

; Mettre un titre aux fenêtres
(setq frame-title-format '(buffer-file-name "Emacs: %b (%f)" "Emacs: %b"))

; ----------------------------------------------------------------------
; Edition

;copy paste functions
(setq x-select-enable-clipboard t)
(setq interprogram-paste-function 'x-cut-buffer-or-selection-value)

;completion of vars
(add-to-list 'load-path
"~/.emacsGoodies/site-lisp/semantic")

;(semantic-load-enable-code-helpers)

; Mettre quatre espaces pour l'indentation
(setq c-basic-offset 2)

; Supprime tous les espaces en fin de ligne
; http://www.splode.com/users/friedman/software/emacs-lisp/
(autoload 'nuke-trailing-whitespace "whitespace" nil t)

; Activer la coloration syntaxique
(global-font-lock-mode t)
; Mettre un maximu de couleurs
(setq font-lock-maximum-size nil)

; Mode texte en auto-fill par défaut
; (créé une nouvelle ligne à chaque fois que vous taper du texte)
(add-hook 'text-mode-hook 'turn-on-auto-fill)

; Recherche automatique des fermetures et ouvertures des parenthÚses
; Voir cette adresse pour quelquechose de plus fin :
; http://www.linux-france.org/article/appli/emacs/faq/emacs-faq-7.html
(load-library "paren")
(show-paren-mode 1)

; surlignage d'une région sélectionnée
(transient-mark-mode t)

; ----------------------------------------------------------------------
; Accents
; Ils sont normalement supportés par votre distribution mais on ne sait jamais

(setq selection-coding-system 'compound-text-with-extensions)
(set-terminal-coding-system 'latin-1)
(set-keyboard-coding-system 'latin-1)
(set-language-environment 'latin-1)

; Pour la console
(if (not (eq window-system 'x))
(standard-display-european t))

; ----------------------------------------------------------------------
; Raccourcis claviers

; M-g pour aller à la x-ième ligne
(global-set-key [(meta g)] 'goto-line)

; ----------------------------------------------------------------------
; Divers

; Mettre tous les fichiers de sauvegarde dans un seul répertoire
(setq backup-directory-alist
'(("." . "~/.emacs-backup-files/")))

; Pour ne pas avoir à taper en entier la réponse yes/no
(fset 'yes-or-no-p 'y-or-n-p)

; Affichage des images et fichiers compressés
(setq auto-image-file-mode t)
(setq auto-compression-mode t)

; Molette de la souris
(defun up-slightly () (interactive) (scroll-up 5))
(defun down-slightly () (interactive) (scroll-down 5))
(global-set-key [mouse-4] 'down-slightly)
(global-set-key [mouse-5] 'up-slightly)
(defun up-one () (interactive) (scroll-up 1))
(defun down-one () (interactive) (scroll-down 1))
(global-set-key [S-mouse-4] 'down-one)
(global-set-key [S-mouse-5] 'up-one)
(defun up-a-lot () (interactive) (scroll-up))
(defun down-a-lot () (interactive) (scroll-down))
(global-set-key [C-mouse-4] 'down-a-lot)
(global-set-key [C-mouse-5] 'up-a-lot)

; ----------------------------------------------------------------------
; HTML - CSS

; ----------------------------------------------------------------------
;Ruby & Rails
;RUby
(add-to-list 'load-path
"~/.emacsGoodies/site-lisp/ruby1.8-elisp")

;rails
(setq load-path (cons "~/.emacsGoodies/site-lisp/rails" load-path))
(require 'snippet)
(require 'rails)
; associate ruby-mode with .rb files
(add-to-list 'auto-mode-alist '("\.rb$" . ruby-mode))

;multiple mode for.rhtml
(add-to-list 'load-path
"~/.emacsGoodies/site-lisp/mmm")

(require 'mmm-mode)
(require 'mmm-auto)
(setq mmm-global-mode 'maybe)
(setq mmm-submode-decoration-level 2)
(set-face-background 'mmm-output-submode-face "MediumSlateBlue")
(set-face-background 'mmm-code-submode-face "MediumSlateBlue")
(set-face-background 'mmm-comment-submode-face "DarkOliveGreen")
(mmm-add-classes
'((erb-code
:submode ruby-mode
:match-face (("


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
et encore un mode utile
Auteur: 
orfeu
Date: 
Sam, 19/05/2007 - 04:45

frame-cmds pour modifire la taille des fenetres


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
speedbar
Auteur: 
orfeu
Date: 
Sam, 19/05/2007 - 02:05

ce mode c'est de la boulette!


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
merci...
Auteur: 
orfeu
Date: 
Ven, 18/05/2007 - 23:54

Je viens de decouvrir emacs, ca a l'air puissant et compliqué a la fois...
j'ai pas bien compris cette histoire de double mode pour les fichiers rhtml... Est-ce que tu t'en sert? Est-il utile?
ECB est trop bien pour explorer les arborescences aussi...
Faut absolument democratiser cet outil! meme si aux premiers abords ca ressemble a rien!


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
emacs
Auteur: 
jasperiel
Date: 
Sam, 19/05/2007 - 17:10

> J'ai pas bien compris cette histoire de double mode
> pour les fichiers rhtml... Est-ce que tu t'en sert? Est-il utile?

MMM ou Multi Major Mode est un outil quil permet d'utiliser plusieurs Major Modes au sein d'un fichier. Il faut savoir qu'un Major Mode est un 'format' de fichier avec ses regles de syntaxe, coloration, indentation...
Bref, en theorie y'a qu'un Major Mode actif a la fois par fichier, sauf que dans le RHTML tu veux visiblement avoir deux modes : du HTML tout le temps, et du Ruby-mode entre les balises <% %>
MMM permet ca.

Apres, est-ce utile ? Je dirais pas trop car je code tres peu de Ruby dans les RHTML, je fais tout dans les helpers. Mais c'est aussi justement parce que j'ai pas mis MMM que j'aime bien separer, comme ca j'ai l'indentation et la coloration dans les helpers (.rb) alors que je l'ai pas dans les RHTML.

Si je l'avais, est-ce que ca changerait ?
Je ne crois pas, car plus ton code est lie au RHTML moins c'est facile a maintenir, et plus tes fichiers RHTML (avec une syntaxe moche) sont faciles a lire.

Le Ruby a vraiment une syntaxe plus agreable ;)

> ECB est trop bien pour explorer les arborescences aussi...
> Faut absolument democratiser cet outil!

Il est dispo et tres populaire (comme VIM, meme si les guerres entre emacs-users et vim-users sont frequentes et violentes).

> meme si aux premiers abords ca ressemble a rien!

Baaaah genre ! C'est une insulte la :P


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
c'est pas un peu trop vieux comme truc
Auteur: 
orfeu
Date: 
Dim, 20/05/2007 - 00:46

J'ai l'impression que les gens l'ont abandonné au alentours de 2005
Les trois quart des modes datrent de cette epoque la, et vu comme les technologies avancent de nos jours, ca veut peut etre dire qqch... meme si je kiffe le principe de ne pas lacher le clavier d'une semelle :)


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
mmm?
Auteur: 
jasperiel
Date: 
Dim, 20/05/2007 - 18:14

Si tu parles de MMM peut-etre. Mais si tu parles d'emacs, absolument pas !
Ca fait plus de 25 ans qu'il a des fans et il est toujours en developpement tres actif ! C'est un editeur extremement puissant et customisable, et le nombre de scripts qui ont ete developpes (en Lisp, un langage que j'aimerais bien l'apprendre bientot) en font un outil ideal pour beaucoup de choses.

C'est sur, l'approche editeur de texte est peut etre un peu ancienne par rapport a l'approche IDE. Mais deja, emacs bien customise te propose des tas d'interfaces et d'appel a des logiciels externes, specialises et qui font tres bien leur travail (make, gdb...), en emule certains (M-x eshell) et propose quand meme vachement de choses.

Mais bon, perso, j'ai choisi : je suis un fan d'emacs pour longtemps, et c'est pas Eclipse qui m'a fait changer d'avis (je ne maitrise pas encore assez Visual Studio).

A propos, si tu aimes l'approche sans souris, tu aimeras peut-etre le windowmanager ion3 :)


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
emacs
Auteur: 
orfeu
Date: 
Dim, 20/05/2007 - 20:57

Je découvre emacs, et ca m'a l'air pas si mal. ECB est un projet qui n'a pas été touché depuis un bout de temps aussi... pour maitriser emacs faut-il etre un programeur lisp? Peu de choses sont faites pour le rendre user-friendly... C'est un coté qui manque...
Sinon si tu as des petits tips a me donner, ce serait sympa!


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Nouveaux liens

Sondage
Lorsque je développe avec Ruby on Rails c'est principalement sous:
Linux
36%
Mac OS X
30%
Windows
32%
(Free|Open|Net) BSD
1%
Autre...
1%
Nombre de votes: 368

Qui est en ligne
Il y a actuellement 1 utilisateur et 52 invités en ligne.

railsfrance.org - communauté francophone des utilisateurs de Ruby on Rails
[ Hébergement et ressources techniques gracieusement fournis par la SSLL Nuxos Group ]