Syntax-Highlighting für Delphi/C++Builder
-
Wie groß wäre der Aufwand, das Syntax-Highlighting derart zu erweitern, daß die C++Builder-Schlüsselwörter auch hervorgehoben würden? Da die Schlüsselwörter alle mit "__" präfiziert sind, dürfte es keine Highlighting-Konflikte mit normalem C++-Code geben, also wäre der einfachste Weg wohl, das C++-Highlighting zu erweitern. Ansonsten könnte man auch ein [
bcb
]-Tag einführen.Die zusätzlichen Schlüsselwörter sind:
__asm __automated __cdecl __classid __classmethod __closure __declspec __delphirtti __dispid __emit__ __except __export __fastcall __finally __import __inline __int8 __int16 __int32 __int64 __msfastcall __msreturn __pascal __property __published __rtti __stdcall __thread __try __uuidof
Außerdem kommt es im C++Builder-Unterforum öfters vor, daß man Delphi-Code zitieren möchte. Wäre es möglich, dafür ein zusätzliches Tag einzuführen, vielleicht [
delphi
] oder [pascal
]?
Kommentare sind dort mit { und } bzw. (* und ) abgegrenzt, außerdem sind Zeilenkommentare wie in C++ mit // möglich. Compiler-Direktiven verwenden {$ und } oder ($ und *).// Kommentar { Mehrzeilen- kommentar } (* Noch ein Mehrzeilenkommentar *) {$MINENUMSIZE 4} // Compiler-Direktive (*$HPPEMIT END '#include <something.hpp>'*) // Compiler-Direktive // Reservierte Wörter: and end interface record var array except is repeat var as exports label resourcestring with asm file library set xor begin finalization mod set xor case finally nil shr class for not string const function object then constructor goto of threadvar destructor if or to dispinterface implementation packed try div in procedure type do inherited program unit downto initialization property until else inline raise uses // Kontextsensitive Wörter (am besten auch einfach mit highlighten): absolute export public stdcall abstract external near published strict assembler far nodefault read stored automated final operator readonly unsafe cdecl forward out reference varargs contains helper overload register virtual default implements override reintroduce winapi delayed index package requires write deprecated inline pascal resident writeonly dispid library platform safecall dynamic local private sealed experimental message protected static
-
Das erstere dauert ca. 10 Minuten, das mit Delphi 1-2 Stunden.
Ich habe allerdings mein Entwicklungszeugs zur Zeit nicht dabei... ich habe schon wieder so eine lange Todo-Liste mit Kleinigkeiten...
-
Danke für die Einschätzung. Es eilt ja nicht
Ich wollte nur wissen, ob es grundsätzlich möglich ist, und falls ja, mit welchem Aufwand verbunden.
Wenn man dir die Sache irgendwie vereinfachen kann, gib Bescheid.
-
Builder geht schon.
-
Sehr schön, danke.
-
Habe gerade zufällig diesen Thread gefunden und kann es mir nicht verkneifen...
Done!
// Kommentar { Mehrzeilen- kommentar } (* Noch ein Mehrzeilenkommentar *) {$MINENUMSIZE 4} // Compiler-Direktive (*$HPPEMIT END '#include <something.hpp>'*) // Compiler-Direktive // Reservierte Wörter: and end interface record var array except is repeat var as exports label resourcestring with asm file library set xor begin finalization mod set xor case finally nil shr class for not string const function object then constructor goto of threadvar destructor if or to dispinterface implementation packed try div in procedure type do inherited program unit downto initialization property until else inline raise uses // Kontextsensitive Wörter (am besten auch einfach mit highlighten): absolute export public stdcall abstract external near published strict assembler far nodefault read stored automated final operator readonly unsafe cdecl forward out reference varargs contains helper overload register virtual default implements override reintroduce winapi delayed index package requires write deprecated inline pascal resident writeonly dispid library platform safecall dynamic local private sealed experimental message protected static
Mit nur etwas mehr als einem Jahr Verspätung
Grüssli
-
Dravere schrieb:
Done!
[...]
Mit nur etwas mehr als einem Jahr VerspätungSuper! Jetzt hoffen wir mal, daß Delphi und C++Builder noch eine Weile leben, sonst war's für die Katz
Im Ernst, umsonst wäre es natürlich auch dann nicht, weil so ein Produkt auch noch lange nach dem Ableben benutzt wird, wie man an den zahlreichen BCB5- oder BCB6-Threads sieht.