Merge from origin/emacs-29
db96b1282f
* lisp/help.el: Use 'C-h C-q' to toggle 'help-quick' wind...489865c21e
; Improve markup of long key sequencesd42c2668cf
; * etc/NEWS: Fix wording of a recently edited entry.7a0eaee198
* lisp/isearch.el: Small fixes.b69bffeec0
* lisp/vc/diff-mode.el (diff-minor-mode-prefix): Replace ...9263847ab7
; * etc/NEWS: Move the paragraph with 'C-u RET' closer to...62fb2dc37d
* doc/emacs/display.texi (Text Scale): Improve section ab...70480d3b6b
* lisp/repeat.el (repeat-echo-function): Suggest 'add-fun...fd48201ffe
* lisp/tab-line.el (tab-line-cache-key-default): More cac...b164660260
* etc/package-keyring.gpg: Update with new keyc0be51389e
; Yet another declare-function to avoid treesit-related w...8676bec51d
; * lisp/treesit.el (treesit--simple-imenu-1): Doc fix; w...2ddc480f44
Warn of absent networks module in ERC19d00fab9a
Avoid "already compiled" warning in erc-compat2d8f7b66bc
; Fix one more treesit byte-compilation warning.2d0a921486
; Avoid treesit-related byte-compiler warnings8503b370be
(python--treesit-settings): Remove duplicate matcherb464e6c490
Make last change of w32 GUI dialogs conditional and rever...eedc9d79ae
Fix tree-sitter typos248c13dcfe
Update tree-sitter major modes to use the new Imenu facilityb39dc7ab27
Add tree-sitter helper functions for Imenuba1ddea9da
Fix treesit--things-around (bug#60355)7512b9025a
; * lisp/treesit.el (treesit-traverse-parent): Remove alias.5326b04198
Improve treesit-node-top-level and treesit-parent-until637f5b164f
; Add "src" to the heuristic sub-directory heuristic8ab6df0c9f
; * lisp/epa-ks.el (epa-ks-do-key-to-fetch): Fix 'when' u...2b55a48d3e
* src/w32menu.c (simple_dialog_show): Use MB_YESNOCANCEL ...8b8b791567
; Improve documentation of TAB/SPC indentation624e382211
; Improve doc strings of some new faces41f12e1019
; * lisp/elide-head.el (elide-head): Doc fix to silence c...e3b4cd0ac1
; * lisp/htmlfontify.el (hfy-text-p): Fix whitespace.1b4dc4691c
Fix htmlfontify.el command injection vulnerability.1fe4b98b4d
Improve support for Scheme R6RS and R7RS libraries (bug#5...2347f37f67
; * test/src/treesit-tests.el: remove dead store (bytecom...a6d961ae2f
Add a new tree-sitter query predicate 'pred'835a80dcc4
; Fix tree-sitter defun testsa14821d615
Improve gnutls-min-prime-bits docstringb14bbd108e
Improve handling of tab-bar height.669160d47b
; * nt/INSTALL.W64: More fixes and updates.26b2ec7cb8
Simplify last change (bug#60311)082fc6e308
Fix 'json-available-p' on MS-Windows6c86faec29
loaddefs-gen: Group results by absolute file named90d7d15f2
; Fix vindexes in parsing.texieb26872837
Fix imenu for c-ts-mode (bug#60296)8f68b6497e
Clean up python-ts-mode font-lock features28f26b11a1
Add comment indent and filling to other tree-sitter major...c6b0282645
; Remove unused function in c-ts-mode6e52a9fcad
; * doc/lispref/modes.texi (Parser-based Font Lock): Mino...2bcd1e9a99
; * doc/lispref/parsing.texi (Retrieving Nodes): Add notice.7c7950fe00
Add maintainer stub for tree-sitter filescf32776622
; * doc/lispref/parsing.texi (Using Parser): Remove delet... # Conflicts: # etc/NEWS # lisp/progmodes/c-ts-mode.el # lisp/progmodes/typescript-ts-mode.el # lisp/treesit.el
This commit is contained in:
commit
dce6791e99
50 changed files with 945 additions and 813 deletions
|
@ -30,6 +30,7 @@
|
|||
(require 'treesit)
|
||||
(require 'js)
|
||||
(eval-when-compile (require 'rx))
|
||||
(require 'c-ts-mode) ; For comment indent and filling.
|
||||
|
||||
(declare-function treesit-parser-create "treesit.c")
|
||||
|
||||
|
@ -73,8 +74,9 @@ Argument LANGUAGE is either `typescript' or `tsx'."
|
|||
((node-is ")") parent-bol 0)
|
||||
((node-is "]") parent-bol 0)
|
||||
((node-is ">") parent-bol 0)
|
||||
((and (parent-is "comment") comment-end) comment-start -1)
|
||||
((parent-is "comment") comment-start-skip 0)
|
||||
((and (parent-is "comment") c-ts-mode--looking-at-star)
|
||||
c-ts-mode--comment-start-after-first-star -1)
|
||||
((parent-is "comment") prev-adaptive-prefix 0)
|
||||
((parent-is "ternary_expression") parent-bol typescript-ts-mode-indent-offset)
|
||||
((parent-is "member_expression") parent-bol typescript-ts-mode-indent-offset)
|
||||
((parent-is "named_imports") parent-bol typescript-ts-mode-indent-offset)
|
||||
|
@ -331,18 +333,12 @@ Argument LANGUAGE is either `typescript' or `tsx'."
|
|||
:syntax-table typescript-ts-mode--syntax-table
|
||||
|
||||
;; Comments.
|
||||
(setq-local comment-start "// ")
|
||||
(setq-local comment-end "")
|
||||
(setq-local comment-start-skip "\\(?://+\\|/\\*+\\)\\s *")
|
||||
(setq-local comment-end-skip
|
||||
(rx (* (syntax whitespace))
|
||||
(group (or (syntax comment-end)
|
||||
(seq (+ "*") "/")))))
|
||||
(c-ts-mode-comment-setup)
|
||||
(setq-local treesit-defun-prefer-top-level t)
|
||||
|
||||
(setq-local treesit-text-type-regexp
|
||||
(regexp-opt '("comment"
|
||||
"template_string")))
|
||||
(setq-local treesit-defun-prefer-top-level t)
|
||||
|
||||
;; Electric
|
||||
(setq-local electric-indent-chars
|
||||
|
@ -354,11 +350,17 @@ Argument LANGUAGE is either `typescript' or `tsx'."
|
|||
"method_definition"
|
||||
"function_declaration"
|
||||
"lexical_declaration")))
|
||||
;; Imenu.
|
||||
(setq-local imenu-create-index-function #'js--treesit-imenu)
|
||||
(setq-local treesit-defun-name-function #'js--treesit-defun-name)
|
||||
|
||||
;; Which-func (use imenu).
|
||||
(setq-local which-func-functions nil))
|
||||
;; Imenu (same as in `js-ts-mode').
|
||||
(setq-local treesit-simple-imenu-settings
|
||||
`(("Function" "\\`function_declaration\\'" nil nil)
|
||||
("Variable" "\\`lexical_declaration\\'"
|
||||
js--treesit-valid-imenu-entry nil)
|
||||
("Class" ,(rx bos (or "class_declaration"
|
||||
"method_definition")
|
||||
eos)
|
||||
nil nil))))
|
||||
|
||||
;;;###autoload
|
||||
(define-derived-mode typescript-ts-mode typescript-ts-base-mode "TypeScript"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue