forked from mirrors/nixpkgs
Merge pull request #199553 from figsoda/nvim-treesitter
vimPlugins: also update nvim-treesitter grammars in the update script
This commit is contained in:
commit
29b89141bf
|
@ -342,6 +342,7 @@ class Editor:
|
|||
self.default_out = default_out or root.joinpath("generated.nix")
|
||||
self.deprecated = deprecated or root.joinpath("deprecated.json")
|
||||
self.cache_file = cache_file or f"{name}-plugin-cache.json"
|
||||
self.nixpkgs_repo = None
|
||||
|
||||
def get_current_plugins(self) -> List[Plugin]:
|
||||
"""To fill the cache"""
|
||||
|
@ -670,16 +671,15 @@ def update_plugins(editor: Editor, args):
|
|||
|
||||
autocommit = not args.no_commit
|
||||
|
||||
nixpkgs_repo = None
|
||||
if autocommit:
|
||||
nixpkgs_repo = git.Repo(editor.root, search_parent_directories=True)
|
||||
commit(nixpkgs_repo, f"{editor.attr_path}: update", [args.outfile])
|
||||
editor.nixpkgs_repo = git.Repo(editor.root, search_parent_directories=True)
|
||||
commit(editor.nixpkgs_repo, f"{editor.attr_path}: update", [args.outfile])
|
||||
|
||||
if redirects:
|
||||
update()
|
||||
if autocommit:
|
||||
commit(
|
||||
nixpkgs_repo,
|
||||
editor.nixpkgs_repo,
|
||||
f"{editor.attr_path}: resolve github repository redirects",
|
||||
[args.outfile, args.input_file, editor.deprecated],
|
||||
)
|
||||
|
@ -692,7 +692,7 @@ def update_plugins(editor: Editor, args):
|
|||
plugin, _ = prefetch_plugin(pdesc, )
|
||||
if autocommit:
|
||||
commit(
|
||||
nixpkgs_repo,
|
||||
editor.nixpkgs_repo,
|
||||
"{drv_name}: init at {version}".format(
|
||||
drv_name=editor.get_drv_name(plugin.normalized_name),
|
||||
version=plugin.version
|
||||
|
|
|
@ -21,10 +21,13 @@ import inspect
|
|||
import os
|
||||
import sys
|
||||
import logging
|
||||
import subprocess
|
||||
import textwrap
|
||||
from typing import List, Tuple
|
||||
from pathlib import Path
|
||||
|
||||
import git
|
||||
|
||||
log = logging.getLogger()
|
||||
|
||||
sh = logging.StreamHandler()
|
||||
|
@ -76,8 +79,11 @@ def isNeovimPlugin(plug: pluginupdate.Plugin) -> bool:
|
|||
|
||||
|
||||
class VimEditor(pluginupdate.Editor):
|
||||
nvim_treesitter_updated = False
|
||||
|
||||
def generate_nix(self, plugins: List[Tuple[PluginDesc, pluginupdate.Plugin]], outfile: str):
|
||||
sorted_plugins = sorted(plugins, key=lambda v: v[0].name.lower())
|
||||
nvim_treesitter_rev = pluginupdate.run_nix_expr("(import <localpkgs> { }).vimPlugins.nvim-treesitter.src.rev")
|
||||
|
||||
with open(outfile, "w+") as f:
|
||||
f.write(HEADER)
|
||||
|
@ -91,6 +97,8 @@ class VimEditor(pluginupdate.Editor):
|
|||
for pdesc, plugin in sorted_plugins:
|
||||
content = self.plugin2nix(pdesc, plugin)
|
||||
f.write(content)
|
||||
if plugin.name == "nvim-treesitter" and plugin.commit != nvim_treesitter_rev:
|
||||
self.nvim_treesitter_updated = True
|
||||
f.write("\n}\n")
|
||||
print(f"updated {outfile}")
|
||||
|
||||
|
@ -123,6 +131,18 @@ def main():
|
|||
args = parser.parse_args()
|
||||
pluginupdate.update_plugins(editor, args)
|
||||
|
||||
if editor.nvim_treesitter_updated:
|
||||
print("updating nvim-treesitter grammars")
|
||||
nvim_treesitter_dir = ROOT.joinpath("nvim-treesitter")
|
||||
subprocess.check_call([nvim_treesitter_dir.joinpath("update.py")])
|
||||
|
||||
if editor.nixpkgs_repo:
|
||||
msg = "vimPlugins.nvim-treesitter: update grammars"
|
||||
print(f"committing to nixpkgs: {msg}")
|
||||
index = editor.nixpkgs_repo.index
|
||||
index.add([str(nvim_treesitter_dir.joinpath("generated.nix"))])
|
||||
index.commit(msg)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
Loading…
Reference in a new issue