Rewrite the remaining neovim config in lua
This commit is contained in:
parent
889af814fc
commit
96b0313c36
4
.config/nvim/ftplugin/haskell.lua
Normal file
4
.config/nvim/ftplugin/haskell.lua
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
vim.bo.tabstop = 8
|
||||||
|
vim.bo.expandtab = true
|
||||||
|
vim.bo.softtabstop = 4
|
||||||
|
vim.bo.shiftwidth = 4
|
@ -75,7 +75,7 @@ local config = {
|
|||||||
-- If you don't plan on using the debugger or other eclipse.jdt.ls plugins you can remove this
|
-- If you don't plan on using the debugger or other eclipse.jdt.ls plugins you can remove this
|
||||||
init_options = {
|
init_options = {
|
||||||
bundles = {}
|
bundles = {}
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
-- This starts a new client & server,
|
-- This starts a new client & server,
|
||||||
-- or attaches to an existing client & server depending on the `root_dir`.
|
-- or attaches to an existing client & server depending on the `root_dir`.
|
||||||
|
3
.config/nvim/ftplugin/php.lua
Normal file
3
.config/nvim/ftplugin/php.lua
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
vim.bo.expandtab = true
|
||||||
|
vim.bo.tabstop = 4
|
||||||
|
vim.bo.shiftwidth = 4
|
112
.config/nvim/init.lua
Normal file
112
.config/nvim/init.lua
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
vim.opt.tabstop = 4
|
||||||
|
vim.opt.shiftwidth = 4
|
||||||
|
vim.opt.expandtab = false
|
||||||
|
vim.opt.ignorecase = true
|
||||||
|
vim.opt.smartcase = true
|
||||||
|
vim.opt.ruler = true
|
||||||
|
vim.opt.backup = false
|
||||||
|
vim.opt.number = true
|
||||||
|
vim.opt.colorcolumn = "120"
|
||||||
|
vim.opt.exrc = true
|
||||||
|
vim.opt.secure = true
|
||||||
|
vim.opt.hidden = true
|
||||||
|
|
||||||
|
vim.opt.completeopt = { 'menu', 'menuone', 'noselect' }
|
||||||
|
vim.opt.shortmess:append('c')
|
||||||
|
|
||||||
|
-- Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable
|
||||||
|
-- delays and poor user experience.
|
||||||
|
vim.opt.updatetime = 300
|
||||||
|
|
||||||
|
-- Always show the signcolumn, otherwise it would shift the text each time
|
||||||
|
-- diagnostics appear/become resolved.
|
||||||
|
-- Recently vim can merge signcolumn and number column into one
|
||||||
|
vim.opt.signcolumn = 'yes'
|
||||||
|
|
||||||
|
vim.opt.mouse = 'a' -- " Enable mouse in all modes.
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Packer
|
||||||
|
--
|
||||||
|
vim.cmd [[packadd packer.nvim]]
|
||||||
|
|
||||||
|
require'packer'.startup(function()
|
||||||
|
-- Packer can manage itself
|
||||||
|
use 'wbthomason/packer.nvim'
|
||||||
|
|
||||||
|
use 'mfussenegger/nvim-dap'
|
||||||
|
use 'airblade/vim-gitgutter'
|
||||||
|
use 'neovim/nvim-lspconfig'
|
||||||
|
use 'dense-analysis/ale'
|
||||||
|
use 'liuchengxu/vista.vim' -- Tag bar.
|
||||||
|
use {
|
||||||
|
'nvim-treesitter/nvim-treesitter',
|
||||||
|
run = ':TSUpdate'
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Git.
|
||||||
|
use 'tpope/vim-fugitive'
|
||||||
|
use {
|
||||||
|
'sindrets/diffview.nvim',
|
||||||
|
requires = {'nvim-lua/plenary.nvim'}
|
||||||
|
}
|
||||||
|
|
||||||
|
-- File browser.
|
||||||
|
use {
|
||||||
|
'kyazdani42/nvim-tree.lua',
|
||||||
|
requires = {'nvim-tree/nvim-web-devicons'} -- optional, for file icon
|
||||||
|
}
|
||||||
|
use {
|
||||||
|
'nvim-telescope/telescope.nvim',
|
||||||
|
requires = {'nvim-lua/plenary.nvim'}
|
||||||
|
}
|
||||||
|
use 'nvim-telescope/telescope-ui-select.nvim'
|
||||||
|
use {
|
||||||
|
'kevinhwang91/nvim-ufo',
|
||||||
|
requires = {'kevinhwang91/promise-async'}
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Theme.
|
||||||
|
use 'qaptoR-nvim/chocolatier.nvim'
|
||||||
|
use {
|
||||||
|
'nvim-lualine/lualine.nvim',
|
||||||
|
requires = {'nvim-tree/nvim-web-devicons'} -- optional, for status line icons
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Syntax.
|
||||||
|
use 'leafOfTree/vim-vue-plugin'
|
||||||
|
use 'mfussenegger/nvim-jdtls'
|
||||||
|
use 'dart-lang/dart-vim-plugin'
|
||||||
|
use {
|
||||||
|
'akinsho/flutter-tools.nvim',
|
||||||
|
requires = {
|
||||||
|
'nvim-lua/plenary.nvim'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
use 'vim-vdebug/vdebug'
|
||||||
|
|
||||||
|
-- nvim-cmp
|
||||||
|
use 'dcampos/nvim-snippy'
|
||||||
|
use 'hrsh7th/cmp-nvim-lsp'
|
||||||
|
use 'hrsh7th/nvim-cmp'
|
||||||
|
use 'dcampos/cmp-snippy'
|
||||||
|
use 'hrsh7th/cmp-path'
|
||||||
|
use 'hrsh7th/cmp-buffer'
|
||||||
|
end)
|
||||||
|
|
||||||
|
require'plugins'
|
||||||
|
require'lspserver'
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Theme
|
||||||
|
--
|
||||||
|
vim.cmd('colorscheme chocolatier')
|
||||||
|
vim.opt.termguicolors = true
|
||||||
|
|
||||||
|
-- Mappings.
|
||||||
|
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
|
||||||
|
local opts = { noremap = true, silent = true }
|
||||||
|
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, opts)
|
||||||
|
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
|
||||||
|
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
|
||||||
|
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts)
|
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
|
||||||
|
}
|
@ -1,98 +1,3 @@
|
|||||||
set ts=4
|
|
||||||
set sw=4
|
|
||||||
set noet
|
|
||||||
set ignorecase
|
|
||||||
set smartcase
|
|
||||||
set ruler
|
|
||||||
set nobackup
|
|
||||||
set number
|
|
||||||
set colorcolumn=120
|
|
||||||
set exrc
|
|
||||||
set secure
|
|
||||||
set hidden
|
|
||||||
|
|
||||||
"set completeopt=menuone,noinsert,noselect
|
|
||||||
set completeopt=menu,menuone,noselect
|
|
||||||
set shortmess+=c
|
|
||||||
" Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable
|
|
||||||
" delays and poor user experience.
|
|
||||||
set updatetime=300
|
|
||||||
" Always show the signcolumn, otherwise it would shift the text each time
|
|
||||||
" diagnostics appear/become resolved.
|
|
||||||
" Recently vim can merge signcolumn and number column into one
|
|
||||||
set signcolumn=yes
|
|
||||||
set mouse=a " Enable mouse in all modes.
|
|
||||||
|
|
||||||
lua << EOF
|
|
||||||
require'lsphelp'
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Packer
|
|
||||||
--
|
|
||||||
vim.cmd [[packadd packer.nvim]]
|
|
||||||
|
|
||||||
require('packer').startup(function()
|
|
||||||
-- Packer can manage itself
|
|
||||||
use 'wbthomason/packer.nvim'
|
|
||||||
|
|
||||||
use 'mfussenegger/nvim-dap'
|
|
||||||
use 'airblade/vim-gitgutter'
|
|
||||||
use 'neovim/nvim-lspconfig'
|
|
||||||
use 'dense-analysis/ale'
|
|
||||||
use 'liuchengxu/vista.vim' -- Tag bar.
|
|
||||||
|
|
||||||
-- Git.
|
|
||||||
use 'tpope/vim-fugitive'
|
|
||||||
use {
|
|
||||||
'sindrets/diffview.nvim',
|
|
||||||
requires = {'nvim-lua/plenary.nvim'}
|
|
||||||
}
|
|
||||||
|
|
||||||
-- File browser.
|
|
||||||
use {
|
|
||||||
'kyazdani42/nvim-tree.lua',
|
|
||||||
requires = {'nvim-tree/nvim-web-devicons'} -- optional, for file icon
|
|
||||||
}
|
|
||||||
use {
|
|
||||||
'nvim-telescope/telescope.nvim',
|
|
||||||
requires = {'nvim-lua/plenary.nvim'}
|
|
||||||
}
|
|
||||||
use 'nvim-telescope/telescope-ui-select.nvim'
|
|
||||||
use {
|
|
||||||
'kevinhwang91/nvim-ufo',
|
|
||||||
requires = {'kevinhwang91/promise-async'}
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Theme.
|
|
||||||
use 'EdenEast/nightfox.nvim'
|
|
||||||
|
|
||||||
-- Status line.
|
|
||||||
use {
|
|
||||||
'nvim-lualine/lualine.nvim',
|
|
||||||
requires = {'nvim-tree/nvim-web-devicons'} -- optional, for status line icons
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Syntax.
|
|
||||||
use 'leafOfTree/vim-vue-plugin'
|
|
||||||
use 'mfussenegger/nvim-jdtls'
|
|
||||||
use 'dart-lang/dart-vim-plugin'
|
|
||||||
use {
|
|
||||||
'akinsho/flutter-tools.nvim',
|
|
||||||
requires = {
|
|
||||||
'nvim-lua/plenary.nvim'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
use 'vim-vdebug/vdebug'
|
|
||||||
|
|
||||||
-- nvim-cmp
|
|
||||||
use 'dcampos/nvim-snippy'
|
|
||||||
use 'hrsh7th/cmp-nvim-lsp'
|
|
||||||
use 'hrsh7th/nvim-cmp'
|
|
||||||
use 'dcampos/cmp-snippy'
|
|
||||||
use 'hrsh7th/cmp-path'
|
|
||||||
use 'hrsh7th/cmp-buffer'
|
|
||||||
end)
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- ALE
|
-- ALE
|
||||||
--
|
--
|
||||||
@ -161,94 +66,6 @@ capabilities.textDocument.foldingRange = {
|
|||||||
lineFoldingOnly = true
|
lineFoldingOnly = true
|
||||||
}
|
}
|
||||||
|
|
||||||
--
|
|
||||||
-- LSPConfig
|
|
||||||
--
|
|
||||||
local nvim_lsp = require('lspconfig')
|
|
||||||
|
|
||||||
-- Mappings.
|
|
||||||
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
|
|
||||||
local opts = { noremap=true, silent=true }
|
|
||||||
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, opts)
|
|
||||||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
|
|
||||||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
|
|
||||||
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts)
|
|
||||||
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Telescope
|
-- Telescope
|
||||||
--
|
--
|
||||||
@ -280,12 +97,6 @@ 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>r', ':NvimTreeRefresh<CR>', { noremap = true })
|
||||||
vim.api.nvim_set_keymap('n', '<leader>n', ':NvimTreeFindFile<CR>', { noremap = true })
|
vim.api.nvim_set_keymap('n', '<leader>n', ':NvimTreeFindFile<CR>', { noremap = true })
|
||||||
|
|
||||||
--
|
|
||||||
-- Theme
|
|
||||||
--
|
|
||||||
vim.cmd('colorscheme duskfox')
|
|
||||||
vim.opt.termguicolors = true
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Lualine
|
-- Lualine
|
||||||
--
|
--
|
||||||
@ -371,4 +182,16 @@ dap.configurations.cpp = {
|
|||||||
--
|
--
|
||||||
vim.g.vdebug_options = { port = '9000' }
|
vim.g.vdebug_options = { port = '9000' }
|
||||||
|
|
||||||
EOF
|
--
|
||||||
|
-- Treesitter
|
||||||
|
--
|
||||||
|
require'nvim-treesitter.configs'.setup {
|
||||||
|
ensure_installed = { 'haskell', 'php', 'lua' },
|
||||||
|
highlight = {
|
||||||
|
enable = true,
|
||||||
|
additional_vim_regex_highlighting = false
|
||||||
|
},
|
||||||
|
indent = {
|
||||||
|
enable = true
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user