branch: elpa/clojure-ts-mode commit d630cd63af8022d5a1fee0e7aa05450b6e0fd75e Author: Danny Freeman <danny@dfreeman.email> Commit: Danny Freeman <danny@dfreeman.email>
Implement clojure-ts-find-ns function --- CHANGELOG.md | 2 ++ clojure-ts-mode.el | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 577d512d95..0f62f38adc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## main (unreleased) +- Implement clojure-ts-find-ns function (mostly as a demonstration). + ## 0.1.4 - Fix misplaced defcustom form in hastily release 0.1.3 [6cba90c556c7e658b815cdbb9b4243bde3273203](https://github.com/clojure-emacs/clojure-ts-mode/commit/6cba90c556c7e658b815cdbb9b4243bde3273203) diff --git a/clojure-ts-mode.el b/clojure-ts-mode.el index f7fd4e4f64..2fc9a4a429 100644 --- a/clojure-ts-mode.el +++ b/clojure-ts-mode.el @@ -670,6 +670,19 @@ See `clojure-ts--standard-definition-node-name' for the implementation used.") (add-to-list 'interpreter-mode-alist '("nbb" . clojurescript-ts-mode)) (clojure-ts--register-novel-modes)) +(defvar clojure-ts--find-ns-query + (treesit-query-compile + 'clojure + '(((source (list_lit + :anchor (sym_lit name: (sym_name) @ns) + :anchor (sym_lit name: (sym_name) @ns-name))) + (:equal @ns "ns"))))) + +(defun clojure-ts-find-ns () + "Return the name of the current namespace." + (let ((nodes (treesit-query-capture 'clojure clojure-ts--find-ns-query))) + (treesit-node-text (cdr (assoc 'ns-name nodes))))) + (provide 'clojure-ts-mode) ;;; clojure-ts-mode.el ends here