tree-sitter.grammars: pin known bad with pythonPackages.tree-sitter 0.24

This commit prevents the update script from touching the files listed
under `pinnedGrammars`. This way breakages cannot accidentally be caused
again (re: #414233 breaking the heck out of staging-next et al)

+20
+16
pkgs/development/tools/parsing/tree-sitter/update.nix
··· 494 }; 495 }; 496 497 allGrammars = 498 let 499 treeSitterOrgaGrammars = lib.listToAttrs ( ··· 523 inherit 524 knownTreeSitterOrgGrammarRepos 525 ignoredTreeSitterOrgRepos 526 ; 527 } 528 (
··· 494 }; 495 }; 496 497 + pinnedGrammars = [ 498 + "tree-sitter-bash" 499 + "tree-sitter-bibtex" 500 + "tree-sitter-c" 501 + "tree-sitter-comment" 502 + "tree-sitter-fortran" 503 + "tree-sitter-hcl" 504 + "tree-sitter-hyprlang" 505 + "tree-sitter-llvm" 506 + "tree-sitter-markdown" 507 + "tree-sitter-query" 508 + "tree-sitter-rust" 509 + ]; 510 + pinnedGrammarsJson = jsonFile pinnedGrammars; 511 + 512 allGrammars = 513 let 514 treeSitterOrgaGrammars = lib.listToAttrs ( ··· 538 inherit 539 knownTreeSitterOrgGrammarRepos 540 ignoredTreeSitterOrgRepos 541 + pinnedGrammars 542 ; 543 } 544 (
+4
pkgs/development/tools/parsing/tree-sitter/update_impl.py
··· 96 "outputDir": outputDir, 97 "nixRepoAttrName": nixRepoAttrName, 98 }: 99 token: str | None = os.environ.get("GITHUB_TOKEN", None) 100 out = run_cmd( 101 curl_github_args(
··· 96 "outputDir": outputDir, 97 "nixRepoAttrName": nixRepoAttrName, 98 }: 99 + if repo in args["pinnedGrammars"]: 100 + log(f"Grammar {repo} is pinned, skipping upgrade...") 101 + return 102 + 103 token: str | None = os.environ.get("GITHUB_TOKEN", None) 104 out = run_cmd( 105 curl_github_args(