diff options
| author | Yuan Fu | 2022-06-16 01:11:09 -0700 |
|---|---|---|
| committer | Yuan Fu | 2022-06-16 11:52:04 -0700 |
| commit | dd65d1c396da2e024468196c4d5bcb72198f524a (patch) | |
| tree | 706ab962f0cc5154797e3b3595b545048533b27d /test/src | |
| parent | 7cee82a91d287e42e6596960cbee17157cde4b29 (diff) | |
| download | emacs-dd65d1c396da2e024468196c4d5bcb72198f524a.tar.gz emacs-dd65d1c396da2e024468196c4d5bcb72198f524a.zip | |
Consolidate treesit parser create functions
Merge treesit-parser-create, treesit-get-parser,
treesit-get-parser-create into one: treesit-parser-create.
* src/treesit.c (Ftreesit_parser_language): make BUFFER parameter
optional, add new parameter NO-REUSE. Optionally reuse parser.
* test/src/treesit-tests.el: Change all parser creation to use
treesit-parser-create. Remove tests for the removed functions.
* lisp/treesit.el (treesit-get-parser, treesit-get-parser-create):
Remove.
* lisp/treesit.el (treesit-set-ranges, treesit-get-ranges)
(treesit-buffer-root-node, treesit-query-string)
(treesit-font-lock-fontify-region, treesit-search-forward)
(treesit-query-validate): Change to use treesit-parser-create.
Diffstat (limited to 'test/src')
| -rw-r--r-- | test/src/treesit-tests.el | 37 |
1 files changed, 10 insertions, 27 deletions
diff --git a/test/src/treesit-tests.el b/test/src/treesit-tests.el index c6d5f254720..32971fbacb4 100644 --- a/test/src/treesit-tests.el +++ b/test/src/treesit-tests.el | |||
| @@ -25,8 +25,7 @@ | |||
| 25 | (ert-deftest treesit-basic-parsing () | 25 | (ert-deftest treesit-basic-parsing () |
| 26 | "Test basic parsing routines." | 26 | "Test basic parsing routines." |
| 27 | (with-temp-buffer | 27 | (with-temp-buffer |
| 28 | (let ((parser (treesit-parser-create | 28 | (let ((parser (treesit-parser-create 'json))) |
| 29 | (current-buffer) 'json))) | ||
| 30 | (should | 29 | (should |
| 31 | (eq parser (car treesit-parser-list))) | 30 | (eq parser (car treesit-parser-list))) |
| 32 | (should | 31 | (should |
| @@ -55,8 +54,7 @@ | |||
| 55 | (let (parser root-node doc-node object-node pair-node) | 54 | (let (parser root-node doc-node object-node pair-node) |
| 56 | (progn | 55 | (progn |
| 57 | (insert "[1,2,{\"name\": \"Bob\"},3]") | 56 | (insert "[1,2,{\"name\": \"Bob\"},3]") |
| 58 | (setq parser (treesit-parser-create | 57 | (setq parser (treesit-parser-create 'json)) |
| 59 | (current-buffer) 'json)) | ||
| 60 | (setq root-node (treesit-parser-root-node | 58 | (setq root-node (treesit-parser-root-node |
| 61 | parser))) | 59 | parser))) |
| 62 | ;; `treesit-node-type'. | 60 | ;; `treesit-node-type'. |
| @@ -129,8 +127,7 @@ | |||
| 129 | (let (parser root-node pattern doc-node object-node pair-node) | 127 | (let (parser root-node pattern doc-node object-node pair-node) |
| 130 | (progn | 128 | (progn |
| 131 | (insert "[1,2,{\"name\": \"Bob\"},3]") | 129 | (insert "[1,2,{\"name\": \"Bob\"},3]") |
| 132 | (setq parser (treesit-parser-create | 130 | (setq parser (treesit-parser-create 'json)) |
| 133 | (current-buffer) 'json)) | ||
| 134 | (setq root-node (treesit-parser-root-node | 131 | (setq root-node (treesit-parser-root-node |
| 135 | parser))) | 132 | parser))) |
| 136 | 133 | ||
| @@ -181,8 +178,7 @@ | |||
| 181 | (progn | 178 | (progn |
| 182 | (insert "xxx[1,{\"name\": \"Bob\"},2,3]xxx") | 179 | (insert "xxx[1,{\"name\": \"Bob\"},2,3]xxx") |
| 183 | (narrow-to-region (+ (point-min) 3) (- (point-max) 3)) | 180 | (narrow-to-region (+ (point-min) 3) (- (point-max) 3)) |
| 184 | (setq parser (treesit-parser-create | 181 | (setq parser (treesit-parser-create 'json)) |
| 185 | (current-buffer) 'json)) | ||
| 186 | (setq root-node (treesit-parser-root-node | 182 | (setq root-node (treesit-parser-root-node |
| 187 | parser))) | 183 | parser))) |
| 188 | ;; This test is from the basic test. | 184 | ;; This test is from the basic test. |
| @@ -233,8 +229,7 @@ | |||
| 233 | (let (parser root-node pattern doc-node object-node pair-node) | 229 | (let (parser root-node pattern doc-node object-node pair-node) |
| 234 | (progn | 230 | (progn |
| 235 | (insert "[[1],oooxxx[1,2,3],xxx[1,2]]") | 231 | (insert "[[1],oooxxx[1,2,3],xxx[1,2]]") |
| 236 | (setq parser (treesit-parser-create | 232 | (setq parser (treesit-parser-create 'json)) |
| 237 | (current-buffer) 'json)) | ||
| 238 | (setq root-node (treesit-parser-root-node | 233 | (setq root-node (treesit-parser-root-node |
| 239 | parser))) | 234 | parser))) |
| 240 | (should-error | 235 | (should-error |
| @@ -258,9 +253,9 @@ | |||
| 258 | (let (html css js html-range css-range js-range) | 253 | (let (html css js html-range css-range js-range) |
| 259 | (progn | 254 | (progn |
| 260 | (insert "<html><script>1</script><style>body {}</style></html>") | 255 | (insert "<html><script>1</script><style>body {}</style></html>") |
| 261 | (setq html (treesit-get-parser-create 'html)) | 256 | (setq html (treesit-parser-create 'html)) |
| 262 | (setq css (treesit-get-parser-create 'css)) | 257 | (setq css (treesit-parser-create 'css)) |
| 263 | (setq js (treesit-get-parser-create 'javascript))) | 258 | (setq js (treesit-parser-create 'javascript))) |
| 264 | ;; JavaScript. | 259 | ;; JavaScript. |
| 265 | (setq js-range | 260 | (setq js-range |
| 266 | (treesit-query-range | 261 | (treesit-query-range |
| @@ -287,13 +282,6 @@ | |||
| 287 | 282 | ||
| 288 | (ert-deftest treesit-parser-supplemental () | 283 | (ert-deftest treesit-parser-supplemental () |
| 289 | "Supplemental node functions." | 284 | "Supplemental node functions." |
| 290 | ;; `treesit-get-parser'. | ||
| 291 | (with-temp-buffer | ||
| 292 | (should (equal (treesit-get-parser 'json) nil))) | ||
| 293 | ;; `treesit-get-parser-create'. | ||
| 294 | (with-temp-buffer | ||
| 295 | (should (not (equal (treesit-get-parser-create 'json) | ||
| 296 | nil)))) | ||
| 297 | ;; `treesit-parse-string'. | 285 | ;; `treesit-parse-string'. |
| 298 | (should (equal (treesit-node-string | 286 | (should (equal (treesit-node-string |
| 299 | (treesit-parse-string | 287 | (treesit-parse-string |
| @@ -304,14 +292,10 @@ | |||
| 304 | (let (parser root-node doc-node object-node pair-node) | 292 | (let (parser root-node doc-node object-node pair-node) |
| 305 | (progn | 293 | (progn |
| 306 | (insert "[1,2,{\"name\": \"Bob\"},3]") | 294 | (insert "[1,2,{\"name\": \"Bob\"},3]") |
| 307 | (setq parser (treesit-parser-create | 295 | (setq parser (treesit-parser-create 'json)) |
| 308 | (current-buffer) 'json)) | ||
| 309 | (setq root-node (treesit-parser-root-node | 296 | (setq root-node (treesit-parser-root-node |
| 310 | parser)) | 297 | parser)) |
| 311 | (setq doc-node (treesit-node-child root-node 0))) | 298 | (setq doc-node (treesit-node-child root-node 0))) |
| 312 | ;; `treesit-get-parser'. | ||
| 313 | (should (not (equal (treesit-get-parser 'json) | ||
| 314 | nil))) | ||
| 315 | ;; `treesit-language-at'. | 299 | ;; `treesit-language-at'. |
| 316 | (should (equal (treesit-language-at (point)) | 300 | (should (equal (treesit-language-at (point)) |
| 317 | 'json)) | 301 | 'json)) |
| @@ -326,8 +310,7 @@ | |||
| 326 | (let (parser root-node doc-node array-node) | 310 | (let (parser root-node doc-node array-node) |
| 327 | (progn | 311 | (progn |
| 328 | (insert "[1,2,{\"name\": \"Bob\"},3]") | 312 | (insert "[1,2,{\"name\": \"Bob\"},3]") |
| 329 | (setq parser (treesit-parser-create | 313 | (setq parser (treesit-parser-create 'json)) |
| 330 | (current-buffer) 'json)) | ||
| 331 | (setq root-node (treesit-parser-root-node | 314 | (setq root-node (treesit-parser-root-node |
| 332 | parser)) | 315 | parser)) |
| 333 | (setq doc-node (treesit-node-child root-node 0))) | 316 | (setq doc-node (treesit-node-child root-node 0))) |