Compare commits

...

13 Commits

29 changed files with 512 additions and 84 deletions

2
.config/nvim/init.lua Normal file
View File

@ -0,0 +1,2 @@
require("config.lazy")
require("vim-options")

View File

@ -0,0 +1,39 @@
{
"LuaSnip": { "branch": "master", "commit": "b84eeb3641b08324287587b426ec974b888390d9" },
"catppuccin": { "branch": "main", "commit": "05206bbb6d500a339cd55a9486532c3871a4455e" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" },
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"conform.nvim": { "branch": "master", "commit": "eff40c4f5fdf7ae8f269b258047d1bd7cee50f02" },
"everforest-nvim": { "branch": "main", "commit": "2c40c11b971da120796564e69aecce7e7c82a854" },
"friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" },
"gitsigns.nvim": { "branch": "main", "commit": "58bd9e98d8e3c5a1c98af312e85247ee1afd3ed2" },
"gruvbox.nvim": { "branch": "main", "commit": "7a1b23e4edf73a39642e77508ee6b9cbb8c60f9e" },
"indent-blankline.nvim": { "branch": "master", "commit": "3fe94b8034dd5241cb882bb73847303b58857ecf" },
"kanagawa.nvim": { "branch": "master", "commit": "e5f7b8a804360f0a48e40d0083a97193ee4fcc87" },
"lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" },
"lualine.nvim": { "branch": "master", "commit": "544dd1583f9bb27b393f598475c89809c4d5e86b" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "62360f061d45177dda8afc1b0fd1327328540301" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
"mini.icons": { "branch": "main", "commit": "fe63fe080e76d80713557e5f0c65bc15b14b152d" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" },
"nightfox.nvim": { "branch": "main", "commit": "d3e8b1acc095baf57af81bb5e89fe7c4359eb619" },
"nord.nvim": { "branch": "master", "commit": "80c1e5321505aeb22b7a9f23eb82f1e193c12470" },
"nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" },
"nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" },
"nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" },
"nvim-lspconfig": { "branch": "master", "commit": "6c505d4220b521f3b0e7b645f6ce45fa914d0eed" },
"nvim-surround": { "branch": "main", "commit": "ec2dc7671067e0086cdf29c2f5df2dd909d5f71f" },
"nvim-treesitter": { "branch": "master", "commit": "9e66d5c72dabfc6417c6015ed8991f3c4b504f7d" },
"nvim-web-devicons": { "branch": "master", "commit": "3722e3d1fb5fe1896a104eb489e8f8651260b520" },
"oil.nvim": { "branch": "master", "commit": "fcca212c2e966fc3dec1d4baf888e670631d25d1" },
"plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" },
"rose-pine": { "branch": "main", "commit": "1e45cea06db866143930a6df96fc66bf715c866c" },
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"tokyonight.nvim": { "branch": "main", "commit": "b0e7c7382a7e8f6456f2a95655983993ffda745e" },
"trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" },
"undotree": { "branch": "master", "commit": "56c684a805fe948936cda0d1b19505b84ad7e065" },
"vim-fugitive": { "branch": "master", "commit": "0444df68cd1cdabc7453d6bd84099458327e5513" }
}

View File

@ -0,0 +1,35 @@
-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
-- Make sure to setup `mapleader` and `maplocalleader` before
-- loading lazy.nvim so that mappings are correct.
-- This is also a good place to setup other settings (vim.opt)
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"
-- Setup lazy.nvim
require("lazy").setup({
spec = {
-- import your plugins
{ import = "plugins" },
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins.
install = { colorscheme = { "habamax" } },
-- automatically check for plugin updates
checker = { enabled = true },
})

View File

@ -0,0 +1,5 @@
return {
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
}

View File

@ -0,0 +1,53 @@
return {
{
"hrsh7th/cmp-nvim-lsp",
},
{
"hrsh7th/nvim-cmp",
dependencies = {
"neovim/nvim-lspconfig",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"hrsh7th/cmp-cmdline",
"saadparwaiz1/cmp_luasnip",
},
opts = function()
local cmp = require("cmp")
require("luasnip.loaders.from_vscode").lazy_load()
return {
snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body)
end,
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
sources = {
{ name = "nvim_lsp" },
{ name = "luasnip" },
{ name = "buffer" },
},
mapping = cmp.mapping.preset.insert({
["<C-b>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-Space>"] = cmp.mapping.complete(),
["<C-e>"] = cmp.mapping.abort(),
["<CR>"] = cmp.mapping.confirm({ select = true }),
}),
}
end,
--[[
keys = {
{ "<C-b>", function() require('cmp').mapping.scroll_docs(-4) end },
{ "<C-f>", function() require('cmp').mapping.scroll_docs(4) end },
{ "<C-Space>", function() require('cmp').mapping.complete() end },
{ "<C-e>", function() require('cmp').mapping.abort() end },
{ "<CR>", function() require('cmp').mapping.confirm({ select = true }) end },
},
]]
--
},
}

