I found a solution: #+begin_src elisp (defun devicetree-ts-mode--node-address (node) "Return unit addresses for NODE concanated with @." (mapconcat (lambda (children) (if (string-equal (treesit-node-field-name children) "address") (treesit-node-text children t) "")) (treesit-node-children node) "")) (defun devicetree-ts--mode--name-function (node) "Return name of NODE to use for in imenu." (let ((name (treesit-node-child-by-field-name node "name"))) (concat (treesit-node-text name t) (devicetree-ts-mode--node-address node)))) #+end_src -- Best regards, Aleksandr Vityazev