Summary Files Commits Branches @commit @diff @stats
path: root / lua / plugins / default.lua
blob: 36ee3164d8239f1de1209c28583ee37e30edac7f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
return {
	--[=[ Visuals ]=]--
	{
		"morhetz/gruvbox", -- Color theme
		lazy = false,
		priority = 1000,
		init = function()
			vim.o.background = "dark"
			vim.g.gruvbox_contrast_dark = "hard"
		end,
		config = function()
			vim.cmd("colorscheme gruvbox")
		end,
	},

	--[=[ Quality of life ]=]--
	{
		"nvim-treesitter/nvim-treesitter", -- Advanced syntax parsing
	 	build = ":TSUpdate",
		opts = {
			ensure_installed = "all",
			ignore_install = { "liquidsoap", "norg", "tlaplus", "yaml" }, -- Can't compile
			highlight = { enable = true },
			incremental_selection = { enable = true },
			textobjects = { enable = true },
		},
		config = function(_, opts)
			require("nvim-treesitter.configs").setup(opts)
		end,
	},
	{
		"preservim/nerdtree", -- Browse directories
		dependencies = {
			"ryanoasis/vim-devicons",
		},
		keys = {{ "<Tab>", ":NERDTreeToggle<CR>" }},
		init = function()
			vim.g.NERDTreeShowHidden = 1
			vim.g.NERDTreeWinPos     = "right"
			vim.g.NERDTreeIgnore     = { "\\.swp$", "\\~$" } -- Ignore file, ending with .swp and ~
		end,
	},
	{
		"nvim-tree/nvim-web-devicons", -- NERDFont icons
	},
	{
		"numToStr/Comment.nvim", -- Toggle comments
	},
	{
		"mbbill/undotree", -- Easily interact with undo history
		keys = {{ "<F5>", ":UndotreeToggle<CR>" }},
		init = function()
			vim.g.undotree_WindowLayout       = 2
			vim.g.undotree_ShortIndicators    = 1 -- e.g. using 'd' instead of 'days' to save some space.
			vim.g.undotree_SetFocusWhenToggle = 1 -- if set, let undotree window get focus after being opened, otherwise focus will stay in current window.
			vim.g.undotree_TreeNodeShape      = '*'
			vim.g.undotree_DiffCommand        = "diff"
		end,
	},
	{
		"godlygeek/tabular", -- Line up text to a given character
	},
	{
		"tpope/vim-eunuch", -- UNIX commands in vim
	},
	{
		"kylechui/nvim-surround", -- Surround text
		version = "*",
		event = "VeryLazy",
		dependencies = {
			"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter-textobjects"
		},
		config = function()
			require("nvim-surround").setup(opts)
		end,
	},
	{
		"windwp/nvim-ts-autotag", -- Auto-add and edit HTML tags
	},
	{
		"ntpeters/vim-better-whitespace", -- Highlight in red trailing whitespaces
	},

	--[=[ Development-specific ]=]--
	{
		"zivyangll/git-blame.vim", -- Show last commit on line
		keys = {{ "<F8>", ":<C-u>call gitblame#echo()<CR>" }},
	},
	{
		"wakatime/vim-wakatime", -- WakaTime tracking
		lazy = false,
	},
}