Merge branch 'master' of git.blakenorth.net/home/git/dotfiles

This commit is contained in:
PowerUser64 2022-07-27 23:12:18 -07:00
commit b2c4d70e4b
7 changed files with 124 additions and 74 deletions

View file

@ -73,7 +73,7 @@ font:
family: Sauce Code Pro NF family: Sauce Code Pro NF
# sizes that work well for 1920 by 1080: 14 (large), 12 (wide), 11.5 (narrow) # sizes that work well for 1920 by 1080: 14 (large), 12 (wide), 11.5 (narrow)
size: 12 size: 11.5
offset: offset:
x: 0 x: 0

View file

@ -139,21 +139,21 @@ M.cmp = function()
end, end,
}, },
sources = { sources = {
{ name = 'path' },
{ name = 'nvim_lua' },
{ name = 'nvim_lsp' }, { name = 'nvim_lsp' },
{ name = 'nvim_lua' },
{ name = 'luasnip' }, { name = 'luasnip' },
{ name = 'treesitter' }, { name = 'treesitter' },
{ name = 'calc' }, { name = 'calc' },
-- { name = 'spell' }, -- { name = 'spell' },
{ name = 'buffer' },
{ name = 'cmdline' }, { name = 'cmdline' },
{ name = 'emoji' }, { name = 'emoji' },
{ name = 'buffer' },
{ name = 'path' },
}, },
formatting = { formatting = {
format = function(entry, vim_item) format = function(entry, vim_item)
-- fancy icons and a name of kind -- fancy icons and a name of kind
format = require('lspkind').cmp_format({ require('lspkind').cmp_format({
mode = 'symbol', -- show only symbol annotations mode = 'symbol', -- show only symbol annotations
maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters)
@ -178,6 +178,11 @@ M.cmp = function()
return vim_item return vim_item
end, end,
}, },
window = {
documentation = {
border = { "", "", "", "", "", "", "", "" },
},
},
experimental = { experimental = {
ghost_text = true, ghost_text = true,
} }
@ -195,13 +200,13 @@ M.cmp = function()
cmp.setup.cmdline('/', search_config) cmp.setup.cmdline('/', search_config)
cmp.setup.cmdline('?', search_config) cmp.setup.cmdline('?', search_config)
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). -- `:` cmdline setup.
cmp.setup.cmdline(':', { cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(), mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({ sources = cmp.config.sources({
{ name = 'cmdline' }
}, {
{ name = 'path' } { name = 'path' }
}, {
{ name = 'cmdline' }
}) })
}) })
end -- <<< end -- <<<

View file

@ -165,9 +165,8 @@ M.indent_blankline = function()
let g:indent_blankline_show_current_context = v:true let g:indent_blankline_show_current_context = v:true
]] ]]
require("indent_blankline").setup { require("indent_blankline").setup {
-- for example, context is off by default, use this to turn it on
show_current_context = true, show_current_context = true,
show_current_context_start = true, show_current_context_start = false,
} }
end end
-- <<< -- <<<

View file