View File

@ -0,0 +1,8 @@
return {
"stevearc/conform.nvim",
opts = {
formatters_by_ft = {
lua = { "stylua" },
},
},
}

View File

@ -0,0 +1,12 @@
return {
"neanias/everforest-nvim",
version = false,
lazy = false,
priority = 1000, -- make sure to load this before all the other start plugins
-- Optional; default configuration will be used if setup isn't called.
config = function()
require("everforest").setup({
-- Your config here
})
end,
}

View File

@ -0,0 +1,2 @@
-- return { "mhartington/formatter.nvim" }
return {}

View File

@ -0,0 +1,11 @@
return {
{
"tpope/vim-fugitive",
},
{
"lewis6991/gitsigns.nvim",
config = function()
require("gitsigns").setup()
end,
},
}

View File

@ -0,0 +1,3 @@
return {
"ellisonleao/gruvbox.nvim",
}

View File

@ -0,0 +1,6 @@
return {
"lukas-reineke/indent-blankline.nvim",
main = "ibl",
opts = {
},
}

View File

@ -0,0 +1,3 @@
return {
"rebelot/kanagawa.nvim",
}

View File

@ -0,0 +1,3 @@
return {
"mfussenegger/nvim-lint",
}

View File

@ -0,0 +1,52 @@
return {
{
"williamboman/mason.nvim",
config = function()
require("mason").setup()
end,
},
{
"williamboman/mason-lspconfig.nvim",
dependencies = { "williamboman/mason.nvim" },
config = function()
require("mason-lspconfig").setup({
ensure_installed = {
"lua_ls",
"ruby_lsp",
"standardrb",
"terraformls",
"yamlls",
},
})
end,
},
{
"neovim/nvim-lspconfig",
dependencies = { "williamboman/mason-lspconfig.nvim" },
config = function()
local lspconfig = require("lspconfig")
lspconfig.ruby_lsp.setup({})
lspconfig.standardrb.setup({})
lspconfig.bashls.setup({})
lspconfig.yamlls.setup({})
lspconfig.terraformls.setup({})
lspconfig.lua_ls.setup({
settings = {
Lua = {
diagnostics = {
globals = { "vim" },
},
format = {
defaultConfig = {
indent_style = "tabs",
indent_size = "4",
},
enable = true,
},
},
},
})
end,
},
}

View File

@ -0,0 +1,8 @@
return {
"nvim-lualine/lualine.nvim",
event = "VeryLazy",
dependencies = { "nvim-tree/nvim-web-devicons" },
opts = function()
return {}
end,
}

View File

@ -0,0 +1,7 @@
return {
"L3MON4D3/LuaSnip",
dependencies = {
"saadparwaiz1/cmp_luasnip",
"rafamadriz/friendly-snippets",
},
}

View File

@ -0,0 +1,9 @@
return {
"nvim-neo-tree/neo-tree.nvim",
branch = "v3.x",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons",
"MunifTanjim/nui.nvim",
},
}

View File

@ -0,0 +1 @@
return { "EdenEast/nightfox.nvim" }

View File

@ -0,0 +1,3 @@
return {
"shaunsingh/nord.nvim",
}

View File

@ -0,0 +1,7 @@
return {
"stevearc/oil.nvim",
opts = {},
-- Optional dependencies
dependencies = { { "echasnovski/mini.icons", opts = {} } },
-- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if prefer nvim-web-devicons
}

View File

@ -0,0 +1 @@
return { "rose-pine/neovim", name = "rose-pine" }

View File

@ -0,0 +1,10 @@
return {
"kylechui/nvim-surround",
version = "*", -- Use for stability; omit to use `main` branch for the latest features
event = "VeryLazy",
config = function()
require("nvim-surround").setup({
-- Configuration here, or leave empty to use defaults
})
end,
}

