33 Commits

Author SHA1 Message Date
8c9730a06a Small updates 2026-04-14 16:12:39 -04:00
57ec589f4d Moved from Lazy to vim.pack! Need to clean up the rest of lazy code in init.lua, but so far everything is working with vim pack. 2026-04-10 08:51:39 -04:00
92e32f7906 Haven't backed up dotfiles in a while, so just making sure its all saved. 2026-03-25 14:22:15 -04:00
46c37215dc Removed Secret! Moved from Avante to CodeCompanion and it's been a better experience. Updated blink and ruff to work better with python. 2026-01-06 12:44:40 -05:00
17f7b3243b Removed API key from codecompanion config. Moved from Avante to CodeCompanion and it's been a better experience. Updated blink and ruff to work better with python. 2026-01-06 12:44:18 -05:00
c8de5155b9 Changes and updates to blink and avante 2025-08-27 06:58:40 -04:00
2919694e39 Avante backup. Small other changes. Backing up so I can access on my other device. 2025-06-13 10:14:32 -04:00
51c4676cbf Huge clean up. Migrated LSPs to native Neovim LSP settings. Removed AI plugins that I didn't find useful and plugins that weren't being used. 2025-04-01 13:36:42 -04:00
abfa8ad841 First steps towards removing nvim-lspconfig plugin and installing LSPs natively 2025-03-31 14:48:14 -04:00
f785609c61 Some zshrc changes with UV updates. 2025-03-03 16:45:04 -05:00
e57a7b9ce2 Which Key for TMUX!! 2025-02-04 16:26:19 -05:00
91c4897b7f Cleaned up a bunch of plugins. Revamped dashboard and init.lua. 2025-01-17 16:38:24 -05:00
4dc6ffaa85 Forgot what a bunch of plugins did so I cleared out the unwated ones and put comments with descriptions of what the plugins do for the more unknown ones. Bonus - great plugin idea! Add comments to you config file about what the plugin does OR an cmp/blink type app that grabs the description from the repo. 2025-01-09 15:07:42 -05:00
bd16e37046 Updated zshrc 2025-01-03 16:50:27 -05:00
0a6f3ca7fd Revert "Breaking changes for blink.cmp, so that needed to be updated. Updated keymaps location based on that plugin as well."
This reverts commit 2cafc91ba1.

Continue
2025-01-03 16:49:35 -05:00
dcf6ece06a Revert "Breaking changes for blink.cmp, so that needed to be updated. Updated keymaps location based on that plugin as well."
This reverts commit 2cafc91ba1.

Hopefully this successfully pushes to Github. Removed secrets.
2025-01-03 16:46:53 -05:00
f20db3b89f Fixed secrets issues 2025-01-03 16:44:22 -05:00
c8dfc7c1ae Fixed secrets issues 2025-01-03 16:43:06 -05:00
8c50ac0d15 Don't need multiple nvim settings anymore. 2025-01-03 16:34:55 -05:00
5e6cba9351 Breaking changes for blink.cmp, so that needed to be updated. Updated keymaps location based on that plugin as well. 2025-01-03 15:14:51 -05:00
2cafc91ba1 Breaking changes for blink.cmp, so that needed to be updated. Updated keymaps location based on that plugin as well. 2025-01-03 15:13:53 -05:00
45eca459b6 Updated settings for avante. Removed mini.deps config. 2024-12-19 15:58:22 -05:00
6828bd4055 Testing out avante for claude-like capabilities. Removed api key 2024-12-12 17:36:10 -05:00
f6de6e03db Testing out avante for claude-like capabilities. 2024-12-12 17:35:23 -05:00
354f330c44 Updated blink and lsp since ruff_lsp is no longer being used. 2024-12-11 17:59:08 -05:00
8960b58d64 Plugin clean up Part 1 2024-11-13 17:06:22 -05:00
7ff868c5ae Back up before some deeper plugin changes. 2024-11-07 14:54:06 -05:00
c22e8287af Added a small wezterm config. 2024-10-11 15:24:31 -04:00
db34ad9ff9 Moved CMP to Blink. Some issues with buffer text, but will keep tweaking config. Removed headlines for the time being as it was causing a lot of errors. 2024-10-10 17:27:37 -04:00
c9266d82c6 Keymaps update. 2024-09-27 15:03:44 -04:00
ff2629e02a Saving Changes. 2024-09-13 16:13:01 -04:00
daae4f922b Some plugin changes. Testing DB UIs for remote dbs. 2024-09-07 08:08:21 -04:00
a5be5c2535 Cleaned directories and backed up old configs I'm no longer using (tmuxp and tmux-powerline). Can't quite figure out why my tmux-ressurrect files can't be found, but I can still use keymaps to save and resurrect my sessions. 2024-08-04 14:34:26 +02:00
57 changed files with 1299 additions and 1865 deletions

