diff --git a/aider/args.py b/aider/args.py index e20d99db4..554931fa8 100644 --- a/aider/args.py +++ b/aider/args.py @@ -823,6 +823,12 @@ def get_parser(default_config_files, git_root): "--editor", help="Specify which editor to use for the /editor command", ) + group.add_argument( + "--install-tree-sitter-language-pack", + action="store_true", + help="Install the tree_sitter_language_pack (experimental)", + default=False, + ) return parser diff --git a/aider/main.py b/aider/main.py index e44961258..6c0468689 100644 --- a/aider/main.py +++ b/aider/main.py @@ -214,6 +214,15 @@ def check_streamlit_install(io): ) +def install_tree_sitter_language_pack(io): + return utils.check_pip_install_extra( + io, + "tree_sitter_language_pack", + "Install tree_sitter_language_pack?", + ["tree-sitter-language-pack", "tree-sitter"], + ) + + def write_streamlit_credentials(): from streamlit.file_util import get_streamlit_file_path @@ -706,6 +715,11 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F analytics.event("exit", reason="Upgrade completed") return 0 if success else 1 + if args.install_tree_sitter_language_pack: + success = install_tree_sitter_language_pack(io) + analytics.event("exit", reason="Install TSLP completed") + return 0 if success else 1 + if args.check_update: check_version(io, verbose=args.verbose)