View File

@ -0,0 +1,33 @@
return {
"nvim-telescope/telescope.nvim",
branch = "0.1.x",
dependencies = {
"nvim-lua/plenary.nvim",
},
keys = {
{
"<leader>ff",
function()
require("telescope.builtin").find_files()
end,
},
{
"<leader>fg",
function()
require("telescope.builtin").live_grep()
end,
},
{
"<leader>fb",
function()
require("telescope.builtin").buffers()
end,
},
{
"<leader>fh",
function()
require("telescope.builtin").help_tags()
end,
},
},
}

View File

@ -0,0 +1,6 @@
return {
"folke/tokyonight.nvim",
lazy = false,
priority = 1000,
opts = {},
}

View File

@ -0,0 +1,22 @@
return {
"nvim-treesitter/nvim-treesitter",
opts = {
build = ":TSUpdate",
ensure_installed = {
"ruby",
"lua",
"hcl",
"terraform",
},
auto_install = true,
highlight = {
enable = true,
},
indent = {
enable = false,
},
},
config = function(_, opts)
require("nvim-treesitter.configs").setup(opts)
end,
}

View File

@ -0,0 +1,37 @@
return {
"folke/trouble.nvim",
opts = {}, -- for default options, refer to the configuration section for custom setup.
cmd = "Trouble",
keys = {
{
"<leader>xx",
"<cmd>Trouble diagnostics toggle<cr>",
desc = "Diagnostics (Trouble)",
},
{
"<leader>xX",
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
desc = "Buffer Diagnostics (Trouble)",
},
{
"<leader>cs",
"<cmd>Trouble symbols toggle focus=false<cr>",
desc = "Symbols (Trouble)",
},
{
"<leader>cl",
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
desc = "LSP Definitions / references / ... (Trouble)",
},
{
"<leader>xL",
"<cmd>Trouble loclist toggle<cr>",
desc = "Location List (Trouble)",
},
{
"<leader>xQ",
"<cmd>Trouble qflist toggle<cr>",
desc = "Quickfix List (Trouble)",
},
},
}

View File

@ -0,0 +1,7 @@
return {
"mbbill/undotree",
keys = {
{ "<leader>u", vim.cmd.UndotreeToggle },
},
}

View File

@ -0,0 +1,10 @@
vim.cmd("set expandtab")
vim.cmd("set tabstop=4")
vim.cmd("set softtabstop=4")
vim.cmd("set shiftwidth=4")
vim.cmd("set smartindent")
vim.wo.number = true
vim.cmd.colorscheme "tokyonight"
vim.opt.termguicolors = true

199
.vimrc
View File

