mirror of
https://github.com/radareorg/radare2.git
synced 2025-02-03 04:05:06 +00:00
f322c1b1bc
* Use TSSymbol instead of comparing type strings This patch uses ts_node_symbol instead of ts_node_type to check whether a node is of a given type. Since TSSymbol is just an integer, the check will be much faster. Also, it allows to store commands handler in an hashtable, instead of having if-cascade. * Make sure r_config_hold works even when keys do not exist or are freed * Add support for all _tmp_commands * Make sure to always reuse the same TSLanguage * Update both tree-sitter and radare2-shell-parser This way we use TSLanguage version 11, which fixes some problems with TSSymbols. * Compute is_last_cmd on each single command and fix logging is_last_cmd should be set on a per-command basis, so if you analyze things like `pd 3; .; .; .;` the `.` refers to `pd 3`. This also fixes logging, so when an invalid command is parsed, it is still available in the history. * Add comment about directly using r2-shell-parser in r_core_cmd_lines r_core_cmd_lines tries to parse the input and split it in lines, but at least in theory, we don't need it as the new parser can already handle full scripts. * Allow other tasks to run between commands even in the new parser * Update radare2-shell-parser