From ff71845f2b5809312fa2eda381518664f3d2bfeb Mon Sep 17 00:00:00 2001 From: Jade Lovelace Date: Mon, 4 May 2026 12:43:27 -0700 Subject: [PATCH] Add Starlark/Buck2 related extensions These are marked as Bazel, because there's no particular reason to treat them as anything else. Additionally, this expands the bazel-verse by adding a Starlark type: https://starlark-lang.org/ which is the language used by Copybara, Bazel, and Buck2. This lets us annotate non-Bazel Starlark as being Starlark but not Bazel, while Bazel Starlark is also Starlark. .sky is used by Copybara (actually more specifically .bara.sky). .star I've seen used in the test suite of starlark-rust, and it seems harmless to add. lib.star is mentioned as a filename in https://starlark-lang.org/spec.html. Reference: - https://buck2.build/docs/bxl/ - https://buck2.build/docs/rule_authors/package_files/ --- identify/extensions.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/identify/extensions.py b/identify/extensions.py index f877350..6b85dfa 100644 --- a/identify/extensions.py +++ b/identify/extensions.py @@ -22,7 +22,8 @@ 'bmp': {'binary', 'image', 'bitmap'}, 'bz2': {'binary', 'bzip2'}, 'bz3': {'binary', 'bzip3'}, - 'bzl': {'text', 'bazel'}, + 'bxl': {'text', 'bazel'}, + 'bzl': {'text', 'bazel', 'starlark'}, 'c': {'text', 'c'}, 'c++': {'text', 'c++'}, 'c++m': {'text', 'c++'}, @@ -247,6 +248,7 @@ 'scm': {'text', 'scheme'}, 'scss': {'text', 'scss'}, 'sh': {'text', 'shell'}, + 'sky': {'text', 'starlark'}, 'sln': {'text', 'sln'}, 'slnx': {'text', 'xml', 'slnx', 'msbuild'}, 'sls': {'text', 'salt'}, @@ -255,6 +257,7 @@ 'spec': {'text', 'spec'}, 'sql': {'text', 'sql'}, 'ss': {'text', 'scheme'}, + 'star': {'text', 'starlark'}, 'sty': {'text', 'tex'}, 'styl': {'text', 'stylus'}, 'sv': {'text', 'system-verilog'}, @@ -390,6 +393,7 @@ 'bblayers.conf': EXTENSIONS['bb'], 'bitbake.conf': EXTENSIONS['bb'], 'Brewfile': EXTENSIONS['rb'], + 'BUCK': EXTENSIONS['bzl'], 'BUILD': EXTENSIONS['bzl'], 'Cargo.toml': EXTENSIONS['toml'] | {'cargo'}, 'Cargo.lock': EXTENSIONS['toml'] | {'cargo-lock'}, @@ -398,7 +402,6 @@ 'config.ru': EXTENSIONS['rb'], 'Containerfile': {'text', 'dockerfile'}, 'CONTRIBUTING': EXTENSIONS['txt'], - 'copy.bara.sky': EXTENSIONS['bzl'], 'COPYING': EXTENSIONS['txt'], 'Dockerfile': {'text', 'dockerfile'}, 'direnvrc': EXTENSIONS['bash'], @@ -418,6 +421,7 @@ 'makefile': EXTENSIONS['mk'], 'NEWS': EXTENSIONS['txt'], 'NOTICE': EXTENSIONS['txt'], + 'PACKAGE': EXTENSIONS['bzl'], 'PATENTS': EXTENSIONS['txt'], 'Pipfile': EXTENSIONS['toml'], 'Pipfile.lock': EXTENSIONS['json'],