@ -6,9 +6,7 @@ silent !mkdir -p ~/.vim/{backup,swp}/
set nocompatible
filetype off
packadd minpac
call minpac#init()
call minpac#add('k-takata/minpac', {'type': 'opt'})
call plug#begin()
set t_Co=256 " Set to 256 color mode.
syntax on " Enable syntax highlighting.
@ -29,8 +27,8 @@ set smartcase " Smart case matching.
set autowrite " Save before switching buffers.
set number
set smarttab
" set listchars=tab:·\ ,eol:$
set listchars=eol,space,tab:»\
set fileencoding=utf-8
set listchars=eol,space,tab:»\
set expandtab
set backspace=indent,eol
set textwidth=80
@ -41,12 +39,18 @@ set colorcolumn=80
set diffopt+=iwhite
set backupdir=~/.vim/backup/
set directory=~/.vim/swp/
if has('termguicolors')
set termguicolors
endif
set updatetime=100
nnoremap <leader>s :set spell!<CR>
nnoremap <leader>n :set number!<CR>
nnoremap <leader>rn :set relativenumber!<CR>
nnoremap <leader>b :Buffers<CR>
nnoremap <leader>f :Files<CR>
nnoremap <leader>c :Colors<CR>
nnoremap <leader>u :UndotreeToggle<CR>
au BufNewFile,BufRead *.txt set ft=text
au FileType text set tw=72 spell spelllang=en_us nonumber
@ -73,86 +77,105 @@ nmap <silent> <leader>u :GundoToggle<CR>
filetype off
" Plugins
call minpac#add('Shougo/vimproc')
call minpac#add('sjl/gundo.vim')
call minpac#add('scrooloose/nerdcommenter')
call minpac#add('scrooloose/nerdtree')
"call minpac#add('msanders/snipmate.vim')
call minpac#add('godlygeek/tabular')
call minpac#add('tpope/vim-surround')
call minpac#add('tpope/vim-fugitive')
call minpac#add('kien/ctrlp.vim')
call minpac#add('vim-scripts/scratch.vim')
call minpac#add('bling/vim-airline')
call minpac#add('tpope/vim-characterize')
call minpac#add('tpope/vim-vinegar')
Plug 'Shougo/vimproc'
Plug 'sjl/gundo.vim'
Plug 'scrooloose/nerdcommenter'
Plug 'scrooloose/nerdtree'
Plug 'msanders/snipmate.vim'
Plug 'godlygeek/tabular'
Plug 'tpope/vim-surround'
Plug 'tpope/vim-fugitive'
Plug 'kien/ctrlp.vim'
Plug 'vim-scripts/scratch.vim'
Plug 'bling/vim-airline'
Plug 'tpope/vim-characterize'
Plug 'tpope/vim-vinegar'
" Syntax
call minpac#add('jnwhiteh/vim-golang')
call minpac#add('vim-syntastic/syntastic')
Plug 'jnwhiteh/vim-golang'
Plug 'vim-syntastic/syntastic'
Plug 'hashivim/vim-terraform'
" Themes
call minpac#add('jnurmine/Zenburn')
call minpac#add('nanotech/jellybeans.vim')
call minpac#add('guns/jellyx.vim')
call minpac#add('altercation/vim-colors-solarized')
call minpac#add('atonse/vydark')
call minpac#add('vim-scripts/vylight')
call minpac#add('tpope/vim-vividchalk')
call minpac#add('ciaranm/inkpot')
call minpac#add('mrkn/mrkn256.vim')
call minpac#add('vim-scripts/twilight256.vim')
call minpac#add('vim-scripts/vilight.vim')
call minpac#add('dasch/vim-mocha')
call minpac#add('dasch/satellite')
call minpac#add('djjcast/mirodark')
call minpac#add('molok/vim-vombato-colorscheme')
"Plugin 'jelera/vim-gummybears-colorscheme'
call minpac#add('vim-scripts/Gummybears')
call minpac#add('sjl/badwolf')
call minpac#add('shawncplus/skittles_berry')
call minpac#add('vim-scripts/Skittles-Dark')
call minpac#add('vim-scripts/tortex')
call minpac#add('vim-scripts/mayansmoke')
call minpac#add('w0ng/vim-hybrid')
call minpac#add('blackgate/tropikos-vim-theme')
call minpac#add('zaki/zazen')
call minpac#add('jonathanfilip/vim-lucius')
call minpac#add('chriskempson/vim-tomorrow-theme')
call minpac#add('nelstrom/vim-blackboard')
call minpac#add('tomasr/molokai')
call minpac#add('morhetz/gruvbox')
call minpac#add('chriskempson/base16-vim')
call minpac#add('sk1418/last256')
call minpac#add('toupeira/vim-desertink')
call minpac#add('junegunn/seoul256.vim')
call minpac#add('lsdr/monokai')
call minpac#add('Pychimp/vim-luna')
call minpac#add('Pychimp/vim-sol')
call minpac#add('vim-scripts/wombat256.vim')
call minpac#add('vim-scripts/Wombat')
call minpac#add('reedes/vim-colors-pencil')
call minpac#add('Shougo/unite.vim')
call minpac#add('nielsmadan/harlequin')
call minpac#add('dylanaraps/crayon')
call minpac#add('joshdick/onedark.vim')
call minpac#add('kamwitsta/flatwhite-vim')
call minpac#add('srcery-colors/srcery-vim')
call minpac#add('koirand/tokyo-metro.vim')
call minpac#add('wesgibbs/vim-irblack')
call minpac#add('agreco/vim-citylights')
call minpac#add('kaicataldo/material.vim')
call minpac#add('arcticicestudio/nord-vim')
call minpac#add('dracula/vim')
call minpac#add('airblade/vim-gitgutter')
call minpac#add('vim-airline/vim-airline-themes')
call minpac#add('fxn/vim-monochrome')
Plug 'jnurmine/Zenburn'
Plug 'nanotech/jellybeans.vim'
Plug 'guns/jellyx.vim'
Plug 'altercation/vim-colors-solarized'
Plug 'atonse/vydark'
Plug 'vim-scripts/vylight'
Plug 'tpope/vim-vividchalk'
Plug 'ciaranm/inkpot'
Plug 'mrkn/mrkn256.vim'
Plug 'vim-scripts/twilight256.vim'
Plug 'vim-scripts/vilight.vim'
Plug 'dasch/vim-mocha'
Plug 'dasch/satellite'
Plug 'djjcast/mirodark'
Plug 'molok/vim-vombato-colorscheme'
Plug 'sjl/badwolf'
Plug 'shawncplus/skittles_berry'
Plug 'vim-scripts/Skittles-Dark'
Plug 'vim-scripts/tortex'
Plug 'vim-scripts/mayansmoke'
Plug 'w0ng/vim-hybrid'
Plug 'blackgate/tropikos-vim-theme'
Plug 'zaki/zazen'
Plug 'jonathanfilip/vim-lucius'
Plug 'chriskempson/vim-tomorrow-theme'
Plug 'nelstrom/vim-blackboard'
Plug 'tomasr/molokai'
Plug 'chriskempson/base16-vim'
Plug 'sk1418/last256'
Plug 'toupeira/vim-desertink'
Plug 'junegunn/seoul256.vim'
Plug 'lsdr/monokai'
Plug 'Pychimp/vim-luna'
Plug 'Pychimp/vim-sol'
Plug 'vim-scripts/wombat256.vim'
Plug 'vim-scripts/Wombat'
Plug 'reedes/vim-colors-pencil'
Plug 'nielsmadan/harlequin'
Plug 'dylanaraps/crayon'
Plug 'kamwitsta/flatwhite-vim'
Plug 'srcery-colors/srcery-vim'
Plug 'koirand/tokyo-metro.vim'
Plug 'wesgibbs/vim-irblack'
Plug 'agreco/vim-citylights'
Plug 'kaicataldo/material.vim'
Plug 'arcticicestudio/nord-vim'
Plug 'dracula/vim'
Plug 'airblade/vim-gitgutter'
Plug 'vim-airline/vim-airline-themes'
Plug 'fxn/vim-monochrome'
Plug 'morhetz/gruvbox'
Plug 'joshdick/onedark.vim'
Plug 'sainnhe/everforest'
Plug 'NLKNguyen/papercolor-theme'
Plug 'sainnhe/sonokai'
Plug 'sainnhe/gruvbox-material'
Plug 'Everblush/everblush.vim'
Plug 'yuttie/inkstained-vim'
Plug 'sainnhe/edge'
Plug 'savq/melange'
Plug 'fatih/vim-go'
Plug 'junegunn/fzf', {'do': {-> fzf#install()}}
Plug 'junegunn/fzf.vim'
Plug 'mbbill/undotree'
Plug 'tpope/vim-commentary'
call plug#end()
filetype plugin indent on
set background=dark
colorscheme badwolf
let g:airline_theme='badwolf'
" colorscheme Tomorrow-Night-Eighties
set background=dark
let g:everforest_background = 'hard'
" colorscheme everforest
colorscheme everblush
let g:airline_theme='everforest'
" Force hash comments to retain their indentation level.
inoremap # X#
@ -162,10 +185,6 @@ let g:airline#extensions#tabline#enabled = 1
let g:airline_left_sep=''
let g:airline_right_sep=''
" Configure unite
nnoremap <leader>f :<C-u>Unite -start-insert file<CR>
nnoremap <leader>b :<C-u>Unite -start-insert buffer<CR>
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
@ -176,7 +195,21 @@ let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
let g:syntastic_yaml_checkers = ['yamllint']
function SetupSyntasticAvr()
let g:syntastic_c_compiler = "avr-gcc"
let g:syntastic_c_compiler_options = "-std=c99 -Wall -g -Os -mmcu=atmega328p -DF_CPU=16000000 -I ."
endfunction
if filereadable(".avr")
autocmd FileType c call SetupSyntasticAvr()
endif
" If it exists, include user's local vim config
if filereadable(expand("~/.vimrc.local"))
source ~/.vimrc.local
endif
if !has('nvim')
set guifont=FiraCode
set guiligatures=!\"#$%&()*+-./:<=>?@[]^_{\|~
endif