Anzeige:
Ergebnis 1 bis 6 von 6

Thema: indent: Code zwischen #ifdef und #else einrücken?

  1. #1
    Registrierter Benutzer
    Registriert seit
    22.03.2001
    Beiträge
    650

    Question indent: Code zwischen #ifdef und #else einrücken?

    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?

  2. #2
    Moderator Avatar von geronet
    Registriert seit
    23.05.2001
    Ort
    Grainau
    Beiträge
    96
    Ich hab keine einzige Option für dein gewünschtes Verhalten von indent in der man-page gefunden, kannst ja als Feature-request angeben

  3. #3
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    oder schreib ein Script - das dürfte ja nicht allzu schwer werden

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  4. #4
    Registrierter Benutzer
    Registriert seit
    22.03.2001
    Beiträge
    650
    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.

  5. #5
    Registrierter Benutzer
    Registriert seit
    24.06.2003
    Beiträge
    486
    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).

  6. #6
    Registrierter Benutzer
    Registriert seit
    22.03.2001
    Beiträge
    650
    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.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •