Rewrite the remaining neovim config in lua
This commit is contained in:
77
.config/nvim/lua/lspserver.lua
Normal file
77
.config/nvim/lua/lspserver.lua
Normal file
@ -0,0 +1,77 @@
|
||||
require'lsphelp'
|
||||
local nvim_lsp = require('lspconfig')
|
||||
|
||||
nvim_lsp['hls'].setup {
|
||||
on_attach = default_on_attach,
|
||||
capabilities = capabilities,
|
||||
flags = {
|
||||
debounce_text_changes = 150,
|
||||
},
|
||||
settings = {
|
||||
haskell = {
|
||||
plugin = {
|
||||
stan = {
|
||||
globalOn = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
nvim_lsp['intelephense'].setup {
|
||||
on_attach = default_on_attach,
|
||||
flags = {
|
||||
debounce_text_changes = 150
|
||||
},
|
||||
init_options = {
|
||||
licenceKey = os.getenv('HOME') .. '/Documents/Schluessel/intelephense.key',
|
||||
storagePath = '/tmp/intelephense'
|
||||
},
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
intelephense = {
|
||||
environment = {
|
||||
phpVersion = '8.2.0'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
nvim_lsp['clangd'].setup {
|
||||
on_attach = default_on_attach,
|
||||
capabilities = capabilities
|
||||
}
|
||||
require("flutter-tools").setup {
|
||||
outline = {
|
||||
open_cmd = "Vista"
|
||||
},
|
||||
lsp = {
|
||||
on_attach = default_on_attach,
|
||||
capabilities = capabilities
|
||||
}
|
||||
}
|
||||
nvim_lsp['twiggy_language_server'].setup {
|
||||
on_attach = default_on_attach,
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
twiggy = {
|
||||
framework = 'symfony',
|
||||
phpExecutable = '/usr/bin/php',
|
||||
symfonyConsolePath = 'bin/console',
|
||||
diagnostics = {
|
||||
twigCsFixer = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
vim.g.vim_vue_plugin_config = {
|
||||
syntax = {
|
||||
template = {'html'},
|
||||
script = {'javascript'},
|
||||
style = {'css'},
|
||||
},
|
||||
full_syntax = {},
|
||||
initial_indent = {},
|
||||
attribute = 0,
|
||||
keyword = 0,
|
||||
foldexpr = 0,
|
||||
debug = 0
|
||||
}
|
197
.config/nvim/lua/plugins.lua
Normal file
197
.config/nvim/lua/plugins.lua
Normal file
@ -0,0 +1,197 @@
|
||||
--
|
||||
-- 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 = {},
|
||||
}
|
||||
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
|
||||
|
||||
--
|
||||
-- nvim-cmp
|
||||
--
|
||||
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',
|
||||
},
|
||||
})
|
||||
|
||||
-- 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 })
|
||||
|
||||
--
|
||||
-- NvimTree
|
||||
--
|
||||
require('nvim-tree').setup {}
|
||||
|
||||
vim.api.nvim_set_keymap('n', '<C-n>', ':NvimTreeToggle<CR>', { noremap = true })
|
||||
vim.api.nvim_set_keymap('n', '<leader>r', ':NvimTreeRefresh<CR>', { noremap = true })
|
||||
vim.api.nvim_set_keymap('n', '<leader>n', ':NvimTreeFindFile<CR>', { noremap = true })
|
||||
|
||||
--
|
||||
-- Lualine
|
||||
--
|
||||
require('lualine').setup {
|
||||
options = {
|
||||
theme = 'codedark'
|
||||
},
|
||||
extensions = {'quickfix', 'nvim-tree', 'fugitive'},
|
||||
sections = {
|
||||
lualine_c = {
|
||||
'filename'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
-- Diffview.nvim
|
||||
--
|
||||
require('diffview').setup {}
|
||||
|
||||
--
|
||||
-- Vista
|
||||
--
|
||||
vim.g.vista_default_executive = 'nvim_lsp'
|
||||
|
||||
--
|
||||
-- nvim-ufo
|
||||
--
|
||||
vim.wo.foldcolumn = '1'
|
||||
vim.wo.foldlevel = 99 -- feel free to decrease the value
|
||||
vim.wo.foldenable = true
|
||||
|
||||
require('ufo').setup()
|
||||
|
||||
--
|
||||
-- nvim-dap
|
||||
--
|
||||
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,
|
||||
},
|
||||
}
|
||||
|
||||
--
|
||||
-- Vdebug
|
||||
--
|
||||
vim.g.vdebug_options = { port = '9000' }
|
||||
|
||||
--
|
||||
-- Treesitter
|
||||
--
|
||||
require'nvim-treesitter.configs'.setup {
|
||||
ensure_installed = { 'haskell', 'php', 'lua' },
|
||||
highlight = {
|
||||
enable = true,
|
||||
additional_vim_regex_highlighting = false
|
||||
},
|
||||
indent = {
|
||||
enable = true
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user