Files
dotfiles/nvim/.config/nvim/lua/plugins.lua
T

161 lines
4.6 KiB
Lua

-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
-- Install Plugins
require('lazy').setup({
'neovim/nvim-lspconfig',
'mfussenegger/nvim-dap',
'rcarriga/nvim-dap-ui',
'leoluz/nvim-dap-go',
'nvim-treesitter/nvim-treesitter',
'luukvbaal/nnn.nvim',
'nvim-tree/nvim-tree.lua',
'lewis6991/gitsigns.nvim',
{
'folke/zen-mode.nvim',
opts = {
window = {
width = 0.5,
options = {
signcolumn = "no",
number = false,
relativenumber = false,
linebreak = true,
wrap = true,
}
},
}
},
-- Utility
'windwp/nvim-autopairs',
'nvim-telescope/telescope.nvim',
'nvim-telescope/telescope-ui-select.nvim',
'nvim-lua/plenary.nvim',
-- 'folke/which-key.nvim',
{
"nvim-orgmode/orgmode",
event = 'VeryLazy',
ft = { 'org' },
config = function()
require("orgmode").setup({
org_startup_indented = true,
org_agenda_files = '~/doc/org/**/*',
org_default_notes_file = '~/doc/org/scratch.org',
org_startup_indented = true,
org_deadline_warning_days = 0,
ui = {
folds = {
colored = false,
},
},
org_agenda_custom_commands = {
o = {
description = "Owned",
types = {
{
type = 'agenda',
org_agenda_tag_filter_preset = 'owned'
}
}
},
a = {
description = "Assigned",
types = {
{
type = 'agenda',
org_agenda_tag_filter_preset = 'assigned'
}
}
},
p = {
description = "Personal",
types = {
{
type = 'agenda',
org_agenda_tag_filter_preset = 'personal'
}
}
},
h = {
description = "Habits",
types = {
{
type = 'agenda',
org_agenda_tag_filter_preset = 'habits'
}
}
},
l = {
description = "Agenda",
types = {
{
type = 'agenda',
}
}
},
}
})
end,
},
})
-- Initialize Plugins
-- require("tree-sitter-manager").setup()
require('nnn').setup({
picker = {
cmd = "nnn -C",
style = { border = "rounded" },
fullscreen = false,
},
})
local function tree_on_attach(bufnr)
local api = require('nvim-tree.api')
api.config.mappings.default_on_attach(bufnr)
vim.keymap.del('n', '<C-e>', { buffer = bufnr })
vim.keymap.set("n", "<M-h>", function() api.tree.resize({ relative = -5 }) end, { buffer = bufnr })
vim.keymap.set("n", "<M-l>", function() api.tree.resize({ relative = 5 }) end, { buffer = bufnr })
end
require('nvim-tree').setup({
on_attach = tree_on_attach,
renderer = {
full_name = true,
},
view = {
side = "left",
},
tab = {
sync = {
open = true,
close = true,
},
},
})
require('telescope').setup({
defaults = {
file_ignore_patterns = {
"%.git/",
"node_modules/",
"%.DS_Store",
},
},
pickers = {
find_files = {
hidden = true,
no_ignore = true,
},
},
})
require("telescope").load_extension("ui-select")
require('nvim-autopairs').setup()