View File

@ -0,0 +1,106 @@
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

View File

@ -1,26 +1,10 @@
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filteer=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
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
@ -43,19 +27,22 @@ 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'
cmd [[ autocmd BufWritePre * :%s/\s\+$//e ]] opt.autochdir = true
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 = "syntax" -- Enable folding (default 'foldmarker') opt.foldmethod = "expr" -- 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
@ -69,7 +56,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 = true -- Faster scrolling opt.lazyredraw = false -- Faster scrolling
opt.synmaxcol = 240 -- Max column for syntax highlight opt.synmaxcol = 240 -- Max column for syntax highlight
----------------------------------------------------------- -----------------------------------------------------------
-- Colorscheme -- Colorscheme
@ -78,31 +65,21 @@ opt.termguicolors = true -- Enable 24-bit RGB colors
----------------------------------------------------------- -----------------------------------------------------------
-- Tabs, indent -- Tabs, indent
----------------------------------------------------------- -----------------------------------------------------------
g.expandtab = true -- Use spaces instead of tabs g.expandtab = false -- Use spaces instead of tabs
g.shiftwidth = 2 -- Shift 4 spaces when tab g.shiftwidth = 2 -- Shift 4 spaces when tab
g.tabstop = 1 -- 1 tab == 4 spaces g.tabstop = 2 -- 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=4 noexpandtab autocmd FileType md,liquid,xml,html,xhtml,css,scss,javascript,lua,yaml setlocal shiftwidth=2 tabstop=2 noexpandtab
]] ]]
vim.cmd [[ autocmd FileType python set textwidth=110 ]] vim.cmd [[ autocmd FileType python set textwidth=250 ]]
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",
@ -125,18 +102,9 @@ 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
@ -145,26 +113,7 @@ 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
-- see https://github.com/hrsh7th/nvim-cmp/wiki/Menu-Appearance#how-to-add-visual-studio-code-dark-theme-colors-to-the-menu vim.lsp.enable({'ruff', 'pyright', 'marksman', 'emmet-ls', 'lua'})
--[[vim.cmd[[ local capabilities = vim.lsp.protocol.make_client_capabilities()
highlight! link CmpItemMenu Comment capabilities.textDocument.completion.completionItem.snippetSupport = true
" 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')

View File

@ -1,91 +1,71 @@
{ {
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, "LuaSnip": { "branch": "master", "commit": "642b0c595e11608b4c18219e93b88d7637af27bc" },
"adjacent.nvim": { "branch": "main", "commit": "a555ab92d61aa6fbbfa1bfaef4633b663563f04e" },
"alpha-nvim": { "branch": "main", "commit": "41283fb402713fc8b327e60907f74e46166f4cfd" },
"async.vim": { "branch": "master", "commit": "2082d13bb195f3203d41a308b89417426a7deca1" }, "async.vim": { "branch": "master", "commit": "2082d13bb195f3203d41a308b89417426a7deca1" },
"auto-hlsearch.nvim": { "branch": "main", "commit": "8f28246d53e9478717ca3b51c8112083fbebd7e3" }, "barbar.nvim": { "branch": "master", "commit": "539d73def39c9172b4d4d769f14090e08f37b29d" },
"barbar.nvim": { "branch": "master", "commit": "dd852401ee902745b67fc09a83d113b3fe82a96f" }, "blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "codecompanion-history.nvim": { "branch": "main", "commit": "bc1b4fe06eaaf0aa2399be742e843c22f7f1652a" },
"cmp-calc": { "branch": "main", "commit": "ce91d14d2e7a8b3f6ad86d85e34d41c1ae6268d9" }, "codecompanion.nvim": { "branch": "main", "commit": "9eeea4820a091321b085db2155c6133833bf72b0" },
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "dashboard-nvim": { "branch": "master", "commit": "62a10d9d55132b338dd742afc3c8a2683f3dd426" },
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "deadcolumn.nvim": { "branch": "master", "commit": "92c86f10bfba2717ca2280e2e759b047135d5288" },
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "3d8912ebeb56e5ae08ef0906e3a54de1c66b92f1" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "dracula.nvim": { "branch": "main", "commit": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee" },
"cmp-spell": { "branch": "master", "commit": "32a0867efa59b43edbb2db67b0871cfad90c9b66" }, "eldritch.nvim": { "branch": "master", "commit": "0415fa72c348e814a7a6cc9405593a4f812fe12f" },
"cmp-under-comparator": { "branch": "master", "commit": "6857f10272c3cfe930cece2afa2406e1385bfef8" }, "f-string-toggle.nvim": { "branch": "main", "commit": "c1c77b4fce192e1615490d895863e2a0508d6021" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "fidget.nvim": { "branch": "main", "commit": "889e2e96edef4e144965571d46f7a77bcc4d0ddf" },
"deadcolumn.nvim": { "branch": "master", "commit": "af13928aa281f36273e8f220b19e78d497c7fb87" }, "flemma.nvim": { "branch": "develop", "commit": "589b45f0911944e6f0833c23137186acca36b469" },
"diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" }, "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
"dracula.nvim": { "branch": "main", "commit": "8d8bddb8814c3e7e62d80dda65a9876f97eb699c" }, "gitsigns.nvim": { "branch": "main", "commit": "0d797daee85366bc242580e352a4f62d67557b84" },
"eldritch.nvim": { "branch": "master", "commit": "dee72af67a089f7a4a7bbc64f7de06ae826362fd" }, "hackthebox.vim": { "branch": "main", "commit": "91a84adea2319e3701d76eaa25ae56795ad4dd0d" },
"f-string-toggle.nvim": { "branch": "main", "commit": "4e2ad79dfc5122dd65515ebbdd671e8ee01d157e" }, "headlines.nvim": { "branch": "master", "commit": "bf17c96a836ea27c0a7a2650ba385a7783ed322e" },
"fidget.nvim": { "branch": "main", "commit": "1ba38e4cbb24683973e00c2e36f53ae64da38ef5" }, "hover.nvim": { "branch": "main", "commit": "e73c00da3a9c87a21d2a8ddf7ab4a39824bd5d56" },
"friendly-snippets": { "branch": "main", "commit": "d5f74ce4dfdd82848f3f4eac65fe6e29ac5df4c2" }, "indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" },
"gitsigns.nvim": { "branch": "main", "commit": "035da036e68e509ed158414416c827d022d914bd" }, "kanagawa.nvim": { "branch": "master", "commit": "aef7f5cec0a40dbe7f3304214850c472e2264b10" },
"headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "koda.nvim": { "branch": "main", "commit": "a560a332ccc1eb2caacb280a390213bb9f37b3cb" },
"hover.nvim": { "branch": "main", "commit": "ebdc4c0f967bb36b70bb27763397dd71064c2067" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, "lualine.nvim": { "branch": "master", "commit": "8811f3f3f4dc09d740c67e9ce399e7a541e2e5b2" },
"kanagawa.nvim": { "branch": "master", "commit": "860e4f80df71221d18bf2cd9ef1deb4d364274d2" }, "mcphub.nvim": { "branch": "main", "commit": "7cd5db330f41b7bae02b2d6202218a061c3ebc1f" },
"lazy.nvim": { "branch": "main", "commit": "3f13f080434ac942b150679223d54f5ca91e0d52" }, "mini.comment": { "branch": "main", "commit": "a0c721115faff8d05505c0a12dab410084d9e536" },
"lightspeed.nvim": { "branch": "main", "commit": "fcc72d8a4d5f4ebba62d8a3a0660f88f1b5c3b05" }, "mini.diff": { "branch": "main", "commit": "ab11575a6c147ecfba894d676d0c93e855021d34" },
"lsp-timeout.nvim": { "branch": "main", "commit": "6325906730330105a9adc41d0ceb8499b3072e2b" }, "mini.fuzzy": { "branch": "stable", "commit": "18e9cc3d7406f44a145d074ad18b10e472509a18" },
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, "mini.hipatterns": { "branch": "main", "commit": "a3ffba45e4119917b254c372df82e79f7d8c4aad" },
"lush.nvim": { "branch": "main", "commit": "7c0e27f50901481fe83b974493c4ea67a4296aeb" }, "mini.icons": { "branch": "main", "commit": "7fdae2443a0e2910015ca39ad74b50524ee682d3" },
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mini.indentscope": { "branch": "main", "commit": "0308f949f31769e509696af5d5f91cebb2159c69" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "273fdde8ac5e51f3a223ba70980e52bbc09d9f6f" }, "mini.move": { "branch": "main", "commit": "74d140143b1bb905c3d0aebcfc2f216fd237080e" },
"mason-null-ls.nvim": { "branch": "main", "commit": "de19726de7260c68d94691afb057fa73d3cc53e7" }, "mini.pairs": { "branch": "stable", "commit": "d5a29b6254dad07757832db505ea5aeab9aad43a" },
"mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" }, "mini.surround": { "branch": "main", "commit": "88c52297ed3e69ecf9f8652837888ecc727a28ee" },
"mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" }, "mini.trailspace": { "branch": "main", "commit": "b362246495d18c29b4545a8f1c47f627f8011b7c" },
"mini.fuzzy": { "branch": "stable", "commit": "986d83dfced0dc36c442a4172bcfd7281703f269" }, "mkdnflow.nvim": { "branch": "main", "commit": "f20732686f70f60f18f09f4befe984ae63a99201" },
"mini.hipatterns": { "branch": "main", "commit": "088bbfef23e17934080f125751a94a2758ba7fdf" }, "morta": { "branch": "main", "commit": "10b4cdb8b7ae3f814b77f617f985245b3c11c1fa" },
"mini.move": { "branch": "main", "commit": "251d541a8ab745e81295a53c128829cb2bff18e3" }, "neowarrior.nvim": { "branch": "main", "commit": "197cd4a7a56d07374fcda09b5b56baa433e40549" },
"mini.pairs": { "branch": "stable", "commit": "04f58f2545ed80ac3b52dd4826e93f33e15b2af6" }, "nightfly": { "branch": "master", "commit": "250ee0eb4975e59a277f50cc03c980eef27fb483" },
"mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" }, "nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
"mini.trailspace": { "branch": "main", "commit": "91f2e0c1b0ee7b72189e6f88da03da9d04077051" }, "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
"mkdnflow.nvim": { "branch": "main", "commit": "4c8890890426d57f20fc6d459c7631e0bbb50975" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"neoscroll.nvim": { "branch": "master", "commit": "0a86b3dc2555cb7872feedca64ef036b8417fb73" }, "numb.nvim": { "branch": "master", "commit": "12ef3913dea8727d4632c6f2ed47957a993de627" },
"neovim": { "branch": "main", "commit": "17b466e79479758b332a3cac12544a3ad2be6241" }, "nvim": { "branch": "main", "commit": "df2a1f9f3392d688397e945544a30aec8fc9b4c7" },
"night-owl.nvim": { "branch": "main", "commit": "87ce125baa29bfdee064418fb49ed484dfce2766" }, "nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
"nightfly": { "branch": "master", "commit": "a54ba6131c4e5feb47176efb78b1f93501df1572" }, "nvim-tree.lua": { "branch": "master", "commit": "e16cd38962bc40c22a51ee004aa4f43726d74a16" },
"nightfox.nvim": { "branch": "main", "commit": "df75a6a94910ae47854341d6b5a6fd483192c0eb" }, "nvim-treesitter": { "branch": "master", "commit": "cf12346a3414fa1b06af75c79faebe7f76df080a" },
"nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, "nvim-web-devicons": { "branch": "master", "commit": "40e9d5a6cc3db11b309e39593fc7ac03bb844e38" },
"null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"numb.nvim": { "branch": "master", "commit": "3f7d4a74bd456e747a1278ea1672b26116e0824d" },
"nvim": { "branch": "main", "commit": "a1439ad7c584efb3d0ce14ccb835967f030450fe" },
"nvim-cmp": { "branch": "main", "commit": "8f3c541407e691af6163e2447f3af1bd6e17f9a3" },
"nvim-dap": { "branch": "master", "commit": "6ae8a14828b0f3bff1721a35a1dfd604b6a933bb" },
"nvim-dap-python": { "branch": "master", "commit": "3dffa58541d1f52c121fe58ced046268c838d802" },
"nvim-dap-ui": { "branch": "master", "commit": "5934302d63d1ede12c0b22b6f23518bb183fc972" },
"nvim-http": { "branch": "main", "commit": "11de61bcdf01f4728dd8d8bbcd48901d220c28cc" },
"nvim-lspconfig": { "branch": "master", "commit": "aa5f4f4ee10b2688fb37fa46215672441d5cd5d9" },
"nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" },
"nvim-prose": { "branch": "main", "commit": "38aac8c9c94a5725d152bdfea374d60e07fb93d6" },
"nvim-tree.lua": { "branch": "master", "commit": "ddd1d6eb21c45433bdc65cc8015f2457998f2bf2" },
"nvim-treesitter": { "branch": "master", "commit": "160e5d52c841dc9261c0b2dc6f253bddbcf3d766" },
"nvim-web-devicons": { "branch": "master", "commit": "794bba734ec95eaff9bb82fbd112473be2087283" },
"plenary.nvim": { "branch": "master", "commit": "08e301982b9a057110ede7a735dd1b5285eb341f" },
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
"pulse.nvim": { "branch": "main", "commit": "4026460b12da9abcfe34322db0bdc80e4b0dce3d" }, "pulse.nvim": { "branch": "main", "commit": "4026460b12da9abcfe34322db0bdc80e4b0dce3d" },
"rainbow-delimiters.nvim": { "branch": "master", "commit": "7ef0766b5cd2f5cdf4fcb08886f0a2ebf65981fa" }, "rainbow-delimiters.nvim": { "branch": "master", "commit": "aab6caaffd79b8def22ec4320a5344f7c42f58d2" },
"rainbow_csv.nvim": { "branch": "main", "commit": "5033e3abd4fb0a0ee07232530a032296535704b4" }, "rainbow_csv.nvim": { "branch": "main", "commit": "26de78d8324f7ac6a3e478319d1eb1f17123eb5b" },
"solarized-osaka.nvim": { "branch": "main", "commit": "92c5def2b522e7869b29b55b448544f226e07524" }, "solarized-osaka.nvim": { "branch": "main", "commit": "f0c2f0ba0bd56108d53c9bfae4bb28ff6c67bbdb" },
"sonokai": { "branch": "master", "commit": "da162343354fbd9bf9cd49293a856f0e3761e8ac" }, "telescope-cmdline.nvim": { "branch": "main", "commit": "b1c330835563c9628ce7c095cf20772f22f93f07" },
"symbols-outline.nvim": { "branch": "master", "commit": "564ee65dfc9024bdde73a6621820866987cbb256" }, "telescope-file-browser.nvim": { "branch": "master", "commit": "3610dc7dc91f06aa98b11dca5cc30dfa98626b7e" },
"telescope-cmdline.nvim": { "branch": "main", "commit": "9d4ef3e16e117e7ce91cb335247c87fb8d744696" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" },
"telescope-file-browser.nvim": { "branch": "master", "commit": "4d5fd21bae12ee6e9a79232e1c377f43c419d0c5" }, "telescope-live-grep-args.nvim": { "branch": "master", "commit": "b80ec2c70ec4f32571478b501218c8979fab5201" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"telescope-live-grep-args.nvim": { "branch": "master", "commit": "731a046da7dd3adff9de871a42f9b7fb85f60f47" },
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
"thethethe.nvim": { "branch": "main", "commit": "357580127cd291c8a813564eeaff07c09303084e" }, "thethethe.nvim": { "branch": "main", "commit": "357580127cd291c8a813564eeaff07c09303084e" },
"tmux.nvim": { "branch": "main", "commit": "53ea7eab504730e7e8397fd2ae0133053d56afc8" }, "tiny-inline-diagnostic.nvim": { "branch": "main", "commit": "57a0eb84b2008c76e77930639890d9874195b1e1" },
"todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, "tmux.nvim": { "branch": "main", "commit": "2c1c3be0ef287073cef963f2aefa31a15c8b9cd8" },
"toggleterm.nvim": { "branch": "main", "commit": "066cccf48a43553a80a210eb3be89a15d789d6e6" }, "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
"tokyonight.nvim": { "branch": "main", "commit": "67afeaf7fd6ebba000633e89f63c31694057edde" }, "toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
"trouble.nvim": { "branch": "main", "commit": "b9cf677f20bb2faa2dacfa870b084e568dca9572" }, "tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" },
"venn.nvim": { "branch": "main", "commit": "a5430d75875acbe93e9685cdeb78c6eb2a329ed5" }, "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
"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": "3cb40867cb5a3120f9bef76eff88edc7f1dc1a23" }, "vim-wakatime": { "branch": "master", "commit": "d7973b157a632d1edeff01818f18d67e584eeaff" },
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
"wtf.nvim": { "branch": "main", "commit": "8e7bec4d3cb2ea2e3d078b9af8c4cc68d1066c33" } }
}

View File

@ -0,0 +1,5 @@
return {
cmd = {'dprint', 'lsp'},
root_markers = { './' },
filetypes = { "javascript", "js", "javascriptreact", "typescript", "typescriptreact", "json", "jsonc", "toml", "rust", "roslyn", "graphql" }
}

View File

@ -0,0 +1,15 @@
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,
},
},
}
}
}

