Compare commits
2 Commits
main
...
personal-m
| Author | SHA1 | Date | |
|---|---|---|---|
| 10c40078f0 | |||
| 1191025c55 |
@ -1,106 +0,0 @@
|
|||||||
local M = {}
|
|
||||||
|
|
||||||
-- Function to get visual selection
|
|
||||||
local function get_visual_selection()
|
|
||||||
local start_pos = vim.fn.getpos("'<")
|
|
||||||
local end_pos = vim.fn.getpos("'>")
|
|
||||||
local lines = vim.fn.getline(start_pos[2], end_pos[2])
|
|
||||||
|
|
||||||
-- Handle partial line selections
|
|
||||||
if #lines == 1 then
|
|
||||||
lines[1] = string.sub(lines[1], start_pos[3], end_pos[3])
|
|
||||||
else
|
|
||||||
lines[1] = string.sub(lines[1], start_pos[3])
|
|
||||||
lines[#lines] = string.sub(lines[#lines], 1, end_pos[3])
|
|
||||||
end
|
|
||||||
|
|
||||||
return table.concat(lines, '\n')
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Function to create carbon 50<
|
|
||||||
function M.create_screenshot()
|
|
||||||
-- Get the visual selection
|
|
||||||
local code = get_visual_selection()
|
|
||||||
if code == "" then
|
|
||||||
vim.notify("No text selected", vim.log.levels.ERROR)
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Get file extension for language detection
|
|
||||||
local file_extension = vim.fn.expand('%:e')
|
|
||||||
|
|
||||||
-- Get download directory
|
|
||||||
local download_dir = vim.fn.expand('~/Downloads')
|
|
||||||
local timestamp = os.date("%Y%m%d_%H%M%S")
|
|
||||||
local output_file = string.format("%s/carbon_%s.png", download_dir, timestamp)
|
|
||||||
|
|
||||||
-- Prepare the curl command
|
|
||||||
local carbon_url = "https://carbonara.solopov.dev/api/cook"
|
|
||||||
local json_data = string.format([[{
|
|
||||||
"code": %s,
|
|
||||||
"theme": "one-dark",
|
|
||||||
"language": "%s",
|
|
||||||
"dropShadow": true,
|
|
||||||
"windowControls": true,
|
|
||||||
}]], vim.fn.json_encode(code), file_extension)
|
|
||||||
|
|
||||||
-- Create temporary file for JSON data
|
|
||||||
local temp_json = os.tmpname()
|
|
||||||
local f = io.open(temp_json, "w")
|
|
||||||
f:write(json_data)
|
|
||||||
f:close()
|
|
||||||
|
|
||||||
-- Execute curl command
|
|
||||||
local cmd = string.format(
|
|
||||||
'curl -L %s -X POST -H "Content-Type: application/json" --data %s --output %s',
|
|
||||||
carbon_url,
|
|
||||||
json_data,
|
|
||||||
output_file
|
|
||||||
)
|
|
||||||
vim.print(cmd)
|
|
||||||
-- [[--
|
|
||||||
-- curl -L https://carbonara.solopov.dev/api/cook \
|
|
||||||
-- -X POST \
|
|
||||||
-- -H 'Content-Type: application/json' \
|
|
||||||
-- -d '{
|
|
||||||
-- "code": "export default const sum = (a, b) => a + b",
|
|
||||||
-- "backgroundColor": "#1F816D"
|
|
||||||
-- }' \
|
|
||||||
-- > code.png
|
|
||||||
-- --]]
|
|
||||||
-- Run the command asynchronously
|
|
||||||
vim.fn.jobstart(cmd, {
|
|
||||||
on_exit = function(_, exit_code)
|
|
||||||
-- Clean up temp file
|
|
||||||
-- os.remove(temp_json)
|
|
||||||
os.rename(temp_json, '~/Downloads/temp_json.json')
|
|
||||||
|
|
||||||
if exit_code == 0 then
|
|
||||||
vim.notify(
|
|
||||||
string.format("Screenshot saved to %s", output_file),
|
|
||||||
vim.log.levels.INFO
|
|
||||||
)
|
|
||||||
else
|
|
||||||
vim.notify(
|
|
||||||
"Failed to create screenshot",
|
|
||||||
vim.log.levels.ERROR
|
|
||||||
)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Set up the plugin
|
|
||||||
function M.setup()
|
|
||||||
-- Create user command
|
|
||||||
vim.api.nvim_create_user_command(
|
|
||||||
'CodeShot',
|
|
||||||
function()
|
|
||||||
M.create_screenshot()
|
|
||||||
end,
|
|
||||||
{ range = true }
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
return M
|
|
||||||
|
|
||||||
@ -1,10 +1,30 @@
|
|||||||
|
-- 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)
|
||||||
|
|
||||||
|
vim.g.mapleader = ','
|
||||||
|
vim.g.localmapleader = ','
|
||||||
|
--- vim.opt.textwidth = 85
|
||||||
|
vim.opt.colorcolumn = '+2'
|
||||||
|
|
||||||
|
require('lazy').setup('plugins')
|
||||||
|
|
||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
-- General Neovim settings and configuration
|
-- General Neovim settings and configuration
|
||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
vim.g.mapleader = ','
|
|
||||||
vim.g.localmapleader = ','
|
|
||||||
vim.opt.colorcolumn = '+2'
|
|
||||||
-- vim.diagnostic.config({ virtual_text = true, virtual_lines = true })
|
|
||||||
|
|
||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
-- Neovim API aliases
|
-- Neovim API aliases
|
||||||
@ -27,22 +47,19 @@ opt.shadafile = "NONE"
|
|||||||
opt.shadafile = ""
|
opt.shadafile = ""
|
||||||
opt.shell = "/bin/zsh"
|
opt.shell = "/bin/zsh"
|
||||||
opt.updatetime = 200
|
opt.updatetime = 200
|
||||||
-- opt.cursorline = true
|
opt.cursorline = true
|
||||||
g.markdown_folding = 1
|
g.markdown_folding = 1
|
||||||
-- g.markdown_enable_folding = 1
|
-- g.markdown_enable_folding = 1
|
||||||
opt.spell=true
|
opt.spell=true
|
||||||
opt.spelllang = 'en_us'
|
opt.spelllang = 'en_us'
|
||||||
opt.autochdir = true
|
cmd [[ autocmd BufWritePre * :%s/\s\+$//e ]]
|
||||||
vim.cmd [[ autocmd BufWritePre * :%s/\s\+$//e ]]
|
|
||||||
-- vim.cmd [[ autocmd autochdir ]]
|
|
||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
-- Neovim UI
|
-- Neovim UI
|
||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
opt.number = true -- Show line number
|
opt.number = true -- Show line number
|
||||||
opt.relativenumber = true -- Show Current Line with Relative numbers above and below cursor.
|
opt.relativenumber = true -- Show Current Line with Relative numbers above and below cursor.
|
||||||
opt.showmatch = true -- Highlight matching parenthesis
|
opt.showmatch = true -- Highlight matching parenthesis
|
||||||
opt.foldmethod = "expr" -- Enable folding (default 'foldmarker')
|
opt.foldmethod = "syntax" -- Enable folding (default 'foldmarker')
|
||||||
opt.foldexpr = "nvim_treesitter#foldexpr()"
|
|
||||||
opt.splitright = true -- Vertical split to the right
|
opt.splitright = true -- Vertical split to the right
|
||||||
opt.splitbelow = true -- Horizontal split to the bottom
|
opt.splitbelow = true -- Horizontal split to the bottom
|
||||||
opt.ignorecase = true -- Ignore case letters when search
|
opt.ignorecase = true -- Ignore case letters when search
|
||||||
@ -56,7 +73,7 @@ opt.wrap = true
|
|||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
opt.hidden = true -- Enable background buffers
|
opt.hidden = true -- Enable background buffers
|
||||||
opt.history = 100 -- Remember N lines in historma:y
|
opt.history = 100 -- Remember N lines in historma:y
|
||||||
opt.lazyredraw = false -- Faster scrolling
|
opt.lazyredraw = true -- Faster scrolling
|
||||||
opt.synmaxcol = 240 -- Max column for syntax highlight
|
opt.synmaxcol = 240 -- Max column for syntax highlight
|
||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
-- Colorscheme
|
-- Colorscheme
|
||||||
@ -65,21 +82,31 @@ opt.termguicolors = true -- Enable 24-bit RGB colors
|
|||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
-- Tabs, indent
|
-- Tabs, indent
|
||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
g.expandtab = false -- Use spaces instead of tabs
|
g.expandtab = true -- Use spaces instead of tabs
|
||||||
g.shiftwidth = 2 -- Shift 4 spaces when tab
|
g.shiftwidth = 2 -- Shift 4 spaces when tab
|
||||||
g.tabstop = 2 -- 1 tab == 4 spaces
|
g.tabstop = 1 -- 1 tab == 4 spaces
|
||||||
g.smartindent = true -- Autoindent new lines
|
g.smartindent = true -- Autoindent new lines
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- Glow Settings
|
||||||
|
-----------------------------------------------------------
|
||||||
|
g.glow_binary_path = '/bin'
|
||||||
|
g.glow_border = 'rounded'
|
||||||
|
g.glow_width = 120
|
||||||
|
g.glow_use_pager = true
|
||||||
|
g.glow_style = 'dark'
|
||||||
|
|
||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
-- AutoCmd and Additional Function Settings.
|
-- AutoCmd and Additional Function Settings.
|
||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
-- 2 spaces for selected filetypes
|
-- 2 spaces for selected filetypes
|
||||||
vim.cmd [[
|
vim.cmd [[
|
||||||
autocmd FileType md,liquid,xml,html,xhtml,css,scss,javascript,lua,yaml setlocal shiftwidth=2 tabstop=2 noexpandtab
|
autocmd FileType md,liquid,xml,html,xhtml,css,scss,javascript,lua,yaml setlocal shiftwidth=2 tabstop=4 noexpandtab
|
||||||
]]
|
]]
|
||||||
vim.cmd [[ autocmd FileType python set textwidth=250 ]]
|
vim.cmd [[ autocmd FileType python set textwidth=110 ]]
|
||||||
vim.cmd [[ autocmd FileType lua set textwidth=80 ]]
|
vim.cmd [[ autocmd FileType lua set textwidth=80 ]]
|
||||||
vim.cmd [[ autocmd FileType markdown,text set shiftwidth=2 foldlevel=99 ]]
|
vim.cmd [[ autocmd FileType markdown,text set shiftwidth=2 foldlevel=99 ]]
|
||||||
|
-- vim.cmd [[ autocmd FileType markdown setlocal foldlevel=99 ]]
|
||||||
|
vim.cmd[[ colorscheme eldritch ]]
|
||||||
|
|
||||||
local disabled_built_ins = {
|
local disabled_built_ins = {
|
||||||
"netrw",
|
"netrw",
|
||||||
@ -102,9 +129,18 @@ local disabled_built_ins = {
|
|||||||
"matchit"
|
"matchit"
|
||||||
}
|
}
|
||||||
|
|
||||||
-- for _, plugin in pairs(disabled_built_ins) do
|
for _, plugin in pairs(disabled_built_ins) do
|
||||||
-- vim.g["loaded_" .. plugin] = 1
|
vim.g["loaded_" .. plugin] = 1
|
||||||
-- end
|
end
|
||||||
|
|
||||||
|
-- Deletes all trailing whitespaces in a file if it's not binary nor a diff.
|
||||||
|
function _G.trim_trailing_whitespaces()
|
||||||
|
if not o.binary and o.filetype ~= 'diff' then
|
||||||
|
local current_view = fn.winsaveview()
|
||||||
|
cmd([[keeppatterns %s/\s\+$//e]])
|
||||||
|
fn.winrestview(current_view)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- Correctly set $VIRTUAL_ENV for Python venvs.
|
-- Correctly set $VIRTUAL_ENV for Python venvs.
|
||||||
if vim.fn.exists("$VIRTUAL_ENV") == 1 then
|
if vim.fn.exists("$VIRTUAL_ENV") == 1 then
|
||||||
@ -113,7 +149,26 @@ else
|
|||||||
vim.g.python3_host_prog = vim.fn.substitute(vim.fn.system("which python3"), "\n", "", "g")
|
vim.g.python3_host_prog = vim.fn.substitute(vim.fn.system("which python3"), "\n", "", "g")
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.lsp.enable({'ruff', 'pyright', 'marksman', 'emmet-ls', 'lua'})
|
-- see https://github.com/hrsh7th/nvim-cmp/wiki/Menu-Appearance#how-to-add-visual-studio-code-dark-theme-colors-to-the-menu
|
||||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
--[[vim.cmd[[
|
||||||
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
highlight! link CmpItemMenu Comment
|
||||||
|
" gray
|
||||||
|
highlight! CmpItemAbbrDeprecated guibg=NONE gui=strikethrough guifg=#808080
|
||||||
|
" blue
|
||||||
|
highlight! CmpItemAbbrMatch guibg=NONE guifg=#569CD6
|
||||||
|
highlight! CmpItemAbbrMatchFuzzy guibg=NONE guifg=#569CD6
|
||||||
|
" light blue
|
||||||
|
highlight! CmpItemKindVariable guibg=NONE guifg=#9CDCFE
|
||||||
|
highlight! CmpItemKindInterface guibg=NONE guifg=#9CDCFE
|
||||||
|
highlight! CmpItemKindText guibg=NONE guifg=#9CDCFE
|
||||||
|
" pink
|
||||||
|
highlight! CmpItemKindFunction guibg=NONE guifg=#C586C0
|
||||||
|
highlight! CmpItemKindMethod guibg=NONE guifg=#C586C0
|
||||||
|
" front
|
||||||
|
highlight! CmpItemKindKeyword guibg=NONE guifg=#D4D4D4
|
||||||
|
highlight! CmpItemKindProperty guibg=NONE guifg=#D4D4D4
|
||||||
|
highlight! CmpItemKindUnit guibg=NONE guifg=#D4D4D4
|
||||||
|
]]
|
||||||
|
--]]
|
||||||
|
|
||||||
require('core/keymaps')
|
require('core/keymaps')
|
||||||
|
|||||||
@ -1,71 +1,90 @@
|
|||||||
{
|
{
|
||||||
"LuaSnip": { "branch": "master", "commit": "642b0c595e11608b4c18219e93b88d7637af27bc" },
|
"LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
|
||||||
|
"adjacent.nvim": { "branch": "main", "commit": "a555ab92d61aa6fbbfa1bfaef4633b663563f04e" },
|
||||||
|
"alpha-nvim": { "branch": "main", "commit": "a35468cd72645dbd52c0624ceead5f301c566dff" },
|
||||||
"async.vim": { "branch": "master", "commit": "2082d13bb195f3203d41a308b89417426a7deca1" },
|
"async.vim": { "branch": "master", "commit": "2082d13bb195f3203d41a308b89417426a7deca1" },
|
||||||
"barbar.nvim": { "branch": "master", "commit": "539d73def39c9172b4d4d769f14090e08f37b29d" },
|
"auto-hlsearch.nvim": { "branch": "main", "commit": "8f28246d53e9478717ca3b51c8112083fbebd7e3" },
|
||||||
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
|
"barbar.nvim": { "branch": "master", "commit": "53b5a2f34b68875898f0531032fbf090e3952ad7" },
|
||||||
"codecompanion-history.nvim": { "branch": "main", "commit": "bc1b4fe06eaaf0aa2399be742e843c22f7f1652a" },
|
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||||
"codecompanion.nvim": { "branch": "main", "commit": "9eeea4820a091321b085db2155c6133833bf72b0" },
|
"cmp-calc": { "branch": "main", "commit": "5947b412da67306c5b68698a02a846760059be2e" },
|
||||||
"dashboard-nvim": { "branch": "master", "commit": "62a10d9d55132b338dd742afc3c8a2683f3dd426" },
|
"cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" },
|
||||||
"deadcolumn.nvim": { "branch": "master", "commit": "92c86f10bfba2717ca2280e2e759b047135d5288" },
|
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
|
||||||
|
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" },
|
||||||
|
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
|
||||||
|
"cmp-spell": { "branch": "master", "commit": "694a4e50809d6d645c1ea29015dad0c293f019d6" },
|
||||||
|
"cmp-under-comparator": { "branch": "master", "commit": "6857f10272c3cfe930cece2afa2406e1385bfef8" },
|
||||||
|
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||||
|
"deadcolumn.nvim": { "branch": "master", "commit": "6a144a32fd847a998095d2494f152e405c6ae7cb" },
|
||||||
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
||||||
"dracula.nvim": { "branch": "main", "commit": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee" },
|
"dracula.nvim": { "branch": "main", "commit": "96c9d19ce81b26053055ad6f688277d655b3f7d2" },
|
||||||
"eldritch.nvim": { "branch": "master", "commit": "0415fa72c348e814a7a6cc9405593a4f812fe12f" },
|
"eldritch.nvim": { "branch": "master", "commit": "adedead3423c58cc2e2ebf30001fe4055ad0e416" },
|
||||||
"f-string-toggle.nvim": { "branch": "main", "commit": "c1c77b4fce192e1615490d895863e2a0508d6021" },
|
"f-string-toggle.nvim": { "branch": "main", "commit": "74545e699ed0caca603b2612bfa706ff40736d31" },
|
||||||
"fidget.nvim": { "branch": "main", "commit": "889e2e96edef4e144965571d46f7a77bcc4d0ddf" },
|
"fidget.nvim": { "branch": "main", "commit": "d9ba6b7bfe29b3119a610892af67602641da778e" },
|
||||||
"flemma.nvim": { "branch": "develop", "commit": "589b45f0911944e6f0833c23137186acca36b469" },
|
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
|
"gitsigns.nvim": { "branch": "main", "commit": "731b581428ec6c1ccb451b95190ebbc6d7006db7" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "0d797daee85366bc242580e352a4f62d67557b84" },
|
|
||||||
"hackthebox.vim": { "branch": "main", "commit": "91a84adea2319e3701d76eaa25ae56795ad4dd0d" },
|
|
||||||
"headlines.nvim": { "branch": "master", "commit": "bf17c96a836ea27c0a7a2650ba385a7783ed322e" },
|
"headlines.nvim": { "branch": "master", "commit": "bf17c96a836ea27c0a7a2650ba385a7783ed322e" },
|
||||||
"hover.nvim": { "branch": "main", "commit": "e73c00da3a9c87a21d2a8ddf7ab4a39824bd5d56" },
|
"hover.nvim": { "branch": "main", "commit": "07c7269c3a88751f2f36ed0563dc6e7b8b84f7f7" },
|
||||||
"indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" },
|
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
||||||
"kanagawa.nvim": { "branch": "master", "commit": "aef7f5cec0a40dbe7f3304214850c472e2264b10" },
|
"kanagawa.nvim": { "branch": "master", "commit": "debe91547d7fb1eef34ce26a5106f277fbfdd109" },
|
||||||
"koda.nvim": { "branch": "main", "commit": "a560a332ccc1eb2caacb280a390213bb9f37b3cb" },
|
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
"lightspeed.nvim": { "branch": "main", "commit": "fcc72d8a4d5f4ebba62d8a3a0660f88f1b5c3b05" },
|
||||||
"lualine.nvim": { "branch": "master", "commit": "8811f3f3f4dc09d740c67e9ce399e7a541e2e5b2" },
|
"lsp-timeout.nvim": { "branch": "main", "commit": "6325906730330105a9adc41d0ceb8499b3072e2b" },
|
||||||
"mcphub.nvim": { "branch": "main", "commit": "7cd5db330f41b7bae02b2d6202218a061c3ebc1f" },
|
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
|
||||||
"mini.comment": { "branch": "main", "commit": "a0c721115faff8d05505c0a12dab410084d9e536" },
|
"lush.nvim": { "branch": "main", "commit": "45a79ec4acb5af783a6a29673a999ce37f00497e" },
|
||||||
"mini.diff": { "branch": "main", "commit": "ab11575a6c147ecfba894d676d0c93e855021d34" },
|
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||||
"mini.fuzzy": { "branch": "stable", "commit": "18e9cc3d7406f44a145d074ad18b10e472509a18" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "bef29b653ba71d442816bf56286c2a686210be04" },
|
||||||
"mini.hipatterns": { "branch": "main", "commit": "a3ffba45e4119917b254c372df82e79f7d8c4aad" },
|
"mason-null-ls.nvim": { "branch": "main", "commit": "de19726de7260c68d94691afb057fa73d3cc53e7" },
|
||||||
"mini.icons": { "branch": "main", "commit": "7fdae2443a0e2910015ca39ad74b50524ee682d3" },
|
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
|
||||||
"mini.indentscope": { "branch": "main", "commit": "0308f949f31769e509696af5d5f91cebb2159c69" },
|
"mini.comment": { "branch": "main", "commit": "fb867a9246f9b892cf51a8c84a3f8479cdf1558c" },
|
||||||
"mini.move": { "branch": "main", "commit": "74d140143b1bb905c3d0aebcfc2f216fd237080e" },
|
"mini.fuzzy": { "branch": "stable", "commit": "c33d6a93c4fe395ae8a9bd02fed35315a90b688a" },
|
||||||
"mini.pairs": { "branch": "stable", "commit": "d5a29b6254dad07757832db505ea5aeab9aad43a" },
|
"mini.hipatterns": { "branch": "main", "commit": "e5083df391171dc9d8172645606f8496d9443374" },
|
||||||
"mini.surround": { "branch": "main", "commit": "88c52297ed3e69ecf9f8652837888ecc727a28ee" },
|
"mini.move": { "branch": "main", "commit": "4fe4a855fee53c66b0f3255a4b54ddc2ae6b308c" },
|
||||||
"mini.trailspace": { "branch": "main", "commit": "b362246495d18c29b4545a8f1c47f627f8011b7c" },
|
"mini.pairs": { "branch": "stable", "commit": "69864a2efb36c030877421634487fd90db1e4298" },
|
||||||
"mkdnflow.nvim": { "branch": "main", "commit": "f20732686f70f60f18f09f4befe984ae63a99201" },
|
"mini.surround": { "branch": "main", "commit": "5aab42fcdcf31fa010f012771eda5631c077840a" },
|
||||||
"morta": { "branch": "main", "commit": "10b4cdb8b7ae3f814b77f617f985245b3c11c1fa" },
|
"mini.trailspace": { "branch": "main", "commit": "39a0460c025a605519fdd6bea1ce870642429996" },
|
||||||
"neowarrior.nvim": { "branch": "main", "commit": "197cd4a7a56d07374fcda09b5b56baa433e40549" },
|
"mkdnflow.nvim": { "branch": "main", "commit": "d459bd7ce68910272038ed037c028180161fd14d" },
|
||||||
"nightfly": { "branch": "master", "commit": "250ee0eb4975e59a277f50cc03c980eef27fb483" },
|
"neoscroll.nvim": { "branch": "master", "commit": "f957373912e88579e26fdaea4735450ff2ef5c9c" },
|
||||||
|
"neovim": { "branch": "main", "commit": "6b9840790cc7acdfadde07f308d34b62dd9cc675" },
|
||||||
|
"night-owl.nvim": { "branch": "main", "commit": "86ed124c2f7e118670649701288e024444bf91e5" },
|
||||||
|
"nightfly": { "branch": "master", "commit": "8c55003e89f321a48a8cd4bb426dd3e7c58f0646" },
|
||||||
"nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
|
"nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
|
||||||
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
|
|
||||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||||
"numb.nvim": { "branch": "master", "commit": "12ef3913dea8727d4632c6f2ed47957a993de627" },
|
"null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" },
|
||||||
"nvim": { "branch": "main", "commit": "df2a1f9f3392d688397e945544a30aec8fc9b4c7" },
|
"numb.nvim": { "branch": "master", "commit": "7f564e638d3ba367abf1ec91181965b9882dd509" },
|
||||||
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
|
"nvim": { "branch": "main", "commit": "fa42eb5e26819ef58884257d5ae95dd0552b9a66" },
|
||||||
"nvim-tree.lua": { "branch": "master", "commit": "e16cd38962bc40c22a51ee004aa4f43726d74a16" },
|
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "cf12346a3414fa1b06af75c79faebe7f76df080a" },
|
"nvim-dap": { "branch": "master", "commit": "40a8189b8a57664a1850b0823fdcb3ac95b9f635" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "40e9d5a6cc3db11b309e39593fc7ac03bb844e38" },
|
"nvim-dap-python": { "branch": "master", "commit": "261ce649d05bc455a29f9636dc03f8cdaa7e0e2c" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
"nvim-dap-ui": { "branch": "master", "commit": "73a26abf4941aa27da59820fd6b028ebcdbcf932" },
|
||||||
|
"nvim-http": { "branch": "main", "commit": "c4736dcd83d810683349c2b3abdee57daf592d32" },
|
||||||
|
"nvim-lspconfig": { "branch": "master", "commit": "583a1d555c8e407868ce00c57e37eca4b7ff960e" },
|
||||||
|
"nvim-prose": { "branch": "main", "commit": "38aac8c9c94a5725d152bdfea374d60e07fb93d6" },
|
||||||
|
"nvim-tree.lua": { "branch": "master", "commit": "be5b788f2dc1522c73fb7afad9092331c8aebe80" },
|
||||||
|
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||||
|
"nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },
|
||||||
|
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||||
|
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
|
||||||
"pulse.nvim": { "branch": "main", "commit": "4026460b12da9abcfe34322db0bdc80e4b0dce3d" },
|
"pulse.nvim": { "branch": "main", "commit": "4026460b12da9abcfe34322db0bdc80e4b0dce3d" },
|
||||||
"rainbow-delimiters.nvim": { "branch": "master", "commit": "aab6caaffd79b8def22ec4320a5344f7c42f58d2" },
|
"rainbow-delimiters.nvim": { "branch": "master", "commit": "55ad4fb76ab68460f700599b7449385f0c4e858e" },
|
||||||
"rainbow_csv.nvim": { "branch": "main", "commit": "26de78d8324f7ac6a3e478319d1eb1f17123eb5b" },
|
"rainbow_csv.nvim": { "branch": "main", "commit": "26de78d8324f7ac6a3e478319d1eb1f17123eb5b" },
|
||||||
"solarized-osaka.nvim": { "branch": "main", "commit": "f0c2f0ba0bd56108d53c9bfae4bb28ff6c67bbdb" },
|
"solarized-osaka.nvim": { "branch": "main", "commit": "f796014c14b1910e08d42cc2077fef34f08e0295" },
|
||||||
"telescope-cmdline.nvim": { "branch": "main", "commit": "b1c330835563c9628ce7c095cf20772f22f93f07" },
|
"sonokai": { "branch": "master", "commit": "f59c796780655c3b9da442d310ad2f2d735f2e56" },
|
||||||
"telescope-file-browser.nvim": { "branch": "master", "commit": "3610dc7dc91f06aa98b11dca5cc30dfa98626b7e" },
|
"symbols-outline.nvim": { "branch": "master", "commit": "564ee65dfc9024bdde73a6621820866987cbb256" },
|
||||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" },
|
"telescope-cmdline.nvim": { "branch": "main", "commit": "7106ff7357d9d3cde3e71cd8fe8998d2f96a1bdd" },
|
||||||
|
"telescope-file-browser.nvim": { "branch": "master", "commit": "626998e5c1b71c130d8bc6cf7abb6709b98287bb" },
|
||||||
|
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
|
||||||
"telescope-live-grep-args.nvim": { "branch": "master", "commit": "b80ec2c70ec4f32571478b501218c8979fab5201" },
|
"telescope-live-grep-args.nvim": { "branch": "master", "commit": "b80ec2c70ec4f32571478b501218c8979fab5201" },
|
||||||
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
|
||||||
"thethethe.nvim": { "branch": "main", "commit": "357580127cd291c8a813564eeaff07c09303084e" },
|
"thethethe.nvim": { "branch": "main", "commit": "357580127cd291c8a813564eeaff07c09303084e" },
|
||||||
"tiny-inline-diagnostic.nvim": { "branch": "main", "commit": "57a0eb84b2008c76e77930639890d9874195b1e1" },
|
|
||||||
"tmux.nvim": { "branch": "main", "commit": "2c1c3be0ef287073cef963f2aefa31a15c8b9cd8" },
|
"tmux.nvim": { "branch": "main", "commit": "2c1c3be0ef287073cef963f2aefa31a15c8b9cd8" },
|
||||||
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
|
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
||||||
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
|
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
|
||||||
"tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" },
|
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
|
||||||
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
|
||||||
|
"venn.nvim": { "branch": "main", "commit": "b09c2f36ddf70b498281845109bedcf08a7e0de0" },
|
||||||
"vim-arduino": { "branch": "master", "commit": "2ded67cdf09bb07c4805d9e93d478095ed3d8606" },
|
"vim-arduino": { "branch": "master", "commit": "2ded67cdf09bb07c4805d9e93d478095ed3d8606" },
|
||||||
"vim-arsync": { "branch": "master", "commit": "dd5fd93182aafb67ede2ef465f379610980b52d3" },
|
"vim-arsync": { "branch": "master", "commit": "dd5fd93182aafb67ede2ef465f379610980b52d3" },
|
||||||
"vim-wakatime": { "branch": "master", "commit": "d7973b157a632d1edeff01818f18d67e584eeaff" },
|
"vim-wakatime": { "branch": "master", "commit": "f39c4a201ae350aaba713b59d4a4fdd88e0811aa" },
|
||||||
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" },
|
||||||
|
"wtf.nvim": { "branch": "main", "commit": "22dac666c8847c9cb03afe99229d459f1d0822c4" }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +0,0 @@
|
|||||||
return {
|
|
||||||
cmd = {'dprint', 'lsp'},
|
|
||||||
root_markers = { './' },
|
|
||||||
filetypes = { "javascript", "js", "javascriptreact", "typescript", "typescriptreact", "json", "jsonc", "toml", "rust", "roslyn", "graphql" }
|
|
||||||
}
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
return {
|
|
||||||
cmd = { 'emmet-ls', '--stdio' },
|
|
||||||
root_markers = { './', },
|
|
||||||
filetypes = { "astro", "css", "eruby", "html", "liquid", "htmldjango", "javascriptreact", "javascript", "js", "less", "pug", "sass", "scss", "svelte", "typescriptreact", "vue", "htmlangular" },
|
|
||||||
capabilities = capabilities,
|
|
||||||
settings = {
|
|
||||||
init_options = {
|
|
||||||
html = {
|
|
||||||
options = {
|
|
||||||
["bem.enabled"] = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,5 +0,0 @@
|
|||||||
return {
|
|
||||||
cmd = { 'marksman' },
|
|
||||||
root_markers = { './', },
|
|
||||||
filetypes = { 'md', 'markdown' },
|
|
||||||
}
|
|
||||||
@ -1,67 +0,0 @@
|
|||||||
---@brief
|
|
||||||
---
|
|
||||||
--- https://github.com/microsoft/pyright
|
|
||||||
---
|
|
||||||
--- `pyright`, a static type checker and language server for python
|
|
||||||
|
|
||||||
local function set_python_path(command)
|
|
||||||
local path = command.args
|
|
||||||
local clients = vim.lsp.get_clients {
|
|
||||||
bufnr = vim.api.nvim_get_current_buf(),
|
|
||||||
name = 'pyright',
|
|
||||||
}
|
|
||||||
for _, client in ipairs(clients) do
|
|
||||||
if client.settings then
|
|
||||||
client.settings.python =
|
|
||||||
vim.tbl_deep_extend('force', client.settings.python --[[@as table]], { pythonPath = path })
|
|
||||||
else
|
|
||||||
client.config.settings = vim.tbl_deep_extend('force', client.config.settings, { python = { pythonPath = path } })
|
|
||||||
end
|
|
||||||
client:notify('workspace/didChangeConfiguration', { settings = nil })
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
---@type vim.lsp.Config
|
|
||||||
return {
|
|
||||||
cmd = { 'pyright-langserver', '--stdio' },
|
|
||||||
filetypes = { 'python' },
|
|
||||||
root_markers = {
|
|
||||||
'pyrightconfig.json',
|
|
||||||
'pyproject.toml',
|
|
||||||
'setup.py',
|
|
||||||
'setup.cfg',
|
|
||||||
'requirements.txt',
|
|
||||||
'Pipfile',
|
|
||||||
'.git',
|
|
||||||
},
|
|
||||||
settings = {
|
|
||||||
python = {
|
|
||||||
analysis = {
|
|
||||||
autoSearchPaths = true,
|
|
||||||
useLibraryCodeForTypes = true,
|
|
||||||
diagnosticMode = 'openFilesOnly',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
on_attach = function(client, bufnr)
|
|
||||||
vim.api.nvim_buf_create_user_command(bufnr, 'LspPyrightOrganizeImports', function()
|
|
||||||
local params = {
|
|
||||||
command = 'pyright.organizeimports',
|
|
||||||
arguments = { vim.uri_from_bufnr(bufnr) },
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Using client.request() directly because "pyright.organizeimports" is private
|
|
||||||
-- (not advertised via capabilities), which client:exec_cmd() refuses to call.
|
|
||||||
-- https://github.com/neovim/neovim/blob/c333d64663d3b6e0dd9aa440e433d346af4a3d81/runtime/lua/vim/lsp/client.lua#L1024-L1030
|
|
||||||
---@diagnostic disable-next-line: param-type-mismatch
|
|
||||||
client.request('workspace/executeCommand', params, nil, bufnr)
|
|
||||||
end, {
|
|
||||||
desc = 'Organize Imports',
|
|
||||||
})
|
|
||||||
vim.api.nvim_buf_create_user_command(bufnr, 'LspPyrightSetPythonPath', set_python_path, {
|
|
||||||
desc = 'Reconfigure pyright with the provided python path',
|
|
||||||
nargs = 1,
|
|
||||||
complete = 'file',
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
---@type vim.lsp.Config
|
|
||||||
return {
|
|
||||||
cmd = { 'ruff', 'server' },
|
|
||||||
filetypes = { 'python' },
|
|
||||||
root_markers = { 'pyproject.toml', 'ruff.toml', '.ruff.toml', '.git' },
|
|
||||||
settings = {},
|
|
||||||
}
|
|
||||||
@ -5,8 +5,13 @@
|
|||||||
local map = vim.api.nvim_set_keymap
|
local map = vim.api.nvim_set_keymap
|
||||||
local default_opts = { noremap = true, silent = true }
|
local default_opts = { noremap = true, silent = true }
|
||||||
|
|
||||||
-- Update all plugins using vim.pack
|
-- Fast saving with <leader> and s
|
||||||
map('n', '<leader>u', ':lua vim.pack.update()<CR>', default_opts)
|
-- map('n', '<leader>s', ':w<CR>', default_opts)
|
||||||
|
-- map('n', '<leader>a', ':w|:luafile %<CR>', default_opts)
|
||||||
|
-- map('n', '<leader>aa', ':w|:luafile %<CR> |:Lazy<CR>', default_opts)
|
||||||
|
-- map('i', '<leader>s', '<C-c>:w<CR>', default_opts)
|
||||||
|
-- Python Script that saves the file & moves Todos to my Todolist.
|
||||||
|
-- map('n', '<leader>sd', ':w|:! python3 ~/Documents/Northpass/Scripts/TodoMD/todo.py %<CR>', default_opts)
|
||||||
|
|
||||||
-- Close and save all buffers and return to Dashboard
|
-- Close and save all buffers and return to Dashboard
|
||||||
map('n', '<leader>ds', ':silent wa | %bd | Alpha', default_opts)
|
map('n', '<leader>ds', ':silent wa | %bd | Alpha', default_opts)
|
||||||
@ -22,6 +27,10 @@ map('n', '<leader>q', '<Plug>vem_move_buffer_left', default_opts)
|
|||||||
-- Nvim-Tree
|
-- Nvim-Tree
|
||||||
map('n', '<leader>v', ':NvimTreeToggle<CR>', default_opts)
|
map('n', '<leader>v', ':NvimTreeToggle<CR>', default_opts)
|
||||||
|
|
||||||
|
-- Nvim Sidebar
|
||||||
|
map('n', '<leader>n', ':SidebarNvimToggle<CR>', default_opts)
|
||||||
|
map('n', '<leader>q', ':SidebarNvimUpdate<CR>', default_opts)
|
||||||
|
|
||||||
-- Telescope
|
-- Telescope
|
||||||
map('n', '<leader>ff', ':Telescope find_files<CR>', default_opts)
|
map('n', '<leader>ff', ':Telescope find_files<CR>', default_opts)
|
||||||
map('n', '<leader>fh', ':Telescope live_grep<CR>', default_opts)
|
map('n', '<leader>fh', ':Telescope live_grep<CR>', default_opts)
|
||||||
@ -36,7 +45,6 @@ map('n', '<leader>cb', ':Telescope current_buffer_fuzzy_find<CR>', default_opts)
|
|||||||
map('n', '<leader>b', ':! black %<CR>', default_opts)
|
map('n', '<leader>b', ':! black %<CR>', default_opts)
|
||||||
map('n', '<leader>m', ':! markdownlint -f %<CR>', default_opts)
|
map('n', '<leader>m', ':! markdownlint -f %<CR>', default_opts)
|
||||||
map('n', '<leader>pj', ':!python -m json.tool<CR>', default_opts)
|
map('n', '<leader>pj', ':!python -m json.tool<CR>', default_opts)
|
||||||
map('n', '<leader>cs', ':%s/\\s*\\([^|]\\{-}\\)\\s*|/"\1",/g', default_opts)
|
|
||||||
|
|
||||||
-- Fold all comments
|
-- Fold all comments
|
||||||
map('n', '<leader>fc', ':set foldmethod=expr foldexpr=getline(v:lnum)=~"^\\s*".&commentstring[0]<CR>', default_opts)
|
map('n', '<leader>fc', ':set foldmethod=expr foldexpr=getline(v:lnum)=~"^\\s*".&commentstring[0]<CR>', default_opts)
|
||||||
@ -45,8 +53,41 @@ map('n', '<leader>fc', ':set foldmethod=expr foldexpr=getline(v:lnum)=~"^\\s*".&
|
|||||||
map('n', '<C-t>', ':ToggleTerm direction=float<CR>', default_opts)
|
map('n', '<C-t>', ':ToggleTerm direction=float<CR>', default_opts)
|
||||||
map('t', '<C-n>', '<C-\\><C-n><CR>', default_opts) -- Exit Insert Mode Faster
|
map('t', '<C-n>', '<C-\\><C-n><CR>', default_opts) -- Exit Insert Mode Faster
|
||||||
|
|
||||||
-- Tiny Code Action
|
------------------------------------------------
|
||||||
-- map('n', "<leader>ca", function() require("tiny-code-action").code_action() end, default_opts)
|
-- Old Keymaps from Nvim-Mapper (Sunsetted)
|
||||||
vim.keymap.set("n", "<leader>ca", function()
|
------------------------------------------------
|
||||||
require("tiny-code-action").code_action()
|
--[[
|
||||||
end, { noremap = true, silent = true })
|
-- Macros for Todo Trouble
|
||||||
|
M('n', '<C-t>', "@t<CR>", default_opts,
|
||||||
|
"Add Todo", "todo_todo", "Add To-do/Task to the beginning of the line"
|
||||||
|
)
|
||||||
|
|
||||||
|
M('n', '<C-s>', "@s<CR>", default_opts,
|
||||||
|
"Add Solutions Engineering", "todo_seng", "Add Solutions Engineering to the beginning of the line"
|
||||||
|
)
|
||||||
|
|
||||||
|
M('n', '<C-f>', "@f<CR>", default_opts,
|
||||||
|
"Add Feature", "add_feat", "Add Feature Request tag to the beginning of the line. "
|
||||||
|
)
|
||||||
|
|
||||||
|
M( 'n', '<C-x>', "@c<CR>", default_opts,
|
||||||
|
"Replace with Complete", "add_complete", "Replace tag with Complete tag at beginning of the line."
|
||||||
|
)
|
||||||
|
|
||||||
|
M('n', '<C-r>', "@w<CR>", default_opts,
|
||||||
|
"Add Warning/Error", "add_error", "Add Warning/Error tag at the beginning of the line."
|
||||||
|
)
|
||||||
|
|
||||||
|
M('n', '<leader>ce', ":TodoTrouble keywords=TODO<CR>", default_opts,
|
||||||
|
"Show Todo Tags", "show_todos", "Show Todo Tags."
|
||||||
|
)
|
||||||
|
|
||||||
|
M('n', '<leader>cf', ":TodoTrouble keywords=FEAT<CR>", default_opts,
|
||||||
|
"Show Feature Tags", "show_features", "Show Feature Requests."
|
||||||
|
)
|
||||||
|
|
||||||
|
M('n', '<leader>cq', ":TodoTrouble keywords=ERROR, WARN<CR>", default_opts,
|
||||||
|
"Show Warning Tags", "show_warnings", "Show Errors Tags."
|
||||||
|
)
|
||||||
|
|
||||||
|
--]]
|
||||||
|
|||||||
143
nvim/.config/nvim/lua/core/settings.lua
Normal file
143
nvim/.config/nvim/lua/core/settings.lua
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
-----------------------------------------------------------
|
||||||
|
-- General Neovim settings and configuration
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- Neovim API aliases
|
||||||
|
-----------------------------------------------------------
|
||||||
|
local fn = vim.fn -- Call Vim functions
|
||||||
|
local cmd = vim.cmd -- Execute Vim commands
|
||||||
|
local exec = vim.api.nvim_exec -- Execute Vimscript
|
||||||
|
local g = vim.g -- Global variables
|
||||||
|
local opt = vim.opt -- Set options (global/buffer/windows-scoped)
|
||||||
|
local o = vim.o
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- General
|
||||||
|
-----------------------------------------------------------
|
||||||
|
g.mapleader = ',' -- Change leader to a comma
|
||||||
|
opt.mouse = 'a' -- Enable mouse support
|
||||||
|
opt.clipboard = 'unnamedplus' -- Copy/paste to system clipboard
|
||||||
|
opt.swapfile = false -- Don't use swapfile
|
||||||
|
opt.shadafile = "NONE"
|
||||||
|
opt.shadafile = ""
|
||||||
|
opt.shell = "/bin/zsh"
|
||||||
|
opt.updatetime = 200
|
||||||
|
opt.cursorline = true
|
||||||
|
g.markdown_folding = 1
|
||||||
|
opt.spell=true
|
||||||
|
opt.spelllang = 'en_us'
|
||||||
|
cmd [[ autocmd BufWritePre * :%s/\s\+$//e ]]
|
||||||
|
--vim.api.nvim_set_hl(0, "ColorColumn", {guibg=lightmagenta})
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- Neovim UI
|
||||||
|
-----------------------------------------------------------
|
||||||
|
opt.number = true -- Show line number
|
||||||
|
opt.relativenumber = true -- Show Current Line with Relative numbers above and below cursor.
|
||||||
|
opt.showmatch = true -- Highlight matching parenthesis
|
||||||
|
opt.foldmethod = "syntax" -- Enable folding (default 'foldmarker')
|
||||||
|
opt.colorcolumn = '99'
|
||||||
|
opt.textwidth = 100
|
||||||
|
-- opt.cc = '+1,+2,+3' -- Line length marker at 80 columns
|
||||||
|
-- opt.tw = 120
|
||||||
|
opt.splitright = true -- Vertical split to the right
|
||||||
|
opt.splitbelow = true -- Horizontal split to the bottom
|
||||||
|
opt.ignorecase = true -- Ignore case letters when search
|
||||||
|
opt.smartcase = true -- Ignore lowercase for the whole pattern
|
||||||
|
opt.linebreak = true -- Wrap on word boundary
|
||||||
|
opt.signcolumn = 'yes:1' -- Signs column always on, minimum 2.
|
||||||
|
opt.wrap = true
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- Memory, CPU
|
||||||
|
-----------------------------------------------------------
|
||||||
|
opt.hidden = true -- Enable background buffers
|
||||||
|
opt.history = 100 -- Remember N lines in historma:y
|
||||||
|
opt.lazyredraw = true -- Faster scrolling
|
||||||
|
opt.synmaxcol = 240 -- Max column for syntax highlight
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- Colorscheme
|
||||||
|
-----------------------------------------------------------
|
||||||
|
opt.termguicolors = true -- Enable 24-bit RGB colors
|
||||||
|
-- cmd[[colorscheme dracula]]
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- Tabs, indent
|
||||||
|
-----------------------------------------------------------
|
||||||
|
opt.expandtab = true -- Use spaces instead of tabs
|
||||||
|
opt.shiftwidth = 4 -- Shift 4 spaces when tab
|
||||||
|
opt.tabstop = 4 -- 1 tab == 4 spaces
|
||||||
|
opt.smartindent = true -- Autoindent new lines
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- Glow Settings
|
||||||
|
-----------------------------------------------------------
|
||||||
|
g.glow_binary_path = '/bin'
|
||||||
|
g.glow_border = 'rounded'
|
||||||
|
g.glow_width = 120
|
||||||
|
g.glow_use_pager = true
|
||||||
|
g.glow_style = 'dark'
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- MKDX Settings, mkdx#settings.
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- 2 spaces for selected filetypes
|
||||||
|
cmd [[
|
||||||
|
autocmd FileType md,liquid,xml,html,xhtml,css,scss,javascript,lua,yaml setlocal shiftwidth=2 tabstop=8 noexpandtab
|
||||||
|
]]
|
||||||
|
|
||||||
|
|
||||||
|
local disabled_built_ins = {
|
||||||
|
"netrw",
|
||||||
|
"netrwPlugin",
|
||||||
|
"netrwSettings",
|
||||||
|
"netrwFileHandlers",
|
||||||
|
"gzip",
|
||||||
|
"zip",
|
||||||
|
"zipPlugin",
|
||||||
|
"tar",
|
||||||
|
"tarPlugin",
|
||||||
|
"getscript",
|
||||||
|
"getscriptPlugin",
|
||||||
|
"vimball",
|
||||||
|
"vimballPlugin",
|
||||||
|
"2html_plugin",
|
||||||
|
"logipat",
|
||||||
|
"rrhelper",
|
||||||
|
"spellfile_plugin",
|
||||||
|
"matchit"
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, plugin in pairs(disabled_built_ins) do
|
||||||
|
vim.g["loaded_" .. plugin] = 1
|
||||||
|
end
|
||||||
|
|
||||||
|
--[[
|
||||||
|
Deletes all trailing whitespaces in a file if it's not binary nor a diff.
|
||||||
|
]]--
|
||||||
|
function _G.trim_trailing_whitespaces()
|
||||||
|
if not o.binary and o.filetype ~= 'diff' then
|
||||||
|
local current_view = fn.winsaveview()
|
||||||
|
cmd([[keeppatterns %s/\s\+$//e]])
|
||||||
|
fn.winrestview(current_view)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- see https://github.com/hrsh7th/nvim-cmp/wiki/Menu-Appearance#how-to-add-visual-studio-code-dark-theme-colors-to-the-menu
|
||||||
|
vim.cmd[[
|
||||||
|
highlight! link CmpItemMenu Comment
|
||||||
|
" gray
|
||||||
|
highlight! CmpItemAbbrDeprecated guibg=NONE gui=strikethrough guifg=#808080
|
||||||
|
" blue
|
||||||
|
highlight! CmpItemAbbrMatch guibg=NONE guifg=#569CD6
|
||||||
|
highlight! CmpItemAbbrMatchFuzzy guibg=NONE guifg=#569CD6
|
||||||
|
" light blue
|
||||||
|
highlight! CmpItemKindVariable guibg=NONE guifg=#9CDCFE
|
||||||
|
highlight! CmpItemKindInterface guibg=NONE guifg=#9CDCFE
|
||||||
|
highlight! CmpItemKindText guibg=NONE guifg=#9CDCFE
|
||||||
|
" pink
|
||||||
|
highlight! CmpItemKindFunction guibg=NONE guifg=#C586C0
|
||||||
|
highlight! CmpItemKindMethod guibg=NONE guifg=#C586C0
|
||||||
|
" front
|
||||||
|
highlight! CmpItemKindKeyword guibg=NONE guifg=#D4D4D4
|
||||||
|
highlight! CmpItemKindProperty guibg=NONE guifg=#D4D4D4
|
||||||
|
highlight! CmpItemKindUnit guibg=NONE guifg=#D4D4D4
|
||||||
|
]]
|
||||||
|
|
||||||
@ -3,5 +3,5 @@
|
|||||||
"prefix": "pprint-import",
|
"prefix": "pprint-import",
|
||||||
"body": ["import pprint \n\n pp=pprint.PrettyPrinter(indent=4) \n\n pp.pprint(VARIABLE)"],
|
"body": ["import pprint \n\n pp=pprint.PrettyPrinter(indent=4) \n\n pp.pprint(VARIABLE)"],
|
||||||
"description": "Easily import, declare, and add a Pretty Print for easier reading."
|
"description": "Easily import, declare, and add a Pretty Print for easier reading."
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
74
nvim/.config/nvim/lua/plugins/alpha.lua
Normal file
74
nvim/.config/nvim/lua/plugins/alpha.lua
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
-----------------------------------------------------------
|
||||||
|
-- startify configuration file
|
||||||
|
-----------------------------------------------------------
|
||||||
|
return {
|
||||||
|
"goolord/alpha-nvim",
|
||||||
|
dependencies = {
|
||||||
|
'nvim-tree/nvim-web-devicons',
|
||||||
|
},
|
||||||
|
config = function ()
|
||||||
|
local alpha = require'alpha'
|
||||||
|
local startify = require'alpha.themes.startify'
|
||||||
|
|
||||||
|
startify.section.header.val = {
|
||||||
|
" ",
|
||||||
|
" █████ █████ ██████ █████ ███ ",
|
||||||
|
"░░███ ░░███ ░░██████ ░░███ ░███ ",
|
||||||
|
" ░███ ░███ ██████ █████ ████ ░███░███ ░███ ██████ ████████ █████████████ ░███ ",
|
||||||
|
" ░███████████ ███░░███░░███ ░███ ░███░░███░███ ███░░███░░███░░███░░███░░███░░███░███ ",
|
||||||
|
" ░███░░░░░███ ░███████ ░███ ░███ ░███ ░░██████ ░███ ░███ ░███ ░░░ ░███ ░███ ░███░███ ",
|
||||||
|
" ░███ ░███ ░███░░░ ░███ ░███ ░███ ░░█████ ░███ ░███ ░███ ░███ ░███ ░███░░░ ",
|
||||||
|
" █████ █████░░██████ ░░███████ █████ ░░█████░░██████ █████ █████░███ ████████ ",
|
||||||
|
"░░░░░ ░░░░░ ░░░░░░ ░░░░░███ ░░░░░ ░░░░░ ░░░░░░ ░░░░░ ░░░░░ ░░░ ░░░░░░░░ ",
|
||||||
|
" ███ ░███ ",
|
||||||
|
" ░░██████ ",
|
||||||
|
" ░░░░░░ ",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
--[[ startify.section.mru.val = {
|
||||||
|
{ type = "text",
|
||||||
|
val = findtodos,
|
||||||
|
opts = {
|
||||||
|
position = "left",
|
||||||
|
hl = {{"hl_group", 0, -2}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}--]]
|
||||||
|
startify.section.mru_cwd.val = { { type = "padding", val = 0 } }
|
||||||
|
|
||||||
|
-- Devicons - Not sure what this doe
|
||||||
|
startify.nvim_web_devicons.enabled = false
|
||||||
|
startify.nvim_web_devicons.highlight = false
|
||||||
|
startify.nvim_web_devicons.highlight = 'Number'
|
||||||
|
|
||||||
|
-- Top Menu
|
||||||
|
startify.section.top_buttons.val = {
|
||||||
|
startify.button('e', ' New file', ':ene <BAR> startinsert<CR>'),
|
||||||
|
startify.button('f', ' Find file', ':Telescope file_browser<CR>'),
|
||||||
|
startify.button('s', '⋅Find Word', ':Telescope live_grep<CR>'),
|
||||||
|
startify.button('t', '& Todo List', ':TodoTrouble keywords=TODO<CR>'),
|
||||||
|
startify.button('r', ' ' .. ' Recent files', ':Telescope oldfiles <CR>'),
|
||||||
|
startify.button('u', ' Show plugins', ':Lazy<CR>'),
|
||||||
|
startify.button('q', ' Quit', ':qa<CR>'),
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Bottom Menu
|
||||||
|
startify.section.bottom_buttons.val = {
|
||||||
|
-- Show Empty Space
|
||||||
|
}
|
||||||
|
|
||||||
|
--[[ local function footer()
|
||||||
|
local version = vim.version()
|
||||||
|
local print_version = "v" .. version.major .. '.' .. version.minor .. '.' .. version.patch
|
||||||
|
local datetime = os.date('%Y/%m/%d %H:%M:%S')
|
||||||
|
return print_version .. ' ' .. datetime
|
||||||
|
end
|
||||||
|
--]]
|
||||||
|
|
||||||
|
startify.section.footer.val = {
|
||||||
|
|
||||||
|
}
|
||||||
|
alpha.setup(startify.config)
|
||||||
|
end
|
||||||
|
}
|
||||||
48
nvim/.config/nvim/lua/plugins/gitsigns.lua
Normal file
48
nvim/.config/nvim/lua/plugins/gitsigns.lua
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
return -- Signs for Git Status Information
|
||||||
|
{
|
||||||
|
'lewis6991/gitsigns.nvim',
|
||||||
|
config = function()
|
||||||
|
require('gitsigns').setup {
|
||||||
|
signs = {
|
||||||
|
add = {hl = 'GitSignsAdd' , text = '│', numhl='GitSignsAddNr' , linehl='GitSignsAddLn'},
|
||||||
|
change = {hl = 'GitSignsChange', text = '│', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'},
|
||||||
|
delete = {hl = 'GitSignsDelete', text = '_', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'},
|
||||||
|
topdelete = {hl = 'GitSignsDelete', text = '‾', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'},
|
||||||
|
changedelete = {hl = 'GitSignsChange', text = '~', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'},
|
||||||
|
},
|
||||||
|
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
|
||||||
|
numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
|
||||||
|
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
|
||||||
|
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
|
||||||
|
watch_gitdir = {
|
||||||
|
interval = 1000,
|
||||||
|
follow_files = true
|
||||||
|
},
|
||||||
|
attach_to_untracked = true,
|
||||||
|
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
|
||||||
|
current_line_blame_opts = {
|
||||||
|
virt_text = true,
|
||||||
|
virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
|
||||||
|
delay = 1000,
|
||||||
|
ignore_whitespace = false,
|
||||||
|
},
|
||||||
|
current_line_blame_formatter = '<author>, <author_time:%Y-%m-%d> - <summary>',
|
||||||
|
sign_priority = 1,
|
||||||
|
update_debounce = 100,
|
||||||
|
status_formatter = nil, -- Use default
|
||||||
|
max_file_length = 40000,
|
||||||
|
preview_config = {
|
||||||
|
-- Options passed to nvim_open_win
|
||||||
|
border = 'double',
|
||||||
|
style = 'normal',
|
||||||
|
relative = 'cursor',
|
||||||
|
row = 0,
|
||||||
|
col = 2
|
||||||
|
},
|
||||||
|
yadm = {
|
||||||
|
enable = false
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
@ -1,5 +1,8 @@
|
|||||||
vim.pack.add({"https://github.com/lukas-reineke/headlines.nvim"})
|
return {
|
||||||
require("headlines").setup({
|
'lukas-reineke/headlines.nvim',
|
||||||
|
dependencies = "nvim-treesitter/nvim-treesitter",
|
||||||
|
config = function()
|
||||||
|
require("headlines").setup {
|
||||||
markdown = {
|
markdown = {
|
||||||
query = vim.treesitter.query.parse(
|
query = vim.treesitter.query.parse(
|
||||||
"markdown",
|
"markdown",
|
||||||
@ -36,11 +39,13 @@ require("headlines").setup({
|
|||||||
quote_string = "┃",
|
quote_string = "┃",
|
||||||
fat_headlines = false,
|
fat_headlines = false,
|
||||||
},
|
},
|
||||||
})
|
}
|
||||||
vim.api.nvim_set_hl(0, 'Headline1', { fg = '#ffffff', bg = '#6272A4', italic = false })
|
vim.api.nvim_set_hl(0, 'Headline1', { fg = '#ffffff', bg = '#6272A4', italic = false })
|
||||||
vim.api.nvim_set_hl(0, 'Headline2', { fg = '#000000', bg = '#8BE9FD', italic = false })
|
vim.api.nvim_set_hl(0, 'Headline2', { fg = '#000000', bg = '#8BE9FD', italic = false })
|
||||||
vim.api.nvim_set_hl(0, 'Headline3', { fg = '#000000', bg = '#BD93F9', italic = false })
|
vim.api.nvim_set_hl(0, 'Headline3', { fg = '#000000', bg = '#BD93F9', italic = false })
|
||||||
vim.api.nvim_set_hl(0, 'Headline4', { fg = '#000000', bg = '#FFB86C', italic = false })
|
vim.api.nvim_set_hl(0, 'Headline4', { fg = '#000000', bg = '#FFB86C', italic = false })
|
||||||
vim.api.nvim_set_hl(0, 'Headline5', { fg = '#000000', bg = '#FF79C6', italic = false })
|
vim.api.nvim_set_hl(0, 'Headline5', { fg = '#000000', bg = '#FF79C6', italic = false })
|
||||||
vim.api.nvim_set_hl(0, 'Headline6', { fg = '#000000', bg = '#FF5555', italic = false })
|
vim.api.nvim_set_hl(0, 'Headline6', { fg = '#000000', bg = '#FF5555', italic = false })
|
||||||
vim.api.nvim_set_hl(0, 'CodeBlock', { bg = '#222221' })
|
vim.api.nvim_set_hl(0, 'CodeBlock', { bg = '#222221' })
|
||||||
|
end
|
||||||
|
}
|
||||||
27
nvim/.config/nvim/lua/plugins/hover.lua
Normal file
27
nvim/.config/nvim/lua/plugins/hover.lua
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
return {
|
||||||
|
"lewis6991/hover.nvim",
|
||||||
|
config = function()
|
||||||
|
require("hover").setup {
|
||||||
|
init = function()
|
||||||
|
require("hover.providers.lsp")
|
||||||
|
-- require('hover.providers.gh')
|
||||||
|
-- require('hover.providers.gh_user')
|
||||||
|
-- require('hover.providers.jira')
|
||||||
|
require('hover.providers.man')
|
||||||
|
require('hover.providers.dictionary')
|
||||||
|
end,
|
||||||
|
preview_opts = {
|
||||||
|
border = nil
|
||||||
|
},
|
||||||
|
-- Whether the contents of a currently open hover window should be moved
|
||||||
|
-- to a :h preview-window when pressing the hover keymap.
|
||||||
|
preview_window = false,
|
||||||
|
title = true
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Setup keymaps
|
||||||
|
vim.keymap.set("n", "K", require("hover").hover, {desc = "hover.nvim"})
|
||||||
|
vim.keymap.set("n", "gK", require("hover").hover_select, {desc = "hover.nvim (select)"})
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
473
nvim/.config/nvim/lua/plugins/init.lua
Executable file
473
nvim/.config/nvim/lua/plugins/init.lua
Executable file
@ -0,0 +1,473 @@
|
|||||||
|
return {
|
||||||
|
----------------------------------------------------------------
|
||||||
|
-- LSP and Autocomplete Plugins
|
||||||
|
-- They should be pulled first!
|
||||||
|
-----------------------------------------------------------------
|
||||||
|
|
||||||
|
{'williamboman/mason.nvim',
|
||||||
|
config = function() require("mason").setup({
|
||||||
|
ui = {
|
||||||
|
icons = {
|
||||||
|
package_installed = "✓",
|
||||||
|
package_pending = "➜",
|
||||||
|
package_uninstalled = "✗"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{ 'williamboman/mason-lspconfig.nvim',
|
||||||
|
config = function() require("mason-lspconfig").setup{} end,
|
||||||
|
},
|
||||||
|
{ 'neovim/nvim-lspconfig' },
|
||||||
|
{
|
||||||
|
'hinell/lsp-timeout.nvim',
|
||||||
|
dependencies={ "neovim/nvim-lspconfig" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'L3MON4D3/LuaSnip', version = "2.*",
|
||||||
|
build = "make install_jsregexp",
|
||||||
|
dependencies = { "friendly-snippets" },
|
||||||
|
config = function()
|
||||||
|
require("luasnip").setup({
|
||||||
|
history = true,
|
||||||
|
delete_check_events = "TextChanged",
|
||||||
|
})
|
||||||
|
require("luasnip").filetype_extend("liquid", {"html","css","javascript"})
|
||||||
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
|
require("luasnip.loaders.from_vscode").load({
|
||||||
|
paths = {
|
||||||
|
"~/.dotfiles/nvim/.config/nvim/lua/custom_snippets/" }
|
||||||
|
})
|
||||||
|
-- require("luasnip.extras.filetype_functions").extend_load_ft({
|
||||||
|
-- liquid = {"html", "css", "javascript" },
|
||||||
|
-- })
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- {"ellisonleao/glow.nvim", config = function() require("glow").setup() end },
|
||||||
|
|
||||||
|
'saadparwaiz1/cmp_luasnip',
|
||||||
|
'hrsh7th/cmp-nvim-lsp-signature-help',
|
||||||
|
'lukas-reineke/cmp-under-comparator',
|
||||||
|
|
||||||
|
{
|
||||||
|
'asiryk/auto-hlsearch.nvim',
|
||||||
|
version = "1.1.0",
|
||||||
|
config = function() require("auto-hlsearch").setup{} end,
|
||||||
|
},
|
||||||
|
|
||||||
|
------------------------------------------------------------
|
||||||
|
-- General Functionality
|
||||||
|
------------------------------------------------------------
|
||||||
|
|
||||||
|
{ 'kenn7/vim-arsync',
|
||||||
|
dependencies={'prabirshrestha/async.vim'},
|
||||||
|
},
|
||||||
|
|
||||||
|
{ 'MaximilianLloyd/adjacent.nvim' },
|
||||||
|
'BlackLight/nvim-http',
|
||||||
|
{ 'stevearc/vim-arduino'},
|
||||||
|
{ 'sindrets/diffview.nvim' },
|
||||||
|
{ 'skwee357/nvim-prose' },
|
||||||
|
{
|
||||||
|
'nacro90/numb.nvim',
|
||||||
|
config = function() require('numb').setup{
|
||||||
|
show_cursorline = false,
|
||||||
|
show_numbers = false, -- Enable 'number' for the window while peeking
|
||||||
|
hide_relativenumbers = false, -- Enable turning off 'relativenumber' for the window while peeking
|
||||||
|
number_only = true, -- Peek only when the command is only a number instead of when it starts with a number
|
||||||
|
centered_peeking = true,
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'nvim-lualine/lualine.nvim',
|
||||||
|
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
||||||
|
config = function() require('lualine').setup({
|
||||||
|
options = {
|
||||||
|
theme = 'material',
|
||||||
|
always_divide_middle = false,
|
||||||
|
},
|
||||||
|
sections = {
|
||||||
|
lualine_x = { "encoding", { "fileformat", symbols = { unix = " " } }, "filetype" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Nvim Tree File Manager on the Left
|
||||||
|
{
|
||||||
|
"nvim-tree/nvim-tree.lua",
|
||||||
|
version = "*",
|
||||||
|
lazy = false,
|
||||||
|
dependencies = {
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("nvim-tree").setup({
|
||||||
|
sort_by = "case_sensitive",
|
||||||
|
view = {
|
||||||
|
width = 30,
|
||||||
|
},
|
||||||
|
renderer = {
|
||||||
|
group_empty = true,
|
||||||
|
},
|
||||||
|
filters = {
|
||||||
|
dotfiles = true,
|
||||||
|
},
|
||||||
|
diagnostics = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Tmux Navigation
|
||||||
|
{
|
||||||
|
"aserowy/tmux.nvim",
|
||||||
|
config = function() require("tmux").setup() end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"roobert/f-string-toggle.nvim",
|
||||||
|
config = function()
|
||||||
|
require("f-string-toggle").setup{
|
||||||
|
key_binding = "<leader>g"
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Snippets
|
||||||
|
'rafamadriz/friendly-snippets',
|
||||||
|
|
||||||
|
-- Rename and Work with Buffer & Tabs
|
||||||
|
-- 'pacha/vem-tabline',
|
||||||
|
{'romgrk/barbar.nvim',
|
||||||
|
dependencies = 'nvim-tree/nvim-web-devicons',
|
||||||
|
version = '^1.0.0', -- optional: only update when a new 1.x version is released
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
-- Trouble Shows Errors with Files.
|
||||||
|
{
|
||||||
|
"folke/trouble.nvim",
|
||||||
|
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
||||||
|
config = function()
|
||||||
|
require("trouble").setup {
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Which Key
|
||||||
|
{
|
||||||
|
"folke/which-key.nvim",
|
||||||
|
config = function()
|
||||||
|
require("which-key").setup {
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
"hrsh7th/nvim-cmp", -- optional, for completion
|
||||||
|
"ggandor/lightspeed.nvim",
|
||||||
|
|
||||||
|
-- Top Right Notify Pop Up
|
||||||
|
-- {
|
||||||
|
-- "rcarriga/nvim-notify",
|
||||||
|
-- config = function ()
|
||||||
|
-- require("notify").setup {
|
||||||
|
-- }
|
||||||
|
-- -- vim.api.nvim_notify = require('notify')
|
||||||
|
-- vim.notify = require('notify')
|
||||||
|
-- end
|
||||||
|
-- },
|
||||||
|
|
||||||
|
{'akinsho/toggleterm.nvim', version = "*", opts = {
|
||||||
|
direction = 'float',
|
||||||
|
}},
|
||||||
|
|
||||||
|
------------------------------------------------------------
|
||||||
|
-- echasnovski's Minis get a section of their own...
|
||||||
|
------------------------------------------------------------
|
||||||
|
|
||||||
|
{
|
||||||
|
'echasnovski/mini.comment', version = '*',
|
||||||
|
config = function()
|
||||||
|
require('mini.comment').setup()
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'echasnovski/mini.move',
|
||||||
|
config = function()
|
||||||
|
require('mini.move').setup({
|
||||||
|
mappings = {
|
||||||
|
left = '<S-left>',
|
||||||
|
right = '<S-right>',
|
||||||
|
down = '<S-down>',
|
||||||
|
up = '<S-up>',
|
||||||
|
|
||||||
|
line_left = '<S-left>',
|
||||||
|
line_right = '<S-right>',
|
||||||
|
line_down = '<S-down>',
|
||||||
|
line_up = '<S-up>',
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'echasnovski/mini.trailspace',
|
||||||
|
config = function()
|
||||||
|
require('mini.trailspace').setup()
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'echasnovski/mini.surround', version = '*',
|
||||||
|
config = function()
|
||||||
|
require('mini.surround').setup()
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'echasnovski/mini.pairs', branch = 'stable',
|
||||||
|
config = function()
|
||||||
|
require('mini.pairs').setup()
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'echasnovski/mini.fuzzy', branch = 'stable',
|
||||||
|
config = function()
|
||||||
|
require('mini.fuzzy').setup()
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'echasnovski/mini.hipatterns', version = false,
|
||||||
|
-- event = "BufReadPre",
|
||||||
|
config = function()
|
||||||
|
local hipatterns = require('mini.hipatterns')
|
||||||
|
hipatterns.setup({
|
||||||
|
highlighters = {
|
||||||
|
hex_color = hipatterns.gen_highlighter.hex_color(),
|
||||||
|
hsl_color = {
|
||||||
|
pattern = "hsl%(%d+,? %d+,? %d+%)",
|
||||||
|
group = function(_, match)
|
||||||
|
local utils = require("solarized-osaka.hsl")
|
||||||
|
local nh, ns, nl = match:match("hsl%((%d+),? (%d+),? (%d+)%)")
|
||||||
|
local h, s, l = tonumber(nh), tonumber(ns), tonumber(nl)
|
||||||
|
local hex_color = utils.hslToHex(h, s, l)
|
||||||
|
return MiniHipatterns.compute_hex_color_group(hex_color, "bg")
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- Markdown Plugins
|
||||||
|
------------------------------------------------------------
|
||||||
|
|
||||||
|
{
|
||||||
|
"iamcco/markdown-preview.nvim",
|
||||||
|
build = "cd app && npm install",
|
||||||
|
ft = "markdown",
|
||||||
|
lazy = true,
|
||||||
|
keys = { { "gm", "<cmd>MarkdownPreviewToggle<cr>", desc = "Markdown Preview" } },
|
||||||
|
init = function()
|
||||||
|
vim.g.mkdp_filetypes = { "markdown" }
|
||||||
|
vim.g.mkdp_auto_close = true
|
||||||
|
vim.g.mkdp_open_to_the_world = false
|
||||||
|
vim.g.mkdp_open_ip = "127.0.0.1"
|
||||||
|
vim.g.mkdp_port = "8888"
|
||||||
|
vim.g.mkdp_browser = ""
|
||||||
|
vim.g.mkdp_echo_preview_url = true
|
||||||
|
vim.g.mkdp_page_title = "${name}"
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{ "jbyuki/venn.nvim" },
|
||||||
|
--[[
|
||||||
|
{ 'toppair/peek.nvim',
|
||||||
|
build = 'deno task --quiet build:fast',
|
||||||
|
config = function()
|
||||||
|
require('peek').setup()
|
||||||
|
end
|
||||||
|
},
|
||||||
|
]]--
|
||||||
|
-- DAP (Debug adaptor Protocol)
|
||||||
|
'mfussenegger/nvim-dap',
|
||||||
|
|
||||||
|
{
|
||||||
|
'mfussenegger/nvim-dap-python',
|
||||||
|
config = function()
|
||||||
|
require('dap-python').setup(
|
||||||
|
'~/.virtualenvs/debugpy/bin/python'
|
||||||
|
)
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'rcarriga/nvim-dap-ui', dependencies = {"mfussenegger/nvim-dap"}
|
||||||
|
},
|
||||||
|
|
||||||
|
---------------------------------------------------------
|
||||||
|
-- Text, Icons, Symbols
|
||||||
|
----------------------------------------------------------
|
||||||
|
|
||||||
|
{
|
||||||
|
'simrat39/symbols-outline.nvim',
|
||||||
|
config = function()
|
||||||
|
require('symbols-outline').setup()
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"j-hui/fidget.nvim",
|
||||||
|
opts = {
|
||||||
|
-- options
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'lukas-reineke/indent-blankline.nvim',
|
||||||
|
'karb94/neoscroll.nvim',
|
||||||
|
|
||||||
|
-- Allow Popups for Telescope etc
|
||||||
|
'nvim-lua/popup.nvim',
|
||||||
|
'nvim-lua/plenary.nvim',
|
||||||
|
|
||||||
|
-- Todo & Comments for Organization
|
||||||
|
{
|
||||||
|
'folke/todo-comments.nvim',
|
||||||
|
dependencies = "nvim-lua/plenary.nvim",
|
||||||
|
config = function()
|
||||||
|
require("todo-comments").setup {
|
||||||
|
keywords = {
|
||||||
|
FIX = {
|
||||||
|
icon = " ", -- icon used for the sign, and in search results
|
||||||
|
color = "error", -- can be a hex color, or a named color (see below)
|
||||||
|
alt = { "FIXME", "BUG", "FIXIT", "ISSUE" }, -- a set of other keywords that all map to this FIX keywords
|
||||||
|
-- signs = false, -- configure signs for some keywords individually
|
||||||
|
},
|
||||||
|
DONE = { icon = " ", color = "info" },
|
||||||
|
IN_PROG = { icon = "", color = "default" },
|
||||||
|
FEAT = { icon = " ", color = "warning", alt = { "NEED", "REQUEST" } },
|
||||||
|
WARN = { icon = " ", color = "error", alt = { "WARNING", "ERROR" } },
|
||||||
|
TODO = { icon = " ", color = "hint", alt = { "TASK", "TBD" } },
|
||||||
|
RISK = { icon = " ", color = "hint", alt = { "RISK" } },
|
||||||
|
GOAL = { icon = " ", color = "test", alt = { "GOAL", "KPI"} },
|
||||||
|
},
|
||||||
|
highlight = {
|
||||||
|
comments_only = false,
|
||||||
|
},
|
||||||
|
colors = {
|
||||||
|
error = { "DiagnosticError", "ErrorMsg", "#DC2626" },
|
||||||
|
warning = { "DiagnosticWarning", "WarningMsg", "#FBBF24" },
|
||||||
|
info = { "DiagnosticInfo", "#2563EB" },
|
||||||
|
hint = { "DiagnosticHint", "#10B981" },
|
||||||
|
default = { "Identifier", "#7C3AED" },
|
||||||
|
test = { "Identifier", "#FF00FF" }
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
-- Various telescopes
|
||||||
|
'nvim-telescope/telescope-file-browser.nvim',
|
||||||
|
|
||||||
|
{
|
||||||
|
'nvim-telescope/telescope-fzf-native.nvim',
|
||||||
|
build = 'make'
|
||||||
|
},
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
-- Various Color Schemes, Dashboard, etc
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
"eldritch-theme/eldritch.nvim",
|
||||||
|
lazy = false,
|
||||||
|
priority = 1000,
|
||||||
|
opts = {},
|
||||||
|
},
|
||||||
|
{ 'rktjmp/lush.nvim' },
|
||||||
|
-- { 'normanras/link.nvim' },
|
||||||
|
-- { dir = '/Users/normrasmussen/Documents/Projects/link-two/', lazy = true},
|
||||||
|
{
|
||||||
|
"craftzdog/solarized-osaka.nvim",
|
||||||
|
lazy = false,
|
||||||
|
priority = 1000,
|
||||||
|
opts = {},
|
||||||
|
},
|
||||||
|
'Mofiqul/dracula.nvim',
|
||||||
|
-- 'ray-x/starry.nvim',
|
||||||
|
'rose-pine/neovim',
|
||||||
|
'EdenEast/nightfox.nvim',
|
||||||
|
'rebelot/kanagawa.nvim',
|
||||||
|
'catppuccin/nvim',
|
||||||
|
'sainnhe/sonokai',
|
||||||
|
{
|
||||||
|
"oxfist/night-owl.nvim",
|
||||||
|
lazy = false, -- make sure we load this during startup if it is your main colorscheme
|
||||||
|
priority = 1000, -- make sure to load this before all the other start plugins
|
||||||
|
config = function()
|
||||||
|
-- load the colorscheme here
|
||||||
|
vim.cmd.colorscheme("night-owl")
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"folke/tokyonight.nvim",
|
||||||
|
lazy = false, -- make sure we load this during startup if it is your main colorscheme
|
||||||
|
priority = 1000, -- make sure to load this before all the other start plugins
|
||||||
|
config = function()
|
||||||
|
-- load the colorscheme here
|
||||||
|
-- vim.cmd([[colorscheme tokyonight]])
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{ 'bluz71/vim-nightfly-colors', name = "nightfly", lazy = true, priority = 1000 },
|
||||||
|
'Bekaboo/deadcolumn.nvim',
|
||||||
|
-- {
|
||||||
|
-- "dustypomerleau/tol.nvim",
|
||||||
|
-- lazy = false, -- load the colorscheme at startup
|
||||||
|
-- priority = 1000, -- load colorscheme first
|
||||||
|
-- config = true,
|
||||||
|
-- },
|
||||||
|
|
||||||
|
-- UI Improvements and Changes
|
||||||
|
{
|
||||||
|
"https://git.sr.ht/~swaits/thethethe.nvim",
|
||||||
|
lazy = true,
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = { },
|
||||||
|
},
|
||||||
|
'HiPhish/rainbow-delimiters.nvim',
|
||||||
|
-- {
|
||||||
|
-- "wookayin/semshi",
|
||||||
|
-- ft = "python",
|
||||||
|
-- build = ":UpdateRemotePlugins",
|
||||||
|
-- config = function()
|
||||||
|
-- vim.api.nvim_set_hl(0, "semshiLocal", { ctermfg=209, fg="#80aa9e" } )
|
||||||
|
-- vim.api.nvim_set_hl(0, "semshiGlobal", { ctermfg=214, fg="#d3869b" } )
|
||||||
|
-- vim.api.nvim_set_hl(0, "semshiImported", { ctermfg=214, fg="#8bba7f", cterm=bold, gui=bold } )
|
||||||
|
-- vim.api.nvim_set_hl(0, "semshiParameter", { ctermfg=75, fg="#8bba7f" } )
|
||||||
|
-- vim.api.nvim_set_hl(0, "semshiParameterUnused", { ctermfg=117, fg="#34381b", cterm=underline, gui=underline} )
|
||||||
|
-- vim.api.nvim_set_hl(0, "semshiFree", { ctermfg=218, fg="#e9b143"} )
|
||||||
|
-- vim.api.nvim_set_hl(0, "semshiBuiltin", { ctermfg=207, fg="#f2594b"} )
|
||||||
|
-- vim.api.nvim_set_hl(0, "semshiAttribute", { ctermfg=49, fg="#3b4439"} )
|
||||||
|
-- vim.api.nvim_set_hl(0, "semshiSelf", { ctermfg=249, fg="#db4740"} )
|
||||||
|
-- vim.api.nvim_set_hl(0, "semshiUnresolved", { ctermfg=226, fg="#f28534", cterm=underline, gui=underline} )
|
||||||
|
-- vim.api.nvim_set_hl(0, "semshiSelected", { ctermfg=231, fg="#ffffff", ctermbg=161, bg="#4c3432"} )
|
||||||
|
-- vim.api.nvim_set_hl(0, "semshiErrorSign", { ctermfg=231, fg="#ffffff", ctermbg=160, bg="#402120"} )
|
||||||
|
-- vim.api.nvim_set_hl(0, "semshiErrorChar", { ctermfg=231, fg="#ffffff", ctermbg=160, bg="#402120"} )
|
||||||
|
-- vim.cmd([[sign define semshiError text=E> texthl=semshiErrorSign]])
|
||||||
|
-- end
|
||||||
|
-- },
|
||||||
|
|
||||||
|
-- Wakatime Tracking
|
||||||
|
'wakatime/vim-wakatime',
|
||||||
|
|
||||||
|
----------------------------------------------
|
||||||
|
--- Custom Plugins and Tests
|
||||||
|
----------------------------------------------
|
||||||
|
-- {
|
||||||
|
-- dir = '/Users/normrasmussen/Documents/Projects/tasksPlugin.nvim/',
|
||||||
|
-- dev = true,
|
||||||
|
-- name = "Mkdn Tasks (DEV)",
|
||||||
|
-- },
|
||||||
|
-- {
|
||||||
|
-- dir = '/Users/normrasmussen/Documents/Projects/pulse.nvim',
|
||||||
|
-- dev = true,
|
||||||
|
-- },
|
||||||
|
}
|
||||||
|
|
||||||
33
nvim/.config/nvim/lua/plugins/mason-null-ls.lua
Normal file
33
nvim/.config/nvim/lua/plugins/mason-null-ls.lua
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
return {
|
||||||
|
"jay-babu/mason-null-ls.nvim",
|
||||||
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
|
dependencies = {
|
||||||
|
"williamboman/mason.nvim",
|
||||||
|
"jose-elias-alvarez/null-ls.nvim",
|
||||||
|
},
|
||||||
|
config = function ()
|
||||||
|
require("mason-null-ls").setup({
|
||||||
|
ensure_installed = nil,
|
||||||
|
automatic_installation = true,
|
||||||
|
})
|
||||||
|
local null_ls = require'null-ls'
|
||||||
|
null_ls.setup({
|
||||||
|
debug = true,
|
||||||
|
sources = {
|
||||||
|
-- null_ls.builtins.diagnostics.markdownlint.with({
|
||||||
|
-- extra_args = { "--disable", "MD024", "MD013", "MD012", "--" }}),
|
||||||
|
-- null_ls.builtins.formatting.black,
|
||||||
|
-- null_ls.builtins.completion.luasnip,
|
||||||
|
-- null_ls.builtins.code_actions.gitsigns,
|
||||||
|
-- null_ls.builtins.diagnostics.ruff,
|
||||||
|
-- null_ls.builtins.formatting.ruff,
|
||||||
|
-- null_ls.builtins.formatting.prettierd,
|
||||||
|
-- null_ls.builtins.diagnostics.pylint.with({
|
||||||
|
-- diagnostics_postprocess = function(diagnostic)
|
||||||
|
-- diagnostic.code = diagnostic.message_id
|
||||||
|
-- end,
|
||||||
|
-- }),
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end
|
||||||
|
}
|
||||||
21
nvim/.config/nvim/lua/plugins/mkdnflow.lua
Normal file
21
nvim/.config/nvim/lua/plugins/mkdnflow.lua
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
return {
|
||||||
|
'jakewvincent/mkdnflow.nvim',
|
||||||
|
config = function()
|
||||||
|
require('mkdnflow').setup({
|
||||||
|
mappings = {
|
||||||
|
MkdnToggleToDo = {{'i', 'n'}, '<C-Space>'},
|
||||||
|
MkdnEnter = {{'i', 'n', 'v'}, '<CR>'},
|
||||||
|
MkdnExtendList = {{'n'}, '<leader>;'},
|
||||||
|
MkdnNewListItemBelowInsert = {{'n', 'i'}, '<leader>l'},
|
||||||
|
MkdnTableNextCell = false,
|
||||||
|
MkdnTab = {{'i',}, '<Tab>'},
|
||||||
|
MkdnSTab = {{'i'}, '<S-Tab>'},
|
||||||
|
MkdnFollowLink = {{'n'}, '<leader>p'}
|
||||||
|
},
|
||||||
|
links = {
|
||||||
|
name_is_source = true,
|
||||||
|
conceal = true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
171
nvim/.config/nvim/lua/plugins/nvim-cmp.lua
Normal file
171
nvim/.config/nvim/lua/plugins/nvim-cmp.lua
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
return {
|
||||||
|
'hrsh7th/nvim-cmp',
|
||||||
|
dependencies = {
|
||||||
|
'neovim/nvim-lspconfig',
|
||||||
|
'L3MON4D3/LuaSnip',
|
||||||
|
'hrsh7th/cmp-nvim-lsp',
|
||||||
|
'hrsh7th/cmp-path',
|
||||||
|
'hrsh7th/cmp-buffer',
|
||||||
|
'hrsh7th/cmp-cmdline',
|
||||||
|
'hrsh7th/nvim-cmp',
|
||||||
|
'hrsh7th/cmp-calc',
|
||||||
|
'saadparwaiz1/cmp_luasnip',
|
||||||
|
'hrsh7th/cmp-nvim-lsp-signature-help',
|
||||||
|
'f3fora/cmp-spell',
|
||||||
|
},
|
||||||
|
config = function ()
|
||||||
|
local cmp_status_ok, cmp = pcall(require, 'cmp')
|
||||||
|
if not cmp_status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local luasnip_status_ok, luasnip = pcall(require, 'luasnip')
|
||||||
|
if not luasnip_status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
|
|
||||||
|
cmp.setup({
|
||||||
|
-- Load snippet support
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
require('luasnip').lsp_expand(args.body)
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Completion settings
|
||||||
|
completion = {
|
||||||
|
--completeopt = 'menu,menuone,noselect'
|
||||||
|
keyword_length = 1
|
||||||
|
},
|
||||||
|
window = {
|
||||||
|
completion = {
|
||||||
|
winhighlight = "Normal:Pmenu,FloatBorder:Pmenu,Search:None",
|
||||||
|
col_offset = -3,
|
||||||
|
side_padding = 0,
|
||||||
|
border = 'rounded',
|
||||||
|
scrollbar = '+',
|
||||||
|
},
|
||||||
|
documentation = {
|
||||||
|
border = 'rounded',
|
||||||
|
scrollbar = '|',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Key mapping
|
||||||
|
mapping = {
|
||||||
|
['<C-n>'] = cmp.mapping.select_next_item(),
|
||||||
|
['<C-p>'] = cmp.mapping.select_prev_item(),
|
||||||
|
['<C-d>'] = cmp.mapping.scroll_docs(-4),
|
||||||
|
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||||
|
['<C-Space>'] = cmp.mapping.complete(),
|
||||||
|
["<C-e>"] = cmp.mapping({
|
||||||
|
i = cmp.mapping.abort(),
|
||||||
|
c = cmp.mapping.close(),
|
||||||
|
}),
|
||||||
|
["<C-y>"] = cmp.config.disable,
|
||||||
|
['<CR>'] = cmp.mapping.confirm {
|
||||||
|
select = false,
|
||||||
|
},
|
||||||
|
-- Tab mapping
|
||||||
|
['<Tab>'] = function(fallback)
|
||||||
|
if cmp.visible() then
|
||||||
|
cmp.select_next_item()
|
||||||
|
elseif luasnip.expand_or_jumpable() then
|
||||||
|
luasnip.expand_or_jump()
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
['<S-Tab>'] = function(fallback)
|
||||||
|
if cmp.visible() then
|
||||||
|
cmp.select_prev_item()
|
||||||
|
elseif luasnip.jumpable(-1) then
|
||||||
|
luasnip.jump(-1)
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
sources = {
|
||||||
|
{ name = 'nvim_lsp', },
|
||||||
|
{ name = 'luasnip', },
|
||||||
|
{ name = 'path' },
|
||||||
|
{ name = 'calc' },
|
||||||
|
{ name = 'nvim_lsp_signature_help' },
|
||||||
|
{ name = 'buffer' },
|
||||||
|
},
|
||||||
|
formatting = {
|
||||||
|
fields = {'menu', 'abbr', 'kind'},
|
||||||
|
format = function(entry, item)
|
||||||
|
local menu_icon = {
|
||||||
|
nvim_lsp = 'λ',
|
||||||
|
luasnip = '⋗',
|
||||||
|
buffer = 'Ω',
|
||||||
|
path = '',
|
||||||
|
calc = '',
|
||||||
|
nvim_lsp_signature_help = '',
|
||||||
|
}
|
||||||
|
item.menu = menu_icon[entry.source.name]
|
||||||
|
return item
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
sorting = {
|
||||||
|
comparators = {
|
||||||
|
cmp.config.compare.offset,
|
||||||
|
cmp.config.compare.exact,
|
||||||
|
cmp.config.compare.score,
|
||||||
|
cmp.config.compare.recently_used,
|
||||||
|
require("cmp-under-comparator").under,
|
||||||
|
cmp.config.compare.kind,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
-- Set up lspconfig.
|
||||||
|
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||||
|
-- Replace <YOUR_LSP_SERVER> with each lsp server you've enabled.
|
||||||
|
require'lspconfig'.pylsp.setup {
|
||||||
|
capabilities = capabilities
|
||||||
|
}
|
||||||
|
local lspconfig = require'lspconfig'
|
||||||
|
local configs = require'lspconfig.configs'
|
||||||
|
|
||||||
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
|
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||||
|
|
||||||
|
if not configs.ls_emmet then
|
||||||
|
configs.ls_emmet = {
|
||||||
|
default_config = {
|
||||||
|
cmd = { 'ls_emmet', '--stdio' };
|
||||||
|
filetypes = {
|
||||||
|
'html',
|
||||||
|
'liquid',
|
||||||
|
'css',
|
||||||
|
'scss',
|
||||||
|
'javascriptreact',
|
||||||
|
'typescriptreact',
|
||||||
|
'haml',
|
||||||
|
'xml',
|
||||||
|
'xsl',
|
||||||
|
'pug',
|
||||||
|
'slim',
|
||||||
|
'sass',
|
||||||
|
'stylus',
|
||||||
|
'less',
|
||||||
|
'sss',
|
||||||
|
'hbs',
|
||||||
|
'handlebars',
|
||||||
|
};
|
||||||
|
root_dir = function(fname)
|
||||||
|
return vim.loop.cwd()
|
||||||
|
end;
|
||||||
|
settings = {};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
end
|
||||||
|
require'lspconfig'.ls_emmet.setup {
|
||||||
|
capabilities = capabilities
|
||||||
|
}
|
||||||
|
end
|
||||||
|
}
|
||||||
92
nvim/.config/nvim/lua/plugins/nvim-lspconfig.lua
Normal file
92
nvim/.config/nvim/lua/plugins/nvim-lspconfig.lua
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
return {
|
||||||
|
'neovim/nvim-lspconfig',
|
||||||
|
config = function()
|
||||||
|
-- Setup language servers.
|
||||||
|
local lspconfig = require('lspconfig')
|
||||||
|
local configs = require('lspconfig.configs')
|
||||||
|
lspconfig.pylsp.setup{
|
||||||
|
-- Server-specific settings. See `:help lspconfig-setup`
|
||||||
|
settings = {
|
||||||
|
settings = {
|
||||||
|
pylsp = {
|
||||||
|
configurationSources = {"pylint"},
|
||||||
|
plugins = {
|
||||||
|
pylint = { enabled = true },
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-- Global mappings.
|
||||||
|
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
|
||||||
|
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float)
|
||||||
|
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev)
|
||||||
|
vim.keymap.set('n', ']d', vim.diagnostic.goto_next)
|
||||||
|
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist)
|
||||||
|
|
||||||
|
-- Use LspAttach autocommand to only map the following keys
|
||||||
|
-- after the language server attaches to the current buffer
|
||||||
|
vim.api.nvim_create_autocmd('LspAttach', {
|
||||||
|
group = vim.api.nvim_create_augroup('UserLspConfig', {}),
|
||||||
|
callback = function(ev)
|
||||||
|
-- Enable completion triggered by <c-x><c-o>
|
||||||
|
vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc'
|
||||||
|
|
||||||
|
-- Buffer local mappings.
|
||||||
|
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||||
|
local opts = { buffer = ev.buf }
|
||||||
|
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts)
|
||||||
|
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts)
|
||||||
|
vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts)
|
||||||
|
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts)
|
||||||
|
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, opts)
|
||||||
|
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, opts)
|
||||||
|
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, opts)
|
||||||
|
vim.keymap.set('n', '<space>wl', function()
|
||||||
|
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||||
|
end, opts)
|
||||||
|
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, opts)
|
||||||
|
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, opts)
|
||||||
|
vim.keymap.set({ 'n', 'v' }, '<space>ca', vim.lsp.buf.code_action, opts)
|
||||||
|
vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts)
|
||||||
|
vim.keymap.set('n', '<space>f', function()
|
||||||
|
vim.lsp.buf.format { async = true }
|
||||||
|
end, opts)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
|
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||||
|
|
||||||
|
if not configs.ls_emmet then
|
||||||
|
configs.ls_emmet = {
|
||||||
|
default_config = {
|
||||||
|
cmd = { 'ls_emmet', '--stdio' };
|
||||||
|
filetypes = {
|
||||||
|
'html',
|
||||||
|
'liquid',
|
||||||
|
'css',
|
||||||
|
'scss',
|
||||||
|
'javascriptreact',
|
||||||
|
'typescriptreact',
|
||||||
|
'haml',
|
||||||
|
'xml',
|
||||||
|
'xsl',
|
||||||
|
'pug',
|
||||||
|
'slim',
|
||||||
|
'sass',
|
||||||
|
'stylus',
|
||||||
|
'less',
|
||||||
|
'sss',
|
||||||
|
'handlebars',
|
||||||
|
};
|
||||||
|
root_dir = function(fname)
|
||||||
|
return vim.loop.cwd()
|
||||||
|
end;
|
||||||
|
settings = {};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
end
|
||||||
|
lspconfig.ls_emmet.setup { capabilities = capabilities }
|
||||||
|
end
|
||||||
|
}
|
||||||
42
nvim/.config/nvim/lua/plugins/nvim-treesitter.lua
Normal file
42
nvim/.config/nvim/lua/plugins/nvim-treesitter.lua
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
--local status_ok, nvim_treesitter = pcall(require, 'nvim-treesitter.configs')
|
||||||
|
--if not status_ok then
|
||||||
|
-- return
|
||||||
|
--end
|
||||||
|
|
||||||
|
return {
|
||||||
|
'nvim-treesitter/nvim-treesitter',
|
||||||
|
build = ":TSUpdate",
|
||||||
|
config = function ()
|
||||||
|
local configs = require("nvim-treesitter.configs")
|
||||||
|
configs.setup({
|
||||||
|
-- require('nvim-treesitter.install').update({ with_sync = true })
|
||||||
|
-- A list of parser names, or "all"
|
||||||
|
ensure_installed = {
|
||||||
|
'bash', 'css', 'html', 'javascript', 'json', 'lua', 'python',
|
||||||
|
'vim', 'yaml', 'typescript', 'markdown',
|
||||||
|
},
|
||||||
|
sync_install = true,
|
||||||
|
highlight = {
|
||||||
|
enable = true,
|
||||||
|
disable = function(lang, bufnr)
|
||||||
|
return lang == "py" and vim.api.nvim_buf_line_count(bufnr) > 5000
|
||||||
|
end,
|
||||||
|
additional_vim_regex_highlighting = true,
|
||||||
|
},
|
||||||
|
indent = { enable = true },
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
disable = function(lang, buf)
|
||||||
|
local max_filesize = 100 * 1024 -- 100 KB
|
||||||
|
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
||||||
|
if ok and stats and stats.size > max_filesize then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end, disable = function(lang, buf)
|
||||||
|
local max_filesize = 100 * 1024 -- 100 KB
|
||||||
|
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
||||||
|
if ok and stats and stats.size > max_filesize then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
}
|
||||||
@ -1,5 +1,5 @@
|
|||||||
vim.pack.add({"https://github.com/cameron-wags/rainbow_csv.nvim"})
|
return {
|
||||||
require("rainbow_csv").setup({
|
'cameron-wags/rainbow_csv.nvim',
|
||||||
config = true,
|
config = true,
|
||||||
ft = {
|
ft = {
|
||||||
'csv',
|
'csv',
|
||||||
@ -16,4 +16,4 @@ require("rainbow_csv").setup({
|
|||||||
'RainbowDelimQuoted',
|
'RainbowDelimQuoted',
|
||||||
'RainbowMultiDelim'
|
'RainbowMultiDelim'
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
169
nvim/.config/nvim/lua/plugins/telescope.lua
Normal file
169
nvim/.config/nvim/lua/plugins/telescope.lua
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
'nvim-telescope/telescope.nvim', tag = '0.1.5',
|
||||||
|
dependencies = {
|
||||||
|
'nvim-lua/plenary.nvim',
|
||||||
|
'nvim-telescope/telescope-live-grep-args.nvim',
|
||||||
|
'jonarrien/telescope-cmdline.nvim',
|
||||||
|
},
|
||||||
|
|
||||||
|
config = function ()
|
||||||
|
local g = vim.g
|
||||||
|
local fb_actions = require "telescope".extensions.file_browser.actions
|
||||||
|
local themes = {
|
||||||
|
popup_list = {
|
||||||
|
theme = 'popup_list',
|
||||||
|
border = true,
|
||||||
|
preview = false,
|
||||||
|
prompt_title = false,
|
||||||
|
results_title = false,
|
||||||
|
sorting_strategy = 'ascending',
|
||||||
|
layout_strategy = 'center',
|
||||||
|
borderchars = {
|
||||||
|
prompt = { '─', '│', '─', '│', '┌', '┐', '┤', '└' },
|
||||||
|
results = { '─', '│', '─', '│', '├', '┤', '┘', '└' },
|
||||||
|
preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
popup_extended = {
|
||||||
|
theme = 'popup_extended',
|
||||||
|
prompt_title = false,
|
||||||
|
results_title = false,
|
||||||
|
layout_strategy = 'center',
|
||||||
|
layout_config = {
|
||||||
|
width = 0.7,
|
||||||
|
height = 0.3,
|
||||||
|
mirror = true,
|
||||||
|
preview_cutoff = 1,
|
||||||
|
},
|
||||||
|
borderchars = {
|
||||||
|
prompt = { '─', '│', ' ', '│', '┌', '┐', '│', '│' },
|
||||||
|
results = { '─', '│', '─', '│', '├', '┤', '┘', '└' },
|
||||||
|
preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
command_pane = {
|
||||||
|
theme = 'command_pane',
|
||||||
|
preview = false,
|
||||||
|
prompt_title = false,
|
||||||
|
results_title = false,
|
||||||
|
sorting_strategy = 'descending',
|
||||||
|
layout_strategy = 'bottom_pane',
|
||||||
|
layout_config = {
|
||||||
|
height = 13,
|
||||||
|
preview_cutoff = 1,
|
||||||
|
prompt_position = 'bottom'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
ivy_plus = {
|
||||||
|
theme = 'ivy_plus',
|
||||||
|
preview = false,
|
||||||
|
prompt_title = false,
|
||||||
|
results_title = false,
|
||||||
|
layout_strategy = 'bottom_pane',
|
||||||
|
layout_config = {
|
||||||
|
height = 13,
|
||||||
|
preview_cutoff = 120,
|
||||||
|
prompt_position = 'bottom'
|
||||||
|
},
|
||||||
|
borderchars = {
|
||||||
|
prompt = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||||
|
results = { '─', '│', '─', '│', '┌', '┬', '┴', '└' },
|
||||||
|
preview = { '─', '│', ' ', ' ', '─', '┐', '│', ' ' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
local telescope_installer = require('telescope').setup({
|
||||||
|
defaults = {
|
||||||
|
border = true,
|
||||||
|
prompt_title = false,
|
||||||
|
results_title = false,
|
||||||
|
color_devicons = false,
|
||||||
|
layout_strategy = 'horizontal',
|
||||||
|
borderchars = {
|
||||||
|
prompt = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||||
|
results = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||||
|
preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||||
|
},
|
||||||
|
layout_config = {
|
||||||
|
bottom_pane = {
|
||||||
|
height = 20,
|
||||||
|
preview_cutoff = 120,
|
||||||
|
prompt_position = 'top'
|
||||||
|
},
|
||||||
|
center = {
|
||||||
|
height = 0.4,
|
||||||
|
preview_cutoff = 40,
|
||||||
|
prompt_position = 'top',
|
||||||
|
width = 0.7
|
||||||
|
},
|
||||||
|
horizontal = {
|
||||||
|
prompt_position = 'top',
|
||||||
|
preview_cutoff = 40,
|
||||||
|
height = 0.9,
|
||||||
|
width = 0.8
|
||||||
|
}
|
||||||
|
},
|
||||||
|
sorting_strategy = 'ascending',
|
||||||
|
prompt_prefix = ' ',
|
||||||
|
selection_caret = ' → ',
|
||||||
|
entry_prefix = ' ',
|
||||||
|
file_ignore_patterns = {'node_modules'},
|
||||||
|
path_display = { 'truncate' },
|
||||||
|
results_title = false,
|
||||||
|
prompt_title =false,
|
||||||
|
preview = {
|
||||||
|
treesitter = {
|
||||||
|
enable = {
|
||||||
|
'css', 'dockerfile', 'elixir', 'erlang', 'zsh',
|
||||||
|
'html', 'http', 'javascript', 'json', 'lua', 'php',
|
||||||
|
'python', 'regex', 'ruby', 'rust', 'scss',
|
||||||
|
'typescript', 'yaml', 'markdown', 'bash', 'c',
|
||||||
|
'cmake', 'comment', 'cpp', 'dart', 'go', 'jsdoc',
|
||||||
|
'json5', 'jsonc', 'llvm', 'make', 'ninja',
|
||||||
|
'todotxt', 'toml', 'help'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mappings = {
|
||||||
|
i = {
|
||||||
|
['<esc>'] = require('telescope.actions').close,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
extensions = {
|
||||||
|
file_browser = {
|
||||||
|
mappings = {
|
||||||
|
["i"] = {
|
||||||
|
["<C-c>"] = fb_actions.create,
|
||||||
|
["<C-y>"] = fb_actions.copy,
|
||||||
|
["<C-r>"] = fb_actions.rename,
|
||||||
|
["<C-w>"] = fb_actions.goto_cwd,
|
||||||
|
["<C-o>"] = fb_actions.open,
|
||||||
|
["<C-d>"] = fb_actions.remove,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
cmdline = {
|
||||||
|
mappings = {
|
||||||
|
complete = '<Tab>',
|
||||||
|
run_selection = '<C-CR>',
|
||||||
|
run_input = '<CR>',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fzf = {
|
||||||
|
fuzzy = true, -- false will only do exact matching
|
||||||
|
override_generic_sorter = true, -- override the generic sorter
|
||||||
|
override_file_sorter = true, -- override the file sorter
|
||||||
|
case_mode = 'smart_case', -- other options: 'ignore_case' or 'respect_case'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
require("telescope").load_extension "file_browser"
|
||||||
|
require("telescope").load_extension "live_grep_args"
|
||||||
|
require("telescope").load_extension "fzf"
|
||||||
|
require("telescope").load_extension "adjacent"
|
||||||
|
require("telescope").load_extension('cmdline')
|
||||||
|
end
|
||||||
|
}}
|
||||||
|
|
||||||
25
nvim/.config/nvim/lua/plugins/wtf.lua
Normal file
25
nvim/.config/nvim/lua/plugins/wtf.lua
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
return {
|
||||||
|
"piersolenski/wtf.nvim",
|
||||||
|
dependencies = {
|
||||||
|
"MunifTanjim/nui.nvim",
|
||||||
|
},
|
||||||
|
opts = {},
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"gw",
|
||||||
|
mode = { "n", "x" },
|
||||||
|
function()
|
||||||
|
require("wtf").ai()
|
||||||
|
end,
|
||||||
|
desc = "Debug diagnostic with AI",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
mode = { "n" },
|
||||||
|
"gW",
|
||||||
|
function()
|
||||||
|
require("wtf").search()
|
||||||
|
end,
|
||||||
|
desc = "Search diagnostic with Google",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
@ -1,243 +0,0 @@
|
|||||||
{
|
|
||||||
"plugins": {
|
|
||||||
"LuaSnip": {
|
|
||||||
"rev": "a62e1083a3cfe8b6b206e7d3d33a51091df25357",
|
|
||||||
"src": "https://github.com/L3MON4D3/LuaSnip"
|
|
||||||
},
|
|
||||||
"async.vim": {
|
|
||||||
"rev": "2082d13bb195f3203d41a308b89417426a7deca1",
|
|
||||||
"src": "https://github.com/prabirshrestha/async.vim"
|
|
||||||
},
|
|
||||||
"barbar.nvim": {
|
|
||||||
"rev": "539d73def39c9172b4d4d769f14090e08f37b29d",
|
|
||||||
"src": "https://github.com/romgrk/barbar.nvim"
|
|
||||||
},
|
|
||||||
"blink.cmp": {
|
|
||||||
"rev": "a327b19a419347084074cce77f6cd074f54705ac",
|
|
||||||
"src": "https://github.com/saghen/blink.cmp",
|
|
||||||
"version": ">=0.0.0"
|
|
||||||
},
|
|
||||||
"codecompanion-history.nvim": {
|
|
||||||
"rev": "bc1b4fe06eaaf0aa2399be742e843c22f7f1652a",
|
|
||||||
"src": "https://github.com/ravitemer/codecompanion-history.nvim"
|
|
||||||
},
|
|
||||||
"codecompanion.nvim": {
|
|
||||||
"rev": "7d7957c26d33a97085d3a0c82eeb0147a0f51314",
|
|
||||||
"src": "https://github.com/olimorris/codecompanion.nvim"
|
|
||||||
},
|
|
||||||
"dashboard-nvim": {
|
|
||||||
"rev": "62a10d9d55132b338dd742afc3c8a2683f3dd426",
|
|
||||||
"src": "https://github.com/nvimdev/dashboard-nvim"
|
|
||||||
},
|
|
||||||
"deadcolumn.nvim": {
|
|
||||||
"rev": "92c86f10bfba2717ca2280e2e759b047135d5288",
|
|
||||||
"src": "https://github.com/Bekaboo/deadcolumn.nvim"
|
|
||||||
},
|
|
||||||
"dracula.nvim": {
|
|
||||||
"rev": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee",
|
|
||||||
"src": "https://github.com/Mofiqul/dracula.nvim"
|
|
||||||
},
|
|
||||||
"eldritch.nvim": {
|
|
||||||
"rev": "0415fa72c348e814a7a6cc9405593a4f812fe12f",
|
|
||||||
"src": "https://github.com/eldritch-theme/eldritch.nvim"
|
|
||||||
},
|
|
||||||
"f-string-toggle.nvim": {
|
|
||||||
"rev": "c1c77b4fce192e1615490d895863e2a0508d6021",
|
|
||||||
"src": "https://github.com/roobert/f-string-toggle.nvim"
|
|
||||||
},
|
|
||||||
"fidget.nvim": {
|
|
||||||
"rev": "889e2e96edef4e144965571d46f7a77bcc4d0ddf",
|
|
||||||
"src": "https://github.com/j-hui/fidget.nvim"
|
|
||||||
},
|
|
||||||
"flemma.nvim": {
|
|
||||||
"rev": "589b45f0911944e6f0833c23137186acca36b469",
|
|
||||||
"src": "https://github.com/Flemma-Dev/flemma.nvim"
|
|
||||||
},
|
|
||||||
"friendly-snippets": {
|
|
||||||
"rev": "6cd7280adead7f586db6fccbd15d2cac7e2188b9",
|
|
||||||
"src": "https://github.com/rafamadriz/friendly-snippets"
|
|
||||||
},
|
|
||||||
"gitsigns.nvim": {
|
|
||||||
"rev": "8d82c240f190fc33723d48c308ccc1ed8baad69d",
|
|
||||||
"src": "https://github.com/lewis6991/gitsigns.nvim"
|
|
||||||
},
|
|
||||||
"hackthebox.vim": {
|
|
||||||
"rev": "91a84adea2319e3701d76eaa25ae56795ad4dd0d",
|
|
||||||
"src": "https://github.com/audibleblink/hackthebox.vim"
|
|
||||||
},
|
|
||||||
"headlines.nvim": {
|
|
||||||
"rev": "bf17c96a836ea27c0a7a2650ba385a7783ed322e",
|
|
||||||
"src": "https://github.com/lukas-reineke/headlines.nvim"
|
|
||||||
},
|
|
||||||
"hover.nvim": {
|
|
||||||
"rev": "e73c00da3a9c87a21d2a8ddf7ab4a39824bd5d56",
|
|
||||||
"src": "https://github.com/lewis6991/hover.nvim"
|
|
||||||
},
|
|
||||||
"indent-blankline.nvim": {
|
|
||||||
"rev": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03",
|
|
||||||
"src": "https://github.com/lukas-reineke/indent-blankline.nvim"
|
|
||||||
},
|
|
||||||
"kanagawa.nvim": {
|
|
||||||
"rev": "aef7f5cec0a40dbe7f3304214850c472e2264b10",
|
|
||||||
"src": "https://github.com/rebelot/kanagawa.nvim"
|
|
||||||
},
|
|
||||||
"koda.nvim": {
|
|
||||||
"rev": "a560a332ccc1eb2caacb280a390213bb9f37b3cb",
|
|
||||||
"src": "https://github.com/oskarnurm/koda.nvim"
|
|
||||||
},
|
|
||||||
"lualine.nvim": {
|
|
||||||
"rev": "8811f3f3f4dc09d740c67e9ce399e7a541e2e5b2",
|
|
||||||
"src": "https://github.com/nvim-lualine/lualine.nvim"
|
|
||||||
},
|
|
||||||
"mcphub.nvim": {
|
|
||||||
"rev": "7cd5db330f41b7bae02b2d6202218a061c3ebc1f",
|
|
||||||
"src": "https://github.com/ravitemer/mcphub.nvim"
|
|
||||||
},
|
|
||||||
"mini.icons": {
|
|
||||||
"rev": "7fdae2443a0e2910015ca39ad74b50524ee682d3",
|
|
||||||
"src": "https://github.com/echasnovski/mini.icons"
|
|
||||||
},
|
|
||||||
"mini.nvim": {
|
|
||||||
"rev": "2431902e78b76f435542d1e606f08475360068ca",
|
|
||||||
"src": "https://github.com/nvim-mini/mini.nvim"
|
|
||||||
},
|
|
||||||
"mkdnflow.nvim": {
|
|
||||||
"rev": "f20732686f70f60f18f09f4befe984ae63a99201",
|
|
||||||
"src": "https://github.com/jakewvincent/mkdnflow.nvim"
|
|
||||||
},
|
|
||||||
"morta.nvim": {
|
|
||||||
"rev": "10b4cdb8b7ae3f814b77f617f985245b3c11c1fa",
|
|
||||||
"src": "https://github.com/philosofonusus/morta.nvim"
|
|
||||||
},
|
|
||||||
"nightfox.nvim": {
|
|
||||||
"rev": "ba47d4b4c5ec308718641ba7402c143836f35aa9",
|
|
||||||
"src": "https://github.com/EdenEast/nightfox.nvim"
|
|
||||||
},
|
|
||||||
"noice.nvim": {
|
|
||||||
"rev": "7bfd942445fb63089b59f97ca487d605e715f155",
|
|
||||||
"src": "https://github.com/folke/noice.nvim"
|
|
||||||
},
|
|
||||||
"nui.nvim": {
|
|
||||||
"rev": "de740991c12411b663994b2860f1a4fd0937c130",
|
|
||||||
"src": "https://github.com/MunifTanjim/nui.nvim"
|
|
||||||
},
|
|
||||||
"numb.nvim": {
|
|
||||||
"rev": "12ef3913dea8727d4632c6f2ed47957a993de627",
|
|
||||||
"src": "https://github.com/nacro90/numb.nvim"
|
|
||||||
},
|
|
||||||
"nvim": {
|
|
||||||
"rev": "426dbebe06b5c69fd846ceb17b42e12f890aedf1",
|
|
||||||
"src": "https://github.com/catppuccin/nvim"
|
|
||||||
},
|
|
||||||
"nvim-notify": {
|
|
||||||
"rev": "8701bece920b38ea289b457f902e2ad184131a5d",
|
|
||||||
"src": "https://github.com/rcarriga/nvim-notify"
|
|
||||||
},
|
|
||||||
"nvim-tree.lua": {
|
|
||||||
"rev": "509962f21ab7289d8dcd28568af539be39a8c01e",
|
|
||||||
"src": "https://github.com/nvim-tree/nvim-tree.lua"
|
|
||||||
},
|
|
||||||
"nvim-treesitter": {
|
|
||||||
"rev": "4916d6592ede8c07973490d9322f187e07dfefac",
|
|
||||||
"src": "https://github.com/nvim-treesitter/nvim-treesitter"
|
|
||||||
},
|
|
||||||
"nvim-web-devicons": {
|
|
||||||
"rev": "95b7a002d5dba1a42eb58f5fac5c565a485eefd0",
|
|
||||||
"src": "https://github.com/nvim-tree/nvim-web-devicons"
|
|
||||||
},
|
|
||||||
"nvimtelescope": {
|
|
||||||
"rev": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179",
|
|
||||||
"src": "https://github.com/nvim-telescope/telescope.nvim",
|
|
||||||
"version": "'v0.2.1'"
|
|
||||||
},
|
|
||||||
"obsidian.nvim": {
|
|
||||||
"rev": "726b60c89f4bafef267a714ea1faa1335bdd414a",
|
|
||||||
"src": "https://github.com/epwalsh/obsidian.nvim"
|
|
||||||
},
|
|
||||||
"plenary.nvim": {
|
|
||||||
"rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
|
|
||||||
"src": "https://github.com/nvim-lua/plenary.nvim"
|
|
||||||
},
|
|
||||||
"rainbow-delimiters.nvim": {
|
|
||||||
"rev": "aab6caaffd79b8def22ec4320a5344f7c42f58d2",
|
|
||||||
"src": "https://github.com/HiPhish/rainbow-delimiters.nvim"
|
|
||||||
},
|
|
||||||
"rainbow_csv.nvim": {
|
|
||||||
"rev": "26de78d8324f7ac6a3e478319d1eb1f17123eb5b",
|
|
||||||
"src": "https://github.com/cameron-wags/rainbow_csv.nvim"
|
|
||||||
},
|
|
||||||
"ripgrep": {
|
|
||||||
"rev": "4519153e5e461527f4bca45b042fff45c4ec6fb9",
|
|
||||||
"src": "https://github.com/BurntSushi/ripgrep"
|
|
||||||
},
|
|
||||||
"solarized-osaka.nvim": {
|
|
||||||
"rev": "f0c2f0ba0bd56108d53c9bfae4bb28ff6c67bbdb",
|
|
||||||
"src": "https://github.com/craftzdog/solarized-osaka.nvim"
|
|
||||||
},
|
|
||||||
"telescope": {
|
|
||||||
"rev": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179",
|
|
||||||
"src": "https://github.com/nvim-telescope/telescope.nvim",
|
|
||||||
"version": "'v0.2.1'"
|
|
||||||
},
|
|
||||||
"telescope-cmdline.nvim": {
|
|
||||||
"rev": "b1c330835563c9628ce7c095cf20772f22f93f07",
|
|
||||||
"src": "https://github.com/jonarrien/telescope-cmdline.nvim"
|
|
||||||
},
|
|
||||||
"telescope-file-browser.nvim": {
|
|
||||||
"rev": "3610dc7dc91f06aa98b11dca5cc30dfa98626b7e",
|
|
||||||
"src": "https://github.com/nvim-telescope/telescope-file-browser.nvim"
|
|
||||||
},
|
|
||||||
"telescope-fzf-native.nvim": {
|
|
||||||
"rev": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c",
|
|
||||||
"src": "https://github.com/nvim-telescope/telescope-fzf-native.nvim"
|
|
||||||
},
|
|
||||||
"telescope-live-grep-args.nvim": {
|
|
||||||
"rev": "53e9df55b3651dd7cf77e172f1e8c9a17407acca",
|
|
||||||
"src": "https://github.com/nvim-telescope/telescope-live-grep-args.nvim"
|
|
||||||
},
|
|
||||||
"telescope.nvim": {
|
|
||||||
"rev": "7ef4d6dccb78ee71e552bbd866176762ad328afa",
|
|
||||||
"src": "https://github.com/nvim-telescope/telescope.nvim"
|
|
||||||
},
|
|
||||||
"tiny-inline-diagnostic.nvim": {
|
|
||||||
"rev": "57a0eb84b2008c76e77930639890d9874195b1e1",
|
|
||||||
"src": "https://github.com/rachartier/tiny-inline-diagnostic.nvim"
|
|
||||||
},
|
|
||||||
"tmux.nvim": {
|
|
||||||
"rev": "2c1c3be0ef287073cef963f2aefa31a15c8b9cd8",
|
|
||||||
"src": "https://github.com/aserowy/tmux.nvim"
|
|
||||||
},
|
|
||||||
"todo-comments.nvim": {
|
|
||||||
"rev": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668",
|
|
||||||
"src": "https://github.com/folke/todo-comments.nvim"
|
|
||||||
},
|
|
||||||
"toggleterm.nvim": {
|
|
||||||
"rev": "9a88eae817ef395952e08650b3283726786fb5fb",
|
|
||||||
"src": "https://github.com/akinsho/toggleterm.nvim"
|
|
||||||
},
|
|
||||||
"tokyonight.nvim": {
|
|
||||||
"rev": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6",
|
|
||||||
"src": "https://github.com/folke/tokyonight.nvim"
|
|
||||||
},
|
|
||||||
"trouble.nvim": {
|
|
||||||
"rev": "bd67efe408d4816e25e8491cc5ad4088e708a69a",
|
|
||||||
"src": "https://github.com/folke/trouble.nvim"
|
|
||||||
},
|
|
||||||
"vim-arsync": {
|
|
||||||
"rev": "dd5fd93182aafb67ede2ef465f379610980b52d3",
|
|
||||||
"src": "https://github.com/kenn7/vim-arsync"
|
|
||||||
},
|
|
||||||
"vim-nightfly-colors": {
|
|
||||||
"rev": "250ee0eb4975e59a277f50cc03c980eef27fb483",
|
|
||||||
"src": "https://github.com/bluz71/vim-nightfly-colors"
|
|
||||||
},
|
|
||||||
"vim-wakatime": {
|
|
||||||
"rev": "d7973b157a632d1edeff01818f18d67e584eeaff",
|
|
||||||
"src": "https://github.com/wakatime/vim-wakatime"
|
|
||||||
},
|
|
||||||
"which-key.nvim": {
|
|
||||||
"rev": "3aab2147e74890957785941f0c1ad87d0a44c15a",
|
|
||||||
"src": "https://github.com/folke/which-key.nvim"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,82 +0,0 @@
|
|||||||
vim.api.nvim_create_autocmd('PackChanged', {
|
|
||||||
callback = function(ev)
|
|
||||||
if ev.data.spec.name == 'blink.cmp' then
|
|
||||||
local res = vim.system({ 'cargo', 'build', '--release' }, { cwd = ev.data.path })
|
|
||||||
if vim.v.shell_error ~= 0 then
|
|
||||||
vim.notify('Failed to compile blink.cmp: ' .. res, vim.log.levels.ERROR)
|
|
||||||
else
|
|
||||||
vim.notify('Successfully compiled blink.cmp', vim.log.levels.INFO)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.pack.add({
|
|
||||||
{src = "https://github.com/saghen/blink.cmp", version = vim.version.range("*")}
|
|
||||||
})
|
|
||||||
|
|
||||||
require("blink.cmp").setup({
|
|
||||||
fuzzy = { implementation = "rust" },
|
|
||||||
keymap = {
|
|
||||||
preset = "default",
|
|
||||||
['<C-space>'] = { 'show', 'show_documentation', 'hide_documentation' },
|
|
||||||
['<C-e>'] = { 'hide', 'fallback' },
|
|
||||||
['<Tab>'] = {
|
|
||||||
function(cmp)
|
|
||||||
if cmp.snippet_active() then return cmp.accept()
|
|
||||||
else return cmp.select_and_accept() end
|
|
||||||
end,
|
|
||||||
'snippet_forward',
|
|
||||||
'fallback'
|
|
||||||
},
|
|
||||||
['<S-Tab>'] = { 'snippet_backward', 'fallback' },
|
|
||||||
['<Up>'] = { 'select_prev', 'fallback' },
|
|
||||||
['<Down>'] = { 'select_next', 'fallback' },
|
|
||||||
['<C-p>'] = { 'select_prev', 'fallback' },
|
|
||||||
['<C-n>'] = { 'select_next', 'fallback' },
|
|
||||||
['<C-b>'] = { 'scroll_documentation_up', 'fallback' },
|
|
||||||
['<C-f>'] = { 'scroll_documentation_down', 'fallback' },
|
|
||||||
},
|
|
||||||
appearance = {
|
|
||||||
nerd_font_variant = 'mono',
|
|
||||||
},
|
|
||||||
completion = {documentation = { auto_show = true },
|
|
||||||
},
|
|
||||||
sources = {
|
|
||||||
per_filetype = {
|
|
||||||
},
|
|
||||||
default = {'lsp', 'path', 'snippets', 'buffer' },
|
|
||||||
providers = {
|
|
||||||
lsp = {
|
|
||||||
name = "[Lsp]",
|
|
||||||
module = "blink.cmp.sources.lsp",
|
|
||||||
opts = {}, -- Passed to the source directly, varies by source
|
|
||||||
enabled = true, -- Whether or not to enable the provider
|
|
||||||
async = true, -- Whether we should wait for the provider to return before showing the completions
|
|
||||||
timeout_ms = 1000, -- How long to wait for the provider to return before showing completions and treating it as asynchronous
|
|
||||||
transform_items = nil, -- Function to transform the items before they're returned
|
|
||||||
should_show_items = true, -- Whether or not to show the items
|
|
||||||
max_items = nil, -- Maximum number of items to display in the menu
|
|
||||||
min_keyword_length = 0, -- Minimum number of characters in the keyword to trigger the provider
|
|
||||||
fallbacks = {},
|
|
||||||
score_offset = 7, -- Boost/penalize the score of the items
|
|
||||||
override = nil, -- Override the source's functions
|
|
||||||
},
|
|
||||||
path = {
|
|
||||||
name = "[Path]",
|
|
||||||
module = "blink.cmp.sources.path",
|
|
||||||
fallbacks = { "buffer" },
|
|
||||||
score_offset = 5,
|
|
||||||
opts = {
|
|
||||||
trailing_slash = true,
|
|
||||||
label_trailing_slash = true,
|
|
||||||
get_cwd = function(context)
|
|
||||||
return vim.fn.expand(("#%d:p:h"):format(context.bufnr))
|
|
||||||
end,
|
|
||||||
show_hidden_files_by_default = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- }
|
|
||||||
})
|
|
||||||
@ -1,29 +0,0 @@
|
|||||||
-- vim.pack.add({"https://github.com/olimorris/codecompanion.nvim"})
|
|
||||||
-- require("codecompanion").setup({
|
|
||||||
-- strategies = {
|
|
||||||
-- chat = {
|
|
||||||
-- adapter = 'anthropic',
|
|
||||||
-- },
|
|
||||||
-- inline = {
|
|
||||||
-- adapter = 'anthropic',
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
-- adapters = {
|
|
||||||
-- http = {
|
|
||||||
-- anthropic = function()
|
|
||||||
-- return require("codecompanion.adapters").extend("anthropic", {
|
|
||||||
-- env = {
|
|
||||||
-- -- Enter API KEY Here
|
|
||||||
-- api_key = ""
|
|
||||||
-- },
|
|
||||||
-- })
|
|
||||||
-- end,
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
-- -- NOTE: The log_level is in `opts.opts`
|
|
||||||
-- opts = {
|
|
||||||
-- opts = {
|
|
||||||
-- log_level = "DEBUG",
|
|
||||||
-- }
|
|
||||||
-- }
|
|
||||||
-- })
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
vim.pack.add({
|
|
||||||
"https://github.com/oskarnurm/koda.nvim",
|
|
||||||
"https://github.com/eldritch-theme/eldritch.nvim",
|
|
||||||
"https://github.com/audibleblink/hackthebox.vim",
|
|
||||||
"https://github.com/craftzdog/solarized-osaka.nvim",
|
|
||||||
"https://github.com/philosofonusus/morta.nvim",
|
|
||||||
"https://github.com/Mofiqul/dracula.nvim",
|
|
||||||
"https://github.com/EdenEast/nightfox.nvim",
|
|
||||||
-- "https://github.com/rebelot/kanagawa.nvim",
|
|
||||||
"https://github.com/catppuccin/nvim",
|
|
||||||
"https://github.com/folke/tokyonight.nvim",
|
|
||||||
"https://github.com/bluz71/vim-nightfly-colors",
|
|
||||||
"https://github.com/Bekaboo/deadcolumn.nvim",
|
|
||||||
})
|
|
||||||
vim.cmd('colorscheme dracula')
|
|
||||||
|
|
||||||
@ -1,34 +0,0 @@
|
|||||||
vim.pack.add({
|
|
||||||
"https://github.com/nvimdev/dashboard-nvim"
|
|
||||||
})
|
|
||||||
require("dashboard").setup({
|
|
||||||
theme = 'hyper',
|
|
||||||
config = {
|
|
||||||
week_header = {
|
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
shortcut = {
|
|
||||||
{ desc = ' Update', group = '@property', action = 'lua vim.pack.update()', key = 'u' },
|
|
||||||
{
|
|
||||||
icon = ' ',
|
|
||||||
icon_hl = '@variable',
|
|
||||||
desc = 'Files',
|
|
||||||
group = 'Label',
|
|
||||||
action = 'Telescope find_files',
|
|
||||||
key = 'f',
|
|
||||||
},
|
|
||||||
-- {
|
|
||||||
-- desc = ' NeoWarrior',
|
|
||||||
-- group = 'DiagnosticHint',
|
|
||||||
-- action = 'NeoWarriorOpen current',
|
|
||||||
-- key = 'n',
|
|
||||||
-- },
|
|
||||||
-- {
|
|
||||||
-- desc = ' dotfiles',
|
|
||||||
-- group = 'Number',
|
|
||||||
-- action = 'Telescope dotfiles',
|
|
||||||
-- key = 'd',
|
|
||||||
-- },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
@ -1,17 +0,0 @@
|
|||||||
vim.pack.add({"https://github.com/lewis6991/hover.nvim"})
|
|
||||||
require("hover").setup({
|
|
||||||
init = function()
|
|
||||||
require("hover.providers.lsp")
|
|
||||||
require('hover.providers.man')
|
|
||||||
require('hover.providers.dictionary')
|
|
||||||
end,
|
|
||||||
preview_opts = {
|
|
||||||
border = nil
|
|
||||||
},
|
|
||||||
preview_window = false,
|
|
||||||
title = true
|
|
||||||
})
|
|
||||||
-- Setup keymaps
|
|
||||||
vim.keymap.set("n", "K", require("hover").hover, {desc = "hover.nvim"})
|
|
||||||
vim.keymap.set("n", "gK", require("hover").hover_select, {desc = "hover.nvim (select)"})
|
|
||||||
|
|
||||||
@ -1,184 +0,0 @@
|
|||||||
vim.pack.add({
|
|
||||||
----------------------------------------------------------------
|
|
||||||
-- LSP and Autocomplete Plugins
|
|
||||||
-- They should be pulled first!
|
|
||||||
-----------------------------------------------------------------
|
|
||||||
"https://github.com/rachartier/tiny-inline-diagnostic.nvim",
|
|
||||||
"https://github.com/L3MON4D3/LuaSnip",
|
|
||||||
------------------------------------------------------------
|
|
||||||
-- General Functionality
|
|
||||||
------------------------------------------------------------
|
|
||||||
"https://github.com/Flemma-Dev/flemma.nvim",
|
|
||||||
"https://github.com/ravitemer/mcphub.nvim",
|
|
||||||
"https://github.com/ravitemer/codecompanion-history.nvim",
|
|
||||||
"https://github.com/folke/noice.nvim",
|
|
||||||
"https://github.com/epwalsh/obsidian.nvim",
|
|
||||||
"https://github.com/nvim-lua/plenary.nvim",
|
|
||||||
"https://github.com/nvim-lualine/lualine.nvim",
|
|
||||||
"https://github.com/rcarriga/nvim-notify",
|
|
||||||
"https://github.com/kenn7/vim-arsync",
|
|
||||||
"https://github.com/nacro90/numb.nvim",
|
|
||||||
"https://github.com/nvim-tree/nvim-tree.lua",
|
|
||||||
"https://github.com/aserowy/tmux.nvim",
|
|
||||||
"https://github.com/MunifTanjim/nui.nvim",
|
|
||||||
"https://github.com/roobert/f-string-toggle.nvim",
|
|
||||||
"https://github.com/rafamadriz/friendly-snippets",
|
|
||||||
"https://github.com/nvim-tree/nvim-web-devicons",
|
|
||||||
"https://github.com/romgrk/barbar.nvim",
|
|
||||||
"https://github.com/folke/trouble.nvim",
|
|
||||||
"https://github.com/lewis6991/gitsigns.nvim",
|
|
||||||
"https://github.com/jakewvincent/mkdnflow.nvim",
|
|
||||||
"https://github.com/j-hui/fidget.nvim",
|
|
||||||
"https://github.com/lukas-reineke/indent-blankline.nvim",
|
|
||||||
"https://github.com/folke/todo-comments.nvim",
|
|
||||||
"https://github.com/Bekaboo/deadcolumn.nvim",
|
|
||||||
"https://github.com/HiPhish/rainbow-delimiters.nvim",
|
|
||||||
"https://github.com/wakatime/vim-wakatime",
|
|
||||||
"https://github.com/folke/which-key.nvim",
|
|
||||||
"https://github.com/akinsho/toggleterm.nvim",
|
|
||||||
"https://github.com/nvim-mini/mini.nvim",
|
|
||||||
"https://github.com/prabirshrestha/async.vim",
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
require('tiny-inline-diagnostic').setup(vim.diagnostic.config({ virtual_text = true }))
|
|
||||||
require("luasnip").setup({
|
|
||||||
build = "make install_jsregexp",
|
|
||||||
history = true,
|
|
||||||
delete_check_events = "TextChanged",
|
|
||||||
})
|
|
||||||
require("luasnip").filetype_extend("liquid", {"html","css","javascript","python"})
|
|
||||||
require("luasnip.loaders.from_vscode").lazy_load()
|
|
||||||
require("luasnip.loaders.from_vscode").load({})
|
|
||||||
require("lualine").setup({
|
|
||||||
options = {
|
|
||||||
theme = "nord",
|
|
||||||
},
|
|
||||||
sections = {
|
|
||||||
lualine_x = {
|
|
||||||
{
|
|
||||||
require("noice").api.statusline.mode.get,
|
|
||||||
cond = require("noice").api.statusline.mode.has,
|
|
||||||
color = { fg = "#ff9e64" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{"fileformat", symbols = { unix = " " }, "filetype" },
|
|
||||||
})
|
|
||||||
require("obsidian").setup({
|
|
||||||
workspaces = {
|
|
||||||
{
|
|
||||||
name = "Work",
|
|
||||||
path = "~/Documents/Work",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
require("numb").setup({
|
|
||||||
show_cursorline = false,
|
|
||||||
show_numbers = false, -- Enable 'number' for the window while peeking
|
|
||||||
hide_relativenumbers = false, -- Enable turning off 'relativenumber' for the window while peeking
|
|
||||||
number_only = true, -- Peek only when the command is only a number instead of when it starts with a number
|
|
||||||
centered_peeking = true,
|
|
||||||
})
|
|
||||||
require("nvim-tree").setup({
|
|
||||||
sort_by = "case_sensitive",
|
|
||||||
view = {
|
|
||||||
width = 30,
|
|
||||||
},
|
|
||||||
renderer = {
|
|
||||||
group_empty = true,
|
|
||||||
},
|
|
||||||
filters = {
|
|
||||||
dotfiles = true,
|
|
||||||
},
|
|
||||||
diagnostics = {
|
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
require("f-string-toggle").setup({
|
|
||||||
key_binding = "<leader>g"
|
|
||||||
})
|
|
||||||
require("barbar").setup({
|
|
||||||
})
|
|
||||||
require("trouble").setup({
|
|
||||||
})
|
|
||||||
require("which-key").setup({
|
|
||||||
add = ({
|
|
||||||
{ "<leader>?", function() require("which-key").show({ global = false }) end,
|
|
||||||
desc = "Buffer Local Keymaps (which-key)",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
})
|
|
||||||
require("notify").setup({
|
|
||||||
-- timeout = 5000,
|
|
||||||
-- render = "minimal",
|
|
||||||
-- stages = "fade_in_slide_out",
|
|
||||||
-- on_open = function(win)
|
|
||||||
-- vim.api.nvim_win_set_config(win, { focusable = false })
|
|
||||||
-- end,
|
|
||||||
-- vim.keymap.set("n", "<Esc>", function()
|
|
||||||
-- require("notify").dismiss()
|
|
||||||
-- end, { desc = "dismiss notify popup and clear hlsearch" })
|
|
||||||
-- vim.api.nvim_notify = require('notify')
|
|
||||||
-- vim.notify = require('notify')
|
|
||||||
-- end,
|
|
||||||
})
|
|
||||||
require("toggleterm").setup({
|
|
||||||
opts = {
|
|
||||||
direction = 'float',
|
|
||||||
}
|
|
||||||
})
|
|
||||||
-- ------------------------------------------------------------
|
|
||||||
-- -- echasnovski's Minis get a section of their own...
|
|
||||||
-- ------------------------------------------------------------
|
|
||||||
require("mini.move").setup({
|
|
||||||
mappings = {
|
|
||||||
left = '<S-left>',
|
|
||||||
right = '<S-right>',
|
|
||||||
down = '<S-down>',
|
|
||||||
up = '<S-up>',
|
|
||||||
|
|
||||||
line_left = '<S-left>',
|
|
||||||
line_right = '<S-right>',
|
|
||||||
line_down = '<S-down>',
|
|
||||||
line_up = '<S-up>',
|
|
||||||
}})
|
|
||||||
require("mini.trailspace").setup({
|
|
||||||
})
|
|
||||||
require("mini.surround").setup({
|
|
||||||
})
|
|
||||||
require("mini.pairs").setup({
|
|
||||||
})
|
|
||||||
require("mini.fuzzy").setup({
|
|
||||||
})
|
|
||||||
require("mini.hipatterns").setup({
|
|
||||||
-- highlighters = {
|
|
||||||
-- hex_color = gen_highlighter.hex_color(),
|
|
||||||
-- hsl_color = {
|
|
||||||
-- pattern = "hsl%(%d+,? %d+,? %d+%)",
|
|
||||||
-- group = function(_, match)
|
|
||||||
-- local utils = require("solarized-osaka.hsl")
|
|
||||||
-- local nh, ns, nl = match:match("hsl%((%d+),? (%d+),? (%d+)%)")
|
|
||||||
-- local h, s, l = tonumber(nh), tonumber(ns), tonumber(nl)
|
|
||||||
-- local hex_color = utils.hslToHex(h, s, l)
|
|
||||||
-- return MiniHipatterns.compute_hex_color_group(hex_color, "bg")
|
|
||||||
-- end,
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
})
|
|
||||||
require("mini.indentscope").setup({
|
|
||||||
})
|
|
||||||
require("mini.diff").setup({
|
|
||||||
})
|
|
||||||
|
|
||||||
----------------------------------------------
|
|
||||||
--- Custom Plugins and Tests
|
|
||||||
----------------------------------------------
|
|
||||||
-- {
|
|
||||||
-- dir = '/Users/normrasmussen/Documents/Projects/markdown_organizer.nvim',
|
|
||||||
-- dev = true,
|
|
||||||
-- name = 'MarkdownOrganizerPlugin',
|
|
||||||
-- },
|
|
||||||
-- }
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,186 +0,0 @@
|
|||||||
vim.api.nvim_create_autocmd('PackChanged', {
|
|
||||||
callback = function(ev)
|
|
||||||
if ev.data.spec.name == 'telescope' then
|
|
||||||
local res = vim.system({ 'cmake', '-S.', '-Bbuild', '-DCMAKE_BUILD_TYPE=Release', 'cmake', '--build', 'build', '--config', 'Release', '--target', 'install' }, { cwd = ev.data.path })
|
|
||||||
if vim.v.shell_error ~= 0 then
|
|
||||||
vim.notify('Failed to compile telescope: ' .. res, vim.log.levels.ERROR)
|
|
||||||
else
|
|
||||||
vim.notify('Successfully compiled telescope', vim.log.levels.INFO)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
vim.pack.add({
|
|
||||||
"https://github.com/nvim-telescope/telescope.nvim",
|
|
||||||
"https://github.com/nvim-lua/plenary.nvim",
|
|
||||||
"https://github.com/nvim-telescope/telescope-file-browser.nvim",
|
|
||||||
"https://github.com/nvim-telescope/telescope-fzf-native.nvim",
|
|
||||||
"https://github.com/nvim-telescope/telescope-live-grep-args.nvim",
|
|
||||||
"https://github.com/jonarrien/telescope-cmdline.nvim",
|
|
||||||
"https://github.com/BurntSushi/ripgrep",
|
|
||||||
})
|
|
||||||
local builtin = require('telescope.builtin')
|
|
||||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })
|
|
||||||
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Telescope live grep' })
|
|
||||||
vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = 'Telescope buffers' })
|
|
||||||
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = 'Telescope help tags' })
|
|
||||||
|
|
||||||
require("telescope").setup({
|
|
||||||
defaults = {
|
|
||||||
border = true,
|
|
||||||
prompt_title = false,
|
|
||||||
results_title = false,
|
|
||||||
color_devicons = false,
|
|
||||||
layout_strategy = 'horizontal',
|
|
||||||
borderchars = {
|
|
||||||
prompt = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
|
||||||
results = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
|
||||||
preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
|
||||||
},
|
|
||||||
layout_config = {
|
|
||||||
bottom_pane = {
|
|
||||||
height = 20,
|
|
||||||
preview_cutoff = 120,
|
|
||||||
prompt_position = 'top'
|
|
||||||
},
|
|
||||||
center = {
|
|
||||||
height = 0.4,
|
|
||||||
preview_cutoff = 40,
|
|
||||||
prompt_position = 'top',
|
|
||||||
width = 0.7
|
|
||||||
},
|
|
||||||
horizontal = {
|
|
||||||
prompt_position = 'top',
|
|
||||||
preview_cutoff = 40,
|
|
||||||
height = 0.9,
|
|
||||||
width = 0.8
|
|
||||||
}
|
|
||||||
},
|
|
||||||
sorting_strategy = 'ascending',
|
|
||||||
prompt_prefix = ' ',
|
|
||||||
selection_caret = ' → ',
|
|
||||||
entry_prefix = ' ',
|
|
||||||
file_ignore_patterns = {'node_modules'},
|
|
||||||
path_display = { 'truncate' },
|
|
||||||
results_title = false,
|
|
||||||
prompt_title =false,
|
|
||||||
preview = {
|
|
||||||
treesitter = {
|
|
||||||
enable = {
|
|
||||||
'css', 'dockerfile', 'elixir', 'erlang', 'zsh',
|
|
||||||
'html', 'http', 'javascript', 'json', 'lua', 'php',
|
|
||||||
'python', 'regex', 'ruby', 'rust', 'scss',
|
|
||||||
'typescript', 'yaml', 'markdown', 'bash', 'c',
|
|
||||||
'cmake', 'comment', 'cpp', 'dart', 'go', 'jsdoc',
|
|
||||||
'json5', 'jsonc', 'llvm', 'make', 'ninja',
|
|
||||||
'todotxt', 'toml', 'help'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mappings = {
|
|
||||||
i = {
|
|
||||||
['<esc>'] = require('telescope.actions').close,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
extensions = {
|
|
||||||
file_browser = {
|
|
||||||
mappings = {
|
|
||||||
["i"] = {
|
|
||||||
["<C-c>"] = require("telescope").extensions.file_browser.actions.create,
|
|
||||||
["<C-y>"] = require("telescope").extensions.file_browser.actions.copy,
|
|
||||||
["<C-r>"] = require("telescope").extensions.file_browser.actions.rename,
|
|
||||||
["<C-w>"] = require("telescope").extensions.file_browser.actions.goto_cwd,
|
|
||||||
["<C-o>"] = require("telescope").extensions.file_browser.actions.open,
|
|
||||||
["<C-d>"] = require("telescope").extensions.file_browser.actions.remove,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
cmdline = {
|
|
||||||
mappings = {
|
|
||||||
complete = '<Tab>',
|
|
||||||
run_selection = '<C-CR>',
|
|
||||||
run_input = '<CR>',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
fzf = {
|
|
||||||
fuzzy = true, -- false will only do exact matching
|
|
||||||
override_generic_sorter = true, -- override the generic sorter
|
|
||||||
override_file_sorter = true, -- override the file sorter
|
|
||||||
case_mode = 'smart_case', -- other options: 'ignore_case' or 'respect_case'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
local g = vim.g
|
|
||||||
local fb_actions = require("telescope").extensions.file_browser.actions
|
|
||||||
local themes = {
|
|
||||||
popup_list = {
|
|
||||||
theme = 'popup_list',
|
|
||||||
border = true,
|
|
||||||
preview = false,
|
|
||||||
prompt_title = false,
|
|
||||||
results_title = false,
|
|
||||||
sorting_strategy = 'ascending',
|
|
||||||
layout_strategy = 'center',
|
|
||||||
borderchars = {
|
|
||||||
prompt = { '─', '│', '─', '│', '┌', '┐', '┤', '└' },
|
|
||||||
results = { '─', '│', '─', '│', '├', '┤', '┘', '└' },
|
|
||||||
preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
popup_extended = {
|
|
||||||
theme = 'popup_extended',
|
|
||||||
prompt_title = false,
|
|
||||||
results_title = false,
|
|
||||||
layout_strategy = 'center',
|
|
||||||
layout_config = {
|
|
||||||
width = 0.7,
|
|
||||||
height = 0.3,
|
|
||||||
mirror = true,
|
|
||||||
preview_cutoff = 1,
|
|
||||||
},
|
|
||||||
borderchars = {
|
|
||||||
prompt = { '─', '│', ' ', '│', '┌', '┐', '│', '│' },
|
|
||||||
results = { '─', '│', '─', '│', '├', '┤', '┘', '└' },
|
|
||||||
preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
command_pane = {
|
|
||||||
theme = 'command_pane',
|
|
||||||
preview = false,
|
|
||||||
prompt_title = false,
|
|
||||||
results_title = false,
|
|
||||||
sorting_strategy = 'descending',
|
|
||||||
layout_strategy = 'bottom_pane',
|
|
||||||
layout_config = {
|
|
||||||
height = 13,
|
|
||||||
preview_cutoff = 1,
|
|
||||||
prompt_position = 'bottom'
|
|
||||||
},
|
|
||||||
},
|
|
||||||
ivy_plus = {
|
|
||||||
theme = 'ivy_plus',
|
|
||||||
preview = false,
|
|
||||||
prompt_title = false,
|
|
||||||
results_title = false,
|
|
||||||
layout_strategy = 'bottom_pane',
|
|
||||||
layout_config = {
|
|
||||||
height = 13,
|
|
||||||
preview_cutoff = 120,
|
|
||||||
prompt_position = 'bottom'
|
|
||||||
},
|
|
||||||
borderchars = {
|
|
||||||
prompt = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
|
||||||
results = { '─', '│', '─', '│', '┌', '┬', '┴', '└' },
|
|
||||||
preview = { '─', '│', ' ', ' ', '─', '┐', '│', ' ' },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
end
|
|
||||||
})
|
|
||||||
require("telescope").load_extension("file_browser")
|
|
||||||
require("telescope").load_extension("live_grep_args")
|
|
||||||
-- require("telescope").load_extension("fzf-native")
|
|
||||||
require("telescope").load_extension("cmdline")
|
|
||||||
@ -1,32 +0,0 @@
|
|||||||
vim.pack.add({
|
|
||||||
"https://github.com/nvim-treesitter/nvim-treesitter"
|
|
||||||
})
|
|
||||||
require("nvim-treesitter").setup({
|
|
||||||
ensure_installed = {
|
|
||||||
'bash', 'css', 'html', 'javascript', 'json', 'lua', 'python',
|
|
||||||
'vim', 'yaml', 'typescript', 'markdown',
|
|
||||||
},
|
|
||||||
sync_install = true,
|
|
||||||
highlight = {
|
|
||||||
enable = true,
|
|
||||||
disable = function(lang, bufnr)
|
|
||||||
return lang == "py" and vim.api.nvim_buf_line_count(bufnr) > 5000
|
|
||||||
end,
|
|
||||||
additional_vim_regex_highlighting = true,
|
|
||||||
},
|
|
||||||
indent = { enable = true },
|
|
||||||
})
|
|
||||||
-- disable = function(lang, buf)
|
|
||||||
-- local max_filesize = 100 * 1024 -- 100 KB
|
|
||||||
-- local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
|
||||||
-- if ok and stats and stats.size > max_filesize then
|
|
||||||
-- return true
|
|
||||||
-- end
|
|
||||||
-- end, disable = function(lang, buf)
|
|
||||||
-- local max_filesize = 100 * 1024 -- 100 KB
|
|
||||||
-- local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
|
||||||
-- if ok and stats and stats.size > max_filesize then
|
|
||||||
-- return true
|
|
||||||
-- end
|
|
||||||
-- end,
|
|
||||||
-- })
|
|
||||||
@ -344,6 +344,3 @@ submodules
|
|||||||
Artera
|
Artera
|
||||||
Qualtrics
|
Qualtrics
|
||||||
Discoverability
|
Discoverability
|
||||||
programatically
|
|
||||||
#ASEURL/!
|
|
||||||
BASEURL/!
|
|
||||||
|
|||||||
Binary file not shown.
1
nvim/init.lua
Symbolic link
1
nvim/init.lua
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
.config/nvim/init.lua
|
||||||
1
nvim/lazy-lock.json
Symbolic link
1
nvim/lazy-lock.json
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
.config/nvim/lazy-lock.json
|
||||||
1
nvim/spell
Symbolic link
1
nvim/spell
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
.config/nvim/spell
|
||||||
228
tmux-powerline/config.sh.default
Normal file
228
tmux-powerline/config.sh.default
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
# Default configuration file for tmux-powerline.
|
||||||
|
# Modeline {
|
||||||
|
# vi: foldmarker={,} foldmethod=marker foldlevel=0 tabstop=4 filetype=sh
|
||||||
|
# }
|
||||||
|
|
||||||
|
# General {
|
||||||
|
# Show which segment fails and its exit code.
|
||||||
|
export TMUX_POWERLINE_DEBUG_MODE_ENABLED="false"
|
||||||
|
# Use patched font symbols.
|
||||||
|
export TMUX_POWERLINE_PATCHED_FONT_IN_USE="true"
|
||||||
|
|
||||||
|
# The theme to use.
|
||||||
|
export TMUX_POWERLINE_THEME="default"
|
||||||
|
# Overlay directory to look for themes. There you can put your own themes outside the repo. Fallback will still be the "themes" directory in the repo.
|
||||||
|
export TMUX_POWERLINE_DIR_USER_THEMES="${XDG_CONFIG_HOME:-$HOME/.config}/tmux-powerline/themes"
|
||||||
|
# Overlay directory to look for segments. There you can put your own segments outside the repo. Fallback will still be the "segments" directory in the repo.
|
||||||
|
export TMUX_POWERLINE_DIR_USER_SEGMENTS="${XDG_CONFIG_HOME:-$HOME/.config}/tmux-powerline/segments"
|
||||||
|
|
||||||
|
# The initial visibility of the status bar. Can be {"on, off"}.
|
||||||
|
export TMUX_POWERLINE_STATUS_VISIBILITY="on"
|
||||||
|
# The status bar refresh interval in seconds.
|
||||||
|
# Note that events that force-refresh the status bar (such as window renaming) will ignore this.
|
||||||
|
export TMUX_POWERLINE_STATUS_INTERVAL="1"
|
||||||
|
# The location of the window list. Can be {"absolute-centre, centre, left, right"}.
|
||||||
|
# Note that "absolute-centre" is only supported on `tmux -V` >= 3.2.
|
||||||
|
export TMUX_POWERLINE_STATUS_JUSTIFICATION="centre"
|
||||||
|
|
||||||
|
# The maximum length of the left status bar.
|
||||||
|
export TMUX_POWERLINE_STATUS_LEFT_LENGTH="60"
|
||||||
|
# The maximum length of the right status bar.
|
||||||
|
export TMUX_POWERLINE_STATUS_RIGHT_LENGTH="90"
|
||||||
|
|
||||||
|
# Uncomment these if you want to enable tmux bindings for muting (hiding) one of the status bars.
|
||||||
|
# E.g. this example binding would mute the left status bar when pressing <prefix> followed by Ctrl-[
|
||||||
|
#export TMUX_POWERLINE_MUTE_LEFT_KEYBINDING="C-["
|
||||||
|
#export TMUX_POWERLINE_MUTE_RIGHT_KEYBINDING="C-]"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# battery.sh {
|
||||||
|
# How to display battery remaining. Can be {percentage, cute}.
|
||||||
|
export TMUX_POWERLINE_SEG_BATTERY_TYPE="percentage"
|
||||||
|
# How may hearts to show if cute indicators are used.
|
||||||
|
export TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS="5"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# date.sh {
|
||||||
|
# date(1) format for the date. If you don't, for some reason, like ISO 8601 format you might want to have "%D" or "%m/%d/%Y".
|
||||||
|
export TMUX_POWERLINE_SEG_DATE_FORMAT="%F"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# disk_usage.sh {
|
||||||
|
# Filesystem to retrieve disk space information. Any from the filesystems available (run "df | awk '{print }'" to check them).
|
||||||
|
export TMUX_POWERLINE_SEG_DISK_USAGE_FILESYSTEM="/"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# earthquake.sh {
|
||||||
|
# The data provider to use. Currently only "goo" is supported.
|
||||||
|
export TMUX_POWERLINE_SEG_EARTHQUAKE_DATA_PROVIDER="goo"
|
||||||
|
# How often to update the earthquake data in seconds.
|
||||||
|
# Note: This is not an early warning detector, use this
|
||||||
|
# to be informed about recent earthquake magnitudes in your
|
||||||
|
# area. If this is too often, goo may decide to ban you form
|
||||||
|
# their server
|
||||||
|
export TMUX_POWERLINE_SEG_EARTHQUAKE_UPDATE_PERIOD="600"
|
||||||
|
# Only display information when earthquakes are within this many minutes
|
||||||
|
export TMUX_POWERLINE_SEG_EARTHQUAKE_ALERT_TIME_WINDOW="60"
|
||||||
|
# Display time with this format
|
||||||
|
export TMUX_POWERLINE_SEG_EARTHQUAKE_TIME_FORMAT='(%H:%M)'
|
||||||
|
# Display only if magnitude is greater or equal to this number
|
||||||
|
export TMUX_POWERLINE_SEG_EARTHQUAKE_MIN_MAGNITUDE="3"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# gcalcli.sh {
|
||||||
|
# gcalcli uses 24hr time format by default - if you want to see 12hr time format, set TMUX_POWERLINE_SEG_GCALCLI_MILITARY_TIME_DEFAULT to 0
|
||||||
|
export TMUX_POWERLINE_SEG_GCALCLI_24HR_TIME_FORMAT="1"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# hostname.sh {
|
||||||
|
# Use short or long format for the hostname. Can be {"short, long"}.
|
||||||
|
export TMUX_POWERLINE_SEG_HOSTNAME_FORMAT="short"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# macos_notification_count.sh {
|
||||||
|
# App ids to query in notification center, separated by space
|
||||||
|
# To get the app id that is associated with a specific app run:
|
||||||
|
# sqlite3 -list "/var/folders/14/xy84d13x3091_xgcmy34gk8w0000gp/0//com.apple.notificationcenter/db/db" 'select * from app_info'
|
||||||
|
# The first column contains the app ids
|
||||||
|
# "5" is the app id of Messages.app
|
||||||
|
# Only "banner" notifications are supported (see settings in the notification center)
|
||||||
|
export TMUX_POWERLINE_SEG_MACOS_NOTIFICATION_COUNT_APPIDS="5"
|
||||||
|
# Notification symbol
|
||||||
|
export TMUX_POWERLINE_SEG_MACOS_NOTIFICATION_COUNT_CHAR="💬"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# mailcount.sh {
|
||||||
|
# Mailbox type to use. Can be any of {apple_mail, gmail, maildir, mbox, mailcheck}
|
||||||
|
export TMUX_POWERLINE_SEG_MAILCOUNT_MAILBOX_TYPE=""
|
||||||
|
|
||||||
|
## Gmail
|
||||||
|
# Enter your Gmail username here WITH OUT @gmail.com.( OR @domain)
|
||||||
|
export TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_USERNAME=""
|
||||||
|
# Google password. Recomenned to use application specific password (https://accounts.google.com/b/0/IssuedAuthSubTokens) Leave this empty to get password from OS X keychain.
|
||||||
|
# For OSX users : MAKE SURE that you add a key to the keychain in the format as follows
|
||||||
|
# Keychain Item name : http://<value-you-fill-in-server-variable-below>
|
||||||
|
# Account name : <username-below>@<server-below>
|
||||||
|
# Password : Your password ( Once again, try to use 2 step-verification and application-specific password)
|
||||||
|
# See http://support.google.com/accounts/bin/answer.py?hl=en&answer=185833 for more info.
|
||||||
|
export TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_PASSWORD=""
|
||||||
|
# Domain name that will complete your email. For normal GMail users it probably is "gmail.com but can be "foo.tld" for Google Apps users.
|
||||||
|
export TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_SERVER="gmail.com"
|
||||||
|
# How often in minutes to check for new mails.
|
||||||
|
export TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_INTERVAL="5"
|
||||||
|
|
||||||
|
## Maildir
|
||||||
|
# Path to the maildir to check.
|
||||||
|
export TMUX_POWERLINE_SEG_MAILCOUNT_MAILDIR_INBOX="/Users/normrasmussen/.mail/inbox/new"
|
||||||
|
|
||||||
|
## mbox
|
||||||
|
# Path to the mbox to check.
|
||||||
|
export TMUX_POWERLINE_SEG_MAILCOUNT_MBOX_INBOX=""
|
||||||
|
|
||||||
|
## mailcheck
|
||||||
|
# Optional path to mailcheckrc
|
||||||
|
export TMUX_POWERLINE_SEG_MAILCOUNT_MAILCHECKRC="/Users/normrasmussen/.mailcheckrc"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# now_playing.sh {
|
||||||
|
# Music player to use. Can be any of {audacious, banshee, cmus, apple_music, itunes, lastfm, plexamp, mocp, mpd, mpd_simple, pithos, playerctl, rdio, rhythmbox, spotify, spotify_wine, file}.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_MUSIC_PLAYER="spotify"
|
||||||
|
# File to be read in case the song is being read from a file
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_FILE_NAME=""
|
||||||
|
# Maximum output length.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_MAX_LEN="40"
|
||||||
|
# How to handle too long strings. Can be {trim, roll}.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_TRIM_METHOD="trim"
|
||||||
|
# Charcters per second to roll if rolling trim method is used.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_ROLL_SPEED="2"
|
||||||
|
|
||||||
|
# Hostname for MPD server in the format "[password@]host"
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_HOST="localhost"
|
||||||
|
# Port the MPD server is running on.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_PORT="6600"
|
||||||
|
# Song display format for mpd_simple. See mpc(1) for delimiters.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_SIMPLE_FORMAT="%artist% - %title%"
|
||||||
|
# Song display format for playerctl. see "Format Strings" in playerctl(1).
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_PLAYERCTL_FORMAT="{{ artist }} - {{ title }}"
|
||||||
|
# Song display format for rhythmbox. see "FORMATS" in rhythmbox-client(1).
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_RHYTHMBOX_FORMAT="%aa - %tt"
|
||||||
|
|
||||||
|
# Last.fm
|
||||||
|
# Set up steps for Last.fm
|
||||||
|
# 1. Make sure jq(1) is installed on the system.
|
||||||
|
# 2. Create a new API application at https://www.last.fm/api/account/create (name it tmux-powerline) and copy the API key and insert it below in the setting TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_API_KEY
|
||||||
|
# 3. Make sure the API can access your recently played song by going to you user privacy settings https://www.last.fm/settings/privacy and make sure "Hide recent listening information" is UNCHECKED.
|
||||||
|
# Username for Last.fm if that music player is used.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_USERNAME=""
|
||||||
|
# API Key for the API.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_API_KEY=""
|
||||||
|
# How often in seconds to update the data from last.fm.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_UPDATE_PERIOD="30"
|
||||||
|
# Fancy char to display before now playing track
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_NOTE_CHAR="♫"
|
||||||
|
|
||||||
|
# Plexamp
|
||||||
|
# Set up steps for Plexamp
|
||||||
|
# 1. Make sure jq(1) is installed on the system.
|
||||||
|
# 2. Make sure you have an instance of Tautulli that is accessible by the computer running tmux-powerline.
|
||||||
|
# Username for Plexamp if that music player is used.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_PLEXAMP_USERNAME=""
|
||||||
|
# Hostname for Tautulli server in the format "[password@]host"
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_PLEXAMP_TAUTULLI_HOST=""
|
||||||
|
# API Key for Tautulli.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_PLEXAMP_TAUTULLI_API_KEY=""
|
||||||
|
# How often in seconds to update the data from Plexamp.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_PLEXAMP_UPDATE_PERIOD="30"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# pwd.sh {
|
||||||
|
# Maximum length of output.
|
||||||
|
export TMUX_POWERLINE_SEG_PWD_MAX_LEN="40"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# time.sh {
|
||||||
|
# date(1) format for the time. Americans might want to have "%I:%M %p".
|
||||||
|
export TMUX_POWERLINE_SEG_TIME_FORMAT="%H:%M"
|
||||||
|
# Change this to display a different timezone than the system default.
|
||||||
|
# Use TZ Identifier like "America/Los_Angeles"
|
||||||
|
export TMUX_POWERLINE_SEG_TIME_TZ=""
|
||||||
|
# }
|
||||||
|
|
||||||
|
# tmux_mem_cpu_load.sh {
|
||||||
|
# Arguments passed to tmux-mem-cpu-load.
|
||||||
|
# See https://github.com/thewtex/tmux-mem-cpu-load for all available options.
|
||||||
|
export TMUX_POWERLINE_SEG_TMUX_MEM_CPU_LOAD_ARGS="-v"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# tmux_session_info.sh {
|
||||||
|
# Session info format to feed into the command: tmux display-message -p
|
||||||
|
# For example, if FORMAT is '[ #S ]', the command is: tmux display-message -p '[ #S ]'
|
||||||
|
export TMUX_POWERLINE_SEG_TMUX_SESSION_INFO_FORMAT="#S:#I.#P"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# utc_time.sh {
|
||||||
|
# date(1) format for the UTC time.
|
||||||
|
export TMUX_POWERLINE_SEG_UTC_TIME_FORMAT="%H:%M %Z"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# vcs_branch.sh {
|
||||||
|
# Max length of the branch name.
|
||||||
|
export TMUX_POWERLINE_SEG_VCS_BRANCH_MAX_LEN="24"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# weather.sh {
|
||||||
|
# The data provider to use. Currently only "yahoo" is supported.
|
||||||
|
export TMUX_POWERLINE_SEG_WEATHER_DATA_PROVIDER="yrno"
|
||||||
|
# What unit to use. Can be any of {c,f,k}.
|
||||||
|
export TMUX_POWERLINE_SEG_WEATHER_UNIT="c"
|
||||||
|
# How often to update the weather in seconds.
|
||||||
|
export TMUX_POWERLINE_SEG_WEATHER_UPDATE_PERIOD="600"
|
||||||
|
# Name of GNU grep binary if in PATH, or path to it.
|
||||||
|
export TMUX_POWERLINE_SEG_WEATHER_GREP="grep"
|
||||||
|
# Location of the JSON parser, jq
|
||||||
|
export TMUX_POWERLINE_SEG_WEATHER_JSON="jq"
|
||||||
|
# Your location
|
||||||
|
# Latitude and Longtitude for use with yr.no
|
||||||
|
TMUX_POWERLINE_SEG_WEATHER_LAT=""
|
||||||
|
TMUX_POWERLINE_SEG_WEATHER_LON=""
|
||||||
|
# }
|
||||||
1
tmux/.config/tmux/plugins/tmux
Submodule
1
tmux/.config/tmux/plugins/tmux
Submodule
Submodule tmux/.config/tmux/plugins/tmux added at 79068c40b3
Submodule tmux/.config/tmux/plugins/tmux-continuum updated: 0698e8f4b1...3e4bc35da4
1
tmux/.config/tmux/plugins/tmux-powerline
Submodule
1
tmux/.config/tmux/plugins/tmux-powerline
Submodule
Submodule tmux/.config/tmux/plugins/tmux-powerline added at 25cf067040
Submodule tmux/.config/tmux/plugins/tmux-which-key deleted from 1f419775ca
@ -77,8 +77,5 @@ bind % split-window -h -c "#{pane_current_path}"
|
|||||||
# Vim-Tmux-Navigator plugin/
|
# Vim-Tmux-Navigator plugin/
|
||||||
set -g @plugin 'christoomey/vim-tmux-navigator'
|
set -g @plugin 'christoomey/vim-tmux-navigator'
|
||||||
|
|
||||||
# Which Key for Tmux
|
|
||||||
set -g @plugin 'alexwforsythe/tmux-which-key'
|
|
||||||
|
|
||||||
# Initialize TMUX plugin manager - kept at bottom of file
|
# Initialize TMUX plugin manager - kept at bottom of file
|
||||||
run '~/.dotfiles/tmux/.config/tmux/plugins/tpm/tpm'
|
run '~/.dotfiles/tmux/.config/tmux/plugins/tpm/tpm'
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
69.120.56.29
|
|
||||||
@ -1 +0,0 @@
|
|||||||
69.120.56.29
|
|
||||||
@ -1,5 +0,0 @@
|
|||||||
local wezterm = require 'wezterm'
|
|
||||||
local config = wezterm.config_builder()
|
|
||||||
config.window_background_opacity = 0.9
|
|
||||||
config.color_scheme = 'Rapture'
|
|
||||||
return config
|
|
||||||
148
zsh/.p10k.zsh
148
zsh/.p10k.zsh
@ -1,8 +1,8 @@
|
|||||||
# Generated by Powerlevel10k configuration wizard on 2025-06-17 at 11:08 EDT.
|
# Generated by Powerlevel10k configuration wizard on 2023-09-12 at 09:58 EDT.
|
||||||
# Based on romkatv/powerlevel10k/config/p10k-lean.zsh, checksum 26839.
|
# Based on romkatv/powerlevel10k/config/p10k-lean.zsh, checksum 3275.
|
||||||
# Wizard options: nerdfont-v3 + powerline, small icons, unicode, lean, 24h time,
|
# Wizard options: nerdfont-complete + powerline, small icons, ascii, lean, 24h time,
|
||||||
# 2 lines, dotted, right frame, lightest-ornaments, compact, few icons, fluent,
|
# 2 lines, dotted, darkest-ornaments, compact, fluent, transient_prompt,
|
||||||
# transient_prompt, instant_prompt=quiet.
|
# instant_prompt=verbose.
|
||||||
# Type `p10k configure` to generate another config.
|
# Type `p10k configure` to generate another config.
|
||||||
#
|
#
|
||||||
# Config for Powerlevel10k with lean prompt style. Type `p10k configure` to generate
|
# Config for Powerlevel10k with lean prompt style. Type `p10k configure` to generate
|
||||||
@ -103,7 +103,6 @@
|
|||||||
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
||||||
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
||||||
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
||||||
per_directory_history # Oh My Zsh per-directory-history local/global indicator
|
|
||||||
# cpu_arch # CPU architecture
|
# cpu_arch # CPU architecture
|
||||||
time # current time
|
time # current time
|
||||||
# =========================[ Line #2 ]=========================
|
# =========================[ Line #2 ]=========================
|
||||||
@ -117,7 +116,7 @@
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you.
|
# Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you.
|
||||||
typeset -g POWERLEVEL9K_MODE=nerdfont-v3
|
typeset -g POWERLEVEL9K_MODE=ascii
|
||||||
# When set to `moderate`, some icons will have an extra space after them. This is meant to avoid
|
# When set to `moderate`, some icons will have an extra space after them. This is meant to avoid
|
||||||
# icon overlap when using non-monospace fonts. When set to `none`, spaces are not added.
|
# icon overlap when using non-monospace fonts. When set to `none`, spaces are not added.
|
||||||
typeset -g POWERLEVEL9K_ICON_PADDING=none
|
typeset -g POWERLEVEL9K_ICON_PADDING=none
|
||||||
@ -150,32 +149,32 @@
|
|||||||
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX=
|
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX=
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX=
|
typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX=
|
||||||
# Connect right prompt lines with these symbols.
|
# Connect right prompt lines with these symbols.
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX='%244F─╮'
|
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX=
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX='%244F─┤'
|
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX=
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX='%244F─╯'
|
typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX=
|
||||||
|
|
||||||
# The left end of left prompt.
|
# The left end of left prompt.
|
||||||
typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL=
|
typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL=
|
||||||
# The right end of right prompt.
|
# The right end of right prompt.
|
||||||
typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL=' '
|
typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL=
|
||||||
|
|
||||||
# Ruler, a.k.a. the horizontal line before each prompt. If you set it to true, you'll
|
# Ruler, a.k.a. the horizontal line before each prompt. If you set it to true, you'll
|
||||||
# probably want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false above and
|
# probably want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false above and
|
||||||
# POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' ' below.
|
# POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' ' below.
|
||||||
typeset -g POWERLEVEL9K_SHOW_RULER=false
|
typeset -g POWERLEVEL9K_SHOW_RULER=false
|
||||||
typeset -g POWERLEVEL9K_RULER_CHAR='─' # reasonable alternative: '·'
|
typeset -g POWERLEVEL9K_RULER_CHAR='-' # reasonable alternative: '·'
|
||||||
typeset -g POWERLEVEL9K_RULER_FOREGROUND=244
|
typeset -g POWERLEVEL9K_RULER_FOREGROUND=238
|
||||||
|
|
||||||
# Filler between left and right prompt on the first prompt line. You can set it to '·' or '─'
|
# Filler between left and right prompt on the first prompt line. You can set it to '·' or '-'
|
||||||
# to make it easier to see the alignment between left and right prompt and to separate prompt
|
# to make it easier to see the alignment between left and right prompt and to separate prompt
|
||||||
# from command output. It serves the same purpose as ruler (see above) without increasing
|
# from command output. It serves the same purpose as ruler (see above) without increasing
|
||||||
# the number of prompt lines. You'll probably want to set POWERLEVEL9K_SHOW_RULER=false
|
# the number of prompt lines. You'll probably want to set POWERLEVEL9K_SHOW_RULER=false
|
||||||
# if using this. You might also like POWERLEVEL9K_PROMPT_ADD_NEWLINE=false for more compact
|
# if using this. You might also like POWERLEVEL9K_PROMPT_ADD_NEWLINE=false for more compact
|
||||||
# prompt.
|
# prompt.
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='·'
|
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='.'
|
||||||
if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then
|
if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then
|
||||||
# The color of the filler.
|
# The color of the filler.
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=244
|
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=238
|
||||||
# Add a space between the end of left prompt and the filler.
|
# Add a space between the end of left prompt and the filler.
|
||||||
typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=' '
|
typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=' '
|
||||||
# Add a space between the filler and the start of right prompt.
|
# Add a space between the filler and the start of right prompt.
|
||||||
@ -198,13 +197,13 @@
|
|||||||
# Red prompt symbol if the last command failed.
|
# Red prompt symbol if the last command failed.
|
||||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196
|
||||||
# Default prompt symbol.
|
# Default prompt symbol.
|
||||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯'
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='>'
|
||||||
# Prompt symbol in command vi mode.
|
# Prompt symbol in command vi mode.
|
||||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮'
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='<'
|
||||||
# Prompt symbol in visual vi mode.
|
# Prompt symbol in visual vi mode.
|
||||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V'
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V'
|
||||||
# Prompt symbol in overwrite vi mode.
|
# Prompt symbol in overwrite vi mode.
|
||||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶'
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='^'
|
||||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true
|
||||||
# No line terminator if prompt_char is the last segment.
|
# No line terminator if prompt_char is the last segment.
|
||||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=''
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=''
|
||||||
@ -240,7 +239,7 @@
|
|||||||
.java-version
|
.java-version
|
||||||
.perl-version
|
.perl-version
|
||||||
.php-version
|
.php-version
|
||||||
.tool-versions
|
.tool-version
|
||||||
.shorten_folder_marker
|
.shorten_folder_marker
|
||||||
.svn
|
.svn
|
||||||
.terraform
|
.terraform
|
||||||
@ -355,7 +354,7 @@
|
|||||||
|
|
||||||
# Formatter for Git status.
|
# Formatter for Git status.
|
||||||
#
|
#
|
||||||
# Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42.
|
# Example output: master wip <42>42 *42 merge ~42 +42 !42 ?42.
|
||||||
#
|
#
|
||||||
# You can edit the function to customize how Git status looks.
|
# You can edit the function to customize how Git status looks.
|
||||||
#
|
#
|
||||||
@ -392,9 +391,9 @@
|
|||||||
if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then
|
if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then
|
||||||
local branch=${(V)VCS_STATUS_LOCAL_BRANCH}
|
local branch=${(V)VCS_STATUS_LOCAL_BRANCH}
|
||||||
# If local branch name is at most 32 characters long, show it in full.
|
# If local branch name is at most 32 characters long, show it in full.
|
||||||
# Otherwise show the first 12 … the last 12.
|
# Otherwise show the first 12 .. the last 12.
|
||||||
# Tip: To always show local branch name in full without truncation, delete the next line.
|
# Tip: To always show local branch name in full without truncation, delete the next line.
|
||||||
(( $#branch > 32 )) && branch[13,-13]="…" # <-- this line
|
(( $#branch > 32 )) && branch[13,-13]=".." # <-- this line
|
||||||
res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}"
|
res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -405,9 +404,9 @@
|
|||||||
]]; then
|
]]; then
|
||||||
local tag=${(V)VCS_STATUS_TAG}
|
local tag=${(V)VCS_STATUS_TAG}
|
||||||
# If tag name is at most 32 characters long, show it in full.
|
# If tag name is at most 32 characters long, show it in full.
|
||||||
# Otherwise show the first 12 … the last 12.
|
# Otherwise show the first 12 .. the last 12.
|
||||||
# Tip: To always show tag name in full without truncation, delete the next line.
|
# Tip: To always show tag name in full without truncation, delete the next line.
|
||||||
(( $#tag > 32 )) && tag[13,-13]="…" # <-- this line
|
(( $#tag > 32 )) && tag[13,-13]=".." # <-- this line
|
||||||
res+="${meta}#${clean}${tag//\%/%%}"
|
res+="${meta}#${clean}${tag//\%/%%}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -426,22 +425,16 @@
|
|||||||
res+=" ${modified}wip"
|
res+=" ${modified}wip"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then
|
# <42 if behind the remote.
|
||||||
# ⇣42 if behind the remote.
|
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}<${VCS_STATUS_COMMITS_BEHIND}"
|
||||||
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
|
# >42 if ahead of the remote; no leading space if also behind the remote: <42>42.
|
||||||
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
|
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
||||||
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}>${VCS_STATUS_COMMITS_AHEAD}"
|
||||||
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
|
# <-42 if behind the push remote.
|
||||||
elif [[ -n $VCS_STATUS_REMOTE_BRANCH ]]; then
|
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}<-${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
||||||
# Tip: Uncomment the next line to display '=' if up to date with the remote.
|
|
||||||
# res+=" ${clean}="
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ⇠42 if behind the push remote.
|
|
||||||
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
|
||||||
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
||||||
# ⇢42 if ahead of the push remote; no leading space if also behind: ⇠42⇢42.
|
# ->42 if ahead of the push remote; no leading space if also behind: <-42->42.
|
||||||
(( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}⇢${VCS_STATUS_PUSH_COMMITS_AHEAD}"
|
(( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}->${VCS_STATUS_PUSH_COMMITS_AHEAD}"
|
||||||
# *42 if have stashes.
|
# *42 if have stashes.
|
||||||
(( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}"
|
(( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}"
|
||||||
# 'merge' if the repo is in an unusual state.
|
# 'merge' if the repo is in an unusual state.
|
||||||
@ -456,12 +449,12 @@
|
|||||||
# See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon.
|
# See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon.
|
||||||
# Remove the next line if you don't want to see untracked files at all.
|
# Remove the next line if you don't want to see untracked files at all.
|
||||||
(( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}"
|
(( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}"
|
||||||
# "─" if the number of unstaged files is unknown. This can happen due to
|
# "-" if the number of unstaged files is unknown. This can happen due to
|
||||||
# POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower
|
# POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower
|
||||||
# than the number of files in the Git index, or due to bash.showDirtyState being set to false
|
# than the number of files in the Git index, or due to bash.showDirtyState being set to false
|
||||||
# in the repository config. The number of staged and untracked files may also be unknown
|
# in the repository config. The number of staged and untracked files may also be unknown
|
||||||
# in this case.
|
# in this case.
|
||||||
(( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}─"
|
(( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}-"
|
||||||
|
|
||||||
typeset -g my_git_format=$res
|
typeset -g my_git_format=$res
|
||||||
}
|
}
|
||||||
@ -517,32 +510,32 @@
|
|||||||
# it will signify success by turning green.
|
# it will signify success by turning green.
|
||||||
typeset -g POWERLEVEL9K_STATUS_OK=false
|
typeset -g POWERLEVEL9K_STATUS_OK=false
|
||||||
typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70
|
typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70
|
||||||
typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔'
|
typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='ok'
|
||||||
|
|
||||||
# Status when some part of a pipe command fails but the overall exit status is zero. It may look
|
# Status when some part of a pipe command fails but the overall exit status is zero. It may look
|
||||||
# like this: 1|0.
|
# like this: 1|0.
|
||||||
typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true
|
typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true
|
||||||
typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=70
|
typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=70
|
||||||
typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔'
|
typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='ok'
|
||||||
|
|
||||||
# Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as
|
# Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as
|
||||||
# it will signify error by turning red.
|
# it will signify error by turning red.
|
||||||
typeset -g POWERLEVEL9K_STATUS_ERROR=false
|
typeset -g POWERLEVEL9K_STATUS_ERROR=false
|
||||||
typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160
|
typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160
|
||||||
typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘'
|
typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='err'
|
||||||
|
|
||||||
# Status when the last command was terminated by a signal.
|
# Status when the last command was terminated by a signal.
|
||||||
typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true
|
typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true
|
||||||
typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=160
|
typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=160
|
||||||
# Use terse signal names: "INT" instead of "SIGINT(2)".
|
# Use terse signal names: "INT" instead of "SIGINT(2)".
|
||||||
typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false
|
typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false
|
||||||
typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘'
|
typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION=
|
||||||
|
|
||||||
# Status when some part of a pipe command fails and the overall exit status is also non-zero.
|
# Status when some part of a pipe command fails and the overall exit status is also non-zero.
|
||||||
# It may look like this: 1|0.
|
# It may look like this: 1|0.
|
||||||
typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true
|
typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true
|
||||||
typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=160
|
typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=160
|
||||||
typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘'
|
typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='err'
|
||||||
|
|
||||||
###################[ command_execution_time: duration of the last command ]###################
|
###################[ command_execution_time: duration of the last command ]###################
|
||||||
# Show duration of the last command if takes at least this many seconds.
|
# Show duration of the last command if takes at least this many seconds.
|
||||||
@ -840,11 +833,11 @@
|
|||||||
###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############
|
###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############
|
||||||
# Timewarrior color.
|
# Timewarrior color.
|
||||||
typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=110
|
typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=110
|
||||||
# If the tracked task is longer than 24 characters, truncate and append "…".
|
# If the tracked task is longer than 24 characters, truncate and append "..".
|
||||||
# Tip: To always display tasks without truncation, delete the following parameter.
|
# Tip: To always display tasks without truncation, delete the following parameter.
|
||||||
# Tip: To hide task names and display just the icon when time tracking is enabled, set the
|
# Tip: To hide task names and display just the icon when time tracking is enabled, set the
|
||||||
# value of the following parameter to "".
|
# value of the following parameter to "".
|
||||||
typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+…}'
|
typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+..}'
|
||||||
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
@ -869,19 +862,6 @@
|
|||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
######[ per_directory_history: Oh My Zsh per-directory-history local/global indicator ]#######
|
|
||||||
# Color when using local/global history.
|
|
||||||
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_FOREGROUND=135
|
|
||||||
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_FOREGROUND=130
|
|
||||||
|
|
||||||
# Tip: Uncomment the next two lines to hide "local"/"global" text and leave just the icon.
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_CONTENT_EXPANSION=''
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_CONTENT_EXPANSION=''
|
|
||||||
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
################################[ cpu_arch: CPU architecture ]################################
|
################################[ cpu_arch: CPU architecture ]################################
|
||||||
# CPU architecture color.
|
# CPU architecture color.
|
||||||
typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172
|
typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172
|
||||||
@ -1351,7 +1331,7 @@
|
|||||||
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
|
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
|
||||||
# Show aws only when the command you are typing invokes one of these tools.
|
# Show aws only when the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show aws.
|
# Tip: Remove the next line to always show aws.
|
||||||
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
# POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
|
# POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
|
||||||
# in each pair defines a pattern against which the current AWS profile gets matched.
|
# in each pair defines a pattern against which the current AWS profile gets matched.
|
||||||
@ -1399,39 +1379,10 @@
|
|||||||
# Show azure only when the command you are typing invokes one of these tools.
|
# Show azure only when the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show azure.
|
# Tip: Remove the next line to always show azure.
|
||||||
typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
# POWERLEVEL9K_AZURE_CLASSES is an array with even number of elements. The first element
|
|
||||||
# in each pair defines a pattern against which the current azure account name gets matched.
|
|
||||||
# More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
|
|
||||||
# that gets matched. If you unset all POWERLEVEL9K_AZURE_*CONTENT_EXPANSION parameters,
|
|
||||||
# you'll see this value in your prompt. The second element of each pair in
|
|
||||||
# POWERLEVEL9K_AZURE_CLASSES defines the account class. Patterns are tried in order. The
|
|
||||||
# first match wins.
|
|
||||||
#
|
|
||||||
# For example, given these settings:
|
|
||||||
#
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
|
||||||
# '*prod*' PROD
|
|
||||||
# '*test*' TEST
|
|
||||||
# '*' OTHER)
|
|
||||||
#
|
|
||||||
# If your current azure account is "company_test", its class is TEST because "company_test"
|
|
||||||
# doesn't match the pattern '*prod*' but does match '*test*'.
|
|
||||||
#
|
|
||||||
# You can define different colors, icons and content expansions for different classes:
|
|
||||||
#
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_TEST_FOREGROUND=28
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
|
|
||||||
typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
|
||||||
# '*prod*' PROD # These values are examples that are unlikely
|
|
||||||
# '*test*' TEST # to match your needs. Customize them as needed.
|
|
||||||
'*' OTHER)
|
|
||||||
|
|
||||||
# Azure account name color.
|
# Azure account name color.
|
||||||
typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=32
|
typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_AZURE_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
||||||
# Show gcloud only when the command you are typing invokes one of these tools.
|
# Show gcloud only when the command you are typing invokes one of these tools.
|
||||||
@ -1575,7 +1526,7 @@
|
|||||||
# P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt
|
# P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt
|
||||||
# P9K_IP_RX_RATE | receive rate (since last prompt)
|
# P9K_IP_RX_RATE | receive rate (since last prompt)
|
||||||
# P9K_IP_TX_RATE | send rate (since last prompt)
|
# P9K_IP_TX_RATE | send rate (since last prompt)
|
||||||
typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='$P9K_IP_IP${P9K_IP_RX_RATE:+ %70F⇣$P9K_IP_RX_RATE}${P9K_IP_TX_RATE:+ %215F⇡$P9K_IP_TX_RATE}'
|
typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='$P9K_IP_IP${P9K_IP_RX_RATE:+ %70F<$P9K_IP_RX_RATE}${P9K_IP_TX_RATE:+ %215F>$P9K_IP_TX_RATE}'
|
||||||
# Show information for the first network interface whose name matches this regular expression.
|
# Show information for the first network interface whose name matches this regular expression.
|
||||||
# Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces.
|
# Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces.
|
||||||
typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*'
|
typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*'
|
||||||
@ -1597,7 +1548,7 @@
|
|||||||
# Show battery in yellow when it's discharging.
|
# Show battery in yellow when it's discharging.
|
||||||
typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178
|
typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178
|
||||||
# Battery pictograms going from low to high level of charge.
|
# Battery pictograms going from low to high level of charge.
|
||||||
typeset -g POWERLEVEL9K_BATTERY_STAGES='\UF008E\UF007A\UF007B\UF007C\UF007D\UF007E\UF007F\UF0080\UF0081\UF0082\UF0079'
|
typeset -g POWERLEVEL9K_BATTERY_STAGES=('battery')
|
||||||
# Don't show the remaining time to charge/discharge.
|
# Don't show the remaining time to charge/discharge.
|
||||||
typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false
|
typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false
|
||||||
|
|
||||||
@ -1647,7 +1598,7 @@
|
|||||||
#
|
#
|
||||||
# Type `p10k help segment` for documentation and a more sophisticated example.
|
# Type `p10k help segment` for documentation and a more sophisticated example.
|
||||||
function prompt_example() {
|
function prompt_example() {
|
||||||
p10k segment -f 208 -i '⭐' -t 'hello, %n'
|
p10k segment -f 208 -i '*' -t 'hello, %n'
|
||||||
}
|
}
|
||||||
|
|
||||||
# User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
|
# User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
|
||||||
@ -1692,7 +1643,7 @@
|
|||||||
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
||||||
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
||||||
# seen the warning, or if you are unsure what this all means.
|
# seen the warning, or if you are unsure what this all means.
|
||||||
typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet
|
typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose
|
||||||
|
|
||||||
# Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized.
|
# Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized.
|
||||||
# For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload
|
# For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload
|
||||||
@ -1710,3 +1661,4 @@ typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a}
|
|||||||
|
|
||||||
(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]}
|
(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]}
|
||||||
'builtin' 'unset' 'p10k_config_opts'
|
'builtin' 'unset' 'p10k_config_opts'
|
||||||
|
|
||||||
|
|||||||
123
zsh/.zshrc
123
zsh/.zshrc
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
||||||
# Initialization code that may require console input (password prompts, [y/n]
|
# Initialization code that may require console input (password prompts, [y/n]
|
||||||
# confirmations, etc.) must go above this block; everything else may go below.
|
# confirmations, etc.) must go above this block; everything else may go below.
|
||||||
@ -6,51 +5,25 @@ if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]
|
|||||||
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# autoload -Uz compinit
|
|
||||||
# compinit
|
|
||||||
export LC_ALL=en_US.UTF-8
|
export LC_ALL=en_US.UTF-8
|
||||||
export LANG=en_US.UTF-8
|
export LANG=en_US.UTF-8
|
||||||
# autoload -Uz compinit; compinit; _comp_options+=(globdots);
|
# autoload -Uz compinit; compinit; _comp_options+=(globdots);
|
||||||
|
|
||||||
# ssh using a new window when we are in TMUX
|
|
||||||
ssh() {
|
|
||||||
if [ -n "${TMUX:-}" ]; then
|
|
||||||
# Extract the destination host from the command arguments
|
|
||||||
local dest_user_host=$(
|
|
||||||
printf "%s " "$@" | awk 'match($0, /[a-zA-Z0-9_.-]+@[a-zA-Z0-9_.-]+/) {print substr($0,RSTART,RLENGTH)}'
|
|
||||||
)
|
|
||||||
|
|
||||||
# Rename tmux window and pane if possible
|
|
||||||
(
|
|
||||||
set +e # Continue even if rename fails
|
|
||||||
tmux display-message -p "#{pane_id}" > /dev/null && tmux rename-window "$dest_user_host"
|
|
||||||
tmux rename-pane "$dest_user_host" 2>/dev/null || true
|
|
||||||
) &> /dev/null
|
|
||||||
|
|
||||||
command ssh "$@"
|
|
||||||
|
|
||||||
# Restore automatic renaming (if enabled)
|
|
||||||
tmux set-window-option automatic-rename on > /dev/null 2>&1 || true
|
|
||||||
else
|
|
||||||
command ssh "$@"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# User configuration
|
# User configuration
|
||||||
export DOT="~/.dotfiles"
|
export DOT="~/.dotfiles"
|
||||||
alias vim='vim -S ~/.vimrc'
|
alias vim='vim -S ~/.vimrc'
|
||||||
alias nvim='nvim'
|
alias nvim='nvim'
|
||||||
alias uvupdate='while read line; do [[ -n "$line" && ! "$line" =~ ^[[:space:]]*# ]] && uv pip install "$line" --upgrade; done < requirements.txt'
|
#alias brew='env PATH="${PATH//$(pyenv root)\/shims:/}" brew'
|
||||||
# alias brew='env PATH="${PATH//$(pyenv root)\/shims:/}" brew'
|
|
||||||
export CLICOLOR=1
|
export CLICOLOR=1
|
||||||
export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd
|
export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd
|
||||||
|
|
||||||
export EDITOR="$VISUAL"
|
export EDITOR="$VISUAL"
|
||||||
export VISUAL='nvim'
|
export VISUAL='nvim'
|
||||||
export PYTHONPATH="/opt/homebrew/bin/python3:$PYTHONPATH"
|
export PYTHONPATH="/opt/homebrew/bin/python3:$PYTHONPATH"
|
||||||
# export PYENV_ROOT="$HOME/.pyenv"
|
#export PYENV_ROOT="$HOME/.pyenv"
|
||||||
# command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
|
#command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
|
||||||
|
#eval "$(pyenv init -)"
|
||||||
|
#eval "$(pyenv virtualenv-init -)"
|
||||||
|
|
||||||
# Function to Correctly Source $VIRTUAL_ENV for Neovim
|
# Function to Correctly Source $VIRTUAL_ENV for Neovim
|
||||||
function nvimvenv {
|
function nvimvenv {
|
||||||
@ -63,31 +36,89 @@ function nvimvenv {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
alias nvim=nvimvenv
|
||||||
|
# alias nvim-minimal="NVIM_APPNAME=Minivim nvim"
|
||||||
|
# alias nvim-arduino="NVIM_APPNAME=Arduino nvim"
|
||||||
|
|
||||||
|
#function nvims() {
|
||||||
|
# items=("Main" "Minivim" "Arduinvim")
|
||||||
|
# config=$(printf "%s\n" "${items[@]}" | fzf --prompt=" Neovim Config " --height=~50% --layout=reverse --border --exit-0)
|
||||||
|
# if [[ -z $config ]]; then
|
||||||
|
# echo "Nothing selected"
|
||||||
|
# return 0
|
||||||
|
# elif [[ $config == "Main" ]]; then
|
||||||
|
# config=""
|
||||||
|
# fi
|
||||||
|
# NVIM_APPNAME=$config nvim $@
|
||||||
|
#}
|
||||||
|
#bindkey -s ^a "nvims\n"
|
||||||
|
|
||||||
export PATH="$PATH:$HOME/.rvm/bin"
|
export PATH="$PATH:$HOME/.rvm/bin"
|
||||||
|
|
||||||
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
|
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
|
||||||
NPM_PACKAGES=/Users/$USERNAME/.npm-packages
|
NPM_PACKAGES=/Users/normrasmussen/.npm-packages
|
||||||
export PATH="/opt/homebrew/sbin:$PATH"
|
export PATH="/opt/homebrew/sbin:$PATH"
|
||||||
export PATH="/opt/homebrew/bin:$PATH"
|
export PATH="/opt/homebrew/bin:$PATH"
|
||||||
export PATH="$NPM_PACKAGES/bin:$PATH"
|
export PATH="$NPM_PACKAGES/bin:$PATH"
|
||||||
source /opt/homebrew/share/powerlevel10k/powerlevel10k.zsh-theme
|
source /opt/homebrew/share/powerlevel10k/powerlevel10k.zsh-theme
|
||||||
|
|
||||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
|
||||||
# [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
|
||||||
source ~/.dotfiles/zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
|
|
||||||
source ~/.dotfiles/zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
|
||||||
. "$HOME/.cargo/env"
|
|
||||||
export PATH="/usr/local/opt/openssl/bin:$PATH"
|
|
||||||
. "$HOME/.local/bin/env"
|
|
||||||
|
|
||||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||||
|
source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||||
|
source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||||
|
. "$HOME/.cargo/env"
|
||||||
|
|
||||||
eval "$(uv generate-shell-completion zsh)"
|
export PATH="/usr/local/opt/openssl/bin:$PATH"
|
||||||
|
echo 'eval "$(uv generate-shell-completion zsh)"' >> ~/.zshrc
|
||||||
|
source $HOME/.cargo/env
|
||||||
|
|
||||||
# export NVM_DIR="$HOME/.nvm"
|
export NVM_DIR="$HOME/.nvm"
|
||||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
# To customize prompt, run `p10k configure` or edit ~/.dotfiles/zsh/.p10k.zsh.
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
[[ ! -f ~/.dotfiles/zsh/.p10k.zsh ]] || source ~/.dotfiles/zsh/.p10k.zsh
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
eval "$(uv generate-shell-completion zsh)"
|
||||||
|
|||||||
Submodule zsh/zsh-autosuggestions updated: 85919cd1ff...c3d4e576c9
Submodule zsh/zsh-syntax-highlighting updated: 1d85c69261...143b25eb98
15
zsh_issues.md
Normal file
15
zsh_issues.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
title: "Test"
|
||||||
|
date: 2023-09-12T17:19:08Z
|
||||||
|
draft: false
|
||||||
|
---
|
||||||
|
|
||||||
|
Yesterday, I could not get my ZSH shell to work at all. As I kept trying things, I was getting all these weird errors. I started posting about this on Mastodon too.
|
||||||
|
|
||||||
|
[Mastodon Thread](https://fosstodon.org/@notnorm/111047573608738701) where I kept asking myself - no responses!
|
||||||
|
|
||||||
|
Finally, I realized the issue. And that was the [Starship](https://www.starship.rs) cross-shell prompt. Turns out, it was making everything really really slow.
|
||||||
|
|
||||||
|
I finally got it fixed by doing the following:
|
||||||
|
* Delete everything from `~/.zsh_sessions/` and `~/.zsh_history`.
|
||||||
|
* Do not use `source ~/.zshrc` and definitely don't use it in your `zshrc` file! Instead of `source` use `exec zsh`
|
||||||
Reference in New Issue
Block a user