www.mikrocontroller.net

Forum: Compiler & IDEs Bash avr-gcc error/warning farbig


Autor: C. H. (_ch_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

gibt es eine Möglichkeit beim Kompilieren errors und warnings in der 
Konsole farbig hervorzuheben?
Gerade wenn man mehrere files kompiliert übersieht man schnell die eine 
oder andere Warnung.
Wie die prinzipiellen Prompt-Farbeinstellungen gemacht werden konnte mir 
google verraten, aber wie triggere ich die Farbauswahl auf das 
Schlüsselwort error oder warning? Braucht's dazu nen workaround im 
Makefile oder ein Skript im Hintergrund?

Gruß,
Christian

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuch's mal damit:
make 2>&1|sed '/error/s/.*/\x1b[31m\0\x1b[m/;/warning/s/.*/\x1b[34m\0\x1b[m/'

Autor: C. H. (_ch_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo yalu,

vielen Dank! Genau das habe ich gesucht.

Nach welchen Stichwörtern muss man suchen um sowas selbst 
herauszufinden? Oder sollte man lieber ein Buch über 
shell-skript-Programierung lesen?

Gruß,
Christian

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Nach welchen Stichwörtern muss man suchen um sowas selbst
> herauszufinden?

Hmm, ich weiß nicht. Vielleicht das Problem erst einmal zerlegen:

- Farbe in der Bash geht mit ANSI-Escape-Sequenzen.
- Die Fehlermeldungen des GCC sind ein (manchmal langer) Textstrom.
- In diesen müssen die Escape-Sequenzen an geeigneter Stelle eingefügt
  werden.
- Textstrom, passende Stellen suchen und Text einfügen klingt
  irgendwie nach sed

Sowohl über ANSI-Escape-Sequenzen als auch über sed weiß Google viel
zu berichten.

> Oder sollte man lieber ein Buch über shell-skript-Programierung
> lesen?

So arg viel Shell-Programmierung ist in dem o.g. Befehl ja nicht drin.
Man muss halt wissen, wie man den Stderr-Output von Make bzw. GCC in
Stdout umleitet, um den Pipe-Operator anwenden zu können. Den Rest
macht Sed.

Aber generell ist es kein Schaden, wenn man etwas Bash-Programmierung
kann. Ebenso sind Sed-, Awk- und Corutils-Kenntnisse immer von
Vorteil. In der Unix-/Linux-Welt wird nun mal viel geskriptet (weil
die Leute im Gegensatz zu den Windozern alle zu faul sind, etwas von
Hand zu machen ;-)), und diese Skripte kann man nur verstehen, ändern
oder selber schreiben, wenn man die o.g. Tools halbwegs kennt.

Autor: C. H. (_ch_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke dir! Das waren genug Stichworte für die nächsten Abende ;)

Gruß,
Christian

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
yalu wrote:

> ..., und diese Skripte kann man nur verstehen, ändern
> oder selber schreiben, wenn man die o.g. Tools halbwegs kennt.

Man sollte der Gerechtigkeit halber sagen, dass reguläre Ausdrücke
generell als "write-only" gelten, d. h. man kann sie mit dem
entsprechenden Wissen relativ einfach zusammenschreiben (und mit
bisschen trial&error testen), aber man kann einen beliebig komplexen
RE, den jemand anders geschrieben hat, als Mensch in der Regel nicht
auf Anhieb verstehen.  Es ist gewissermaßen eine Art vorkompiliertes
Muster, das von einer Maschine gut zu zerlegen ist.  Andererseits
ist mir nichts halbwegs vergleichbares bekannt, dass die
Funktionalität von REs irgendwo mit grafischen Eingabehilfen o. ä.
auch nur annähernd erreichen würde.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt auch colorgcc.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Andererseits ist mir nichts halbwegs vergleichbares bekannt, dass die
> Funktionalität von REs irgendwo mit grafischen Eingabehilfen o. ä.
> auch nur annähernd erreichen würde.

In KDE gibt es ein graphisches Frontend, mit dem man sich REs 
zusammenklicken kann. Parallel dazu sieht man auch immer die 
Text-Version, an der man auch ändern kann. Das sieht dann z.B. so aus:
http://www.linux-user.de/ausgabe/2005/08/090-regex/kde.png

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dass man sowas machen könnte, konnte ich mir vorstellen, aber wirklich
übersichtlicher finde ich es nicht. ;-)  Aber vielleicht kann man das
gut als Trainingswerkzeug benutzen, damit man sich später seine REs
selbst zusammenbasteln kann.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.