sqlfmt 项目使用教程
sqlfmtSQL formatter with width-aware output项目地址:https://gitcode.com/gh_mirrors/sq/sqlfmt
1. 项目的目录结构及介绍
sqlfmt 是一个用于格式化 SQL 代码的开源工具。以下是该项目的目录结构及其介绍:
sqlfmt/
├── .github/
│ └── workflows/
│ └── ci.yml
├── docs/
│ ├── getting_started.md
│ ├── integrations.md
│ └── style.md
├── sqlfmt/
│ ├── __init__.py
│ ├── cli.py
│ ├── formatter.py
│ └── lexer.py
├── tests/
│ ├── __init__.py
│ ├── test_cli.py
│ ├── test_formatter.py
│ └── test_lexer.py
├── .gitignore
├── LICENSE
├── README.md
├── pyproject.toml
└── setup.py
目录结构介绍
.github/workflows/ci.yml
: GitHub Actions 的持续集成配置文件。docs/
: 项目文档目录,包含入门指南、集成文档和样式文档。sqlfmt/
: 项目的主要代码目录,包含初始化文件、命令行接口、格式化器和词法分析器。tests/
: 测试代码目录,包含各种测试脚本。.gitignore
: Git 忽略文件配置。LICENSE
: 项目许可证。README.md
: 项目介绍和使用说明。pyproject.toml
: 项目构建配置文件。setup.py
: 项目安装脚本。
2. 项目的启动文件介绍
项目的启动文件是 sqlfmt/cli.py
,它包含了命令行接口的实现。以下是该文件的主要内容介绍:
# sqlfmt/cli.py
import argparse
from .formatter import format_file
def main():
parser = argparse.ArgumentParser(description="Autoformatter for SQL")
parser.add_argument("files", nargs="*", help="Files to format")
parser.add_argument("--check", action="store_true", help="Check if files are formatted")
parser.add_argument("--diff", action="store_true", help="Show diff of changes")
parser.add_argument("--line-length", type=int, default=88, help="Desired line length")
args = parser.parse_args()
for file in args.files:
format_file(file, args.check, args.diff, args.line_length)
if __name__ == "__main__":
main()
启动文件介绍
main()
: 主函数,负责解析命令行参数并调用格式化函数。argparse.ArgumentParser
: 用于解析命令行参数。format_file()
: 格式化单个文件的函数,位于formatter.py
中。
3. 项目的配置文件介绍
项目的配置文件主要是 pyproject.toml
,它包含了项目的构建和依赖配置。以下是该文件的主要内容介绍:
# pyproject.toml
[tool.poetry]
name = "sqlfmt"
version = "0.1.0"
description = "Autoformatter for SQL"
authors = ["Your Name <you@example.com>"]
license = "MIT"
[tool.poetry.dependencies]
python = "^3.8"
[tool.poetry.dev-dependencies]
pytest = "^6.2"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
配置文件介绍
[tool.poetry]
: 项目的基本信息,包括名称、版本、描述、作者和许可证。[tool.poetry.dependencies]
: 项目的依赖配置,指定了所需的 Python 版本。[tool.poetry.dev-dependencies]
: 开发依赖配置,例如测试框架pytest
。[build-system]
: 构建系统配置,指定了构建所需的工具和后端。
以上是 sqlfmt 项目的基本使用教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望这些信息能帮助你更好地理解和使用该项目。
sqlfmtSQL formatter with width-aware output项目地址:https://gitcode.com/gh_mirrors/sq/sqlfmt