This is the full tree-sitter parse output for the use case mentioned: (source [0, 0] - [4, 3] (call [0, 0] - [4, 3] target: (identifier [0, 0] - [0, 9]) (arguments [0, 10] - [0, 13] (alias [0, 10] - [0, 13])) (do_block [0, 14] - [4, 3] (call [1, 2] - [3, 5] target: (identifier [1, 2] - [1, 5]) (arguments [1, 6] - [1, 11] (call [1, 6] - [1, 11] target: (identifier [1, 6] - [1, 9]) (arguments [1, 9] - [1, 11]))) (do_block [1, 12] - [3, 5] (string [2, 4] - [2, 9] (quoted_content [2, 5] - [2, 8])))))))