2016-05-20 10 views
4

Ich installierte indentbrew dank der Befehl brew install gnu-indent so dass ich jetzt gnu-indent-2.2.10 auf meinem MacOS X weit so installiert haben, so gut. Mein Problem ist, wenn ich eine Datei unter Verwendung GNU Code-Stil einrücken möchte.GNU einrücken Problem mit GNU-Code Stil

Ich meine, ich würde dies gerne konvertieren:

while (foo) { 
} 

In diesem:

while (foo) 
    { 
    } 

So nach der Dokumentation I indent mit dem Parameter gestartet -bl -bli2, um den GNU-Code-Stil zu haben, mit 2 Leerzeichen, nach denen Klammern eingerückt sind, aber was ich tatsächlich bekomme, ist:

while (foo) 
{ 
} 

Es ist wie, ich habe -bl -bli0 verwendet, was auch immer ich nach -bli setze, bekomme ich das gleiche Ergebnis.

Mit anderen Worten davon aus, dass der Gehalt an test.c ist:

while (foo) { 
} 

Wenn ich indent test.c -st -bl -bli2 > test.out starten, ist test.out dann auf meiner Seite:

while (foo) 
{ 
} 

Verpassen ich etwas oder es ist ein Fehler in GNU indent?

Update:

Es scheint Mac OS X verwandt zu sein, weil es auf Debian 8 mit GNU indent 2.2.11 und auf Ubuntu 14.04 mit GNU indent2.2.11 und 2.2.10-2 wie erwartet funktioniert.

+1

Auf meinem 'Debian 8', mit' GNU indent 2.2.11', es funktioniert wie erwartet. Könnten Sie den von Ihnen verwendeten Befehl posten? – LPs

+0

@LPs sogar mit diesem Einzug my-file.c -st -bl -bli2> meine-Datei.out funktioniert nicht auf meiner Seite –

+0

Wirklich nicht wissen. Wahrscheinlich ein Bug oder etwas, das zur Kompatibilität mit lib gehört. – LPs

Antwort

3

ich schließlich erkennen, dass ich die indent Version von Gebräu nicht aber aus XCode, das Problem kommt von der Version von XCode, die nicht wie GNU indent funktionieren. Wenn ich den gleichen Befehl mit gindent statt indent starte, funktioniert es wie erwartet. Ich meine, wenn ich gindent test.c -st -bl -bli2 > test.out starten, bekomme ich, was erwartet wird:

while (foo) 
    { 
    } 
+0

Bella lì ........ :) – LPs

+0

@LPs danke :-) –