Split plugins into files by category
This commit is contained in:
		@@ -26,11 +26,10 @@ vim.opt.signcolumn = 'yes'
 | 
			
		||||
vim.opt.mouse = 'a' -- " Enable mouse in all modes.
 | 
			
		||||
 | 
			
		||||
--
 | 
			
		||||
-- Packer
 | 
			
		||||
-- Plugin management
 | 
			
		||||
--
 | 
			
		||||
require("config.lazy")
 | 
			
		||||
require("config.plugins")
 | 
			
		||||
require'lspserver'
 | 
			
		||||
require("config.lspserver")
 | 
			
		||||
 | 
			
		||||
--
 | 
			
		||||
-- Theme
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@ require'lsphelp'
 | 
			
		||||
 | 
			
		||||
vim.lsp.config('hls', {
 | 
			
		||||
	on_attach = default_on_attach,
 | 
			
		||||
	capabilities = capabilities,
 | 
			
		||||
	capabilities = _G['capabilities'],
 | 
			
		||||
	flags = {
 | 
			
		||||
		debounce_text_changes = 150,
 | 
			
		||||
	},
 | 
			
		||||
@@ -27,7 +27,7 @@ vim.lsp.config('intelephense', {
 | 
			
		||||
		licenceKey = os.getenv('HOME') .. '/Documents/Schluessel/intelephense.key',
 | 
			
		||||
		storagePath = '/tmp/intelephense'
 | 
			
		||||
	},
 | 
			
		||||
	capabilities = capabilities,
 | 
			
		||||
	capabilities = _G['capabilities'],
 | 
			
		||||
	settings = {
 | 
			
		||||
		intelephense = {
 | 
			
		||||
			environment = {
 | 
			
		||||
@@ -40,7 +40,7 @@ vim.lsp.enable('intelephense')
 | 
			
		||||
 | 
			
		||||
vim.lsp.config('clangd', {
 | 
			
		||||
	on_attach = default_on_attach,
 | 
			
		||||
	capabilities = capabilities
 | 
			
		||||
	capabilities = _G['capabilities']
 | 
			
		||||
})
 | 
			
		||||
vim.lsp.enable('clangd')
 | 
			
		||||
 | 
			
		||||
@@ -50,13 +50,13 @@ require('flutter-tools').setup {
 | 
			
		||||
	},
 | 
			
		||||
	lsp = {
 | 
			
		||||
		on_attach = default_on_attach,
 | 
			
		||||
		capabilities = capabilities
 | 
			
		||||
		capabilities = _G['capabilities']
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
vim.lsp.config('twiggy_language_server', {
 | 
			
		||||
	on_attach = default_on_attach,
 | 
			
		||||
	capabilities = capabilities,
 | 
			
		||||
	capabilities = _G['capabilities'],
 | 
			
		||||
	settings = {
 | 
			
		||||
		twiggy = {
 | 
			
		||||
			framework = 'symfony',
 | 
			
		||||
@@ -1,68 +0,0 @@
 | 
			
		||||
--
 | 
			
		||||
-- ALE
 | 
			
		||||
--
 | 
			
		||||
-- Run linters only on save
 | 
			
		||||
vim.g.ale_lint_on_text_changed = 'never'
 | 
			
		||||
vim.g.ale_lint_on_insert_leave = 0
 | 
			
		||||
 | 
			
		||||
-- Include the linter name (e.g. 'hack' or 'hhast'), code, and message in errors
 | 
			
		||||
vim.g.ale_echo_msg_format = '[%linter%] %s'
 | 
			
		||||
vim.g.ale_linters = {
 | 
			
		||||
	hack = {'hack', 'hhast'},
 | 
			
		||||
	haskell = {"hlint"},
 | 
			
		||||
	javascript = {'eslint'},
 | 
			
		||||
	d = {'dmd'},
 | 
			
		||||
	php = {'phpcs', 'phpstan'},
 | 
			
		||||
	ruby = {'rubocop'},
 | 
			
		||||
	cpp = {},
 | 
			
		||||
	asm = {},
 | 
			
		||||
}
 | 
			
		||||
vim.g.ale_ruby_rubocop_executable = 'bundle'
 | 
			
		||||
vim.g.ale_cpp_cc_options = '-std=c++17 -Wall'
 | 
			
		||||
 | 
			
		||||
vim.g.ale_open_list = 1
 | 
			
		||||
vim.g.ale_disable_lsp = 1
 | 
			
		||||
 | 
			
		||||
-- Setup lspconfig.
 | 
			
		||||
local capabilities = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities())
 | 
			
		||||
capabilities.textDocument.foldingRange = {
 | 
			
		||||
    dynamicRegistration = false,
 | 
			
		||||
    lineFoldingOnly = true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
--
 | 
			
		||||
-- Telescope
 | 
			
		||||
--
 | 
			
		||||
require('telescope').setup {
 | 
			
		||||
	extensions = {
 | 
			
		||||
		["ui-select"] = {
 | 
			
		||||
			require("telescope.themes").get_dropdown {
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
require("telescope").load_extension("ui-select")
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<leader>ff', "<cmd>lua require('telescope.builtin').find_files()<cr>",
 | 
			
		||||
	{ noremap = true, silent = true })
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<leader>fg', "<cmd>lua require('telescope.builtin').live_grep()<cr>",
 | 
			
		||||
	{ noremap = true, silent = true })
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<leader>fb', "<cmd>lua require('telescope.builtin').buffers()<cr>",
 | 
			
		||||
	{ noremap = true, silent = true })
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<leader>fh', "<cmd>lua require('telescope.builtin').help_tags()<cr>",
 | 
			
		||||
	{ noremap = true, silent = true })
 | 
			
		||||
 | 
			
		||||
--
 | 
			
		||||
-- Vista
 | 
			
		||||
--
 | 
			
		||||
vim.g.vista_default_executive = 'nvim_lsp'
 | 
			
		||||
 | 
			
		||||
--
 | 
			
		||||
-- Vdebug
 | 
			
		||||
--
 | 
			
		||||
vim.g.vdebug_options = { port = '9000'  }
 | 
			
		||||
 | 
			
		||||
--
 | 
			
		||||
-- sonokai
 | 
			
		||||
--
 | 
			
		||||
vim.g.sonokai_style = "shusia"
 | 
			
		||||
@@ -29,3 +29,10 @@ function default_on_attach(client, bufnr)
 | 
			
		||||
	nnoremap('gr', vim.lsp.buf.references, "Find references")
 | 
			
		||||
	nnoremap('<space>f', function() vim.lsp.buf.format { async = true } end, "Format file")
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Setup lspconfig.
 | 
			
		||||
capabilities = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities())
 | 
			
		||||
capabilities.textDocument.foldingRange = {
 | 
			
		||||
    dynamicRegistration = false,
 | 
			
		||||
    lineFoldingOnly = true
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,190 +0,0 @@
 | 
			
		||||
return {
 | 
			
		||||
	{
 | 
			
		||||
		'mfussenegger/nvim-dap',
 | 
			
		||||
		config = function()
 | 
			
		||||
			vim.keymap.set('n', '<F5>', function() require('dap').continue() end)
 | 
			
		||||
			vim.keymap.set('n', '<F10>', function() require('dap').step_over() end)
 | 
			
		||||
			vim.keymap.set('n', '<F11>', function() require('dap').step_into() end)
 | 
			
		||||
			vim.keymap.set('n', '<F12>', function() require('dap').step_out() end)
 | 
			
		||||
			vim.keymap.set('n', '<Leader>b', function() require('dap').toggle_breakpoint() end)
 | 
			
		||||
			vim.keymap.set('n', '<Leader>B', function() require('dap').set_breakpoint() end)
 | 
			
		||||
			vim.keymap.set('n', '<Leader>lp', function() require('dap').set_breakpoint(nil, nil, vim.fn.input('Log point message: ')) end)
 | 
			
		||||
			vim.keymap.set('n', '<Leader>dr', function() require('dap').repl.open() end)
 | 
			
		||||
			vim.keymap.set('n', '<Leader>dl', function() require('dap').run_last() end)
 | 
			
		||||
			vim.keymap.set({'n', 'v'}, '<Leader>dh', function()
 | 
			
		||||
				require('dap.ui.widgets').hover()
 | 
			
		||||
			end)
 | 
			
		||||
			vim.keymap.set({'n', 'v'}, '<Leader>dp', function()
 | 
			
		||||
				require('dap.ui.widgets').preview()
 | 
			
		||||
			end)
 | 
			
		||||
			vim.keymap.set('n', '<Leader>df', function()
 | 
			
		||||
				local widgets = require('dap.ui.widgets')
 | 
			
		||||
				widgets.centered_float(widgets.frames)
 | 
			
		||||
			end)
 | 
			
		||||
			vim.keymap.set('n', '<Leader>ds', function()
 | 
			
		||||
				local widgets = require('dap.ui.widgets')
 | 
			
		||||
				widgets.centered_float(widgets.scopes)
 | 
			
		||||
			end)
 | 
			
		||||
 | 
			
		||||
			local dap = require("dap")
 | 
			
		||||
			dap.adapters.gdb = {
 | 
			
		||||
			  type = "executable",
 | 
			
		||||
			  command = "gdb",
 | 
			
		||||
			  args = { "-i", "dap" }
 | 
			
		||||
			}
 | 
			
		||||
			dap.configurations.cpp = {
 | 
			
		||||
			  {
 | 
			
		||||
				name = "Launch",
 | 
			
		||||
				type = "gdb",
 | 
			
		||||
				request = "launch",
 | 
			
		||||
				program = function()
 | 
			
		||||
				  return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
 | 
			
		||||
				end,
 | 
			
		||||
				cwd = "${workspaceFolder}",
 | 
			
		||||
				stopAtBeginningOfMainSubprogram = false,
 | 
			
		||||
			  },
 | 
			
		||||
			}
 | 
			
		||||
		end
 | 
			
		||||
	},
 | 
			
		||||
	{ 'airblade/vim-gitgutter' },
 | 
			
		||||
	{ 'neovim/nvim-lspconfig' },
 | 
			
		||||
	{ 'dense-analysis/ale' },
 | 
			
		||||
	{ 'liuchengxu/vista.vim' }, -- Tag bar.
 | 
			
		||||
	{
 | 
			
		||||
		'nvim-treesitter/nvim-treesitter',
 | 
			
		||||
		lazy = false,
 | 
			
		||||
		build = ':TSUpdate',
 | 
			
		||||
		config = function()
 | 
			
		||||
			require'nvim-treesitter.configs'.setup {
 | 
			
		||||
				ensure_installed = {
 | 
			
		||||
					'haskell', 'php', 'lua', 'css', 'dockerfile', 'html', 'javascript', 'markdown', 'ruby', 'vue'
 | 
			
		||||
				},
 | 
			
		||||
				highlight = {
 | 
			
		||||
					enable = true,
 | 
			
		||||
					additional_vim_regex_highlighting = true
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		end
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	-- Git.
 | 
			
		||||
	{ 'tpope/vim-fugitive' },
 | 
			
		||||
	{
 | 
			
		||||
		'sindrets/diffview.nvim',
 | 
			
		||||
		dependencies = {'nvim-lua/plenary.nvim'},
 | 
			
		||||
		opts = {}
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	-- File browser.
 | 
			
		||||
	{
 | 
			
		||||
		'kyazdani42/nvim-tree.lua',
 | 
			
		||||
		dependencies = {'nvim-tree/nvim-web-devicons'},
 | 
			
		||||
		lazy = false,
 | 
			
		||||
		keys = {
 | 
			
		||||
			{ "<C-n>", ":NvimTreeToggle<CR>" },
 | 
			
		||||
			{ "<leader>r", ":NvimTreeRefresh<CR>" },
 | 
			
		||||
			{ "<leader>n", ":NvimTreeFindFile<CR>" },
 | 
			
		||||
		},
 | 
			
		||||
		opts = {}
 | 
			
		||||
	}, -- optional, for file icon
 | 
			
		||||
	{
 | 
			
		||||
		'nvim-telescope/telescope.nvim',
 | 
			
		||||
		dependencies = {'nvim-lua/plenary.nvim'},
 | 
			
		||||
		lazy = false,
 | 
			
		||||
		config = function()
 | 
			
		||||
		end
 | 
			
		||||
	},
 | 
			
		||||
	{ 'nvim-telescope/telescope-ui-select.nvim', lazy = false },
 | 
			
		||||
	{
 | 
			
		||||
		'kevinhwang91/nvim-ufo',
 | 
			
		||||
		dependencies = {'kevinhwang91/promise-async'},
 | 
			
		||||
		config = function()
 | 
			
		||||
			vim.wo.foldcolumn = '1'
 | 
			
		||||
			vim.wo.foldlevel = 99 -- feel free to decrease the value
 | 
			
		||||
			vim.wo.foldenable = true
 | 
			
		||||
 | 
			
		||||
			require('ufo').setup()
 | 
			
		||||
		end
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	-- Theme.
 | 
			
		||||
	{
 | 
			
		||||
		'sainnhe/sonokai',
 | 
			
		||||
		config = function()
 | 
			
		||||
			vim.cmd('colorscheme sonokai')
 | 
			
		||||
		end
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'nvim-lualine/lualine.nvim',
 | 
			
		||||
		dependencies = {'nvim-tree/nvim-web-devicons'},
 | 
			
		||||
		opts = {
 | 
			
		||||
			options = {
 | 
			
		||||
				theme = 'sonokai'
 | 
			
		||||
			},
 | 
			
		||||
			extensions = {'quickfix', 'nvim-tree', 'fugitive'},
 | 
			
		||||
			sections = {
 | 
			
		||||
				lualine_c = {
 | 
			
		||||
					'filename'
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}, -- optional, for status line icons
 | 
			
		||||
 | 
			
		||||
	-- Syntax.
 | 
			
		||||
	{ 'leafOfTree/vim-vue-plugin' },
 | 
			
		||||
	{ 'mfussenegger/nvim-jdtls' },
 | 
			
		||||
	{ 'dart-lang/dart-vim-plugin' },
 | 
			
		||||
	{
 | 
			
		||||
		'akinsho/flutter-tools.nvim',
 | 
			
		||||
		dependencies = { 'nvim-lua/plenary.nvim' }
 | 
			
		||||
	},
 | 
			
		||||
	{ 'vim-vdebug/vdebug' },
 | 
			
		||||
 | 
			
		||||
	-- nvim-cmp
 | 
			
		||||
	{ 'dcampos/nvim-snippy' },
 | 
			
		||||
	{
 | 
			
		||||
		'hrsh7th/nvim-cmp',
 | 
			
		||||
		dependencies = {
 | 
			
		||||
			'hrsh7th/cmp-nvim-lsp',
 | 
			
		||||
			'hrsh7th/cmp-path',
 | 
			
		||||
			'hrsh7th/cmp-buffer',
 | 
			
		||||
			'dcampos/cmp-snippy'
 | 
			
		||||
		},
 | 
			
		||||
		lazy = false,
 | 
			
		||||
		config = function()
 | 
			
		||||
			local cmp = require'cmp'
 | 
			
		||||
 | 
			
		||||
			cmp.setup({
 | 
			
		||||
				snippet = {
 | 
			
		||||
					-- REQUIRED - you must specify a snippet engine
 | 
			
		||||
					expand = function(args)
 | 
			
		||||
						require'snippy'.expand_snippet(args.body)
 | 
			
		||||
					end,
 | 
			
		||||
				},
 | 
			
		||||
				mapping = {
 | 
			
		||||
					['<C-b>'] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }),
 | 
			
		||||
					['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }),
 | 
			
		||||
					['<C-Space>'] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }),
 | 
			
		||||
					-- Specify `cmp.config.disable` if you want to remove the default `<C-y>` mapping.
 | 
			
		||||
					['<C-y>'] = cmp.config.disable,
 | 
			
		||||
					['<C-e>'] = cmp.mapping({
 | 
			
		||||
						i = cmp.mapping.abort(),
 | 
			
		||||
						c = cmp.mapping.close(),
 | 
			
		||||
					}),
 | 
			
		||||
					['<CR>'] = cmp.mapping.confirm({ select = false }),
 | 
			
		||||
				},
 | 
			
		||||
				sources = cmp.config.sources({
 | 
			
		||||
					{ name = 'nvim_lsp' },
 | 
			
		||||
					{ name = 'snippy' },
 | 
			
		||||
				}, {
 | 
			
		||||
					{ name = 'path' },
 | 
			
		||||
				}, {
 | 
			
		||||
					{ name = 'buffer' },
 | 
			
		||||
				}),
 | 
			
		||||
				view = {
 | 
			
		||||
					entries = 'native',
 | 
			
		||||
				},
 | 
			
		||||
			})
 | 
			
		||||
		end
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										49
									
								
								.config/nvim/lua/plugins/cmp.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								.config/nvim/lua/plugins/cmp.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
			
		||||
return {
 | 
			
		||||
	-- nvim-cmp
 | 
			
		||||
	{ 'dcampos/nvim-snippy' },
 | 
			
		||||
	{
 | 
			
		||||
		'hrsh7th/nvim-cmp',
 | 
			
		||||
		dependencies = {
 | 
			
		||||
			'hrsh7th/cmp-nvim-lsp',
 | 
			
		||||
			'hrsh7th/cmp-path',
 | 
			
		||||
			'hrsh7th/cmp-buffer',
 | 
			
		||||
			'dcampos/cmp-snippy'
 | 
			
		||||
		},
 | 
			
		||||
		lazy = false,
 | 
			
		||||
		config = function()
 | 
			
		||||
			local cmp = require'cmp'
 | 
			
		||||
 | 
			
		||||
			cmp.setup({
 | 
			
		||||
				snippet = {
 | 
			
		||||
					-- REQUIRED - you must specify a snippet engine
 | 
			
		||||
					expand = function(args)
 | 
			
		||||
						require'snippy'.expand_snippet(args.body)
 | 
			
		||||
					end,
 | 
			
		||||
				},
 | 
			
		||||
				mapping = {
 | 
			
		||||
					['<C-b>'] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }),
 | 
			
		||||
					['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }),
 | 
			
		||||
					['<C-Space>'] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }),
 | 
			
		||||
					-- Specify `cmp.config.disable` if you want to remove the default `<C-y>` mapping.
 | 
			
		||||
					['<C-y>'] = cmp.config.disable,
 | 
			
		||||
					['<C-e>'] = cmp.mapping({
 | 
			
		||||
						i = cmp.mapping.abort(),
 | 
			
		||||
						c = cmp.mapping.close(),
 | 
			
		||||
					}),
 | 
			
		||||
					['<CR>'] = cmp.mapping.confirm({ select = false }),
 | 
			
		||||
				},
 | 
			
		||||
				sources = cmp.config.sources({
 | 
			
		||||
					{ name = 'nvim_lsp' },
 | 
			
		||||
					{ name = 'snippy' },
 | 
			
		||||
				}, {
 | 
			
		||||
					{ name = 'path' },
 | 
			
		||||
				}, {
 | 
			
		||||
					{ name = 'buffer' },
 | 
			
		||||
				}),
 | 
			
		||||
				view = {
 | 
			
		||||
					entries = 'native',
 | 
			
		||||
				},
 | 
			
		||||
			})
 | 
			
		||||
		end
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										9
									
								
								.config/nvim/lua/plugins/cvs.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								.config/nvim/lua/plugins/cvs.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
return {
 | 
			
		||||
	{ 'airblade/vim-gitgutter' },
 | 
			
		||||
	{ 'tpope/vim-fugitive' },
 | 
			
		||||
	{
 | 
			
		||||
		'sindrets/diffview.nvim',
 | 
			
		||||
		dependencies = {'nvim-lua/plenary.nvim'},
 | 
			
		||||
		opts = {}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										55
									
								
								.config/nvim/lua/plugins/debugging.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								.config/nvim/lua/plugins/debugging.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
			
		||||
return {
 | 
			
		||||
	{
 | 
			
		||||
		'mfussenegger/nvim-dap',
 | 
			
		||||
		config = function()
 | 
			
		||||
			vim.keymap.set('n', '<F5>', function() require('dap').continue() end)
 | 
			
		||||
			vim.keymap.set('n', '<F10>', function() require('dap').step_over() end)
 | 
			
		||||
			vim.keymap.set('n', '<F11>', function() require('dap').step_into() end)
 | 
			
		||||
			vim.keymap.set('n', '<F12>', function() require('dap').step_out() end)
 | 
			
		||||
			vim.keymap.set('n', '<Leader>b', function() require('dap').toggle_breakpoint() end)
 | 
			
		||||
			vim.keymap.set('n', '<Leader>B', function() require('dap').set_breakpoint() end)
 | 
			
		||||
			vim.keymap.set('n', '<Leader>lp', function() require('dap').set_breakpoint(nil, nil, vim.fn.input('Log point message: ')) end)
 | 
			
		||||
			vim.keymap.set('n', '<Leader>dr', function() require('dap').repl.open() end)
 | 
			
		||||
			vim.keymap.set('n', '<Leader>dl', function() require('dap').run_last() end)
 | 
			
		||||
			vim.keymap.set({'n', 'v'}, '<Leader>dh', function()
 | 
			
		||||
				require('dap.ui.widgets').hover()
 | 
			
		||||
			end)
 | 
			
		||||
			vim.keymap.set({'n', 'v'}, '<Leader>dp', function()
 | 
			
		||||
				require('dap.ui.widgets').preview()
 | 
			
		||||
			end)
 | 
			
		||||
			vim.keymap.set('n', '<Leader>df', function()
 | 
			
		||||
				local widgets = require('dap.ui.widgets')
 | 
			
		||||
				widgets.centered_float(widgets.frames)
 | 
			
		||||
			end)
 | 
			
		||||
			vim.keymap.set('n', '<Leader>ds', function()
 | 
			
		||||
				local widgets = require('dap.ui.widgets')
 | 
			
		||||
				widgets.centered_float(widgets.scopes)
 | 
			
		||||
			end)
 | 
			
		||||
 | 
			
		||||
			local dap = require("dap")
 | 
			
		||||
			dap.adapters.gdb = {
 | 
			
		||||
			  type = "executable",
 | 
			
		||||
			  command = "gdb",
 | 
			
		||||
			  args = { "-i", "dap" }
 | 
			
		||||
			}
 | 
			
		||||
			dap.configurations.cpp = {
 | 
			
		||||
			  {
 | 
			
		||||
				name = "Launch",
 | 
			
		||||
				type = "gdb",
 | 
			
		||||
				request = "launch",
 | 
			
		||||
				program = function()
 | 
			
		||||
				  return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
 | 
			
		||||
				end,
 | 
			
		||||
				cwd = "${workspaceFolder}",
 | 
			
		||||
				stopAtBeginningOfMainSubprogram = false,
 | 
			
		||||
			  },
 | 
			
		||||
			}
 | 
			
		||||
		end
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'vim-vdebug/vdebug',
 | 
			
		||||
		config = function()
 | 
			
		||||
			vim.g.vdebug_options = { port = '9000'  }
 | 
			
		||||
		end
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										63
									
								
								.config/nvim/lua/plugins/development.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								.config/nvim/lua/plugins/development.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,63 @@
 | 
			
		||||
return {
 | 
			
		||||
	{ 'neovim/nvim-lspconfig' },
 | 
			
		||||
	{
 | 
			
		||||
		'dense-analysis/ale',
 | 
			
		||||
		config = function()
 | 
			
		||||
			-- Run linters only on save
 | 
			
		||||
			vim.g.ale_lint_on_text_changed = 'never'
 | 
			
		||||
			vim.g.ale_lint_on_insert_leave = 0
 | 
			
		||||
 | 
			
		||||
			-- Include the linter name (e.g. 'hack' or 'hhast'), code, and message in errors
 | 
			
		||||
			vim.g.ale_echo_msg_format = '[%linter%] %s'
 | 
			
		||||
			vim.g.ale_linters = {
 | 
			
		||||
				hack = {'hack', 'hhast'},
 | 
			
		||||
				haskell = {"hlint"},
 | 
			
		||||
				javascript = {'eslint'},
 | 
			
		||||
				d = {'dmd'},
 | 
			
		||||
				php = {'phpcs', 'phpstan'},
 | 
			
		||||
				ruby = {'rubocop'},
 | 
			
		||||
				cpp = {},
 | 
			
		||||
				asm = {},
 | 
			
		||||
			}
 | 
			
		||||
			vim.g.ale_ruby_rubocop_executable = 'bundle'
 | 
			
		||||
			vim.g.ale_cpp_cc_options = '-std=c++17 -Wall'
 | 
			
		||||
 | 
			
		||||
			vim.g.ale_open_list = 1
 | 
			
		||||
			vim.g.ale_disable_lsp = 1
 | 
			
		||||
		end
 | 
			
		||||
	},
 | 
			
		||||
	{ -- Tag bar.
 | 
			
		||||
		'liuchengxu/vista.vim',
 | 
			
		||||
		lazy = false,
 | 
			
		||||
		config = function()
 | 
			
		||||
			vim.g.vista_default_executive = 'nvim_lsp'
 | 
			
		||||
		end
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'nvim-treesitter/nvim-treesitter',
 | 
			
		||||
		lazy = false,
 | 
			
		||||
		build = ':TSUpdate',
 | 
			
		||||
		config = function()
 | 
			
		||||
			require'nvim-treesitter.configs'.setup {
 | 
			
		||||
				ensure_installed = {
 | 
			
		||||
					'haskell', 'php', 'lua', 'css', 'dockerfile', 'html', 'javascript', 'markdown', 'ruby', 'vue'
 | 
			
		||||
				},
 | 
			
		||||
				highlight = {
 | 
			
		||||
					enable = true,
 | 
			
		||||
					additional_vim_regex_highlighting = true
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		end
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'kevinhwang91/nvim-ufo',
 | 
			
		||||
		dependencies = {'kevinhwang91/promise-async'},
 | 
			
		||||
		config = function()
 | 
			
		||||
			vim.wo.foldcolumn = '1'
 | 
			
		||||
			vim.wo.foldlevel = 99 -- feel free to decrease the value
 | 
			
		||||
			vim.wo.foldenable = true
 | 
			
		||||
 | 
			
		||||
			require('ufo').setup()
 | 
			
		||||
		end
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										8
									
								
								.config/nvim/lua/plugins/syntax.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								.config/nvim/lua/plugins/syntax.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
return {
 | 
			
		||||
	{ 'leafOfTree/vim-vue-plugin' },
 | 
			
		||||
	{ 'dart-lang/dart-vim-plugin' },
 | 
			
		||||
	{
 | 
			
		||||
		'akinsho/flutter-tools.nvim',
 | 
			
		||||
		dependencies = { 'nvim-lua/plenary.nvim' }
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										25
									
								
								.config/nvim/lua/plugins/telescope.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								.config/nvim/lua/plugins/telescope.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
			
		||||
return {
 | 
			
		||||
	{
 | 
			
		||||
		'nvim-telescope/telescope.nvim',
 | 
			
		||||
		dependencies = { 'nvim-lua/plenary.nvim' },
 | 
			
		||||
		lazy = false,
 | 
			
		||||
		config = function()
 | 
			
		||||
			require('telescope').setup {
 | 
			
		||||
				extensions = {
 | 
			
		||||
					["ui-select"] = {
 | 
			
		||||
						require("telescope.themes").get_dropdown {
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			require("telescope").load_extension("ui-select")
 | 
			
		||||
		end,
 | 
			
		||||
		keys = {
 | 
			
		||||
			{ '<leader>ff', "<cmd>lua require('telescope.builtin').find_files()<cr>", noremap = true, silent = true },
 | 
			
		||||
			{ '<leader>fg', "<cmd>lua require('telescope.builtin').live_grep()<cr>", noremap = true, silent = true },
 | 
			
		||||
			{ '<leader>fb', "<cmd>lua require('telescope.builtin').buffers()<cr>", noremap = true, silent = true },
 | 
			
		||||
			{ '<leader>fh', "<cmd>lua require('telescope.builtin').help_tags()<cr>", noremap = true, silent = true },
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	{ 'nvim-telescope/telescope-ui-select.nvim' }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										35
									
								
								.config/nvim/lua/plugins/view.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								.config/nvim/lua/plugins/view.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
return {
 | 
			
		||||
	{
 | 
			
		||||
		'sainnhe/sonokai',
 | 
			
		||||
		config = function()
 | 
			
		||||
			vim.g.sonokai_style = "maia"
 | 
			
		||||
			vim.cmd('colorscheme sonokai')
 | 
			
		||||
		end
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'nvim-lualine/lualine.nvim',
 | 
			
		||||
		dependencies = {'nvim-tree/nvim-web-devicons'},
 | 
			
		||||
		opts = {
 | 
			
		||||
			options = {
 | 
			
		||||
				theme = 'sonokai'
 | 
			
		||||
			},
 | 
			
		||||
			extensions = {'quickfix', 'nvim-tree', 'fugitive'},
 | 
			
		||||
			sections = {
 | 
			
		||||
				lualine_c = {
 | 
			
		||||
					'filename'
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'kyazdani42/nvim-tree.lua',
 | 
			
		||||
		dependencies = {'nvim-tree/nvim-web-devicons'},
 | 
			
		||||
		lazy = false,
 | 
			
		||||
		keys = {
 | 
			
		||||
			{ "<C-n>", ":NvimTreeToggle<CR>" },
 | 
			
		||||
			{ "<leader>r", ":NvimTreeRefresh<CR>" },
 | 
			
		||||
			{ "<leader>n", ":NvimTreeFindFile<CR>" },
 | 
			
		||||
		},
 | 
			
		||||
		opts = {}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,2 +1,2 @@
 | 
			
		||||
.config/nvim/config
 | 
			
		||||
.config/nvim/plugin/
 | 
			
		||||
.config/nvim/lazy-lock.json
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user