Syntax-Hervorhebung in Emacs. Verschiedene Datentypen mit unterschiedlichen Farben markieren

9

In Emacs ist es möglich, alle Variablen verschiedener Datentypen mit verschiedenen Farben zu markieren? z.B. wenn ich die folgenden Variablen in C / C ++ habe mein Programm

%Vor%

Dann durchgehend würde der Quellcode i und j als rot markiert, g und h als grün, a und b als blau.

Ich bin mir nicht sicher, wie nützlich das in Zukunft sein wird, aber ich glaube, es würde mir beim Lesen von Code helfen, und eine gute Alternative zur ungarischen Notation sein (nicht dass ich diese Notation verwende: D).

    
smilingbuddha 12.12.2011, 20:30
quelle

2 Antworten

4

Nein. Emacs hat keine Ahnung von der Art eines bestimmten Ausdrucks; Dies wäre gleichbedeutend damit, einen signifikanten Teil eines C Compilers in ELisp zu schreiben.

Allerdings gibt es am Ende des Tunnels ein Licht.

Wenn Sie beispielsweise OCaml code mit tuareg-mode bearbeiten, können Sie Emacs nach dem Typ eines Ausdrucks fragen, da der Compiler ocaml diese Informationen bereitstellt. Daher sollten Sie in der Lage sein, Variablen nach Typ zu markieren. Dies ist der Pfad, dem Sie folgen müssen.

Leider liefert gcc diese Informationen nicht; Die Erweiterung gccxml funktioniert jedoch.

Auch andere C Compiler, zB clang , stellen diese Informationen bereit und es gibt eine neue Datei semantic-clang.el , die auf diesen Funktionen beruht (obwohl nur für die Vervollständigung, nicht für die Syntaxhervorhebung).

Also nichts für Sie, aber wenn Sie bereit sind, clang anstelle von gcc zu verwenden und zur Entwicklung von CEDET beizutragen, erhalten Sie möglicherweise, was Sie wollen.

    
sds 03.01.2013 17:57
quelle
1

Nein, es ist nicht möglich, einer bestimmten Variablen in emacs (oder nur für ein bestimmtes Programm) eine bestimmte Farbe zuzuweisen.
Wenn es jedoch nur um die Syntax-Hervorhebung geht, werden natürlich die meisten Sprachen hervorgehoben, und Sie können sogar Syntax-Hervorhebung für Sprachen erstellen, über die emacs nichts wissen würde.
Ex. Smali: Ссылка

    
user1381 21.04.2013 09:37
quelle

Tags und Links