Je ne saurai plus me passer de C-S-iso-lefttab:
8<------8<------8<------8<------8<------8<------8<------8<------8<------
;; --------------------------
;; * Indente tout le buffer *
(defun pi-indent-all ()
(interactive)
(indent-region (point-min) (point-max) nil))
(global-set-key (kbd "<C-S-iso-lefttab>") 'pi-indent-all)
8<------8<------8<------8<------8<------8<------8<------8<------8<------
Il y a un problème quand le buffer contient du code en verbatim; genre
\begin/end{verbatim} en LaTeX ou <pre></pre> en html où je ne veux pas
que l'indentation soit modifiée.
Quelqu'un a-t-il une idée ou un bout de code dans un coin de disque pour
arranger ça ?
Entre parenthèses, mes recherches m'ont amené sur
http://www.emacswiki.org/emacs/AutoIndentation
où j'y ai découvert comment indenter automatiquement le code lors d'un
« coller »; je trouve ça assez pratique.
--
Philippe Ivaldi.
http://www.piprime.fr/
Le 22 septembre 2009 à 11:32, Ph. Ivaldi a formulé :
Bonjour,
Je ne saurai plus me passer de C-S-iso-lefttab: 8<------8<------8<------8<------8<------8<------8<------8<------8<------ ;; -------------------------- ;; * Indente tout le buffer * (defun pi-indent-all () (interactive) (indent-region (point-min) (point-max) nil)) (global-set-key (kbd "<C-S-iso-lefttab>") 'pi-indent-all) 8<------8<------8<------8<------8<------8<------8<------8<------8<------
C'est quoi la touche iso-lefttab ? TAB ?
Il y a un problème quand le buffer contient du code en verbatim; genre begin/end{verbatim} en LaTeX ou <pre></pre> en html où je ne veux pas que l'indentation soit modifiée.
Quelqu'un a-t-il une idée ou un bout de code dans un coin de disque pour arranger ça ?
Entre parenthèses, mes recherches m'ont amené sur http://www.emacswiki.org/emacs/AutoIndentation où j'y ai découvert comment indenter automatiquement le code lors d'un « coller »; je trouve ça assez pratique.
Faut que j'aille voir ça, je code toute la journée (en principe avec d'autres éditeurs, avec Emacs c'est seulement le soir) mais je me sers quand même assez souvent d'Emacs pour reformater des portions de code (avec M-x align et C-u M-x align-regexp notamment), ou pour utiliser re-builder.
-- Sébastien Kirche
Le 22 septembre 2009 à 11:32, Ph. Ivaldi a formulé :
Bonjour,
Je ne saurai plus me passer de C-S-iso-lefttab:
8<------8<------8<------8<------8<------8<------8<------8<------8<------
;; --------------------------
;; * Indente tout le buffer *
(defun pi-indent-all ()
(interactive)
(indent-region (point-min) (point-max) nil))
(global-set-key (kbd "<C-S-iso-lefttab>") 'pi-indent-all)
8<------8<------8<------8<------8<------8<------8<------8<------8<------
C'est quoi la touche iso-lefttab ? TAB ?
Il y a un problème quand le buffer contient du code en verbatim; genre
begin/end{verbatim} en LaTeX ou <pre></pre> en html où je ne veux pas
que l'indentation soit modifiée.
Quelqu'un a-t-il une idée ou un bout de code dans un coin de disque
pour arranger ça ?
Entre parenthèses, mes recherches m'ont amené sur
http://www.emacswiki.org/emacs/AutoIndentation
où j'y ai découvert comment indenter automatiquement le code lors d'un
« coller »; je trouve ça assez pratique.
Faut que j'aille voir ça, je code toute la journée (en principe avec
d'autres éditeurs, avec Emacs c'est seulement le soir) mais je me sers
quand même assez souvent d'Emacs pour reformater des portions de code
(avec M-x align et C-u M-x align-regexp notamment), ou pour utiliser
re-builder.
Le 22 septembre 2009 à 11:32, Ph. Ivaldi a formulé :
Bonjour,
Je ne saurai plus me passer de C-S-iso-lefttab: 8<------8<------8<------8<------8<------8<------8<------8<------8<------ ;; -------------------------- ;; * Indente tout le buffer * (defun pi-indent-all () (interactive) (indent-region (point-min) (point-max) nil)) (global-set-key (kbd "<C-S-iso-lefttab>") 'pi-indent-all) 8<------8<------8<------8<------8<------8<------8<------8<------8<------
C'est quoi la touche iso-lefttab ? TAB ?
Il y a un problème quand le buffer contient du code en verbatim; genre begin/end{verbatim} en LaTeX ou <pre></pre> en html où je ne veux pas que l'indentation soit modifiée.
Quelqu'un a-t-il une idée ou un bout de code dans un coin de disque pour arranger ça ?
Entre parenthèses, mes recherches m'ont amené sur http://www.emacswiki.org/emacs/AutoIndentation où j'y ai découvert comment indenter automatiquement le code lors d'un « coller »; je trouve ça assez pratique.
Faut que j'aille voir ça, je code toute la journée (en principe avec d'autres éditeurs, avec Emacs c'est seulement le soir) mais je me sers quand même assez souvent d'Emacs pour reformater des portions de code (avec M-x align et C-u M-x align-regexp notamment), ou pour utiliser re-builder.
-- Sébastien Kirche
Alain Ketterlin
Ph. Ivaldi writes:
Je ne saurai plus me passer de C-S-iso-lefttab:
(je ne connais pas iso-lefttab. C'est un mac-ism ?)
Oui, C-h k C-S-TAB me donne <C-S-iso-lefttab> runs the command pi-indent-all etc...
reformater des portions de code (avec M-x align et C-u M-x align-regexp notamment)
Je ne connaissais pas... c'est intéressant. -- Philippe Ivaldi. http://www.piprime.fr/
Ph. Ivaldi
Le 22 septembre 2009, Alain Ketterlin écrivit :
Ph. Ivaldi writes:
Je ne saurai plus me passer de C-S-iso-lefttab:
(je ne connais pas iso-lefttab. C'est un mac-ism ?)
Nonnon, c'est un pc portatif tout ce qu'il y a de plus classique (thinkpad T43).
Quand je fais C-x h TAB,
Cette méthode envoie le curseur au début du buffer et ça m'énerve toujours.
tout s'indente correctement (y compris begin/end{verbatim} et tutti quanti).
Exact pour verbatim en latex-mode, mais pas pour <pre> en html et c'est justement celui-là qui me gène en ce moment. J'ai testé en xhtml-mode et avec nxhtml, c'est le même comportement.
C'est peut-être une piste...
Oui et non. :-) J'ai regardé comment fait latex-mode; il y a pléthore de routines qui calculent l'indentation. Inutile de dire que je ne vais pas m'amuser à rentrer là dedans sur du php/html...
D'un autre côté ça semble prouver qu'il n'y a pas une solution toute faite. D'où la bête idée d'intenter la région qui va du début du buffer jusqu'au prochain <pre.+> puis la région que va du </pre> jusqu'au prochain <pre.+> etc... S'il n'y a pas de <pre>... ben yapas de pb.
Voilà, il n'y a plus qu'à modifier pi-indent-all pour qu'il détecte si on édite du html et appeler le function qui va bien. Tiens... ça me fait mon prochain article sur mon blog.
Merci, -- Philippe Ivaldi. http://www.piprime.fr/
Le 22 septembre 2009, Alain Ketterlin écrivit :
Ph. Ivaldi <invalid@dev.null> writes:
Je ne saurai plus me passer de C-S-iso-lefttab:
(je ne connais pas iso-lefttab. C'est un mac-ism ?)
Nonnon, c'est un pc portatif tout ce qu'il y a de plus classique
(thinkpad T43).
Quand je fais C-x h TAB,
Cette méthode envoie le curseur au début du buffer et ça m'énerve
toujours.
tout s'indente correctement (y compris
begin/end{verbatim} et tutti quanti).
Exact pour verbatim en latex-mode, mais pas pour <pre> en html et c'est
justement celui-là qui me gène en ce moment.
J'ai testé en xhtml-mode et avec nxhtml, c'est le même comportement.
C'est peut-être une piste...
Oui et non. :-)
J'ai regardé comment fait latex-mode; il y a pléthore de routines qui
calculent l'indentation. Inutile de dire que je ne vais pas m'amuser à
rentrer là dedans sur du php/html...
D'un autre côté ça semble prouver qu'il n'y a pas une solution toute
faite.
D'où la bête idée d'intenter la région qui va du début du buffer jusqu'au
prochain <pre.+> puis la région que va du </pre> jusqu'au prochain
<pre.+> etc...
S'il n'y a pas de <pre>... ben yapas de pb.
Voilà, il n'y a plus qu'à modifier pi-indent-all pour qu'il détecte si
on édite du html et appeler le function qui va bien.
Tiens... ça me fait mon prochain article sur mon blog.
(je ne connais pas iso-lefttab. C'est un mac-ism ?)
Nonnon, c'est un pc portatif tout ce qu'il y a de plus classique (thinkpad T43).
Quand je fais C-x h TAB,
Cette méthode envoie le curseur au début du buffer et ça m'énerve toujours.
tout s'indente correctement (y compris begin/end{verbatim} et tutti quanti).
Exact pour verbatim en latex-mode, mais pas pour <pre> en html et c'est justement celui-là qui me gène en ce moment. J'ai testé en xhtml-mode et avec nxhtml, c'est le même comportement.
C'est peut-être une piste...
Oui et non. :-) J'ai regardé comment fait latex-mode; il y a pléthore de routines qui calculent l'indentation. Inutile de dire que je ne vais pas m'amuser à rentrer là dedans sur du php/html...
D'un autre côté ça semble prouver qu'il n'y a pas une solution toute faite. D'où la bête idée d'intenter la région qui va du début du buffer jusqu'au prochain <pre.+> puis la région que va du </pre> jusqu'au prochain <pre.+> etc... S'il n'y a pas de <pre>... ben yapas de pb.
Voilà, il n'y a plus qu'à modifier pi-indent-all pour qu'il détecte si on édite du html et appeler le function qui va bien. Tiens... ça me fait mon prochain article sur mon blog.