View File

@ -0,0 +1,5 @@
return {
cmd = { 'marksman' },
root_markers = { './', },
filetypes = { 'md', 'markdown' },
}

View File

@ -0,0 +1,67 @@
---@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,
}

View File

@ -0,0 +1,7 @@
---@type vim.lsp.Config
return {
cmd = { 'ruff', 'server' },
filetypes = { 'python' },
root_markers = { 'pyproject.toml', 'ruff.toml', '.ruff.toml', '.git' },
settings = {},
}

View File

@ -5,13 +5,8 @@
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 }
-- Fast saving with <leader> and s -- Update all plugins using vim.pack
-- map('n', '<leader>s', ':w<CR>', default_opts) map('n', '<leader>u', ':lua vim.pack.update()<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)
@ -27,10 +22,6 @@ 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)
@ -45,6 +36,7 @@ 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)
@ -53,41 +45,8 @@ 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
-- Old Keymaps from Nvim-Mapper (Sunsetted) -- map('n', "<leader>ca", function() require("tiny-code-action").code_action() end, default_opts)
------------------------------------------------ vim.keymap.set("n", "<leader>ca", function()
--[[ require("tiny-code-action").code_action()
-- Macros for Todo Trouble end, { noremap = true, silent = true })
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."
)
--]]

