PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : indent: Code zwischen #ifdef und #else einrücken?



nobody0
12-08-2003, 10:17
Mit dem indent habe ich das Problem, dass zwar mit der Option -ppi 3 einzelne Präprozessor-Anweisungen eingerückt werden (ansonsten wird alles an den Zeilenanfang gerückt), aber nicht der Code dazwischen; alles zwischen z. B. #ifdef u. #else wird an den Zeilenanfang gerückt.

Kann man den indent irgendwie dazu bringen, auch den Code zwischen den eingerückten Anweisungen einzurücken? :confused:

geronet
15-08-2003, 09:27
Ich hab keine einzige Option für dein gewünschtes Verhalten von indent in der man-page gefunden, kannst ja als Feature-request angeben ;)

peschmae
15-08-2003, 10:39
oder schreib ein Script - das dürfte ja nicht allzu schwer werden :)

MfG Peschmä

nobody0
15-08-2003, 18:54
Aha, danke, aber zum Skript fällt mir nix ein - ich kann nur kleine Skripte (u. richtige Programme) :(

Das Problem betrifft eigentlich 2 Sachen:

- Das Einrücken mit -ppi 3 funktioniert bewirkt nur Leerzeichen zwischen # u. der nachfolgenden Präprozessor-Anweisung.
Beispiel:
#ifdef ERGO
# undef ERGO
...
Ich möchte diese eingefügten Leerzeichen, aber vor und nicht nach dem #.

- Der C-Code wird nicht mit den Präprozessoranweisungen eingerückt.

wraith
15-08-2003, 19:03
Original geschrieben von nobody0

Ich möchte diese eingefügten Leerzeichen, aber vor und nicht nach dem #.

Na,das hat schon seinen Gründe,daß das so gemacht wird.
Der Präprozessor ist dumm wie Brot,und es gibt genug Prärpozessoren,die du durcheinander bringst,wenn # nicht auf Spalte 0 steht.
Aktuellen PP ist es wohl egal,aber IIRC hatte ich darüber in den Mozilla CodingConventions gelesen (oder irgendwo anders^^).

Naja,eine Schachtelung von Präprocessoranweisungen wird eh gemißbilligt (wie überhaupt der gesamte Einsatz des PP außer für includes).

nobody0
15-08-2003, 19:10
Ja, aber zumindest den C-Code (z. B. Plattformabhängige Typdefinitionen) möchte ich so eingerückt haben, wie die Präprozessor-Anweisungen. Ohne ist der Code deutlich schwerer lesbar, so dass man da besser auf indent verzichtet.

Übrigens steht -ppi nicht in der Man-Page des indent, obwohl er die Option kenn.