This plugin adds a LuaSnip snippet picker to the already-awesome Neovim Telescope plugin.
This is a port of fhill2/telescope-ultisnips.nvim from Ultisnips to LuaSnip. Thanks for the simple great idea!
If you find something wrong, please raise an issue or better yet, raise a PR.
- LuaSnip (required)
- telescope.nvim (required)
Install the plugin using your favourite package manager.
use {
"benfowler/telescope-luasnip.nvim",
module = "telescope._extensions.luasnip", -- if you wish to lazy-load
}
Then, you need to tell Telescope about this extension somewhere after your
require('telescope').setup()
, by calling:
require('telescope').load_extension('luasnip')
require'telescope'.extensions.luasnip.luasnip{}
vim.cmd [[ Telescope luasnip ]]
or
:Telescope luasnip
for windows system
:Telescope luasnip disable_ft=true
This Telescope plugin works fine as-is, and requires no further configuration.
However, if you want, you can customise its search behaviour if you wish:
local lst = require('telescope').extensions.luasnip
local luasnip = require('luasnip')
require('telescope').setup {
extensions = {
-- ...
luasnip = {
search = function(entry)
return lst.filter_null(entry.context.trigger) .. " " ..
lst.filter_null(entry.context.name) .. " " ..
entry.ft .. " " ..
lst.filter_description(entry.context.name, entry.context.description) ..
lst.get_docstring(luasnip, entry.ft, entry.context)[1]
end
},
-- ...
}
}
To change theme, try:
require('telescope').setup {
luasnip = require("telescope.themes".get_dropdown({
border = false,
preview = {
check_mime_type = true
},
search = function ()
-- ...
end
}))
}
Is there something not quite right or could be improved? Log an issue with a minimal reproduction, or better yet, raise a PR.