mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-11 06:30:51 +00:00
Show tree-sitter query source when signaling query error
* src/treesit.c (treesit_compose_query_signal_data): Add QUERY_SOURCE parameter. (treesit_ensure_query_compiled) (Ftreesit_query_capture): Add query source.
This commit is contained in:
parent
0b58ea0e60
commit
ab1f245f1a
1 changed files with 7 additions and 4 deletions
|
@ -1194,10 +1194,12 @@ treesit_query_error_to_string (TSQueryError error)
|
||||||
|
|
||||||
static Lisp_Object
|
static Lisp_Object
|
||||||
treesit_compose_query_signal_data (uint32_t error_offset,
|
treesit_compose_query_signal_data (uint32_t error_offset,
|
||||||
TSQueryError error_type)
|
TSQueryError error_type,
|
||||||
|
Lisp_Object query_source)
|
||||||
{
|
{
|
||||||
return list3 (build_string (treesit_query_error_to_string (error_type)),
|
return list4 (build_string (treesit_query_error_to_string (error_type)),
|
||||||
make_fixnum (error_offset + 1),
|
make_fixnum (error_offset + 1),
|
||||||
|
query_source,
|
||||||
build_pure_c_string ("Debug the query with `treesit-query-validate'"));
|
build_pure_c_string ("Debug the query with `treesit-query-validate'"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1239,7 +1241,8 @@ treesit_ensure_query_compiled (Lisp_Object query, Lisp_Object *signal_symbol,
|
||||||
{
|
{
|
||||||
*signal_symbol = Qtreesit_query_error;
|
*signal_symbol = Qtreesit_query_error;
|
||||||
*signal_data = treesit_compose_query_signal_data (error_offset,
|
*signal_data = treesit_compose_query_signal_data (error_offset,
|
||||||
error_type);
|
error_type,
|
||||||
|
source);
|
||||||
}
|
}
|
||||||
XTS_COMPILED_QUERY (query)->query = treesit_query;
|
XTS_COMPILED_QUERY (query)->query = treesit_query;
|
||||||
return treesit_query;
|
return treesit_query;
|
||||||
|
@ -2627,7 +2630,7 @@ the query. */)
|
||||||
if (treesit_query == NULL)
|
if (treesit_query == NULL)
|
||||||
xsignal (Qtreesit_query_error,
|
xsignal (Qtreesit_query_error,
|
||||||
treesit_compose_query_signal_data (error_offset,
|
treesit_compose_query_signal_data (error_offset,
|
||||||
error_type));
|
error_type, query));
|
||||||
cursor = ts_query_cursor_new ();
|
cursor = ts_query_cursor_new ();
|
||||||
needs_to_free_query_and_cursor = true;
|
needs_to_free_query_and_cursor = true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue