Files
nvimconfig/lua/profiles/native.lua
T

78 lines
2.2 KiB
Lua

local M = {}
local function setup_flash(keys)
require("flash").setup({
modes = {
search = { enabled = keys.search ~= false },
char = { enabled = keys.char == true },
},
})
if keys.jump_key then
vim.keymap.set({ "n", "x", "o" }, keys.jump_key, function()
require("flash").jump()
end, { desc = "Flash" })
end
if keys.toggle_search_key then
vim.keymap.set({ "n", "x", "o" }, keys.toggle_search_key, function()
require("flash").toggle()
end, { desc = "Toggle Flash Search" })
end
if keys.treesitter_key then
vim.keymap.set({ "n", "x", "o" }, keys.treesitter_key, function()
require("flash").treesitter()
end, { desc = "Flash Treesitter" })
end
end
function M.setup()
require("plugins.pack").add({
"folke/flash.nvim",
"folke/which-key.nvim",
"kylechui/nvim-surround",
"lewis6991/gitsigns.nvim",
"nvim-lualine/lualine.nvim",
"nvim-tree/nvim-tree.lua",
"nvim-tree/nvim-web-devicons",
"nvim-treesitter/nvim-treesitter",
"nvim-treesitter/nvim-treesitter-textobjects",
"yorickpeterse/nvim-window",
})
vim.opt.completeopt = { "menu", "menuone", "noselect" }
vim.opt.mouse = "a"
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.cursorline = true
vim.opt.splitbelow = true
vim.opt.splitright = true
vim.opt.termguicolors = true
vim.opt.showmode = false
vim.opt.wrap = false
vim.opt.swapfile = false
vim.opt.showmatch = true
vim.opt.signcolumn = "yes"
vim.opt.hidden = true
vim.opt.shortmess:append("c")
vim.opt.encoding = "utf-8"
vim.opt.cmdheight = 2
vim.opt.foldmethod = "indent"
vim.opt.foldlevel = 99
setup_flash({
jump_key = "<leader>s",
treesitter_key = "<leader>S",
})
require("nvim-surround").setup({})
require("plugins.native.git").setup()
require("plugins.native.tree").setup()
require("plugins.native.statusline").setup()
require("plugins.native.treesitter").setup()
require("plugins.native.which_key").setup()
require("plugins.native.window").setup()
end
return M