feat: Add better highlighting and new CI abilities (#355)

* Revert "Revert "fix: Better highlights (#344)" (#350)"

This reverts commit 7950fc8ba0.

* better highlights take 2

* fixup

* install fd find for sameness

* add some debug output

* more deterministic

* better ci
This commit is contained in:
TJ DeVries
2020-12-21 16:03:48 -05:00
committed by GitHub
parent 1e7ef41c70
commit 2aa8bcb878
15 changed files with 476 additions and 72 deletions

View File

@@ -0,0 +1,108 @@
require('plenary.reload').reload_module('telescope')
local tester = require('telescope.pickers._tests')
describe('builtin.find_files', function()
it('should find the readme', function()
tester.run_file('find_files__readme')
end)
it('should not display devicons when disabled', function()
tester.run_string [[
tester.builtin_picker('find_files', 'README.md', {
post_typed = {
{ "> README.md", GetPrompt },
{ "> README.md", GetLastResult },
},
post_close = {
{ 'README.md', GetFile },
{ 'README.md', GetFile },
}
}, {
disable_devicons = true,
sorter = require('telescope.sorters').get_fzy_sorter(),
})
]]
end)
it('use devicons, if it has it when enabled', function()
if not pcall(require, 'nvim-web-devicons') then
return
end
tester.run_string [[
tester.builtin_picker('find_files', 'README.md', {
post_typed = {
{ "> README.md", GetPrompt },
{ ">  README.md", GetLastResult }
},
post_close = {
{ 'README.md', GetFile },
{ 'README.md', GetFile },
}
}, {
disable_devicons = false,
sorter = require('telescope.sorters').get_fzy_sorter(),
})
]]
end)
it('should find the readme, using lowercase', function()
tester.run_string [[
tester.builtin_picker('find_files', 'readme.md', {
post_close = {
{ 'README.md', GetFile },
}
})
]]
end)
it('should find the pickers.lua, using lowercase', function()
tester.run_string [[
tester.builtin_picker('find_files', 'pickers.lua', {
post_close = {
{ 'pickers.lua', GetFile },
}
})
]]
end)
it('should find the pickers.lua', function()
tester.run_string [[
tester.builtin_picker('find_files', 'pickers.lua', {
post_close = {
{ 'pickers.lua', GetFile },
{ 'pickers.lua', GetFile },
}
})
]]
end)
it('should be able to c-n the items', function()
tester.run_string [[
tester.builtin_picker('find_files', 'fixtures/file<c-p>', {
post_typed = {
{
{
" lua/tests/fixtures/file_abc.txt",
"> lua/tests/fixtures/file_a.txt",
}, function()
local res = GetResults()
return {
res[#res - 1],
res[#res],
}
end
},
},
post_close = {
{ 'file_abc.txt', GetFile },
},
}, {
sorter = require('telescope.sorters').get_fzy_sorter(),
disable_devicons = true,
})
]]
end)
end)

0
lua/tests/fixtures/file_a.txt vendored Normal file
View File

0
lua/tests/fixtures/file_abc.txt vendored Normal file
View File

View File

@@ -71,6 +71,7 @@ local find_files = function(opts)
feed("<CR>", '')
coroutine.yield()
print("STILL CALLED?")
end))
p:find()

View File

@@ -0,0 +1,7 @@
local tester = require('telescope.pickers._tests')
tester.builtin_picker('find_files', 'README.md', {
post_close = {
{'README.md', function() return vim.fn.fnamemodify(vim.api.nvim_buf_get_name(0), ":.") end },
}
})

View File

@@ -0,0 +1,24 @@
pcall(function() RELOAD('telescope') end)
local builtin = require('telescope.builtin')
local tester = require('telescope.pickers._tests')
local key = 'find_files'
local input = 'fixtures/file<c-p>'
local expected = 'lua/tests/fixtures/file_2.txt'
local get_actual = function()
return vim.fn.fnamemodify(vim.api.nvim_buf_get_name(0), ":.")
end
-- local on_complete_item = tester.picker_feed(input, expected, get_actual, true)
--
-- builtin[key] {
-- on_complete = { on_complete_item }
-- }
tester.builtin_picker('find_files', 'fixtures/file<c-p>', 'lua/tests/fixtures/file_2.txt', function()
return vim.fn.fnamemodify(vim.api.nvim_buf_get_name(0), ":.")
end, {
debug = false,
})