OVH Cloud OVH Cloud

Style C++ Stroustrup dès l'ouverture d'un fichier cpp.

12 réponses
Avatar
Stephane Wirtel
Bonjour,

Bien qu'il soit possible de spécifier le mode majeur à employer lors de l'ouverture d'un fichier C/C++,
serait-il possible de spécifier par défaut le style à utiliser pour ces mêmes fichiers ?

Merci,

Stéphane

10 réponses

1 2
Avatar
Matthieu Moy
Stephane Wirtel writes:

Bonjour,

Bien qu'il soit possible de spécifier le mode majeur à employer lors de l'ouverture d'un fichier C/C++,
serait-il possible de spécifier par défaut le style à utiliser pour ces mêmes fichiers ?



Avec un magic-cookie, probablement :

http://www.linux-france.org/article/appli/emacs/manuel/html/variables.html#FILE-VARIABLES

C-h f c-set-style


Sinon, avec un hook bien placé dans ton .emacs.el en t'inspirant de

(defun toto-find-file-hook ()
(when (and (buffer-file-name)
(string-match "bla bla bla" (buffer-file-name)))
(bla bla bla)))
(add-hook 'find-file-hooks 'toto-find-file-hook)

--
Matthieu
Avatar
drkm
Matthieu Moy writes:

Avec un magic-cookie, probablement :



'c-file-style' et (info "(cc-mode)File Styles").

C-h f c-set-style

Sinon, avec un hook bien placé dans ton .emacs.el en t'inspirant de



Pour ce genre de chose (s'il n'y avait pas déjà la variable
'c-file-style'), je crée une variable locale, dont la valeur par
défaut est nil (ou autre). J'ajoute un hook dans les modes qui
vont bien, qui teste la valeur de la variable et agit en
conséquence. Il suffit alors d'ajouter la variable aux File
Local Variables.

--drkm
Avatar
Stephane Wirtel
drkm a écrit :
Matthieu Moy writes:


Avec un magic-cookie, probablement :




'c-file-style' et (info "(cc-mode)File Styles").


C-h f c-set-style




Sinon, avec un hook bien placé dans ton .emacs.el en t'inspirant de




Pour ce genre de chose (s'il n'y avait pas déjà la variable
'c-file-style'), je crée une variable locale, dont la valeur par
défaut est nil (ou autre). J'ajoute un hook dans les modes qui
vont bien, qui teste la valeur de la variable et agit en
conséquence. Il suffit alors d'ajouter la variable aux File
Local Variables.

--drkm


Merci à tous,

Je vais essayer et modifier mon .emacs en conséquence.

Stéphane
Avatar
drkm
Stephane Wirtel writes:

Je vais essayer et modifier mon .emacs en conséquence.



Je viens de relire ton message initial, et je me demande si tu
ne veux pas tout simplement 'c-default-style', cfr. (info
"(ccmode)Coosing a Style").

'c-file-style', évidemment, c'est pour surcharger par fichier
(c'est tout de même une bonne idée d'utiliser 'c-file-style'
systématiquement lorsqu'il s'agit d'un style built-in, car
quelqu'un d'autre consultant ton fichier aura le même style quoi
qu'il arrive).

--drkm
Avatar
Stephane Wirtel
drkm a écrit :
Stephane Wirtel writes:


Je vais essayer et modifier mon .emacs en conséquence.




Je viens de relire ton message initial, et je me demande si tu
ne veux pas tout simplement 'c-default-style', cfr. (info
"(ccmode)Coosing a Style").

'c-file-style', évidemment, c'est pour surcharger par fichier
(c'est tout de même une bonne idée d'utiliser 'c-file-style'
systématiquement lorsqu'il s'agit d'un style built-in, car
quelqu'un d'autre consultant ton fichier aura le même style quoi
qu'il arrive).



Cela doit être cela, en fait, j'aimerais que lorsque j'ouvre un .cpp ou .hpp
directement le c++-default-style ou le c-default-style soit mappé sur le style de stroustrup.
C'est un style que j'aime bien.

Justement, n'aurais-tu pas connaissance d'une documentation qui me permettrait
de comprendre le fonctionnement des styles emacs, et me donnant la possibilité
de modifier (surcharger) les styles existants, sans devoir créer un nouveau style ?


Merci
Avatar
Stephane Wirtel
ps : pour c-default-style, je regarde google
Avatar
drkm
Stephane Wirtel writes:

ps : pour c-default-style, je regarde google



Les premières choses à faire sont :

C-h v c-default-style <RET>

C-h i g (cc-mode) <RET> i c-default-style <RET>

Tu peux sans doute jeter un oeil à EmacsWiki, sur
<URL:http://www.emacswiki.org/>. Ça m'étonnerait qu'il n'y ai
pas une entrée sur le sujet (chercher après quelque chose comme
Programming > CC Mode > Styles).

Et puis, en voyant comment Google traite les-noms-comme-ceci,
c'est parfois pas simple de chercher après un symbole Lisp.

--drkm
Avatar
Sébastien Kirche
Le 7 July 2005 à 17:07, drkm vraute :

Et puis, en voyant comment Google traite les-noms-comme-ceci,
c'est parfois pas simple de chercher après un symbole Lisp.



Ah ? Pourtant il me semble ne pas avoir de problème habituellement.

Tu aurais un exemple de recherche problématique ?

--
Sébastien Kirche
Avatar
drkm
Stephane Wirtel writes:

Cela doit être cela, en fait, j'aimerais que lorsque j'ouvre un
.cpp ou .hpp directement le c++-default-style ou le
c-default-style soit mappé sur le style de stroustrup.

C'est un style que j'aime bien.



Donc si je comprend bien, tu aimerais que le style par défaut
de CC Mode soit le style Stroustrup ? Ceci devrait aider (dans
ton .emacs.el) :

(setq c-default-style "stroustrup")

Si tu veux différencier d'après les différents modes de CC
Mode, voici un exemple :

(setq c-default-style '((java-mode . "java")
(c-mode . "gnu")
(other . "stroustrup")))

Justement, n'aurais-tu pas connaissance d'une documentation qui
me permettrait de comprendre le fonctionnement des styles
emacs, et me donnant la possibilité de modifier (surcharger)
les styles existants, sans devoir créer un nouveau style ?



Attention, il ne s'agit pas de styles Emacs. Mais de styles CC
Mode. Ils ne sont donc utilisables que dans les modes de CC Mode
(C, C++, AWK, JAVA, Objective C, etc.).

Les styles de fichier, dans Emacs, ça n'existe pas, à ma
connaissance. J'utilise bien un truc semblable, mais c'est
toujours en cours de construction ...

Pour les styles CC Mode, donc, (info "(ccmode)Styles"). Il
devrait sans doute y avoir des trucs intéresasnts sur EmacsWiki.

PS: Les lignes de tes articles sont bien longues ...

--drkm
Avatar
drkm
Sébastien Kirche writes:

Le 7 July 2005 à 17:07, drkm vraute :

Et puis, en voyant comment Google traite les-noms-comme-ceci,
c'est parfois pas simple de chercher après un symbole Lisp.



Ah ? Pourtant il me semble ne pas avoir de problème habituellement.

Tu aurais un exemple de recherche problématique ?



Comme j'étais dans info.el, j'ai pris le premier symbole,
'Info-history' (j'ai pas pris le tout premier, 'info' :-p). Je
te laisse faire le test.

--drkm
1 2