View File

@ -1,143 +0,0 @@
-----------------------------------------------------------
-- 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
]]

View File

@ -1,74 +0,0 @@
-----------------------------------------------------------
-- 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
}

View File

@ -1,48 +0,0 @@
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
}

View File

@ -1,27 +0,0 @@
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
}

View File

@ -1,473 +0,0 @@
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,
-- },
}

View File

@ -1,33 +0,0 @@
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
}

View File

@ -1,21 +0,0 @@
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,
}

View File

@ -1,171 +0,0 @@
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
}

View File

@ -1,92 +0,0 @@
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
}

View File

@ -1,42 +0,0 @@
--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,
}

View File

@ -1,169 +0,0 @@
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
}}

View File

@ -1,25 +0,0 @@
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",
},
},
}

View File

@ -0,0 +1,243 @@
{
"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"
}
}
}

View File

@ -0,0 +1,82 @@
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,
},
},
},
},
-- }
})

View File

@ -0,0 +1,29 @@
-- 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",
-- }
-- }
-- })

View File

@ -0,0 +1,16 @@
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')

View File

@ -0,0 +1,34 @@
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',
-- },
},
},
})

View File

@ -1,8 +1,5 @@
return { vim.pack.add({"https://github.com/lukas-reineke/headlines.nvim"})
'lukas-reineke/headlines.nvim', require("headlines").setup({
dependencies = "nvim-treesitter/nvim-treesitter",
config = function()
require("headlines").setup {
markdown = { markdown = {
query = vim.treesitter.query.parse( query = vim.treesitter.query.parse(
"markdown", "markdown",
@ -39,13 +36,11 @@ return {
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
}

View File

@ -0,0 +1,17 @@
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)"})

View File

@ -0,0 +1,184 @@
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',
-- },
-- }

View File

@ -0,0 +1,186 @@
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")

View File

@ -0,0 +1,32 @@
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,
-- })

View File

@ -1,5 +1,5 @@
return { vim.pack.add({"https://github.com/cameron-wags/rainbow_csv.nvim"})
'cameron-wags/rainbow_csv.nvim', require("rainbow_csv").setup({
config = true, config = true,
ft = { ft = {
'csv', 'csv',
@ -16,4 +16,4 @@ return {
'RainbowDelimQuoted', 'RainbowDelimQuoted',
'RainbowMultiDelim' 'RainbowMultiDelim'
} }
} })

View File

@ -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."
}, }
} }

