2021-09-16 20:32:29 +00:00
-- Install packer
2021-08-24 17:38:14 +00:00
local install_path = vim.fn . stdpath ( " data " ) .. " /site/pack/packer/start/packer.nvim "
if vim.fn . empty ( vim.fn . glob ( install_path ) ) > 0 then
vim.fn . system ( { " git " , " clone " , " https://github.com/wbthomason/packer.nvim " , install_path } )
vim.cmd " packadd packer.nvim "
end
2021-08-25 23:21:50 +00:00
-- Configures dark-notify to use colors from my environment
2021-08-24 17:38:14 +00:00
local function config_dark_notify ( )
2021-09-16 20:32:29 +00:00
require ( " dark_notify " ) . run {
onchange = function ( _ )
-- Defined in _colors
_G.update_colors ( )
2021-08-24 17:38:14 +00:00
end ,
}
end
return require ( ' packer ' ) . startup ( function ( )
2021-09-16 01:13:17 +00:00
-- luacheck: push globals use
2021-08-24 17:38:14 +00:00
use " wbthomason/packer.nvim "
-- Quality of life
use " tpope/vim-endwise "
use " tpope/vim-eunuch "
use " tpope/vim-repeat "
use " tpope/vim-rsi "
use " tpope/vim-surround "
use " tpope/vim-vinegar "
use " vim-scripts/file-line "
use " ludovicchabant/vim-gutentags "
use {
" tomtom/tcomment_vim " ,
config = function ( )
vim.api . nvim_set_keymap ( " n " , " // " , " :TComment<CR> " , { silent = true , noremap = true } )
vim.api . nvim_set_keymap ( " v " , " // " , " :TCommentBlock<CR> " , { silent = true , noremap = true } )
end ,
}
use {
" FooSoft/vim-argwrap " ,
config = function ( )
vim.api . nvim_set_keymap ( " n " , " <Leader>a " , " :ArgWrap<CR> " , { silent = true , noremap = true } )
end ,
}
use {
" tpope/vim-fugitive " ,
2021-09-01 17:03:05 +00:00
-- cmd = { "Git", "Gstatus", "Gblame", "Gpush", "Gpull" },
2021-08-24 17:38:14 +00:00
}
2021-08-25 23:21:50 +00:00
use {
" milkypostman/vim-togglelist " ,
config = function ( )
vim.api . nvim_set_keymap ( " n " , " <F6> " , " :call ToggleQuickfixList()<CR> " , { silent = true , noremap = true } )
vim.api . nvim_set_keymap ( " n " , " <F7> " , " :call ToggleLocationList()<CR> " , { silent = true , noremap = true } )
end ,
}
2021-08-24 17:38:14 +00:00
-- UI
2021-09-01 17:03:05 +00:00
use " ~/workspace/ez-colors.nvim/wombat "
2021-09-28 00:45:04 +00:00
use {
" ~/workspace/wombat-lush " ,
requires = " rktjmp/lush.nvim " ,
}
2021-09-19 02:49:45 +00:00
use {
" hoob3rt/lualine.nvim " ,
config = function ( ) require ( " plugins.lualine " ) . config_lualine ( vim.g . colors_name ) end ,
}
2021-08-24 17:38:14 +00:00
use " vim-scripts/wombat256.vim "
use " ishan9299/nvim-solarized-lua "
2021-09-01 17:03:05 +00:00
use {
" norcalli/nvim-colorizer.lua " ,
config = function ( ) require ( " colorizer " ) . setup ( ) end ,
}
2021-09-16 20:32:29 +00:00
use {
" folke/tokyonight.nvim " ,
run = " fish -c 'echo \" set --path --prepend fish_themes_path \" (pwd) \" /extras \" > ~/.config/fish/conf.d/tokyonight.fish' || true " , -- luacheck: no max line length
}
use {
" ~/workspace/wombuddy " ,
requires = " tjdevries/colorbuddy.vim " ,
}
2021-08-24 17:38:14 +00:00
--[[
use {
" shaunsingh/solarized.nvim " ,
config = function ( ) vim.g . colors_name = " solarized " end ,
-- config = function() require("solarized").set() end,
}
--]]
--[[
use {
" altercation/vim-colors-solarized " ,
-- config = function() update_colors() end,
-- config = function() vim.g.colors_name = "solarized" end,
}
--]]
--[[
use {
" vim-airline/vim-airline " ,
2021-09-01 17:03:05 +00:00
config = function ( ) require ( " plugins.airline " ) end ,
2021-08-24 17:38:14 +00:00
requires = { " vim-airline/vim-airline-themes " , opt = true } ,
}
--]]
use {
" cormacrelf/dark-notify " ,
-- Download latest release on install
2021-09-16 01:13:17 +00:00
run = " curl -s https://api.github.com/repos/cormacrelf/dark-notify/releases/latest | jq '.assets[].browser_download_url' | xargs curl -Ls | tar xz -C ~/.local/bin/ " , -- luacheck: no max line length
2021-08-24 17:38:14 +00:00
config = config_dark_notify ,
2021-09-16 01:13:17 +00:00
requires = " hoob3rt/lualine.nvim " ,
2021-08-24 17:38:14 +00:00
}
2021-08-24 23:12:16 +00:00
use {
' mhinz/vim-startify ' ,
2021-08-25 23:21:50 +00:00
config = function ( ) require ( " utils " ) . require_with_local ( " plugins.startify " ) end ,
2021-08-24 23:12:16 +00:00
}
2021-08-24 17:38:14 +00:00
-- LSP
use {
" neovim/nvim-lspconfig " ,
2021-08-25 23:21:50 +00:00
config = function ( ) require ( " utils " ) . require_with_local ( " plugins.lsp " ) end ,
2021-08-24 17:38:14 +00:00
}
use {
" glepnir/lspsaga.nvim " ,
2021-09-16 01:13:17 +00:00
requires = " neovim/nvim-lspconfig " ,
2021-08-24 17:38:14 +00:00
}
2021-09-01 17:03:05 +00:00
--[[
use {
" SmiteshP/nvim-gps " ,
requires = " nvim-treesitter/nvim-treesitter "
}
--]]
-- Writing
-- abolish/pencil
2021-09-28 00:45:04 +00:00
use {
" preservim/vim-pencil " ,
cmd = { " Pencil " } ,
}
use " preservim/vim-textobj-sentence "
2021-08-24 17:38:14 +00:00
-- Treesitter
use {
" nvim-treesitter/nvim-treesitter " ,
run = " :TSUpdate " ,
2021-08-25 23:21:50 +00:00
config = function ( ) require ( " utils " ) . require_with_local ( " plugins.treesitter " ) end ,
2021-08-24 17:38:14 +00:00
}
use {
" nvim-treesitter/nvim-treesitter-refactor " ,
requires = " nvim-treesitter/nvim-treesitter " ,
}
use {
" nvim-treesitter/nvim-treesitter-textobjects " ,
requires = " nvim-treesitter/nvim-treesitter " ,
}
2021-08-24 23:13:10 +00:00
--[[
2021-08-24 17:38:14 +00:00
use {
" nvim-treesitter/completion-treesitter " ,
requires = " nvim-treesitter/nvim-treesitter " ,
}
2021-08-24 23:13:10 +00:00
--]]
2021-08-24 17:38:14 +00:00
-- Completion
use {
" nvim-lua/completion-nvim " ,
2021-08-25 23:21:50 +00:00
config = function ( ) require ( " utils " ) . require_with_local ( " plugins.completion " ) end ,
2021-08-24 17:38:14 +00:00
}
-- Fuzzy Finder
use {
" nvim-telescope/telescope.nvim " ,
2021-09-16 01:13:17 +00:00
requires = " nvim-lua/plenary.nvim " ,
2021-08-25 23:21:50 +00:00
config = function ( ) require ( " plugins.telescope " ) end ,
}
2021-08-25 23:28:03 +00:00
--[[
2021-08-25 23:21:50 +00:00
use {
' junegunn/fzf ' ,
run = " :call fzf#install() " ,
}
use {
' junegunn/fzf.vim ' ,
requires = " junegunn/fzf " ,
config = function ( )
vim.g . fzf_command_prefix = ' FZF '
-- Jump to existing window if possible
vim.g . fzf_buffers_jump = 1
-- Override key commands
-- vim.g.fzf_action = { ['ctrl-t'] = 'tab split', ['ctrl-s'] = 'split', ['ctrl-v'] = 'vsplit', }
-- Override git log to show authors
2021-09-16 20:32:29 +00:00
vim.g . fzf_commits_log_options = --graph --color=always \z
--format="%C(auto)%h %an: %s%d %C(black)%C(bold)%cr"
2021-08-25 23:21:50 +00:00
vim.g . fzf_preview_window = { " right:50% " , " ctrl-/ " }
vim.api . nvim_set_keymap ( " n " , " <C-t> " , " <cmd>FZF<CR> " , { silent = true , noremap = true } )
vim.api . nvim_set_keymap ( " n " , " <Leader>b " , " <cmd>FZFBuffers<CR> " , { silent = true , noremap = true } )
vim.api . nvim_set_keymap ( " n " , " <F2> " , " <cmd>FZFBuffers<CR> " , { silent = true , noremap = true } )
vim.api . nvim_set_keymap ( " n " , " <Leader>fg " , " <cmd>FZFRg<CR> " , { silent = true , noremap = true } )
vim.api . nvim_set_keymap ( " n " , " <Leader>r " , " <cmd>FZFTags<CR> " , { silent = true , noremap = true } )
vim.api . nvim_set_keymap ( " n " , " <Leader>t " , " <cmd>FZFBTags<CR> " , { silent = true , noremap = true } )
vim.api . nvim_set_keymap ( " n " , " <Leader>g " , " <cmd>FZFBCommits<CR> " , { silent = true , noremap = true } )
end ,
}
use {
" ojroques/nvim-lspfuzzy " ,
requires = { " junegunn/fzf " , " junegunn/fzf " } ,
config = function ( )
require ( " lspfuzzy " ) . setup {
fzf_trim = false ,
}
end ,
2021-08-24 17:38:14 +00:00
}
2021-08-25 23:28:03 +00:00
--]]
2021-08-24 17:38:14 +00:00
-- Filetypes
use " ViViDboarder/vim-forcedotcom "
use " rust-lang/rust.vim "
use " hsanson/vim-android "
use {
' sheerun/vim-polyglot ' ,
config = function ( )
vim.g . polyglot_disabled = { " go " , " rust " }
vim.cmd ( [ [
augroup ansible_playbook
au BufRead , BufNewFile */ playbooks /* . yml , */ playbooks /* . yaml set filetype = yaml.ansible
augroup end
] ] )
end ,
}
--[[
use {
" fatih/vim-go " ,
config = function ( )
vim.g . go_code_completion_enabled = 0
end ,
}
--]]
2021-09-01 17:03:05 +00:00
use {
" dense-analysis/ale " ,
config = function ( ) require ( " utils " ) . require_with_local ( " plugins.ale " ) end ,
}
2021-08-24 17:38:14 +00:00
-- Debuging nvim config
use {
" tweekmonster/startuptime.vim " ,
2021-09-16 20:32:29 +00:00
cmd = { " StartupTime " } ,
2021-08-24 17:38:14 +00:00
}
2021-09-16 01:13:17 +00:00
-- luacheck: pop
2021-08-24 17:38:14 +00:00
end )