all repos

dotfiles @ a537caddf0614aee07023eab0df78c8d0d28d428

my dotfiles

config/lvim/config.lua (view raw)

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
94
95
96
97
98
99
100
101
102
103
104
105
lvim.format_on_save = false
lvim.lint_on_save = true
lvim.colorscheme = "onedarker"

-- Default fatures
lvim.builtin.terminal.active = true
lvim.builtin.dashboard.active = true
lvim.builtin.dap.active = true

-- GitSigns
lvim.builtin.gitsigns.opts.current_line_blame = true
lvim.builtin.gitsigns.opts.current_line_blame_opts = { delay = 200 }

-- TreeSitter
lvim.builtin.treesitter.ensure_installed = { "javascript", "typescript", "jsdoc", "lua", "go" }
lvim.builtin.treesitter.indent.disable = { "clojure", "java", "python" }

-- Telescope
lvim.builtin.telescope.defaults.layout_config.prompt_position = "top"
lvim.builtin.telescope.defaults.file_ignore_patterns = { ".git", "node_modules", "env", ".bin" }

-- NvimTree
lvim.builtin.nvimtree.ignore = { ".git", "node_modules", ".bin", "env" }

-- Mappings
lvim.keys.normal_mode["<C-w>"] = "<cmd>BufferClose<cr>"
lvim.keys.normal_mode["<C-s>"] = "<cmd>w<cr>"
lvim.keys.visual_mode["jk"] = "<esc>"
lvim.builtin.which_key.mappings.l.a = { "<cmd>Telescope lsp_code_actions<cr>", "Code Actions" }
lvim.builtin.which_key.mappings.l.d = { "<cmd>TroubleToggle<cr>", "Diagnostics" }
lvim.builtin.which_key.mappings.l.R = { "<cmd>TroubleToggle lsp_references<cr>", "References" }
lvim.builtin.which_key.mappings["t"] = {
	name = "Test",
	t = { "<cmd>Ultest<cr>", "Run test" },
	s = { "<cmd>UltestStop<cr>", "Stop test" },
	c = { "<cmd>UltestClear<cr>", "Clear test result" },
	n = { "<cmd>UltestNearest<cr>", "Run test order by cursor" },
	o = { "<cmd>UltestOutput<cr>", "Show output order by cursor" },
	j = { "<Plug>(ultest-next-fail)", "Next fail" },
	k = { "<Plug>(ultest-prev-fail)", "Prev fail" },
}

for i = 1, 9 do
	lvim.keys.normal_mode[string.format("<A-%d>", i)] = string.format("<cmd>BufferGoto %d<cr>", i)
end

-- Pluginos
lvim.plugins = {
	{ "tpope/vim-surround", keys = { "c", "y", "d" }, event = "BufRead" },
	{ "folke/trouble.nvim", cmd = { "TroubleToggle" } },
	{ "editorconfig/editorconfig-vim" },
	{
		"theHamsta/nvim-dap-virtual-text",
		config = function()
			require("user.conjure").setup()
		end,
	},
	{
		"folke/todo-comments.nvim",
		event = "BufRead",
		config = function()
			require("todo-comments").setup({})
		end,
	},
	{
		"tzachar/cmp-tabnine",
		run = "./install.sh",
		event = "InsertEnter",
		config = function()
			require("cmp_tabnine.config"):setup({
				max_lines = 1000,
				max_num_results = 10,
				sort = true,
			})
		end,
	},
	{
		"folke/lua-dev.nvim",
		ft = "lua",
		config = function()
			require("user.lua-dev").setup()
		end,
	},
	{
		"Smirnov-O/ts-unit.nvim",
		keys = { "vip", "cip", "yip", "dip" },
		config = function()
			require("ts-unit").setup({ keymaps = true })
		end,
	},
	{
		"Olical/conjure",
		ft = { "clojure", "fennel", "scheme" },
		requires = { { "PaterJason/cmp-conjure", after = "conjure" } },
		config = function()
			require("user.conjure").setup()
		end,
	},
	{
		"rcarriga/vim-ultest",
		requires = { { "vim-test/vim-test", after = "vim-ultest" } },
		cmd = { "Ultest", "UltestStop", "UltestClear", "UltestNearest", "UltestOutput" },
		run = ":UpdateRemotePlugins",
	},
}