Function: go-ts-mode--defun-name
go-ts-mode--defun-name is a byte-compiled function defined in
go-ts-mode.el.gz.
Signature
(go-ts-mode--defun-name NODE)
Documentation
Return the defun name of NODE.
Return nil if there is no name or if NODE is not a defun node.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/go-ts-mode.el.gz
(defun go-ts-mode--defun-name (node)
"Return the defun name of NODE.
Return nil if there is no name or if NODE is not a defun node."
(pcase (treesit-node-type node)
("function_declaration"
(treesit-node-text
(treesit-node-child-by-field-name
node "name")
t))
("method_declaration"
(let* ((receiver-node (treesit-node-child-by-field-name node "receiver"))
(type-node (treesit-search-subtree receiver-node "type_identifier"))
(name-node (treesit-node-child-by-field-name node "name")))
(concat
"(" (treesit-node-text type-node) ")."
(treesit-node-text name-node))))
("type_declaration"
(treesit-node-text
(treesit-node-child-by-field-name
(treesit-node-child node 0 t) "name")
t))))