Don't print named tree-sitter nodes with parenthesizes (bug#60696)

* src/print.c (print_vectorlike): Use empty string as delimiters if
the node is named.
This commit is contained in:
Yuan Fu 2023-01-09 20:15:12 -08:00
parent e385c099b8
commit aa9df1260c
No known key found for this signature in database
GPG key ID: 56E19BC57664A442

View file

@ -2034,8 +2034,13 @@ print_vectorlike (Lisp_Object obj, Lisp_Object printcharfun, bool escapeflag,
/* Now the node must be up-to-date, and calling functions like
Ftreesit_node_start will not signal. */
bool named = treesit_named_node_p (XTS_NODE (obj)->node);
const char *delim1 = named ? "(" : "\"";
const char *delim2 = named ? ")" : "\"";
/* We used to use () as delimiters for named nodes, but that
confuses pretty-printing a tad bit. There might be more
little breakages here and there if we print parenthesizes
inside an object, so I guess better not do it.
(bug#60696) */
const char *delim1 = named ? "" : "\"";
const char *delim2 = named ? "" : "\"";
print_c_string (delim1, printcharfun);
print_string (Ftreesit_node_type (obj), printcharfun);
print_c_string (delim2, printcharfun);