View File

@ -344,3 +344,6 @@ submodules
Artera Artera
Qualtrics Qualtrics
Discoverability Discoverability
programatically
#ASEURL/!
BASEURL/!

View File

@ -1,228 +0,0 @@
# 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=""
# }

Submodule tmux/.config/tmux/plugins/tmux deleted from 79068c40b3

Submodule tmux/.config/tmux/plugins/tmux-continuum updated: 3e4bc35da4...0698e8f4b1

Submodule tmux/.config/tmux/plugins/tmux-powerline deleted from 25cf067040

Submodule tmux/.config/tmux/plugins/tmux-which-key added at 1f419775ca

View File

@ -77,5 +77,8 @@ 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'

View File

@ -0,0 +1 @@
69.120.56.29

1
wan_ip.txt Normal file
View File

@ -0,0 +1 @@
69.120.56.29

5
wezterm/.wezterm.lua Normal file
View File

@ -0,0 +1,5 @@
local wezterm = require 'wezterm'
local config = wezterm.config_builder()
config.window_background_opacity = 0.9
config.color_scheme = 'Rapture'
return config

View File

@ -1,8 +1,8 @@
# Generated by Powerlevel10k configuration wizard on 2023-09-12 at 09:58 EDT. # Generated by Powerlevel10k configuration wizard on 2025-06-17 at 11:08 EDT.
# Based on romkatv/powerlevel10k/config/p10k-lean.zsh, checksum 3275. # Based on romkatv/powerlevel10k/config/p10k-lean.zsh, checksum 26839.
# Wizard options: nerdfont-complete + powerline, small icons, ascii, lean, 24h time, # Wizard options: nerdfont-v3 + powerline, small icons, unicode, lean, 24h time,
# 2 lines, dotted, darkest-ornaments, compact, fluent, transient_prompt, # 2 lines, dotted, right frame, lightest-ornaments, compact, few icons, fluent,
# instant_prompt=verbose. # transient_prompt, instant_prompt=quiet.
# 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,6 +103,7 @@
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 ]=========================
@ -116,7 +117,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=ascii typeset -g POWERLEVEL9K_MODE=nerdfont-v3
# 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
@ -149,32 +150,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= typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX='%244F─╮'
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX= typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX='%244F─┤'
typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX= typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX='%244F─╯'
# 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=238 typeset -g POWERLEVEL9K_RULER_FOREGROUND=244
# 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=238 typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=244
# 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.
@ -197,13 +198,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=''
@ -239,7 +240,7 @@
.java-version .java-version
.perl-version .perl-version
.php-version .php-version
.tool-version .tool-versions
.shorten_folder_marker .shorten_folder_marker
.svn .svn
.terraform .terraform
@ -354,7 +355,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 4242 *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.
# #
@ -391,9 +392,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
@ -404,9 +405,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
@ -425,16 +426,22 @@
res+=" ${modified}wip" res+=" ${modified}wip"
fi fi
# <42 if behind the remote. if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}<${VCS_STATUS_COMMITS_BEHIND}" # ⇣42 if behind the remote.
# >42 if ahead of the remote; no leading space if also behind the remote: <42>42. (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}${VCS_STATUS_COMMITS_BEHIND}"
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}>${VCS_STATUS_COMMITS_AHEAD}" (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
# <-42 if behind the push remote. (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}${VCS_STATUS_COMMITS_AHEAD}"
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}<-${VCS_STATUS_PUSH_COMMITS_BEHIND}" elif [[ -n $VCS_STATUS_REMOTE_BRANCH ]]; then
# 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.
@ -449,12 +456,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
} }
@ -510,32 +517,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='ok' typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION=''
# 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='ok' typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION=''
# 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='err' typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION=''
# 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='err' typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION=''
###################[ 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.
@ -833,11 +840,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='⭐'
@ -862,6 +869,19 @@
# 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
@ -1331,7 +1351,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|terraform|pulumi|terragrunt' typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|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.
@ -1379,10 +1399,39 @@
# 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_FOREGROUND=32 typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=32
# Custom icon. # Custom icon.
# typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_AZURE_OTHER_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.
@ -1526,7 +1575,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].*'
@ -1548,7 +1597,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=('battery') typeset -g POWERLEVEL9K_BATTERY_STAGES='\UF008E\UF007A\UF007B\UF007C\UF007D\UF007E\UF007F\UF0080\UF0081\UF0082\UF0079'
# 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
@ -1598,7 +1647,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
@ -1643,7 +1692,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=verbose typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet
# 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
@ -1661,4 +1710,3 @@ 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'

View File

@ -1,3 +1,4 @@
# 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.
@ -5,25 +6,51 @@ 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 brew='env PATH="${PATH//$(pyenv root)\/shims:/}" brew' 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'
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 {
@ -36,34 +63,31 @@ 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/normrasmussen/.npm-packages NPM_PACKAGES=/Users/$USERNAME/.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. # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh # [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
source ~/.dotfiles/zsh/zsh-autosuggestions/zsh-autosuggestions.zsh source ~/.dotfiles/zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
source ~/.dotfiles/zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh source ~/.dotfiles/zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
. "$HOME/.cargo/env" . "$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.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
eval "$(uv generate-shell-completion zsh)"
# export NVM_DIR="$HOME/.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
# To customize prompt, run `p10k configure` or edit ~/.dotfiles/zsh/.p10k.zsh.
[[ ! -f ~/.dotfiles/zsh/.p10k.zsh ]] || source ~/.dotfiles/zsh/.p10k.zsh

0
zsh/install_deps.sh Normal file
View File

Submodule zsh/zsh-autosuggestions updated: c3d4e576c9...85919cd1ff

Submodule zsh/zsh-syntax-highlighting updated: 143b25eb98...1d85c69261

View File

@ -1,15 +0,0 @@
---
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`