1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-14 16:33:45 -05:00
denoland-deno/tools/format.py

97 lines
2.6 KiB
Python
Raw Normal View History

#!/usr/bin/env python
# Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
import os
import sys
import argparse
from third_party import get_buildtools_tool_path, google_env, python_env
from util import git_ls_files, third_party_path, root_path, run
def main():
os.chdir(root_path)
parser = argparse.ArgumentParser()
parser.add_argument("--cc", help="run clang-format", action="store_true")
parser.add_argument("--gn", help="run gn format", action="store_true")
parser.add_argument("--js", help="run prettier", action="store_true")
parser.add_argument("--py", help="run yapf", action="store_true")
parser.add_argument("--rs", help="run rustfmt", action="store_true")
args = parser.parse_args()
did_fmt = False
if args.cc:
clang_format()
did_fmt = True
if args.gn:
gn_format()
did_fmt = True
if args.js:
prettier()
did_fmt = True
if args.py:
yapf()
did_fmt = True
if args.rs:
rustfmt()
did_fmt = True
if not did_fmt:
clang_format()
gn_format()
prettier()
yapf()
rustfmt()
def clang_format():
print "clang-format"
exe = get_buildtools_tool_path("clang-format")
source_files = git_ls_files(root_path, ["*.cc", "*.h"])
run([exe, "-i", "-style", "Google", "--"] + source_files,
env=google_env(),
quiet=True)
def gn_format():
print "gn format"
exe = get_buildtools_tool_path("gn")
source_files = git_ls_files(root_path, ["*.gn", "*.gni"])
run([exe, "format", "--"] + source_files, env=google_env(), quiet=True)
def prettier():
print "prettier"
script = os.path.join(third_party_path, "node_modules", "prettier",
"bin-prettier.js")
source_files = git_ls_files(root_path, ["*.js", "*.json", "*.ts", "*.md"])
run(["node", script, "--write", "--loglevel=error", "--"] + source_files,
shell=False,
quiet=True)
def yapf():
print "yapf"
script = os.path.join(third_party_path, "python_packages", "bin", "yapf")
source_files = git_ls_files(root_path, ["*.py"])
run([sys.executable, script, "-i", "--"] + source_files,
env=python_env(),
shell=False,
quiet=True)
def rustfmt():
print "rustfmt"
config_file = os.path.join(root_path, ".rustfmt.toml")
source_files = git_ls_files(root_path, ["*.rs"])
run([
"rustfmt",
"--config-path=" + config_file,
"--",
] + source_files,
shell=False,
quiet=True)
if __name__ == "__main__":
sys.exit(main())