À propos du projet

FLAP est une bibliothèque Fortran 2018 pure conçue pour aider les développeurs à créer des interfaces en ligne de commande (CLI) élégantes, en s'inspirant d'`argparse` de Python. Elle offre un ensemble complet de fonctionnalités pour analyser et valider les arguments de ligne de commande, ce qui la rend adaptée aussi bien aux scripts simples qu'aux applications complexes. **Fonctionnalités clés** - **Types d'arguments riches** : prend en charge les options, les arguments positionnels, les indicateurs, les paires `--x/--no-x`, les compteurs, les options répétables, les listes et les tables `KEY=VALUE`. - **Validation** : impose les options requises, les choix, les plages numériques, les vérifications de chemins, les ensembles mutuellement exclusifs, et propose des suggestions « vouliez-vous dire » pour les fautes de frappe. - **Sous-commandes** : met en œuvre des commandes de style git avec leurs propres options, aide, alias et ensembles d'options partagés. - **Sources de valeurs multiples** : lit les valeurs depuis la ligne de commande, les variables d'environnement, les fichiers de configuration INI, et suit la source de chaque valeur. - **Sorties générées** : génère automatiquement le texte d'aide, les pages de manuel, la documentation Markdown et les complétions de shell pour bash, zsh, fish et PowerShell. - **API inspirée d'argparse** : fournit une API familière de type Python dans le Fortran moderne. - **Multi-licence** : disponible sous GPL v3, BSD 2/3-Clause ou MIT, permettant une utilisation flexible dans les projets open source et commerciaux. - **Systèmes de compilation multiples** : prend en charge FoBiS, fpm, CMake et GNU Make pour une intégration facile dans diverses configurations de projet. **Démarrage rapide** La bibliothèque offre une API simple. Un exemple minimal consiste à initialiser un objet `command_line_interface`, à ajouter des arguments avec `add`, à analyser la ligne de commande avec `parse` et à récupérer les valeurs avec `get`. La bibliothèque affiche automatiquement l'aide ou les messages d'erreur lorsque nécessaire. **Documentation et exemples** La documentation complète, comprenant un guide, une référence d'API et des exemples exécutables avec leur sortie réelle, est disponible sur le [site web de FLAP](https://szaghi.github.io/FLAP/). Les exemples se trouvent dans `docs/examples/src`. **Installation** FLAP peut être installé comme bibliothèque autonome ou comme dépendance de projet. Il nécessite un compilateur Fortran 2018 et a été testé avec gfortran 13-16, nvfortran 26.5 et Intel ifx 2025.3. Les instructions d'installation pour chaque système de compilation sont fournies dans le README. **Licence** Ce projet est distribué sous un système de multi-licence : GPL v3 pour les projets FOSS, et BSD 2/3-Clause ou MIT pour un usage closed-source/commercial. Les utilisateurs peuvent choisir la licence qui correspond le mieux à leurs besoins.