diff options
| author | Peter Oliver | 2025-01-03 12:02:50 +0000 |
|---|---|---|
| committer | Juri Linkov | 2025-06-23 09:47:30 +0300 |
| commit | 22db624c0e341035b2be7ecaba0047a2aaf3eff4 (patch) | |
| tree | cb6833fb3b3dceb739eba3644214ca0357ebec8a | |
| parent | 08fba517f66794f817c3e6101a80ce3df1798581 (diff) | |
| download | emacs-22db624c0e341035b2be7ecaba0047a2aaf3eff4.tar.gz emacs-22db624c0e341035b2be7ecaba0047a2aaf3eff4.zip | |
New function treesit--language-git-version-tags
* lisp/treesit.el (treesit--language-git-version-tags): New function to
list version tags for a Tree-sitter parser Git repository (bug#78848).
| -rw-r--r-- | lisp/treesit.el | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lisp/treesit.el b/lisp/treesit.el index 990dd80503a..bf464ed474c 100644 --- a/lisp/treesit.el +++ b/lisp/treesit.el | |||
| @@ -5162,6 +5162,18 @@ nil." | |||
| 5162 | (string-trim (buffer-string))) | 5162 | (string-trim (buffer-string))) |
| 5163 | (t nil)))) | 5163 | (t nil)))) |
| 5164 | 5164 | ||
| 5165 | (defun treesit--language-git-version-tags (repo-dir) | ||
| 5166 | "Return a list of Git version tags in REPO-DIR, sorted latest first. | ||
| 5167 | |||
| 5168 | Return the output of \"git tag --list --sort=-version:refname 'v*'\". | ||
| 5169 | If anything goes wrong, return nil." | ||
| 5170 | (with-temp-buffer | ||
| 5171 | (cond | ||
| 5172 | ((eq 0 (call-process "git" nil t nil "-C" repo-dir "tag" | ||
| 5173 | "--list" "--sort=-version:refname" "v*")) | ||
| 5174 | (split-string (buffer-string))) | ||
| 5175 | (t nil)))) | ||
| 5176 | |||
| 5165 | (defun treesit--language-git-timestamp (repo-dir) | 5177 | (defun treesit--language-git-timestamp (repo-dir) |
| 5166 | "Return the commit date in REPO-DIR in UNIX epoch. | 5178 | "Return the commit date in REPO-DIR in UNIX epoch. |
| 5167 | 5179 | ||