@ -14,7 +14,7 @@ return require('packer').startup({function()
-- TODO: Find a better way to organize this -- TODO: Find a better way to organize this
-- impatient (needs to go early) -- impatient (needs to go early)
use { -- lewis6991: impatient: Make nvim load faster by caching them use { -- lewis6991: impatient: Make nvim load faster by caching them - needs to load early
'lewis6991/impatient.nvim', 'lewis6991/impatient.nvim',
config = function() config = function()
require('impatient') require('impatient')
@ -22,7 +22,7 @@ return require('packer').startup({function()
} }
-- Packer -- Packer
use { -- packer use { -- packer: plugin manager
'wbthomason/packer.nvim', 'wbthomason/packer.nvim',
config = function() config = function()
-- Map :PS to :PackerSync -- Map :PS to :PackerSync
@ -37,7 +37,7 @@ return require('packer').startup({function()
require('blake.lsp').treesitter() require('blake.lsp').treesitter()
end, end,
} }
use { -- onedark theme use { -- onedark.nvim: onedark theme
'navarasu/onedark.nvim', 'navarasu/onedark.nvim',
config = function() config = function()
-- vim.g.onedark_transparent_background = true -- vim.g.onedark_transparent_background = true
@ -48,7 +48,7 @@ return require('packer').startup({function()
]] ]]
end end
} }
use { -- tokyonight theme use { -- tokyonight.nvim: tokyonight theme
'folke/tokyonight.nvim', 'folke/tokyonight.nvim',
config = function() config = function()
-- vim.g.onedark_transparent_background = true -- vim.g.onedark_transparent_background = true
@ -71,14 +71,14 @@ return require('packer').startup({function()
require('blake.other').lualine() require('blake.other').lualine()
end, end,
} }
use { -- nvim-tabline use { -- nvim-tabline: batter looking tabline
'alvarosevilla95/luatab.nvim', 'alvarosevilla95/luatab.nvim',
requires = 'kyazdani42/nvim-web-devicons', requires = 'kyazdani42/nvim-web-devicons',
config = function() config = function()
require('luatab').setup() require('luatab').setup()
end end
} }
use { -- css color tag highlighter (ex: #FFB13B) use { -- nvim-colorizer: css color tag highlighter (ex- #FFB13B)
'norcalli/nvim-colorizer.lua', 'norcalli/nvim-colorizer.lua',
config = function() config = function()
vim.cmd 'command! COL ColorizerToggle' vim.cmd 'command! COL ColorizerToggle'
@ -87,9 +87,9 @@ return require('packer').startup({function()
-- IDE features -- IDE features
---- LSP ---- LSP
use { -- lspinstall + lspconfig use { -- lspinstall: language server installer, (lspconfig is here too)
'williamboman/nvim-lsp-installer', 'williamboman/nvim-lsp-installer',
{ -- lspconfig { -- lspconfig: default language server configurations
'neovim/nvim-lspconfig', 'neovim/nvim-lspconfig',
config = function() config = function()
require('blake.lsp').lspinstall() require('blake.lsp').lspinstall()
@ -97,7 +97,7 @@ return require('packer').startup({function()
end end
} }
} }
use { -- commentstring based on context from treesitter use { -- ts-context-commentstring: set commentstring based on context from treesitter (two langs in one file)
'JoosepAlviste/nvim-ts-context-commentstring', 'JoosepAlviste/nvim-ts-context-commentstring',
requires = 'nvim-treesitter/nvim-treesitter', requires = 'nvim-treesitter/nvim-treesitter',
config = function() config = function()
@ -109,7 +109,7 @@ return require('packer').startup({function()
} }
end, end,
} }
use { -- compe use { -- cmp: completion menu
'hrsh7th/nvim-cmp', 'hrsh7th/nvim-cmp',
config = function() config = function()
require('blake.lsp').cmp() require('blake.lsp').cmp()
@ -128,17 +128,23 @@ return require('packer').startup({function()
'hrsh7th/cmp-emoji', 'hrsh7th/cmp-emoji',
}, },
} }
use { -- luasnip (snippits) use { -- luasnip: snippits plugin
'L3MON4D3/LuaSnip', 'L3MON4D3/LuaSnip',
config = function()
require("luasnip.loaders.from_vscode").lazy_load()
end
} }
use { -- function parameter previews use { -- friendly-snippets: lots of good snippits
'rafamadriz/friendly-snippets'
}
use { -- lsp_signature: function parameter previews
'ray-x/lsp_signature.nvim', 'ray-x/lsp_signature.nvim',
after = 'nvim-lspconfig', after = 'nvim-lspconfig',
config = function() config = function()
require('blake.lsp').signature() require('blake.lsp').signature()
end, end,
} }
use { -- symbols-outline: treesitter-based document outline (:SO) use { -- symbols-outline: treesitter-based document outline (SO)
'simrat39/symbols-outline.nvim', 'simrat39/symbols-outline.nvim',
config = function() config = function()
vim.cmd 'command! SO SymbolsOutline' vim.cmd 'command! SO SymbolsOutline'
@ -159,7 +165,7 @@ return require('packer').startup({function()
require('blake.dap').nvim_dap() require('blake.dap').nvim_dap()
end end
} }
-- use { -- DAP adapter installer -- use { -- dap-buddy: DAP adapter installer
-- 'Pocco81/dap-buddy.nvim', -- 'Pocco81/dap-buddy.nvim',
-- config = function() -- config = function()
-- require('blake.dap').dap_buddy() -- require('blake.dap').dap_buddy()
@ -171,7 +177,7 @@ return require('packer').startup({function()
require("nvim-dap-virtual-text").setup() require("nvim-dap-virtual-text").setup()
end end
} }
use { -- a UI for nvim-dap (easy access to info) use { -- nvim-dap-ui: a UI for nvim-dap
'rcarriga/nvim-dap-ui', 'rcarriga/nvim-dap-ui',
config = function() config = function()
require('blake.dap').dap_ui() require('blake.dap').dap_ui()
@ -186,7 +192,7 @@ return require('packer').startup({function()
require('blake.other').telescope() require('blake.other').telescope()
end end
} }
use { -- git integration use { -- gitsigns: git integration
'lewis6991/gitsigns.nvim', 'lewis6991/gitsigns.nvim',
requires = { requires = {
'nvim-lua/plenary.nvim' 'nvim-lua/plenary.nvim'
@ -195,37 +201,37 @@ return require('packer').startup({function()
require('blake.other').gitsigns() require('blake.other').gitsigns()
end, end,
} }
-- use { -- file manager -- use { -- nvim-tree: file manager
-- 'kyazdani42/nvim-tree.lua', -- 'kyazdani42/nvim-tree.lua',
-- requires = 'kyazdani42/nvim-web-devicons', -- requires = 'kyazdani42/nvim-web-devicons',
-- config = function() -- config = function()
-- require('blake.other').nvimtree() -- require('blake.other').nvimtree()
-- end -- end
-- } -- }
use { -- terminal use { -- toggleterm: terminal
'akinsho/toggleterm.nvim', 'akinsho/toggleterm.nvim',
tag = 'v1.*', tag = 'v1.*',
config = function() config = function()
require('blake.other').toggleterm() require('blake.other').toggleterm()
end end
} }
use { -- Smooth Scrolling use { -- neoscroll: Smooth Scrolling
'karb94/neoscroll.nvim', 'karb94/neoscroll.nvim',
config = function() config = function()
require('blake.other').neoscroll() require('blake.other').neoscroll()
end, end,
} }
use { -- automatic session management use { -- auto-session: automatic session management
'rmagatti/auto-session', 'rmagatti/auto-session',
config = function() config = function()
require('blake.other').autosession() require('blake.other').autosession()
end end
} }
use { -- Markdown preview use { -- glow: Markdown preview
'ellisonleao/glow.nvim', 'ellisonleao/glow.nvim',
ft = { 'md', 'markdown', } ft = { 'md', 'markdown', }
} }
use { -- Zen mode (:ZenMode or :ZM) use { -- zen mode: (ZenMode or ZM)
"folke/zen-mode.nvim", "folke/zen-mode.nvim",
config = function() config = function()
require('blake.other').zenmode() require('blake.other').zenmode()
@ -233,7 +239,7 @@ return require('packer').startup({function()
vim.cmd 'inoremap <F10> <cmd>ZenMode<CR>' vim.cmd 'inoremap <F10> <cmd>ZenMode<CR>'
end, end,
} }
-- use { -- dim text outside paragraph or function -- use { -- twilight.nvim: dim text outside paragraph or function
-- 'folke/twilight.nvim', -- 'folke/twilight.nvim',
-- config = function() -- config = function()
-- vim.cmd 'command! TW Twilight' -- vim.cmd 'command! TW Twilight'
@ -257,7 +263,7 @@ return require('packer').startup({function()
-- } -- }
-- Conveniences -- Conveniences
use { -- sort motion (gs) use { -- sort motion: (gs)
'christoomey/vim-sort-motion', 'christoomey/vim-sort-motion',
config = function() config = function()
vim.cmd [[ vim.cmd [[
@ -267,19 +273,19 @@ return require('packer').startup({function()
end, end,
requires = 'navicore/vissort.vim', -- config requires requires = 'navicore/vissort.vim', -- config requires
} }
use { -- Ghost: Web browser integration use { -- ghost: Web browser integration
'raghur/vim-ghost', 'raghur/vim-ghost',
opt = true, opt = true,
cmd = {'GhostStart', 'GhostInstall', 'GhostStop', 'GhostSync', 'GhostToggleSync',}, cmd = {'GhostStart', 'GhostInstall', 'GhostStop', 'GhostSync', 'GhostToggleSync',},
} }
use { -- Undo tree use { -- undotree: visual undo tree
'mbbill/undotree', 'mbbill/undotree',
config = function() config = function()
vim.cmd 'nnoremap <F5> <cmd>UndotreeToggle<CR>' vim.cmd 'nnoremap <F5> <cmd>UndotreeToggle<CR>'
vim.api.nvim_set_keymap('n', '<F5>', '<cmd>UndotreeToggle<CR>', { noremap = true, silent = true, }) vim.api.nvim_set_keymap('n', '<F5>', '<cmd>UndotreeToggle<CR>', { noremap = true, silent = true, })
end end
} }
-- use { -- Dim inactive window -- use { -- shade.nvim: dim inactive window
-- 'sunjon/shade.nvim', -- 'sunjon/shade.nvim',
-- config = function() -- config = function()
-- require'shade'.setup({ -- require'shade'.setup({
@ -293,7 +299,7 @@ return require('packer').startup({function()
-- }) -- })
-- end -- end
-- } -- }
use { -- Quote pairing use { -- nvim-autopairs: automatic quote pairing
'windwp/nvim-autopairs', 'windwp/nvim-autopairs',
config = function() config = function()
-- If you want insert `(` after select function or method item -- If you want insert `(` after select function or method item
@ -317,7 +323,7 @@ return require('packer').startup({function()
require('nvim-ts-autotag').setup() require('nvim-ts-autotag').setup()
end end
} }
use { -- endwise: auto add 'end' keyword use { -- endwise: auto add 'end' keyword when typing loops in various languages
'RRethy/nvim-treesitter-endwise', 'RRethy/nvim-treesitter-endwise',
config = function() config = function()
require('nvim-treesitter.configs').setup { require('nvim-treesitter.configs').setup {
@ -326,17 +332,14 @@ return require('packer').startup({function()
}, },
} }
end end
}
use { -- accelerated jk movement
'rhysd/accelerated-jk'
} }
use { -- cheat.sh integration use { -- cheat.sh integration
'dbeniamine/cheat.sh-vim', 'dbeniamine/cheat.sh-vim',
} }
use { -- nvim-align: Align text use { -- nvim-align: Align text
'RRethy/nvim-align' 'RRethy/nvim-align',
} }
use { -- Comments (gb and gc) use { -- comment.nvim: toggle comments - gb and gc
'numToStr/Comment.nvim', 'numToStr/Comment.nvim',
config = function() config = function()
require('Comment').setup { require('Comment').setup {
@ -362,10 +365,36 @@ return require('packer').startup({function()
} }
end end
} }
use { -- vim-illuminate: highlight other occurrences of the word under cursor
'RRethy/vim-illuminate',
}
use { -- filetype.nvim: detect filetype a lot faster than stock neovim
'nathom/filetype.nvim',
}
use { -- vim-rooter: cd to the root of a project when opening a file or folder
'notjedi/nvim-rooter.lua',
}
use { -- splitjoin: switch between single line and multiline versions of code - gJ and gS
'AndrewRadev/splitjoin.vim',
}
use { -- rhysd: clever-split: split calculation based on pane dimensions - CS or CleverSplit
'rhysd/clever-split.vim',
config = function()
-- Map :CS to :CleverSplit
vim.cmd 'command! CS CleverSplit'
end
}
use { -- rhysd: textobj-anyblock: allow ab or ib instead of i( or a[ or any of the many other block selectors
'rhysd/vim-textobj-anyblock',
requires = 'kana/vim-textobj-user',
}
-- use { -- rhysd: accelerated jk: make j and k move faster by pressing them a lot movement
-- 'rhysd/accelerated-jk',
-- }
use { -- rhysd: committia: better commit editing window use { -- rhysd: committia: better commit editing window
'rhysd/committia.vim', 'rhysd/committia.vim',
} }
use { -- rhysd: conflict-marker: mark git conflicts - [x ]x use { -- rhysd: conflict-marker: mark git conflicts - [x, ]x, co, ct, cb, cB, cn
'rhysd/conflict-marker.vim', 'rhysd/conflict-marker.vim',
} }
use { -- lewis6991: spellsitter: Spell checking in treesitter files use { -- lewis6991: spellsitter: Spell checking in treesitter files
@ -402,16 +431,16 @@ return require('packer').startup({function()
-- ]] -- ]]
-- end, -- end,
-- } -- }
use { -- tpope: surround use { -- tpope: surround: surround text with quotes, parens, tags, and more - ys
'tpope/vim-surround' 'tpope/vim-surround',
} }
use { -- tpope: git integration use { -- tpope: fugitive: git integration
'tpope/vim-fugitive' 'tpope/vim-fugitive',
} }
use { -- tpope: Repeatability for various tpope plugins use { -- tpope: repeat: Repeatability for various tpope plugins
'tpope/vim-repeat', 'tpope/vim-repeat',
} }
use { -- tpope: automatically get info about files and apply it to vim (tabs vs spaces, etc) use { -- tpope: sleuth: automatically get info about files and apply it to vim (tabs vs spaces, etc)
'tpope/vim-sleuth', 'tpope/vim-sleuth',
} }
@ -427,4 +456,5 @@ config = {
compile_path = vim.fn.stdpath('config')..'/lua/packer_compiled.lua', compile_path = vim.fn.stdpath('config')..'/lua/packer_compiled.lua',
}}) }})
-- vim command to align all plugin descriptions: select all plugins in visual line, :'<,'>Align \(.\+use { -- .\+: \+\)\@<=[^ ][^:]\+$
-- vim:fdm=marker:fmr={,}:fdl=1:expandtab:tabstop=3:sw=3 -- vim:fdm=marker:fmr={,}:fdl=1:expandtab:tabstop=3:sw=3

View file

@ -4,6 +4,8 @@
alias \ alias \
vimdiff='nvim -d' \ vimdiff='nvim -d' \
alias sd=sudo
alias \ alias \
vv='$EDITOR' \ vv='$EDITOR' \
e='$EDITOR' \ e='$EDITOR' \
@ -31,7 +33,7 @@ alias \
# <<< # <<<
## Program improvements (ex: ls = ls -h) >>> ## Program improvements (ex: ls = ls -h) >>>
alias sudo='sudo VISUAL="$VISUAL" SYSTEMD_EDITOR="$SYSTEMD_EDITOR" ' # allow using aliases in sudo commands alias sudo='sudo VISUAL="$VISUAL" SYSTEMD_EDITOR="$SYSTEMD_EDITOR" ' # allow using aliases in sudo commands and add some env vars
alias df='df -h' # Human-readable sizes alias df='df -h' # Human-readable sizes
alias free='free -m' # Show sizes in MB alias free='free -m' # Show sizes in MB
alias bc='bc -ql' # Make bc usable for fast math alias bc='bc -ql' # Make bc usable for fast math
@ -52,6 +54,7 @@ alias \
fgrep='fgrep --color=auto' \ fgrep='fgrep --color=auto' \
diff='diff --color=auto' \ diff='diff --color=auto' \
pacman='pacman --color=auto' \ pacman='pacman --color=auto' \
alias ip='ip -color=auto' \
# super duper paru alias # super duper paru alias
# shellcheck disable=SC2139 # shellcheck disable=SC2139
@ -86,9 +89,11 @@ alias ydotool='(sudo ydotoold &) && sleep 0.05 && sudo ydotool'
# Update zinit and plugins # Update zinit and plugins
alias zup='zinit self-update && zinit update --parallel' alias zup='zinit self-update && zinit update --parallel'
# Run PackerSync in neovim with PS
alias PS='nvim --headless -c "autocmd User PackerComplete quitall" -c "PackerSync"'
# Edit config files # Edit config files
alias \ alias \
nvc='(cd ~/.config/nvim/lua/blake && nvim ../../init.lua)' \
zc='$EDITOR ~/.zshrc' \ zc='$EDITOR ~/.zshrc' \
sc='$EDITOR $SHELL_CONFIG_DIR/shrc' \ sc='$EDITOR $SHELL_CONFIG_DIR/shrc' \
fstab='sudoedit /etc/fstab' \ fstab='sudoedit /etc/fstab' \

6
.config/shell/bin/nvc Executable file
View file

@ -0,0 +1,6 @@
#!/bin/sh
# Purpose: edit nvim configuration while being cd'd into the directory that
# most of the files live so they can easily be :e'd
# Usage: nvc
cd ~/.config/nvim/lua/blake \
&& nvim ../../init.lua

View file

@ -25,6 +25,11 @@ export PATH="$PATH:${XDG_DATA_HOME:-$HOME/.local}/bin:$SHELL_CONFIG_DIR/bin"
# Basic default LS colors # Basic default LS colors
export LSCOLORS="Gxfxcxdxbxegedabagacad" export LSCOLORS="Gxfxcxdxbxegedabagacad"
# `less` colors
# shellcheck disable=SC2016
export LESS='-R --use-color -Dd+g$Du+b'
export MANPAGER="less -R --use-color -Dd+g -Du+b"
# Theme for zsh and nvim (soon™) # Theme for zsh and nvim (soon™)
COLOR_SCHEME=tokyonight COLOR_SCHEME=tokyonight