mirror of
https://github.com/ray-x/navigator.lua
synced 2024-11-15 18:12:50 +00:00
218 lines
5.5 KiB
Lua
218 lines
5.5 KiB
Lua
local golden_result = {
|
|
{
|
|
col = 9,
|
|
display_filename = '/tmp/github/ray-x/navigator.lua/tests/fixtures/interface_test.go',
|
|
filename = '/tmp/github/ray-x/navigator.lua/tests/fixtures/interface_test.go',
|
|
full_text = 'package main',
|
|
kind = '🚀',
|
|
lnum = 1,
|
|
node_scope = {
|
|
['end'] = {
|
|
character = 0,
|
|
line = 12,
|
|
},
|
|
start = {
|
|
character = 0,
|
|
line = 0,
|
|
},
|
|
},
|
|
node_text = 'main',
|
|
indent = '',
|
|
range = {
|
|
['end'] = {
|
|
character = 12,
|
|
line = 0,
|
|
},
|
|
start = {
|
|
character = 8,
|
|
line = 0,
|
|
},
|
|
},
|
|
text = ' 🚀 main \t package main',
|
|
type = 'namespace',
|
|
uri = 'file:///tmp/github/ray-x/navigator.lua/tests/fixtures/interface_test.go',
|
|
},
|
|
{
|
|
col = 6,
|
|
display_filename = '/tmp/github/ray-x/navigator.lua/tests/fixtures/interface_test.go',
|
|
filename = '/tmp/github/ray-x/navigator.lua/tests/fixtures/interface_test.go',
|
|
full_text = 'func interfaceTest()',
|
|
kind = ' ',
|
|
lnum = 5,
|
|
indent = '',
|
|
node_scope = {
|
|
['end'] = {
|
|
character = 1,
|
|
line = 11,
|
|
},
|
|
start = {
|
|
character = 0,
|
|
line = 4,
|
|
},
|
|
},
|
|
node_text = 'interfaceTest',
|
|
range = {
|
|
['end'] = {
|
|
character = 18,
|
|
line = 4,
|
|
},
|
|
start = {
|
|
character = 5,
|
|
line = 4,
|
|
},
|
|
},
|
|
text = ' interfaceTest\t func interfaceTest()',
|
|
type = 'function',
|
|
uri = 'file:///tmp/github/ray-x/navigator.lua/tests/fixtures/interface_test.go',
|
|
},
|
|
{
|
|
col = 2,
|
|
display_filename = '/tmp/github/ray-x/navigator.lua/tests/fixtures/interface_test.go',
|
|
filename = '/tmp/github/ray-x/navigator.lua/tests/fixtures/interface_test.go',
|
|
full_text = 'r := rect{width: 3, height: 4}',
|
|
kind = ' ',
|
|
lnum = 6,
|
|
node_scope = {
|
|
['end'] = {
|
|
character = 1,
|
|
line = 11,
|
|
},
|
|
start = {
|
|
character = 21,
|
|
line = 4,
|
|
},
|
|
},
|
|
|
|
indent = ' ',
|
|
node_text = 'r',
|
|
range = {
|
|
['end'] = {
|
|
character = 2,
|
|
line = 5,
|
|
},
|
|
start = {
|
|
character = 1,
|
|
line = 5,
|
|
},
|
|
},
|
|
text = ' r \t r := rect{width: 3, height: 4}',
|
|
type = 'var',
|
|
uri = 'file:///tmp/github/ray-x/navigator.lua/tests/fixtures/interface_test.go',
|
|
},
|
|
{
|
|
col = 2,
|
|
display_filename = '/tmp/github/ray-x/navigator.lua/tests/fixtures/interface_test.go',
|
|
filename = '/tmp/github/ray-x/navigator.lua/tests/fixtures/interface_test.go',
|
|
full_text = 'c := circle{radius: 5}',
|
|
kind = ' ',
|
|
lnum = 7,
|
|
node_scope = {
|
|
['end'] = {
|
|
character = 1,
|
|
line = 11,
|
|
},
|
|
start = {
|
|
character = 21,
|
|
line = 4,
|
|
},
|
|
},
|
|
node_text = 'c',
|
|
indent = ' ',
|
|
range = {
|
|
['end'] = {
|
|
character = 2,
|
|
line = 6,
|
|
},
|
|
start = {
|
|
character = 1,
|
|
line = 6,
|
|
},
|
|
},
|
|
text = ' c \t c := circle{radius: 5}',
|
|
type = 'var',
|
|
uri = 'file:///tmp/github/ray-x/navigator.lua/tests/fixtures/interface_test.go',
|
|
},
|
|
{
|
|
col = 2,
|
|
display_filename = '/tmp/github/ray-x/navigator.lua/tests/fixtures/interface_test.go',
|
|
filename = '/tmp/github/ray-x/navigator.lua/tests/fixtures/interface_test.go',
|
|
full_text = 'd := circle{radius: 10}',
|
|
kind = ' ',
|
|
lnum = 10,
|
|
indent = ' ',
|
|
node_scope = {
|
|
['end'] = {
|
|
character = 1,
|
|
line = 11,
|
|
},
|
|
start = {
|
|
character = 21,
|
|
line = 4,
|
|
},
|
|
},
|
|
node_text = 'd',
|
|
range = {
|
|
['end'] = {
|
|
character = 2,
|
|
line = 9,
|
|
},
|
|
start = {
|
|
character = 1,
|
|
line = 9,
|
|
},
|
|
},
|
|
text = ' d \t d := circle{radius: 10}',
|
|
type = 'var',
|
|
uri = 'file:///tmp/github/ray-x/navigator.lua/tests/fixtures/interface_test.go',
|
|
},
|
|
}
|
|
|
|
print(golden_result[1].node_text)
|
|
|
|
local busted = require('plenary/busted')
|
|
|
|
local eq = assert.are.same
|
|
local cur_dir = vim.fn.expand('%:p:h')
|
|
-- local status = require("plenary.reload").reload_module("go.nvim")
|
|
-- status = require("plenary.reload").reload_module("nvim-treesitter")
|
|
|
|
-- local ulog = require('go.utils').log
|
|
describe('should run lsp reference', function()
|
|
-- vim.fn.readfile('minimal.vim')
|
|
it('should show ts nodes', function()
|
|
local status = require('plenary.reload').reload_module('navigator')
|
|
local status = require('plenary.reload').reload_module('guihua')
|
|
local status = require('plenary.reload').reload_module('lspconfig')
|
|
|
|
vim.cmd([[packadd nvim-lspconfig]])
|
|
vim.cmd([[packadd navigator.lua]])
|
|
vim.cmd([[packadd guihua.lua]])
|
|
local path = cur_dir .. '/tests/fixtures/interface_test.go' -- %:p:h ? %:p
|
|
local cmd = " silent exe 'e " .. path .. "'"
|
|
vim.cmd(cmd)
|
|
vim.cmd([[cd %:p:h]])
|
|
local bufn = vim.fn.bufnr('')
|
|
-- require'lspconfig'.gopls.setup {}
|
|
require('navigator').setup({
|
|
debug = true, -- log output, set to true and log path: ~/.local/share/nvim/gh.log
|
|
})
|
|
|
|
-- allow gopls start
|
|
for i = 1, 10 do
|
|
vim.wait(400, function() end)
|
|
local clients = vim.lsp.get_active_clients()
|
|
print('lsp clients: ', #clients)
|
|
if #clients > 0 then
|
|
break
|
|
end
|
|
end
|
|
|
|
vim.fn.setpos('.', { bufn, 15, 4, 0 }) -- width
|
|
|
|
vim.bo.filetype = 'go'
|
|
local view, items, w = require('navigator.treesitter').buf_ts()
|
|
eq(items[1].node_text, golden_result[1].node_text)
|
|
eq(items[2].node_text, golden_result[2].node_text)
|
|
end)
|
|
end)
|