docs: Update example plugin file to use native snippets with supertab. (#66)

This commit is contained in:
Alex Ford 2024-05-19 01:33:42 -06:00 committed by GitHub
parent 75625b29e8
commit b59e7c315b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -192,14 +192,6 @@ return {
}, },
-- Use <tab> for completion and snippets (supertab) -- Use <tab> for completion and snippets (supertab)
-- first: disable default <tab> and <s-tab> behavior in LuaSnip
{
"L3MON4D3/LuaSnip",
keys = function()
return {}
end,
},
-- then: setup supertab in cmp
{ {
"hrsh7th/nvim-cmp", "hrsh7th/nvim-cmp",
dependencies = { dependencies = {
@ -213,17 +205,16 @@ return {
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
end end
local luasnip = require("luasnip")
local cmp = require("cmp") local cmp = require("cmp")
opts.mapping = vim.tbl_extend("force", opts.mapping, { opts.mapping = vim.tbl_extend("force", opts.mapping, {
["<Tab>"] = cmp.mapping(function(fallback) ["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then if cmp.visible() then
cmp.select_next_item() cmp.select_next_item()
-- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() elseif vim.snippet.active({ direction = 1 }) then
-- this way you will only jump inside the snippet region vim.schedule(function()
elseif luasnip.expand_or_jumpable() then vim.snippet.jump(1)
luasnip.expand_or_jump() end)
elseif has_words_before() then elseif has_words_before() then
cmp.complete() cmp.complete()
else else
@ -233,8 +224,10 @@ return {
["<S-Tab>"] = cmp.mapping(function(fallback) ["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then if cmp.visible() then
cmp.select_prev_item() cmp.select_prev_item()
elseif luasnip.jumpable(-1) then elseif vim.snippet.active({ direction = -1 }) then
luasnip.jump(-1) vim.schedule(function()
vim.snippet.jump(-1)
end)
else else
fallback() fallback()
end end