这个项目能做什么
FLAP 是一个纯 Fortran 2018 库,旨在帮助开发者构建优雅的命令行界面(CLI),其灵感来自 Python 的 `argparse`。它提供了一套全面的命令行参数解析与验证功能,既适用于简单脚本,也适用于复杂应用。
**主要特性**
- **丰富的参数类型**:支持选项、位置参数、标志、`--x/--no-x` 成对参数、计数器、可重复选项、列表以及 `KEY=VALUE` 映射。
- **验证**:强制检查必需选项、可选值、数值范围、路径检查、互斥集合,并为拼写错误提供“您是不是想输入”建议。
- **子命令**:实现 git 风格的命令,每个命令拥有自己的选项、帮助、别名和共享选项集。
- **多种取值来源**:从命令行、环境变量、INI 配置文件读取值,并跟踪每个值的来源。
- **生成输出**:自动生成帮助文本、man 手册、Markdown 文档,以及适用于 bash、zsh、fish 和 PowerShell 的 shell 补全脚本。
- **受 argparse 启发的 API**:在现代 Fortran 中提供熟悉的类 Python API。
- **多许可证**:可依据 GPL v3、BSD 2/3-Clause 或 MIT 使用,允许在开源和商业项目中灵活使用。
- **多种构建系统**:支持 FoBiS、fpm、CMake 和 GNU Make,便于集成到各种项目设置中。
**快速开始**
该库提供简洁的 API。一个最小示例包括:初始化 `command_line_interface` 对象,使用 `add` 添加参数,使用 `parse` 解析命令行,并使用 `get` 获取值。该库会在需要时自动打印帮助或错误消息。
**文档与示例**
完整文档,包括指南、API 参考以及带有真实输出的可运行示例,可在 [FLAP 网站](https://szaghi.github.io/FLAP/) 上获取。示例位于 `docs/examples/src`。
**安装**
FLAP 可以作为独立库安装,也可以作为项目依赖项安装。它需要 Fortran 2018 编译器,并已在 gfortran 13-16、nvfortran 26.5 和 Intel ifx 2025.3 上测试。每种构建系统的安装说明在 README 中提供。
**许可证**
本项目采用多许可证体系分发:面向 FOSS 项目的 GPL v3,以及面向闭源/商业用途的 BSD 2/3-Clause 或 MIT。用户可以选择最适合自身需求的许可证。
评论
0 人表达喜爱 · 满10人后显示 Deer Point
登录后参与讨论。