Keywords.txt erzeugen

Ich stehe mal wieder vor der Aufgabe, eine keywords.txt für eine Library zu erstellen. Von Hand schreiben ist aufwendig und fehlerträchtig, aber ich finde kein Tool, das mir die Arbeit abnehmen würde. Die meisten im Netz zu findenden Generatoren und Skripte haben entweder Probleme mit komplexeren C++-Strukturen oder mit mehreren Headerdateien.
Damit hat sich immer mal wieder jemand abgegeben, eine ganz gute Zusammenstellung findet sich hier.
Richtig gut funktioniert aber nichts davon, und wenn man das generierte File auf Fehler durchsuchen und ergänzen muss, hat man die gleiche Arbeit wie komplett zu Fuß.
Als Erleichterung wäre immerhin schon gut, wenn man dem Compiler eine Liste der Symbole nach Typ entlocken könnte, aber auch da habe ich noch nichts gefunden.

Hat jemand von Euch einen Tipp?

a) ich mach meine manuell. Nicht alles will ich ins Highlightning übernehmen.
b) verwendest du schon doxygen? Ich könnte mir vorstellen, dass man das damit hinbekommen könnte. Aber ich verwende das bisher nur zum Doku-extrahieren. Zumindest hilft es dabei die Übersicht zu behalten: Einmal die Klasseninventur (KEYWORD1), einmal die (member) Functions (KEYWORD2). Zum Nachkontrollieren schon ok.
c) edit: sehe gerade: GitHub - bengtmartensson/KeywordsTxtGenerator: Automatically generates an Arduino project keywords.txt sollte das in etwa sein...

Ja, Doxygen habe ich auch, aber was mir dabei fehlt, sind die enums und Literale.

da gibst aber auch was um diese für die Doku zu kennzeichnen ... (vermute ich ...)

Was du da verlinkt hast (Danke!) hat zumindest im XSLT eine Ausgabe für Literals drin. Ich muss mir mal das Doxygen-Setting ansehen, da muss es ja ausgelöst werden.

wenst durch bist ersuche ich ganz lieb um dein Doxyfile. profile :wink:

Das ging deutlich einfacher als erwartet! Windows10...

  1. ZIP aus dem Link in Post #2 herunterladen, irgendwo entpacken
  2. Doxygen mit dem entpackten keywords_txt_generator.doxy ausführen (ich hatte vorher mit dem Wizard das Sourceverzeichnis und das entpackte Verzeichnis als Arbeitsbereich ausgewählt)
  3. Es entsteht ein xml\-Verzeichnis.
  4. Mingw-w64 starten
  5. pacman -S mingw-w64-x86_64-libxslt ausführen, um xsltproc zu installieren
  6. in Mingw-w64 mit cd in das entpackte Verzeichnis gehen
  7. make ausführen

Dann bekommt man die Datei keywords.txt. Bei mir steht da tatsächlich alles drin, ohne dass ich in der Source auch nur irgendwas für Doxygen geändert hätte. Teilweise doppelt, etwas Nacharbeit ist also empfehlenswert, aber dennoch ein schönes Ergebnis.