aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Oliver2025-01-03 12:02:50 +0000
committerJuri Linkov2025-06-23 09:47:30 +0300
commit22db624c0e341035b2be7ecaba0047a2aaf3eff4 (patch)
treecb6833fb3b3dceb739eba3644214ca0357ebec8a
parent08fba517f66794f817c3e6101a80ce3df1798581 (diff)
downloademacs-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.el12
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
5168Return the output of \"git tag --list --sort=-version:refname 'v*'\".
5169If 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