Replace nvim config with LazyVim
This commit is contained in:
parent
a9a8844c09
commit
535d81f6af
@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2017 Junegunn Choi
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
File diff suppressed because it is too large
Load Diff
2
.config/nvim/init.lua
Normal file
2
.config/nvim/init.lua
Normal file
@ -0,0 +1,2 @@
|
||||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
@ -1,354 +0,0 @@
|
||||
scriptencoding utf-8
|
||||
|
||||
" vim-plug---START
|
||||
call plug#begin('~/.config/nvim/plugged')
|
||||
|
||||
|
||||
" Plugins
|
||||
Plug 'airblade/vim-gitgutter'
|
||||
Plug 'cespare/vim-toml'
|
||||
Plug 'vim-scripts/nginx.vim'
|
||||
Plug 'elixir-lang/vim-elixir'
|
||||
Plug 'fatih/vim-go'
|
||||
Plug 'gabesoft/vim-ags'
|
||||
Plug 'google/protobuf'
|
||||
Plug 'hashivim/vim-terraform'
|
||||
Plug 'hrsh7th/cmp-buffer'
|
||||
Plug 'hrsh7th/cmp-calc'
|
||||
Plug 'hrsh7th/cmp-nvim-lsp'
|
||||
Plug 'hrsh7th/cmp-nvim-lua'
|
||||
Plug 'hrsh7th/cmp-path'
|
||||
Plug 'hrsh7th/cmp-vsnip'
|
||||
Plug 'hrsh7th/nvim-cmp'
|
||||
Plug 'hrsh7th/vim-vsnip'
|
||||
Plug 'junegunn/fzf'
|
||||
Plug 'kchmck/vim-coffee-script'
|
||||
Plug 'lifepillar/vim-solarized8'
|
||||
Plug 'majutsushi/tagbar'
|
||||
Plug 'neovim/nvim-lspconfig'
|
||||
Plug 'OmniSharp/omnisharp-vim'
|
||||
Plug 'posva/vim-vue'
|
||||
Plug 'sainnhe/gruvbox-material'
|
||||
Plug 'preservim/nerdcommenter'
|
||||
Plug 'preservim/nerdtree', { 'on': 'NERDTreeToggle' }
|
||||
Plug 'Shougo/vimproc.vim'
|
||||
Plug 'tpope/vim-dispatch'
|
||||
Plug 'tpope/vim-fugitive'
|
||||
Plug 'tpope/vim-rails'
|
||||
Plug 'tpope/vim-surround'
|
||||
|
||||
call plug#end()
|
||||
|
||||
" vim-plug---END
|
||||
|
||||
syntax enable
|
||||
set termguicolors
|
||||
colorscheme gruvbox-material
|
||||
set cursorline
|
||||
set colorcolumn=80,100
|
||||
|
||||
function ToggleBackground(current)
|
||||
if a:current ==# 'dark'
|
||||
set background=light
|
||||
" hi Whitespace ctermfg=7 guifg=#eee8d5
|
||||
else
|
||||
set background=dark
|
||||
" hi Whitespace ctermfg=0 guifg=#073642
|
||||
end
|
||||
endfunction
|
||||
|
||||
call ToggleBackground('light')
|
||||
nmap <F5> :call ToggleBackground(&background)<CR>
|
||||
|
||||
set spell
|
||||
set number
|
||||
set nowrap
|
||||
filetype plugin indent on
|
||||
|
||||
set mouse=a
|
||||
|
||||
set list
|
||||
set listchars=tab:――,space:·,trail:·
|
||||
|
||||
let g:NoClean = ['diff']
|
||||
|
||||
augroup indentation
|
||||
autocmd BufRead,BufNewFile
|
||||
\ Makefile,
|
||||
\*.c,
|
||||
\*.cpp,
|
||||
\*.go
|
||||
\ set tabstop=8 shiftwidth=8 noexpandtab
|
||||
|
||||
|
||||
autocmd BufRead,BufNewFile
|
||||
\ *.cs,
|
||||
\*.java
|
||||
\ set tabstop=4 shiftwidth=4 expandtab
|
||||
|
||||
autocmd BufRead,BufNewFile
|
||||
\ *.rb,
|
||||
\*.css,
|
||||
\*.js,
|
||||
\*.jsx,
|
||||
\*.coffee,
|
||||
\*.erb,
|
||||
\*.html,
|
||||
\*.html.tmpl,
|
||||
\*.json,
|
||||
\*.qtpl,
|
||||
\*.tf,
|
||||
\*.tfvars,
|
||||
\*.vue,
|
||||
\*.yml,
|
||||
\*.yaml
|
||||
\ set tabstop=2 shiftwidth=2 expandtab
|
||||
|
||||
autocmd FileType crontab set backupcopy=yes
|
||||
|
||||
augroup END
|
||||
|
||||
" vint: -ProhibitCommandRelyOnUser -ProhibitCommandWithUnintendedSideEffect
|
||||
|
||||
function TrimTrailingInvisibles()
|
||||
let view = winsaveview()
|
||||
%s/\s\+$//e
|
||||
call winrestview(view)
|
||||
endfunction
|
||||
|
||||
function TrimTrailingLines()
|
||||
let view = winsaveview()
|
||||
%s/\n\+\%$//e
|
||||
call winrestview(view)
|
||||
endfunction
|
||||
|
||||
" vint: +ProhibitCommandRelyOnUser +ProhibitCommandWithUnintendedSideEffect
|
||||
|
||||
function OnWrite()
|
||||
if Writeable()
|
||||
call CleanFile()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function OnLeave()
|
||||
if Writeable()
|
||||
call CleanFile()
|
||||
write
|
||||
GitGutter
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function CleanFile()
|
||||
call TrimTrailingInvisibles() | call TrimTrailingLines()
|
||||
endfunction
|
||||
|
||||
function Writeable()
|
||||
return empty(&buftype)
|
||||
\ && index(g:NoClean, &filetype) == -1
|
||||
\ && !&readonly
|
||||
\ && &modifiable
|
||||
\ && &modified
|
||||
\ && !empty(expand('%:t'))
|
||||
endfunction
|
||||
|
||||
augroup maximus
|
||||
|
||||
autocmd BufWrite * call OnWrite()
|
||||
autocmd BufLeave * call OnLeave()
|
||||
|
||||
augroup END
|
||||
|
||||
set statusline=%f
|
||||
set statusline+=\ %y
|
||||
set statusline+=[%{&ff}]
|
||||
set statusline+=%r
|
||||
set statusline+=%h
|
||||
set statusline+=%{ModifiedSym()}
|
||||
set statusline+=%=
|
||||
set statusline+=%{AddGitGutterToStatusline()}
|
||||
set statusline+=\ [%c:%l/%L:%p%%]
|
||||
|
||||
function ModifiedSym()
|
||||
if &modified
|
||||
return "[\u270f]"
|
||||
else
|
||||
return ''
|
||||
end
|
||||
endfunction
|
||||
|
||||
function AddGitGutterToStatusline()
|
||||
if empty(&buftype) && exists('b:gitgutter_summary')
|
||||
return join(['[Git:', join(b:gitgutter_summary, ','), ']'], '')
|
||||
else
|
||||
return ''
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Shortcuts
|
||||
" Plugins
|
||||
nnoremap <C-\> :NERDTreeToggle<CR>
|
||||
nnoremap <leader>. :TagbarToggle<CR>
|
||||
|
||||
" Tabs
|
||||
nnoremap <leader>tt :tabnew<CR>
|
||||
nnoremap <leader>tn :tabnext<CR>
|
||||
nnoremap <leader>tp :tabprevious<CR>
|
||||
nnoremap <leader>tc :tabclose<CR>
|
||||
nnoremap <leader>tm :tabmove<CR>
|
||||
|
||||
" Misc
|
||||
nnoremap <leader>h :noh<CR>
|
||||
nnoremap <C-]> :exec "tjump ".expand("<cword>")<CR>
|
||||
nnoremap <leader><space> :call Fullscreen()<CR>
|
||||
|
||||
function Fullscreen()
|
||||
let view = winsaveview()
|
||||
let buf = winbufnr(0)
|
||||
let found = 0
|
||||
|
||||
for b in win_findbuf(buf)
|
||||
let tabwin = win_id2tabwin(b)
|
||||
if gettabwinvar(tabwin[0], tabwin[1], 'fullscreen_buf') == buf
|
||||
let found = 1
|
||||
let existing_tab = tabwin[0]
|
||||
let existing_win = tabwin[1]
|
||||
endif
|
||||
endfor
|
||||
if found == 1
|
||||
if existing_tab == tabpagenr()
|
||||
tabclose
|
||||
else
|
||||
exec 'tabnext'.existing_tab
|
||||
endif
|
||||
else
|
||||
exec 'tabnew +buffer'.buf
|
||||
let w:fullscreen_buf = buf
|
||||
end
|
||||
|
||||
call winrestview(view)
|
||||
endfunction
|
||||
|
||||
" Plugin configuration
|
||||
|
||||
" The Silver Searcher
|
||||
nnoremap <leader>s :Ags<space>
|
||||
|
||||
" FZF
|
||||
nnoremap <C-p> :FZF<CR>
|
||||
|
||||
" NERD Commenter
|
||||
let g:NERDSpaceDelims = 1
|
||||
|
||||
" NERD Tree
|
||||
let g:NERDTreeShowHidden = 1
|
||||
|
||||
" Tagbar
|
||||
let g:tagbar_type_go = {
|
||||
\ 'ctagstype' : 'go',
|
||||
\ 'kinds' : [
|
||||
\ 'p:package',
|
||||
\ 'i:imports:1',
|
||||
\ 'c:constants',
|
||||
\ 'v:variables',
|
||||
\ 't:types',
|
||||
\ 'n:interfaces',
|
||||
\ 'w:fields',
|
||||
\ 'e:embedded',
|
||||
\ 'm:methods',
|
||||
\ 'r:constructor',
|
||||
\ 'f:functions'
|
||||
\ ],
|
||||
\ 'sro' : '.',
|
||||
\ 'kind2scope' : {
|
||||
\ 't' : 'ctype',
|
||||
\ 'n' : 'ntype'
|
||||
\ },
|
||||
\ 'scope2kind' : {
|
||||
\ 'ctype' : 't',
|
||||
\ 'ntype' : 'n'
|
||||
\ },
|
||||
\ 'ctagsbin' : 'gotags',
|
||||
\ 'ctagsargs' : '-sort -silent'
|
||||
\ }
|
||||
|
||||
set completeopt=menu,menuone,noselect
|
||||
|
||||
lua <<EOF
|
||||
local on_attach = function(client, bufnr)
|
||||
local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
|
||||
local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
|
||||
|
||||
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||
|
||||
local opts = { noremap=true, silent=true }
|
||||
|
||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||
buf_set_keymap('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
|
||||
buf_set_keymap('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
||||
buf_set_keymap('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
||||
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
||||
buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
|
||||
buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
||||
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>e', '<cmd>lua vim.diagnostic.open_float()<CR>', opts)
|
||||
buf_set_keymap('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts)
|
||||
buf_set_keymap('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>q', '<cmd>lua vim.diagnostic.setloclist()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>f', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)
|
||||
|
||||
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||
end
|
||||
|
||||
local cmp = require'cmp'
|
||||
|
||||
local sources = {
|
||||
{ name = 'nvim_lsp' },
|
||||
{ name = 'nvim_lua' },
|
||||
{ name = 'vsnip' },
|
||||
{ name = 'path' },
|
||||
{ name = 'buffer' },
|
||||
}
|
||||
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
vim.fn["vsnip#anonymous"](args.body)
|
||||
end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||
['<CR>'] = cmp.mapping.confirm({ select = true }),
|
||||
}),
|
||||
sources = cmp.config.sources(sources),
|
||||
})
|
||||
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
|
||||
|
||||
require'lspconfig'.gopls.setup{
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
|
||||
require'lspconfig'.solargraph.setup{
|
||||
on_attach = on_attach,
|
||||
bundlerPath = 'bin/bundle',
|
||||
useBundler = true,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
|
||||
require'lspconfig'.rust_analyzer.setup{
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
|
||||
require'lspconfig'.clangd.setup{
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
EOF
|
51
.config/nvim/lazy-lock.json
Normal file
51
.config/nvim/lazy-lock.json
Normal file
@ -0,0 +1,51 @@
|
||||
{
|
||||
"LazyVim": { "branch": "main", "commit": "cce46cd6401239f04c6ce98113a3410677c1a82f" },
|
||||
"LuaSnip": { "branch": "master", "commit": "2c3a3a3e4fb503bf39efb61290ecfa8aae95f5eb" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" },
|
||||
"catppuccin": { "branch": "main", "commit": "fc537040147f0374a22b88142a20eb6781141f0b" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "8f4d62b7817455896a3c73cab642002072c114bc" },
|
||||
"flash.nvim": { "branch": "main", "commit": "6d76c5dee65181ab55cbdfb0760260e800d643f4" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "ff01d34daaed72f271a8ffa088a7e839a60c640f" },
|
||||
"gruvbox.nvim": { "branch": "main", "commit": "fb03688892b2282cfa1b4181178b7ad4d9da6198" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "877c1db2bf957300097dd5348a665666a4d900cb" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6b6f0a451200bb6abde85978c577c73ea1577758" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "e2705063f395b44f676cd26596a11007a2cbd3bd" },
|
||||
"mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" },
|
||||
"mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" },
|
||||
"mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" },
|
||||
"mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" },
|
||||
"mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" },
|
||||
"mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" },
|
||||
"mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" },
|
||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "71f1841ba6c652908678cece623f52c1fea8a6cd" },
|
||||
"neoconf.nvim": { "branch": "main", "commit": "64a4f814f598717ed1e56da4e175b2513bd7c3fd" },
|
||||
"neodev.nvim": { "branch": "main", "commit": "ee960afffdb95472f719a72a1edb494ffea09c92" },
|
||||
"noice.nvim": { "branch": "main", "commit": "7cf858c30841c9c41601ce58e5bc2023228037ef" },
|
||||
"none-ls.nvim": { "branch": "main", "commit": "f39f627bbdfb33cc4ae4a95b4708e7dba7b9aafc" },
|
||||
"nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "71b39616b14c152da34fcc787fa27f09bf280e72" },
|
||||
"nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" },
|
||||
"nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" },
|
||||
"nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "6276cd9d41a56758bc48b433c99b8f9e345a3f2d" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "4724694bc03ce1148860a46d9d77c3664d8188ab" },
|
||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "7241635869b7a8115893ffa67bab3907756caf4f" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "45d0237c427baba8cd05e0ab26d30e2ee58c2c82" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "205f469244916716c49cc2b9026566749425c5ba" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "4412dafadf920deb9e08d4b9c1c11b2cf65ca1ca" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" },
|
||||
"vim-illuminate": { "branch": "master", "commit": "1b5d70332a51a1de05f281069851865a2bb1e6d7" },
|
||||
"vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }
|
||||
}
|
3
.config/nvim/lua/config/autocmds.lua
Normal file
3
.config/nvim/lua/config/autocmds.lua
Normal file
@ -0,0 +1,3 @@
|
||||
-- Autocmds are automatically loaded on the VeryLazy event
|
||||
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
|
||||
-- Add any additional autocmds here
|
3
.config/nvim/lua/config/keymaps.lua
Normal file
3
.config/nvim/lua/config/keymaps.lua
Normal file
@ -0,0 +1,3 @@
|
||||
-- Keymaps are automatically loaded on the VeryLazy event
|
||||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
||||
-- Add any additional keymaps here
|
43
.config/nvim/lua/config/lazy.lua
Normal file
43
.config/nvim/lua/config/lazy.lua
Normal file
@ -0,0 +1,43 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
-- bootstrap lazy.nvim
|
||||
-- stylua: ignore
|
||||
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
|
||||
end
|
||||
vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
|
||||
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- add LazyVim and import its plugins
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||
{ import = "lazyvim.plugins.extras.lang.go" },
|
||||
{ import = "lazyvim.plugins.extras.lang.ruby" },
|
||||
{ import = "plugins" },
|
||||
},
|
||||
defaults = {
|
||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
||||
lazy = false,
|
||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
||||
-- have outdated releases, which may break your Neovim install.
|
||||
version = false, -- always use the latest git commit
|
||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||
},
|
||||
install = { colorscheme = { "tokyonight", "habamax" } },
|
||||
checker = { enabled = true }, -- automatically check for plugin updates
|
||||
performance = {
|
||||
rtp = {
|
||||
-- disable some rtp plugins
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
-- "matchit",
|
||||
-- "matchparen",
|
||||
-- "netrwPlugin",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"tutor",
|
||||
"zipPlugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
13
.config/nvim/lua/config/options.lua
Normal file
13
.config/nvim/lua/config/options.lua
Normal file
@ -0,0 +1,13 @@
|
||||
-- Options are automatically loaded before lazy.nvim startup
|
||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||
-- Add any additional options here
|
||||
local opt = vim.opt
|
||||
|
||||
opt.colorcolumn = "80,100"
|
||||
opt.cursorline = true
|
||||
opt.list = true
|
||||
opt.listchars = "tab:――,space:·,trail:·"
|
||||
opt.mouse = "a"
|
||||
opt.spell = true
|
||||
opt.termguicolors = true
|
||||
opt.wrap = false
|
9
.config/nvim/lua/plugins/conform.lua
Normal file
9
.config/nvim/lua/plugins/conform.lua
Normal file
@ -0,0 +1,9 @@
|
||||
return {
|
||||
"stevearc/conform.nvim",
|
||||
optional = true,
|
||||
opts = {
|
||||
formatters_by_ft = {
|
||||
go = { "goimports" },
|
||||
},
|
||||
},
|
||||
}
|
12
.config/nvim/lua/plugins/gruvbox.lua
Normal file
12
.config/nvim/lua/plugins/gruvbox.lua
Normal file
@ -0,0 +1,12 @@
|
||||
return {
|
||||
{
|
||||
"ellisonleao/gruvbox.nvim",
|
||||
priority = 1000,
|
||||
},
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "gruvbox",
|
||||
},
|
||||
},
|
||||
}
|
8
.config/nvim/lua/plugins/mason.lua
Normal file
8
.config/nvim/lua/plugins/mason.lua
Normal file
@ -0,0 +1,8 @@
|
||||
return {
|
||||
"williamboman/mason.nvim",
|
||||
opts = function(_, opts)
|
||||
vim.list_extend(opts.ensure_installed, {
|
||||
"solargraph",
|
||||
})
|
||||
end,
|
||||
}
|
14
.config/nvim/lua/plugins/none-ls.lua
Normal file
14
.config/nvim/lua/plugins/none-ls.lua
Normal file
@ -0,0 +1,14 @@
|
||||
return {
|
||||
"nvimtools/none-ls.nvim",
|
||||
optional = true,
|
||||
opts = function(_, opts)
|
||||
if type(opts.sources) == "table" then
|
||||
local nls = require("null-ls")
|
||||
vim.list_extend(opts.sources, {
|
||||
nls.builtins.code_actions.gomodifytags,
|
||||
nls.builtins.code_actions.impl,
|
||||
nls.builtins.formatting.goimports,
|
||||
})
|
||||
end
|
||||
end,
|
||||
}
|
8
.config/nvim/lua/plugins/nvim-lspconfig.lua
Normal file
8
.config/nvim/lua/plugins/nvim-lspconfig.lua
Normal file
@ -0,0 +1,8 @@
|
||||
return {
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
solargraph = {},
|
||||
},
|
||||
},
|
||||
}
|
15
.config/nvim/lua/plugins/nvim-treesitter.lua
Normal file
15
.config/nvim/lua/plugins/nvim-treesitter.lua
Normal file
@ -0,0 +1,15 @@
|
||||
return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
vim.list_extend(opts.ensure_installed, {
|
||||
"go",
|
||||
"gomod",
|
||||
"gowork",
|
||||
"gosum",
|
||||
"ruby",
|
||||
"rust",
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
8
.config/nvim/lua/plugins/telescope.lua
Normal file
8
.config/nvim/lua/plugins/telescope.lua
Normal file
@ -0,0 +1,8 @@
|
||||
local Util = require("lazyvim.util")
|
||||
|
||||
return {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
keys = {
|
||||
{ "<c-p>", Util.telescope("files"), desc = "Find Files (root dir)" },
|
||||
},
|
||||
}
|
3
.config/nvim/stylua.toml
Normal file
3
.config/nvim/stylua.toml
Normal file
@ -0,0 +1,3 @@
|
||||
indent_type = "Spaces"
|
||||
indent_width = 2
|
||||
column_width = 120
|
Loading…
Reference in New Issue
Block a user