diff --git a/init.lua b/init.lua index 6e552c62..04d6e71e 100644 --- a/init.lua +++ b/init.lua @@ -283,7 +283,47 @@ require('lazy').setup({ }, }, }, - + { + 'abecodes/tabout.nvim', + lazy = false, + config = function() + require('tabout').setup { + tabkey = '', -- key to trigger tabout, set to an empty string to disable + backwards_tabkey = '', -- key to trigger backwards tabout, set to an empty string to disable + act_as_tab = true, -- shift content if tab out is not possible + act_as_shift_tab = false, -- reverse shift content if tab out is not possible (if your keyboard/terminal supports ) + default_tab = '', -- shift default action (only at the beginning of a line, otherwise is used) + default_shift_tab = '', -- reverse shift default action, + enable_backwards = true, -- well ... + completion = false, -- if the tabkey is used in a completion pum + tabouts = { + { open = "'", close = "'" }, + { open = '"', close = '"' }, + { open = '`', close = '`' }, + { open = '(', close = ')' }, + { open = '[', close = ']' }, + { open = '{', close = '}' }, + }, + ignore_beginning = true, --[[ if the cursor is at the beginning of a filled element it will rather tab out than shift the content ]] + exclude = {}, -- tabout will ignore these filetypes + } + end, + dependencies = { -- These are optional + 'nvim-treesitter/nvim-treesitter', + 'L3MON4D3/LuaSnip', + 'hrsh7th/nvim-cmp', + }, + opt = true, -- Set this to true if the plugin is :wqoptional + event = 'InsertCharPre', -- Set the event to 'InsertCharPre' for better compatibility + priority = 1000, + }, + { + 'L3MON4D3/LuaSnip', + keys = function() + -- Disable default tab keybinding in LuaSnip + return {} + end, + }, -- NOTE: Plugins can also be configured to run Lua code when they are loaded. -- -- This is often very useful to both group configuration, as well as handle