1 parent
1bef778475
commit
59c1ef6458
1 file changed
+65
-29
+65
-29
@@ -12,9 +12,9 @@ endif
|
|||||||
""""""""""""""""""""""""""""""""
|
""""""""""""""""""""""""""""""""
|
||||||
" Default settings nvim
|
" Default settings nvim
|
||||||
""""""""""""""""""""""""""""""""
|
""""""""""""""""""""""""""""""""
|
||||||
let g:python3_host_prog = expand('/opt/homebrew/bin/python3.13')
|
|
||||||
let g:loaded_python_provider = 0
|
let g:loaded_python_provider = 0
|
||||||
let g:python_host_prog = ''
|
let g:python_host_prog = ''
|
||||||
|
let g:plug_threads = 4
|
||||||
set autoindent
|
set autoindent
|
||||||
set expandtab
|
set expandtab
|
||||||
set softtabstop=4
|
set softtabstop=4
|
||||||
@@ -165,9 +165,6 @@ call plug#begin('~/.config/nvim/plugged')
|
|||||||
" Mikrotik
|
" Mikrotik
|
||||||
Plug 'zainin/vim-mikrotik'
|
Plug 'zainin/vim-mikrotik'
|
||||||
|
|
||||||
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
|
|
||||||
Plug 'nvim-treesitter/nvim-treesitter-context'
|
|
||||||
|
|
||||||
" Autopair
|
" Autopair
|
||||||
Plug 'windwp/nvim-autopairs'
|
Plug 'windwp/nvim-autopairs'
|
||||||
|
|
||||||
@@ -227,17 +224,10 @@ vim.diagnostic.config({
|
|||||||
float = { border = border },
|
float = { border = border },
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.lsp.handlers["textDocument/hover"] = function(err, result, ctx, config)
|
|
||||||
config = config or {}
|
|
||||||
config.border = border
|
|
||||||
return vim.lsp.handlers.hover(err, result, ctx, config)
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.lsp.handlers["textDocument/signatureHelp"] = function(err, result, ctx, config)
|
local border = 'rounded'
|
||||||
config = config or {}
|
vim.diagnostic.config({ float = { border = border } })
|
||||||
config.border = border
|
vim.o.winborder = 'rounded'
|
||||||
return vim.lsp.handlers.signature_help(err, result, ctx, config)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Server-specific overrides
|
-- Server-specific overrides
|
||||||
vim.lsp.config('yamlls', {
|
vim.lsp.config('yamlls', {
|
||||||
@@ -275,12 +265,62 @@ vim.lsp.config('gopls', {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.lsp.config('ruff', {})
|
vim.lsp.config('ruff', {
|
||||||
|
before_init = function(_, config)
|
||||||
|
local root = config.root_dir
|
||||||
|
if not root then return end
|
||||||
|
local venv_ruff = root .. '/.venv/bin/ruff'
|
||||||
|
if vim.fn.executable(venv_ruff) == 1 then
|
||||||
|
config.cmd = { venv_ruff, 'server' }
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.config('ty', {
|
||||||
|
settings = { ty = {} },
|
||||||
|
before_init = function(_, config)
|
||||||
|
local root = config.root_dir
|
||||||
|
if not root then return end
|
||||||
|
-- nearest .venv in the project root or any parent (e.g. git submodules)
|
||||||
|
local venv = vim.fs.find('.venv', { path = root, upward = true, type = 'directory' })[1]
|
||||||
|
if venv then
|
||||||
|
config.settings.ty.configuration = { environment = { python = venv } }
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.config('ansiblels', {
|
||||||
|
cmd = { 'ansible-language-server', '--stdio' },
|
||||||
|
filetypes = { 'yaml.ansible' },
|
||||||
|
root_markers = { 'ansible.cfg', '.ansible-lint', '.git' },
|
||||||
|
settings = {
|
||||||
|
ansible = {
|
||||||
|
ansible = { path = 'ansible' },
|
||||||
|
python = { interpreterPath = 'python3' },
|
||||||
|
validation = {
|
||||||
|
enabled = true,
|
||||||
|
lint = { enabled = true, path = 'ansible-lint' },
|
||||||
|
},
|
||||||
|
executionEnvironment = { enabled = false },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
before_init = function(_, config)
|
||||||
|
vim.notify('ansiblels root: ' .. tostring(config.root_dir))
|
||||||
|
local root = config.root_dir
|
||||||
|
if not root then return end
|
||||||
|
local venv = root .. '/.venv'
|
||||||
|
if vim.fn.executable(venv .. '/bin/ansible-lint') == 1 then
|
||||||
|
config.settings.ansible.python.interpreterPath = venv .. '/bin/python'
|
||||||
|
config.settings.ansible.validation.lint.path = venv .. '/bin/ansible-lint'
|
||||||
|
config.settings.ansible.ansible.path = venv .. '/bin/ansible'
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
-- Enable servers (remove 'solargraph' if not using Ruby)
|
-- Enable servers (remove 'solargraph' if not using Ruby)
|
||||||
vim.lsp.enable({
|
vim.lsp.enable({
|
||||||
'clangd', 'bashls', 'yamlls', 'ansiblels', 'gopls', 'solargraph',
|
'clangd', 'bashls', 'yamlls', 'ansiblels', 'gopls', 'solargraph',
|
||||||
'terraformls', 'tflint', 'marksman', 'rust_analyzer', 'ruff',
|
'terraformls', 'tflint', 'marksman', 'rust_analyzer', 'ruff', 'ty'
|
||||||
})
|
})
|
||||||
|
|
||||||
-- nvim-cmp setup with Tab support
|
-- nvim-cmp setup with Tab support
|
||||||
@@ -347,20 +387,17 @@ let g:neoformat_python_ruff = {
|
|||||||
\ 'stdin': 1,
|
\ 'stdin': 1,
|
||||||
\ 'args': ['format', '--line-length=80', '-q', '-'],
|
\ 'args': ['format', '--line-length=80', '-q', '-'],
|
||||||
\ }
|
\ }
|
||||||
|
let g:neoformat_python_ruff_org = {
|
||||||
|
\ 'exe': 'ruff',
|
||||||
|
\ 'stdin': 1,
|
||||||
|
\ 'args': ['check', '--select=I', '--fix', '-'],
|
||||||
|
\ }
|
||||||
let g:neoformat_enabled_python = ['ruff']
|
let g:neoformat_enabled_python = ['ruff']
|
||||||
|
|
||||||
" Terraform
|
" Terraform
|
||||||
let g:terraform_fmt_on_save=1
|
let g:terraform_fmt_on_save=1
|
||||||
let g:terraform_align=1
|
let g:terraform_align=1
|
||||||
|
|
||||||
function! s:check_back_space() abort
|
|
||||||
let col = col('.') - 1
|
|
||||||
return !col || getline('.')[col - 1] =~# '\s'
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" Enable show hidden in NerdTree
|
|
||||||
let g:NERDTreeShowHidden=1
|
|
||||||
|
|
||||||
" latex
|
" latex
|
||||||
let g:tex_flavor = "latex"
|
let g:tex_flavor = "latex"
|
||||||
|
|
||||||
@@ -482,8 +519,6 @@ nnoremap - :split <CR>
|
|||||||
nnoremap <F5> :edit <CR>
|
nnoremap <F5> :edit <CR>
|
||||||
nnoremap <Leader><F5> :edit! <CR>
|
nnoremap <Leader><F5> :edit! <CR>
|
||||||
|
|
||||||
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
|
|
||||||
|
|
||||||
" Moving line up or down using alt
|
" Moving line up or down using alt
|
||||||
nnoremap <A-Up> :m-2<CR>
|
nnoremap <A-Up> :m-2<CR>
|
||||||
nnoremap <A-Down> :m+<CR>
|
nnoremap <A-Down> :m+<CR>
|
||||||
@@ -608,7 +643,8 @@ let g:shfmt_opt="-ci"
|
|||||||
autocmd BufRead,BufNewFile *.py set textwidth=0
|
autocmd BufRead,BufNewFile *.py set textwidth=0
|
||||||
autocmd BufRead,BufNewFile *.py set fo-=t
|
autocmd BufRead,BufNewFile *.py set fo-=t
|
||||||
autocmd BufWritePre *.py silent! undojoin | Neoformat ruff
|
autocmd BufWritePre *.py silent! undojoin | Neoformat ruff
|
||||||
noremap <Leader>f :silent! undojoin \| Neoformat ruff <CR> :w<CR>
|
autocmd BufWritePre *.py silent! undojoin | Neoformat ruff_org
|
||||||
|
|
||||||
|
|
||||||
" Newsboat
|
" Newsboat
|
||||||
autocmd BufRead,BufNewFile urls set textwidth=0
|
autocmd BufRead,BufNewFile urls set textwidth=0
|
||||||
@@ -628,7 +664,7 @@ autocmd BufRead,BufNewFile /tmp/neomutt* map ZQ :Goyo\|q!<CR>
|
|||||||
" Yaml
|
" Yaml
|
||||||
autocmd BufRead,BufNewFile *.yaml,*.yml let g:indentLine_enabled = 1
|
autocmd BufRead,BufNewFile *.yaml,*.yml let g:indentLine_enabled = 1
|
||||||
autocmd BufRead,BufNewFile *.yaml,*.yml let g:indentLine_char = '⦙'
|
autocmd BufRead,BufNewFile *.yaml,*.yml let g:indentLine_char = '⦙'
|
||||||
autocmd BufWritePre *.yaml,*.yml silent! undojoin | Neoformat prettier
|
autocmd BufWritePre *.yaml,*.yml if &filetype ==# 'yaml' | silent! undojoin | Neoformat prettier | endif
|
||||||
|
|
||||||
" JSON
|
" JSON
|
||||||
autocmd BufWritePre *.json silent! undojoin | Neoformat prettier
|
autocmd BufWritePre *.json silent! undojoin | Neoformat prettier
|
||||||
@@ -659,7 +695,7 @@ autocmd BufWritePre *.tfvars lua vim.lsp.buf.format()
|
|||||||
|
|
||||||
" Markdown
|
" Markdown
|
||||||
autocmd BufRead,BufNewFile *.md setlocal spell spelllang=en_us
|
autocmd BufRead,BufNewFile *.md setlocal spell spelllang=en_us
|
||||||
autocmd BufWritePre *.md silent! undojoin | Neoformat mdformat
|
" autocmd BufWritePre *.md silent! undojoin | Neoformat mdformat
|
||||||
|
|
||||||
" Automatically deletes all trailing whitespace and newlines at end of file on save.
|
" Automatically deletes all trailing whitespace and newlines at end of file on save.
|
||||||
autocmd BufWritePre * %s/\s\+$//e
|
autocmd BufWritePre * %s/\s\+$//e
|
||||||
|
|||||||
Reference in new issue
Block a user