Minor tree-sitter cleanups
* lisp/treesit.el (treesit-fontify-with-override): Fix docstring grammar. Remove redundant precondition (bug#64052). * src/treesit.c (Ftreesit_parser_set_included_ranges): Fix typo in commentary. (treesit_predicate_equal, treesit_predicate_match) (treesit_predicate_pred): Avoid fixnum roundtrip by using list_length in place of Flength. Make error messages more accurate. (treesit_eval_predicates): Quote predicate names in error message.
This commit is contained in:
parent
ac57358762
commit
8ffe8422c5
2 changed files with 11 additions and 12 deletions
|
@ -894,13 +894,12 @@ signals the `treesit-font-lock-error' error if that happens."
|
||||||
(start end face override &optional bound-start bound-end)
|
(start end face override &optional bound-start bound-end)
|
||||||
"Apply FACE to the region between START and END.
|
"Apply FACE to the region between START and END.
|
||||||
OVERRIDE can be nil, t, `append', `prepend', or `keep'.
|
OVERRIDE can be nil, t, `append', `prepend', or `keep'.
|
||||||
See `treesit-font-lock-rules' for their semantic.
|
See `treesit-font-lock-rules' for their semantics.
|
||||||
|
|
||||||
If BOUND-START and BOUND-END are non-nil, only fontify the region
|
If BOUND-START and BOUND-END are non-nil, only fontify the region
|
||||||
in between them."
|
in between them."
|
||||||
(when (or (null bound-start) (null bound-end)
|
(when (or (null bound-start) (null bound-end)
|
||||||
(and bound-start bound-end
|
(and (<= bound-start end)
|
||||||
(<= bound-start end)
|
|
||||||
(>= bound-end start)))
|
(>= bound-end start)))
|
||||||
(when (and bound-start bound-end)
|
(when (and bound-start bound-end)
|
||||||
(setq start (max bound-start start)
|
(setq start (max bound-start start)
|
||||||
|
|
|
@ -1649,7 +1649,7 @@ buffer. */)
|
||||||
TSRange *treesit_ranges = xmalloc (sizeof (TSRange) * len);
|
TSRange *treesit_ranges = xmalloc (sizeof (TSRange) * len);
|
||||||
struct buffer *buffer = XBUFFER (XTS_PARSER (parser)->buffer);
|
struct buffer *buffer = XBUFFER (XTS_PARSER (parser)->buffer);
|
||||||
|
|
||||||
/* We can use XFUXNUM, XCAR, XCDR freely because we have checked
|
/* We can use XFIXNUM, XCAR, XCDR freely because we have checked
|
||||||
the input by treesit_check_range_argument. */
|
the input by treesit_check_range_argument. */
|
||||||
|
|
||||||
for (int idx = 0; !NILP (ranges); idx++, ranges = XCDR (ranges))
|
for (int idx = 0; !NILP (ranges); idx++, ranges = XCDR (ranges))
|
||||||
|
@ -2546,10 +2546,10 @@ static bool
|
||||||
treesit_predicate_equal (Lisp_Object args, struct capture_range captures,
|
treesit_predicate_equal (Lisp_Object args, struct capture_range captures,
|
||||||
Lisp_Object *signal_data)
|
Lisp_Object *signal_data)
|
||||||
{
|
{
|
||||||
if (XFIXNUM (Flength (args)) != 2)
|
if (list_length (args) != 2)
|
||||||
{
|
{
|
||||||
*signal_data = list2 (build_string ("Predicate `equal' requires "
|
*signal_data = list2 (build_string ("Predicate `equal' requires "
|
||||||
"two arguments but only given"),
|
"two arguments but got"),
|
||||||
Flength (args));
|
Flength (args));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -2581,10 +2581,10 @@ static bool
|
||||||
treesit_predicate_match (Lisp_Object args, struct capture_range captures,
|
treesit_predicate_match (Lisp_Object args, struct capture_range captures,
|
||||||
Lisp_Object *signal_data)
|
Lisp_Object *signal_data)
|
||||||
{
|
{
|
||||||
if (XFIXNUM (Flength (args)) != 2)
|
if (list_length (args) != 2)
|
||||||
{
|
{
|
||||||
*signal_data = list2 (build_string ("Predicate `match' requires two "
|
*signal_data = list2 (build_string ("Predicate `match' requires two "
|
||||||
"arguments but only given"),
|
"arguments but got"),
|
||||||
Flength (args));
|
Flength (args));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -2646,11 +2646,11 @@ static bool
|
||||||
treesit_predicate_pred (Lisp_Object args, struct capture_range captures,
|
treesit_predicate_pred (Lisp_Object args, struct capture_range captures,
|
||||||
Lisp_Object *signal_data)
|
Lisp_Object *signal_data)
|
||||||
{
|
{
|
||||||
if (XFIXNUM (Flength (args)) < 2)
|
if (list_length (args) < 2)
|
||||||
{
|
{
|
||||||
*signal_data = list2 (build_string ("Predicate `pred' requires "
|
*signal_data = list2 (build_string ("Predicate `pred' requires "
|
||||||
"at least two arguments, "
|
"at least two arguments, "
|
||||||
"but was only given"),
|
"but only got"),
|
||||||
Flength (args));
|
Flength (args));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -2671,7 +2671,7 @@ treesit_predicate_pred (Lisp_Object args, struct capture_range captures,
|
||||||
return !NILP (CALLN (Fapply, fn, nodes));
|
return !NILP (CALLN (Fapply, fn, nodes));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If all predicates in PREDICATES passes, return true; otherwise
|
/* If all predicates in PREDICATES pass, return true; otherwise
|
||||||
return false. If everything goes fine, don't touch SIGNAL_DATA; if
|
return false. If everything goes fine, don't touch SIGNAL_DATA; if
|
||||||
error occurs, set it to a suitable signal data. */
|
error occurs, set it to a suitable signal data. */
|
||||||
static bool
|
static bool
|
||||||
|
@ -2696,7 +2696,7 @@ treesit_eval_predicates (struct capture_range captures, Lisp_Object predicates,
|
||||||
{
|
{
|
||||||
*signal_data = list3 (build_string ("Invalid predicate"),
|
*signal_data = list3 (build_string ("Invalid predicate"),
|
||||||
fn, build_string ("Currently Emacs only supports"
|
fn, build_string ("Currently Emacs only supports"
|
||||||
" equal, match, and pred"
|
" `equal', `match', and `pred'"
|
||||||
" predicates"));
|
" predicates"));
|
||||||
pass = false;
|
pass = false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue