Added base folke setup
This commit is contained in:
21
lua/config/commands.lua
Normal file
21
lua/config/commands.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
-- Check if we need to reload the file when it changed
|
||||
vim.cmd("au FocusGained * :checktime")
|
||||
|
||||
-- show cursor line only in active window
|
||||
vim.cmd([[
|
||||
autocmd InsertLeave,WinEnter * set cursorline
|
||||
autocmd InsertEnter,WinLeave * set nocursorline
|
||||
]])
|
||||
|
||||
-- create directories when needed, when saving a file
|
||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
group = vim.api.nvim_create_augroup("auto_create_dir", { clear = true }),
|
||||
command = [[call mkdir(expand('<afile>:p:h'), 'p')]],
|
||||
})
|
||||
|
||||
-- Highlight on yank
|
||||
vim.cmd("au TextYankPost * lua vim.highlight.on_yank {}")
|
||||
|
||||
-- windows to close with "q"
|
||||
vim.cmd([[autocmd FileType help,startuptime,qf,lspinfo nnoremap <buffer><silent> q :close<CR>]])
|
||||
vim.cmd([[autocmd FileType man nnoremap <buffer><silent> q :quit<CR>]])
|
275
lua/config/mappings.lua
Normal file
275
lua/config/mappings.lua
Normal file
@@ -0,0 +1,275 @@
|
||||
---@diagnostic disable: missing-parameter
|
||||
|
||||
local wk = require("which-key")
|
||||
local util = require("util")
|
||||
|
||||
vim.o.timeoutlen = 300
|
||||
|
||||
wk.setup({
|
||||
show_help = false,
|
||||
triggers = "auto",
|
||||
plugins = { spelling = true },
|
||||
key_labels = { ["<leader>"] = "SPC" },
|
||||
})
|
||||
|
||||
-- Move to window using the <ctrl> movement keys
|
||||
vim.keymap.set("n", "<left>", "<C-w>h")
|
||||
vim.keymap.set("n", "<down>", "<C-w>j")
|
||||
vim.keymap.set("n", "<up>", "<C-w>k")
|
||||
vim.keymap.set("n", "<right>", "<C-w>l")
|
||||
|
||||
-- Resize window using <ctrl> arrow keys
|
||||
vim.keymap.set("n", "<S-Up>", "<cmd>resize +2<CR>")
|
||||
vim.keymap.set("n", "<S-Down>", "<cmd>resize -2<CR>")
|
||||
vim.keymap.set("n", "<S-Left>", "<cmd>vertical resize -2<CR>")
|
||||
vim.keymap.set("n", "<S-Right>", "<cmd>vertical resize +2<CR>")
|
||||
|
||||
-- Move Lines
|
||||
vim.keymap.set("n", "<A-j>", ":m .+1<CR>==")
|
||||
vim.keymap.set("v", "<A-j>", ":m '>+1<CR>gv=gv")
|
||||
vim.keymap.set("i", "<A-j>", "<Esc>:m .+1<CR>==gi")
|
||||
vim.keymap.set("n", "<A-k>", ":m .-2<CR>==")
|
||||
vim.keymap.set("v", "<A-k>", ":m '<-2<CR>gv=gv")
|
||||
vim.keymap.set("i", "<A-k>", "<Esc>:m .-2<CR>==gi")
|
||||
|
||||
-- Switch buffers with tab
|
||||
vim.keymap.set("n", "<C-Left>", "<cmd>bprevious<cr>")
|
||||
vim.keymap.set("n", "<C-Right>", "<cmd>bnext<cr>")
|
||||
|
||||
-- Easier pasting
|
||||
vim.keymap.set("n", "[p", ":pu!<cr>")
|
||||
vim.keymap.set("n", "]p", ":pu<cr>")
|
||||
|
||||
-- Clear search with <esc>
|
||||
vim.keymap.set("", "<esc>", ":noh<esc>")
|
||||
vim.keymap.set("n", "gw", "*N")
|
||||
vim.keymap.set("x", "gw", "*N")
|
||||
|
||||
-- https://github.com/mhinz/vim-galore#saner-behavior-of-n-and-n
|
||||
vim.keymap.set("n", "n", "'Nn'[v:searchforward]", { expr = true })
|
||||
vim.keymap.set("x", "n", "'Nn'[v:searchforward]", { expr = true })
|
||||
vim.keymap.set("o", "n", "'Nn'[v:searchforward]", { expr = true })
|
||||
vim.keymap.set("n", "N", "'nN'[v:searchforward]", { expr = true })
|
||||
vim.keymap.set("x", "N", "'nN'[v:searchforward]", { expr = true })
|
||||
vim.keymap.set("o", "N", "'nN'[v:searchforward]", { expr = true })
|
||||
|
||||
-- Add undo break-points
|
||||
vim.keymap.set("i", ",", ",<c-g>u")
|
||||
vim.keymap.set("i", ".", ".<c-g>u")
|
||||
vim.keymap.set("i", ";", ";<c-g>u")
|
||||
|
||||
-- save in insert mode
|
||||
vim.keymap.set("i", "<C-s>", "<cmd>:w<cr><esc>")
|
||||
vim.keymap.set("n", "<C-s>", "<cmd>:w<cr><esc>")
|
||||
vim.keymap.set("n", "<C-c>", "<cmd>normal ciw<cr>a")
|
||||
|
||||
-- telescope <ctrl-r> in command line
|
||||
-- vim.cmd([[cmap <C-R> <Plug>(TelescopeFuzzyCommandSearch)]])
|
||||
|
||||
-- better indenting
|
||||
vim.keymap.set("v", "<", "<gv")
|
||||
vim.keymap.set("v", ">", ">gv")
|
||||
|
||||
vim.keymap.set("n", "<space>cu", function()
|
||||
local number = math.random(math.pow(2, 127) + 1, math.pow(2, 128))
|
||||
return "i" .. string.format("%.0f", number)
|
||||
end, {
|
||||
expr = true,
|
||||
desc = "GUID",
|
||||
})
|
||||
|
||||
-- makes * and # work on visual mode too.
|
||||
vim.cmd([[
|
||||
function! g:VSetSearch(cmdtype)
|
||||
let temp = @s
|
||||
norm! gv"sy
|
||||
let @/ = '\V' . substitute(escape(@s, a:cmdtype.'\'), '\n', '\\n', 'g')
|
||||
let @s = temp
|
||||
endfunction
|
||||
xnoremap * :<C-u>call g:VSetSearch('/')<CR>/<C-R>=@/<CR><CR>
|
||||
xnoremap # :<C-u>call g:VSetSearch('?')<CR>?<C-R>=@/<CR><CR>
|
||||
]])
|
||||
|
||||
local leader = {
|
||||
["w"] = {
|
||||
name = "+windows",
|
||||
["w"] = { "<C-W>p", "other-window" },
|
||||
["d"] = { "<C-W>c", "delete-window" },
|
||||
["-"] = { "<C-W>s", "split-window-below" },
|
||||
["|"] = { "<C-W>v", "split-window-right" },
|
||||
["2"] = { "<C-W>v", "layout-double-columns" },
|
||||
["h"] = { "<C-W>h", "window-left" },
|
||||
["j"] = { "<C-W>j", "window-below" },
|
||||
["l"] = { "<C-W>l", "window-right" },
|
||||
["k"] = { "<C-W>k", "window-up" },
|
||||
["H"] = { "<C-W>5<", "expand-window-left" },
|
||||
["J"] = { ":resize +5", "expand-window-below" },
|
||||
["L"] = { "<C-W>5>", "expand-window-right" },
|
||||
["K"] = { ":resize -5", "expand-window-up" },
|
||||
["="] = { "<C-W>=", "balance-window" },
|
||||
["s"] = { "<C-W>s", "split-window-below" },
|
||||
["v"] = { "<C-W>v", "split-window-right" },
|
||||
},
|
||||
c = {
|
||||
name = "+code",
|
||||
},
|
||||
b = {
|
||||
name = "+buffer",
|
||||
["b"] = { "<cmd>:e #<cr>", "Switch to Other Buffer" },
|
||||
["p"] = { "<cmd>:BufferLineCyclePrev<CR>", "Previous Buffer" },
|
||||
["["] = { "<cmd>:BufferLineCyclePrev<CR>", "Previous Buffer" },
|
||||
["n"] = { "<cmd>:BufferLineCycleNext<CR>", "Next Buffer" },
|
||||
["]"] = { "<cmd>:BufferLineCycleNext<CR>", "Next Buffer" },
|
||||
["d"] = { "<cmd>:Bdelete<CR>", "Delete Buffer" },
|
||||
["D"] = { "<cmd>:bd<CR>", "Delete Buffer & Window" },
|
||||
},
|
||||
g = {
|
||||
name = "+git",
|
||||
l = {
|
||||
function()
|
||||
require("util").float_terminal("lazygit")
|
||||
end,
|
||||
"LazyGit",
|
||||
},
|
||||
c = { "<Cmd>Telescope git_commits<CR>", "commits" },
|
||||
b = { "<Cmd>Telescope git_branches<CR>", "branches" },
|
||||
s = { "<Cmd>Telescope git_status<CR>", "status" },
|
||||
d = { "<cmd>DiffviewOpen<cr>", "DiffView" },
|
||||
h = { name = "+hunk" },
|
||||
},
|
||||
["h"] = {
|
||||
name = "+help",
|
||||
t = { "<cmd>:Telescope builtin<cr>", "Telescope" },
|
||||
c = { "<cmd>:Telescope commands<cr>", "Commands" },
|
||||
h = { "<cmd>:Telescope help_tags<cr>", "Help Pages" },
|
||||
m = { "<cmd>:Telescope man_pages<cr>", "Man Pages" },
|
||||
k = { "<cmd>:Telescope keymaps<cr>", "Key Maps" },
|
||||
s = { "<cmd>:Telescope highlights<cr>", "Search Highlight Groups" },
|
||||
l = { [[<cmd>TSHighlightCapturesUnderCursor<cr>]], "Highlight Groups at cursor" },
|
||||
f = { "<cmd>:Telescope filetypes<cr>", "File Types" },
|
||||
o = { "<cmd>:Telescope vim_options<cr>", "Options" },
|
||||
a = { "<cmd>:Telescope autocommands<cr>", "Auto Commands" },
|
||||
p = {
|
||||
name = "+packer",
|
||||
p = { "<cmd>PackerSync<cr>", "Sync" },
|
||||
s = { "<cmd>PackerStatus<cr>", "Status" },
|
||||
i = { "<cmd>PackerInstall<cr>", "Install" },
|
||||
c = { "<cmd>PackerCompile<cr>", "Compile" },
|
||||
},
|
||||
},
|
||||
s = {
|
||||
name = "+search",
|
||||
g = { "<cmd>Telescope live_grep<cr>", "Grep" },
|
||||
b = { "<cmd>Telescope current_buffer_fuzzy_find<cr>", "Buffer" },
|
||||
s = {
|
||||
function()
|
||||
require("telescope.builtin").lsp_document_symbols({
|
||||
symbols = { "Class", "Function", "Method", "Constructor", "Interface", "Module", "Struct", "Trait" },
|
||||
})
|
||||
end,
|
||||
"Goto Symbol",
|
||||
},
|
||||
h = { "<cmd>Telescope command_history<cr>", "Command History" },
|
||||
m = { "<cmd>Telescope marks<cr>", "Jump to Mark" },
|
||||
r = { "<cmd>lua require('spectre').open()<CR>", "Replace (Spectre)" },
|
||||
},
|
||||
f = {
|
||||
name = "+file",
|
||||
t = { "<cmd>Neotree toggle<cr>", "NeoTree" },
|
||||
f = { "<cmd>Telescope find_files<cr>", "Find File" },
|
||||
r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File" },
|
||||
n = { "<cmd>enew<cr>", "New File" },
|
||||
z = "Zoxide",
|
||||
d = "Dot Files",
|
||||
},
|
||||
o = {
|
||||
name = "+open",
|
||||
p = { "<cmd>MarkdownPreview<cr>", "Markdown Preview" },
|
||||
g = { "<cmd>Glow<cr>", "Markdown Glow" },
|
||||
n = { "<cmd>lua require('github-notifications.menu').notifications()<cr>", "GitHub Notifications" },
|
||||
},
|
||||
p = {
|
||||
name = "+project",
|
||||
p = "Open Project",
|
||||
b = { ":Telescope file_browser cwd=~/projects<CR>", "Browse ~/projects" },
|
||||
},
|
||||
t = {
|
||||
name = "toggle",
|
||||
f = {
|
||||
require("plugins.lsp.formatting").toggle,
|
||||
"Format on Save",
|
||||
},
|
||||
s = {
|
||||
function()
|
||||
util.toggle("spell")
|
||||
end,
|
||||
"Spelling",
|
||||
},
|
||||
w = {
|
||||
function()
|
||||
util.toggle("wrap")
|
||||
end,
|
||||
"Word Wrap",
|
||||
},
|
||||
n = {
|
||||
function()
|
||||
util.toggle("relativenumber", true)
|
||||
util.toggle("number")
|
||||
end,
|
||||
"Line Numbers",
|
||||
},
|
||||
},
|
||||
["<tab>"] = {
|
||||
name = "tabs",
|
||||
["<tab>"] = { "<cmd>tabnew<CR>", "New Tab" },
|
||||
n = { "<cmd>tabnext<CR>", "Next" },
|
||||
d = { "<cmd>tabclose<CR>", "Close" },
|
||||
p = { "<cmd>tabprevious<CR>", "Previous" },
|
||||
["]"] = { "<cmd>tabnext<CR>", "Next" },
|
||||
["["] = { "<cmd>tabprevious<CR>", "Previous" },
|
||||
f = { "<cmd>tabfirst<CR>", "First" },
|
||||
l = { "<cmd>tablast<CR>", "Last" },
|
||||
},
|
||||
["`"] = { "<cmd>:e #<cr>", "Switch to Other Buffer" },
|
||||
[" "] = "Find File",
|
||||
["."] = { ":Telescope file_browser<CR>", "Browse Files" },
|
||||
[","] = { "<cmd>Telescope buffers show_all_buffers=true<cr>", "Switch Buffer" },
|
||||
["/"] = { "<cmd>Telescope live_grep<cr>", "Search" },
|
||||
[":"] = { "<cmd>Telescope command_history<cr>", "Command History" },
|
||||
["C"] = {
|
||||
function()
|
||||
util.clipman()
|
||||
end,
|
||||
"Paste from Clipman",
|
||||
},
|
||||
["P"] = {
|
||||
":Telescope neoclip plus<CR>",
|
||||
"Paste from Clipman",
|
||||
},
|
||||
q = {
|
||||
name = "+quit/session",
|
||||
q = { "<cmd>qa<cr>", "Quit" },
|
||||
["!"] = { "<cmd>:qa!<cr>", "Quit without saving" },
|
||||
s = { [[<cmd>lua require("persistence").load()<cr>]], "Restore Session" },
|
||||
l = { [[<cmd>lua require("persistence").load({last=true})<cr>]], "Restore Last Session" },
|
||||
d = { [[<cmd>lua require("persistence").stop()<cr>]], "Stop Current Session" },
|
||||
},
|
||||
x = {
|
||||
name = "+errors",
|
||||
x = { "<cmd>TroubleToggle workspace_diagnostics<cr>", "Trouble" },
|
||||
t = { "<cmd>TodoTrouble<cr>", "Todo Trouble" },
|
||||
T = { "<cmd>TodoTelescope<cr>", "Todo Telescope" },
|
||||
l = { "<cmd>lopen<cr>", "Open Location List" },
|
||||
q = { "<cmd>copen<cr>", "Open Quickfix List" },
|
||||
},
|
||||
z = { [[<cmd>ZenMode<cr>]], "Zen Mode" },
|
||||
T = { [[<Plug>PlenaryTestFile]], "Plenary Test" },
|
||||
}
|
||||
|
||||
for i = 0, 10 do
|
||||
leader[tostring(i)] = "which_key_ignore"
|
||||
end
|
||||
|
||||
wk.register(leader, { prefix = "<leader>" })
|
||||
|
||||
wk.register({ g = { name = "+goto" } })
|
100
lua/config/options.lua
Normal file
100
lua/config/options.lua
Normal file
@@ -0,0 +1,100 @@
|
||||
local indent = 2
|
||||
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = ","
|
||||
vim.opt.tabstop = indent
|
||||
vim.opt.termguicolors = true
|
||||
vim.opt.autowrite = true -- enable auto write
|
||||
vim.opt.clipboard = "unnamedplus" -- sync with system clipboard
|
||||
vim.opt.concealcursor = "nc" -- Hide * markup for bold and italic
|
||||
vim.opt.conceallevel = 3 -- Hide * markup for bold and italic
|
||||
vim.opt.confirm = true -- confirm to save changes before exiting modified buffer
|
||||
vim.opt.cursorline = true -- Enable highlighting of the current line
|
||||
vim.opt.expandtab = true -- Use spaces instead of tabs
|
||||
|
||||
vim.opt.guifont = "FiraCode Nerd Font:h12"
|
||||
vim.opt.grepprg = "rg --vimgrep"
|
||||
vim.opt.grepformat = "%f:%l:%c:%m"
|
||||
vim.opt.hidden = true -- Enable modified buffers in background
|
||||
vim.opt.ignorecase = true -- Ignore case
|
||||
vim.opt.inccommand = "split" -- preview incremental substitute
|
||||
vim.opt.joinspaces = false -- No double spaces with join after a dot
|
||||
vim.opt.list = true -- Show some invisible characters (tabs...
|
||||
vim.opt.mouse = "a" -- enable mouse mode
|
||||
vim.opt.number = true -- Print line number
|
||||
vim.opt.pumblend = 10 -- Popup blend
|
||||
vim.opt.pumheight = 10 -- Maximum number of entries in a popup
|
||||
vim.opt.relativenumber = true -- Relative line numbers
|
||||
vim.opt.scrolloff = 4 -- Lines of context
|
||||
vim.opt.shiftround = true -- Round indent
|
||||
vim.opt.shiftwidth = indent -- Size of an indent
|
||||
vim.opt.showmode = false -- dont show mode since we have a statusline
|
||||
vim.opt.sidescrolloff = 8 -- Columns of context
|
||||
vim.opt.signcolumn = "yes" -- Always show the signcolumn, otherwise it would shift the text each time
|
||||
vim.opt.smartcase = true -- Don't ignore case with capitals
|
||||
vim.opt.smartindent = true -- Insert indents automatically
|
||||
|
||||
vim.opt.splitbelow = true -- Put new windows below current
|
||||
vim.opt.splitright = true -- Put new windows right of current
|
||||
vim.opt.tabstop = indent -- Number of spaces tabs count for
|
||||
vim.opt.termguicolors = true -- True color support
|
||||
vim.opt.undofile = true
|
||||
vim.opt.undolevels = 10000
|
||||
vim.opt.updatetime = 200 -- save swap file and trigger CursorHold
|
||||
vim.opt.wildmode = "longest:full,full" -- Command-line completion mode
|
||||
vim.opt.wrap = false -- Disable line wrap
|
||||
vim.opt.sessionoptions = { "buffers", "curdir", "tabpages", "winsize" }
|
||||
vim.opt.fillchars = {
|
||||
-- horiz = "\u2501",
|
||||
-- horizup = "\u253b",
|
||||
-- horizdown = "\u2533",
|
||||
-- vert = "\u2503",
|
||||
-- vertleft = "\u252b",
|
||||
-- vertright = "\u2523",
|
||||
-- verthoriz = "\u254b",im.o.fillchars = [[eob: ,
|
||||
-- fold = " ",
|
||||
foldopen = "",
|
||||
-- foldsep = " ",
|
||||
foldclose = "",
|
||||
}
|
||||
|
||||
local builtins = {
|
||||
"gzip",
|
||||
"zip",
|
||||
"zipPlugin",
|
||||
"fzf",
|
||||
"tar",
|
||||
"tarPlugin",
|
||||
"getscript",
|
||||
"getscriptPlugin",
|
||||
"vimball",
|
||||
"vimballPlugin",
|
||||
"2html_plugin",
|
||||
"matchit",
|
||||
"matchparen",
|
||||
"logiPat",
|
||||
"rrhelper",
|
||||
"netrw",
|
||||
"netrwPlugin",
|
||||
"netrwSettings",
|
||||
"netrwFileHandlers",
|
||||
}
|
||||
|
||||
for _, plugin in ipairs(builtins) do
|
||||
vim.g["loaded_" .. plugin] = 1
|
||||
end
|
||||
|
||||
local fences = {
|
||||
"lua",
|
||||
-- "vim",
|
||||
"json",
|
||||
"typescript",
|
||||
"javascript",
|
||||
"js=javascript",
|
||||
"ts=typescript",
|
||||
"shell=sh",
|
||||
"python",
|
||||
"sh",
|
||||
"console=sh",
|
||||
}
|
||||
vim.g.markdown_fenced_languages = fences
|
@@ -5,21 +5,184 @@ local config = {
|
||||
auto_reload_compiled = false,
|
||||
}
|
||||
|
||||
|
||||
local function plugins(use, plugin)
|
||||
-- Bootstrap
|
||||
---- Bootstrap
|
||||
use({ "wbthomason/packer.nvim" })
|
||||
|
||||
-- Explorer
|
||||
-- UI
|
||||
use({ "stevearc/dressing.nvim", event = "User PackerDefered" })
|
||||
|
||||
-- Layout
|
||||
use({
|
||||
"folke/noice.nvim",
|
||||
module = "noice",
|
||||
event = "VimEnter",
|
||||
config = function()
|
||||
require("noice").setup()
|
||||
end,
|
||||
})
|
||||
plugin("anuvyklack/windows.nvim")
|
||||
|
||||
-- Notifications
|
||||
use({
|
||||
"rcarriga/nvim-notify",
|
||||
event = "User PackerDefered",
|
||||
module = "notify",
|
||||
config = function()
|
||||
require("notify").setup({ level = vim.log.levels.INFO, fps = 20 })
|
||||
vim.notify = require("notify")
|
||||
end,
|
||||
})
|
||||
|
||||
---- Explorer
|
||||
plugin("nvim-neo-tree/neo-tree.nvim")
|
||||
use({
|
||||
"MunifTanjim/nui.nvim",
|
||||
module = "nui",
|
||||
})
|
||||
use({
|
||||
"danymat/neogen",
|
||||
module = "neogen",
|
||||
config = function()
|
||||
require("neogen").setup({ snippet_engine = "luasnip" })
|
||||
end,
|
||||
})
|
||||
|
||||
--plugin("nvim-treesitter/nvim-treesitter")
|
||||
-- Status bar
|
||||
use({
|
||||
"SmiteshP/nvim-navic",
|
||||
module = "nvim-navic",
|
||||
config = function()
|
||||
vim.g.navic_silence = true
|
||||
require("nvim-navic").setup({ separator = " ", highlight = true, depth_limit = 5 })
|
||||
end,
|
||||
})
|
||||
|
||||
plugin("nvim-lualine/lualine.nvim")
|
||||
|
||||
-- Bufferline
|
||||
plugin("nvim-telescope/telescope.nvim")
|
||||
|
||||
plugin("lukas-reineke/indent-blankline.nvim")
|
||||
plugin("akinsho/nvim-bufferline.lua")
|
||||
|
||||
plugin("NvChad/nvim-colorizer.lua")
|
||||
|
||||
-- Dashboard
|
||||
plugin("glepnir/dashboard-nvim")
|
||||
|
||||
-- Notify
|
||||
use({
|
||||
"j-hui/fidget.nvim",
|
||||
module = "fidget",
|
||||
config = function()
|
||||
require("fidget").setup({
|
||||
window = {
|
||||
relative = "editor",
|
||||
},
|
||||
})
|
||||
-- HACK: prevent error when exiting Neovim
|
||||
vim.api.nvim_create_autocmd("VimLeavePre", { command = [[silent! FidgetClose]] })
|
||||
end,
|
||||
})
|
||||
|
||||
-- smooth scrolling
|
||||
plugin("karb94/neoscroll.nvim")
|
||||
|
||||
---- Code
|
||||
-- Formatting
|
||||
plugin("jose-elias-alvarez/null-ls.nvim")
|
||||
use({ "folke/lua-dev.nvim", module = "lua-dev" })
|
||||
|
||||
-- LSP
|
||||
use({ "neovim/nvim-lspconfig", plugin = "lsp" })
|
||||
plugin("williamboman/mason.nvim")
|
||||
use({
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
module = "mason-lspconfig",
|
||||
})
|
||||
|
||||
-- Autocomplete
|
||||
plugin("hrsh7th/nvim-cmp")
|
||||
|
||||
use({
|
||||
"folke/trouble.nvim",
|
||||
event = "BufReadPre",
|
||||
module = "trouble",
|
||||
cmd = { "TroubleToggle", "Trouble" },
|
||||
config = function()
|
||||
require("trouble").setup({
|
||||
auto_open = false,
|
||||
use_diagnostic_signs = true, -- en
|
||||
})
|
||||
end,
|
||||
})
|
||||
|
||||
-- Utility
|
||||
plugin("windwp/nvim-autopairs")
|
||||
|
||||
-- Yanking
|
||||
use({
|
||||
"AckslD/nvim-neoclip.lua",
|
||||
event = "TextYankPost",
|
||||
module = "telescope._extensions.neoclip",
|
||||
requires = { { "kkharji/sqlite.lua", module = "sqlite" } },
|
||||
config = function()
|
||||
require("neoclip").setup({
|
||||
enable_persistent_history = true,
|
||||
continuous_sync = true,
|
||||
})
|
||||
end,
|
||||
})
|
||||
|
||||
-- Session management
|
||||
use({
|
||||
"folke/persistence.nvim",
|
||||
event = "BufReadPre",
|
||||
module = "persistence",
|
||||
config = function()
|
||||
require("persistence").setup()
|
||||
end,
|
||||
})
|
||||
use({
|
||||
"dstein64/vim-startuptime",
|
||||
cmd = "StartupTime",
|
||||
config = function()
|
||||
vim.g.startuptime_tries = 10
|
||||
end,
|
||||
})
|
||||
|
||||
-- Snippets
|
||||
plugin("L3MON4D3/LuaSnip")
|
||||
|
||||
-- Syntax
|
||||
use({ "nvim-lua/plenary.nvim", module = "plenary" })
|
||||
|
||||
plugin("nvim-treesitter/nvim-treesitter")
|
||||
use({ "nvim-treesitter/playground", cmd = { "TSHighlightCapturesUnderCursor", "TSPlaygroundToggle" } })
|
||||
|
||||
use({
|
||||
"m-demare/hlargs.nvim",
|
||||
module = "hlargs",
|
||||
event = "User PackerDefered",
|
||||
requires = {
|
||||
"nvim-treesitter",
|
||||
},
|
||||
config = function()
|
||||
require("hlargs").setup({
|
||||
color = require("tokyonight.colors").setup().yellow,
|
||||
})
|
||||
end,
|
||||
})
|
||||
|
||||
use({
|
||||
"folke/which-key.nvim",
|
||||
module = "which-key",
|
||||
})
|
||||
|
||||
-- Theme: color scheme
|
||||
plugin("folke/tokyonight.nvim")
|
||||
|
||||
-- Theme: Icons
|
||||
use({
|
||||
"kyazdani42/nvim-web-devicons",
|
||||
@@ -28,12 +191,6 @@ local function plugins(use, plugin)
|
||||
require("nvim-web-devicons").setup({ default = true })
|
||||
end,
|
||||
})
|
||||
|
||||
plugin("nvim-treesitter/nvim-treesitter")
|
||||
|
||||
use({ "nvim-treesitter/playground", cmd = { "TSHighlightCapturesUnderCursor", "TSPlaygroundToggle" } })
|
||||
|
||||
|
||||
end
|
||||
|
||||
return packer.setup(config, plugins)
|
||||
|
Reference in New Issue
Block a user