QVINTVS · SCRIBET

Pathie 0.1.1 veröffentlicht

Ich habe Pathie 0.1.1 veröffentlicht.

Soeben habe ich Version 0.1.1 der C++-Programmbibliothek Pathie freigegeben. Bei Pathie handelt es sich um eine BSD-lizenzierte Bibliothek zur Verarbeitung von Unicode-Dateipfaden, die sowohl auf Windows (MSYS2) als auch unter Linux eingesetzt werden kann. Sie stellt eine Reihe von Funktionen sowohl zur Pfadmanipulation (Elternpfad finden, Pfad normalisieren, Erweiterung herausfinden, etc.) als auch zum Abrufen der Standardverzeichnisse von Nutzern (Dokumentenverzeichnis, Konfigurationsverzeichnis, etc) zur Verfügung. Beispiel:

#include <pathie/path.hpp>

// ...

Pathie::Path yourpath("foo/bar/baz");
Pathie::Path parent = yourpath.parent();

Pathie::Path configdir  = Pathie::Path::config_dir();
Pathie::Path exepath    = Pathie::Path::exe();

Pathie ist vollständig auf UTF-8 ausgerichtet, wie man es als Linux-Programmierer gewöhnt ist, d.h. Pfade werden als UTF-8 konstruiert und als UTF-8 zurückgegeben. Unter der Haube wird zur Kommunikation mit dem Betriebssystem dann automatisch die plattformspezifische Kodierung genutzt, d.h. auf Windows UTF-16LE und auf Linux dasjenige Encoding, das die Locale spezifiert (was heutzutage meistens UTF-8 ist).

Diese Veröffentlichung ist im Wesentlichen ein Bugfix-Release. Personen, die Pathie direkt aus dem Git-Repository verwenden, müssen allerdings alsbald ihre #include-Anweisungen verändern, weil der seit langem ausstehende Bug 2 dank TryExceptElse endlich behoben worden ist. Für alle, die Pathie nur aus dem offiziellen Tarball benutzen, gibt es in dieser Hinsicht keine Änderungen.

Daneben wurden diverse Kompilationsprobleme behoben sowie experimentelle Unterstützung für MacOS aufgenommen.

Für diese Version habe ich mehr Pull Requests erhalten als bei je einer Version zuvor. Ich bedanke mich ausdrücklich bei allen Leuten, deren Mitarbeit Pathie besser macht.

Weitere Informationen können der README und der vollständigen Dokumentation entnommen werden, die Liste der Änderungen seit Version 0.1.0 befindet sich im CHANGELOG. Die Programmbibliothek kann von der Projektseite heruntergeladen werden.