local t = require('test.testutil')
local n = require('test.functional.testnvim')()
local ts_t = require('test.functional.treesitter.testutil')
local describe, it, before_each = t.describe, t.it, t.before_each
local clear = n.clear
local dedent = t.dedent
local eq = t.eq
local insert = n.insert
local exec_lua = n.exec_lua
local feed = n.feed
local matches = t.matches
local pcall_err = t.pcall_err
local run_query = ts_t.run_query
local assert_alive = n.assert_alive
describe('treesitter parser API', function()
before_each(function()
clear()
exec_lua(function()
vim.g.__ts_debug = 1
end)
end)
it('parses buffer', function()
insert([[
int main() {
int x = 3;
}]])
exec_lua(function()
_G.parser = vim.treesitter.get_parser(0, 'c')
_G.tree = _G.parser:parse()[1]
_G.root = _G.tree:root()
_G.lang = vim.treesitter.language.inspect('c')
end)
eq('<tree>', exec_lua('return tostring(tree)'))
eq('<node translation_unit>', exec_lua
|