13 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
56 changed files with 1311 additions and 1893 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,29 +1,10 @@
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
vim.g.mapleader = ','
vim.g.localmapleader = ','
--- vim.opt.textwidth = 85
vim.opt.colorcolumn = '+2'
require('lazy').setup('plugins')
-----------------------------------------------------------
-- General Neovim settings and configuration
-----------------------------------------------------------
vim.g.mapleader = ','
vim.g.localmapleader = ','
vim.opt.colorcolumn = '+2'
-- vim.diagnostic.config({ virtual_text = true, virtual_lines = true })
-----------------------------------------------------------
-- Neovim API aliases
@ -46,7 +27,7 @@ opt.shadafile = "NONE"
opt.shadafile = ""
opt.shell = "/bin/zsh"
opt.updatetime = 200
opt.cursorline = true
-- opt.cursorline = true
g.markdown_folding = 1
-- g.markdown_enable_folding = 1
opt.spell=true
@ -75,7 +56,7 @@ opt.wrap = true
-----------------------------------------------------------
opt.hidden = true -- Enable background buffers
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
-----------------------------------------------------------
-- Colorscheme
@ -88,14 +69,6 @@ g.expandtab = false -- Use spaces instead of tabs
g.shiftwidth = 2 -- Shift 4 spaces when tab
g.tabstop = 2 -- 1 tab == 4 spaces
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.
@ -107,8 +80,6 @@ vim.cmd [[
vim.cmd [[ autocmd FileType python set textwidth=250 ]]
vim.cmd [[ autocmd FileType lua set textwidth=80 ]]
vim.cmd [[ autocmd FileType markdown,text set shiftwidth=2 foldlevel=99 ]]
-- vim.cmd [[ autocmd FileType markdown setlocal foldlevel=99 ]]
vim.cmd[[ colorscheme duskfox ]]
local disabled_built_ins = {
"netrw",
@ -131,18 +102,9 @@ local disabled_built_ins = {
"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
-- for _, plugin in pairs(disabled_built_ins) do
-- vim.g["loaded_" .. plugin] = 1
-- end
-- Correctly set $VIRTUAL_ENV for Python venvs.
if vim.fn.exists("$VIRTUAL_ENV") == 1 then
@ -151,26 +113,7 @@ else
vim.g.python3_host_prog = vim.fn.substitute(vim.fn.system("which python3"), "\n", "", "g")
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
]]
--]]
vim.lsp.enable({'ruff', 'pyright', 'marksman', 'emmet-ls', 'lua'})
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true
require('core/keymaps')

View File

@ -1,102 +1,71 @@
{
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" },
"adjacent.nvim": { "branch": "main", "commit": "a555ab92d61aa6fbbfa1bfaef4633b663563f04e" },
"alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" },
"LuaSnip": { "branch": "master", "commit": "642b0c595e11608b4c18219e93b88d7637af27bc" },
"async.vim": { "branch": "master", "commit": "2082d13bb195f3203d41a308b89417426a7deca1" },
"avante.nvim": { "branch": "main", "commit": "01e05a538b4b7f20fb922016d72be8c42d400b0e" },
"barbar.nvim": { "branch": "master", "commit": "53b5a2f34b68875898f0531032fbf090e3952ad7" },
<<<<<<< HEAD
"blink.cmp": { "branch": "main", "commit": "d534f9e8bf39299c480e0c2e11dad21f51cfb2fe" },
"copilot.lua": { "branch": "master", "commit": "886ee73b6d464b2b3e3e6a7ff55ce87feac423a9" },
"blink.cmp": { "branch": "main", "commit": "ae5a4ce8f7e519e49de7ae6fcadd74547f820a52" },
=======
>>>>>>> parent of 2cafc91 (Breaking changes for blink.cmp, so that needed to be updated. Updated keymaps location based on that plugin as well.)
"blink.cmp": { "branch": "main", "commit": "ae5a4ce8f7e519e49de7ae6fcadd74547f820a52" },
"deadcolumn.nvim": { "branch": "master", "commit": "897c905aef1a268ce4cc507d5cce048ed808fa7a" },
"barbar.nvim": { "branch": "master", "commit": "539d73def39c9172b4d4d769f14090e08f37b29d" },
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
"codecompanion-history.nvim": { "branch": "main", "commit": "bc1b4fe06eaaf0aa2399be742e843c22f7f1652a" },
"codecompanion.nvim": { "branch": "main", "commit": "9eeea4820a091321b085db2155c6133833bf72b0" },
"dashboard-nvim": { "branch": "master", "commit": "62a10d9d55132b338dd742afc3c8a2683f3dd426" },
"deadcolumn.nvim": { "branch": "master", "commit": "92c86f10bfba2717ca2280e2e759b047135d5288" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"dracula.nvim": { "branch": "main", "commit": "515acae4fd294fcefa5b15237a333c2606e958d1" },
"dressing.nvim": { "branch": "master", "commit": "fc78a3ca96f4db9f8893bb7e2fd9823e0780451b" },
"eldritch.nvim": { "branch": "master", "commit": "d3df98f58841bdbd88fbe1ca27c9eb76ccca6572" },
"f-string-toggle.nvim": { "branch": "main", "commit": "4e2ad79dfc5122dd65515ebbdd671e8ee01d157e" },
"fidget.nvim": { "branch": "main", "commit": "9238947645ce17d96f30842e61ba81147185b657" },
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
"gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" },
"hover.nvim": { "branch": "main", "commit": "140c4d0ae9397b76baa46b87c574f5377de09309" },
"img-clip.nvim": { "branch": "main", "commit": "5ff183655ad98b5fc50c55c66540375bbd62438c" },
"indent-blankline.nvim": { "branch": "master", "commit": "259357fa4097e232730341fa60988087d189193a" },
"kanagawa.nvim": { "branch": "master", "commit": "ad3dddecd606746374ba4807324a08331dfca23c" },
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
"lsp-timeout.nvim": { "branch": "main", "commit": "6325906730330105a9adc41d0ceb8499b3072e2b" },
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" },
"lush.nvim": { "branch": "main", "commit": "45a79ec4acb5af783a6a29673a999ce37f00497e" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "8e46de9241d3997927af12196bd8faa0ed08c29a" },
"mason-null-ls.nvim": { "branch": "main", "commit": "de19726de7260c68d94691afb057fa73d3cc53e7" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
"mini.comment": { "branch": "main", "commit": "03c13e37318bdb18481311c0ac1adc9ed731caf1" },
"mini.fuzzy": { "branch": "stable", "commit": "ea9d1380ad925c4d0e890f68dbf830d2b19bae5d" },
"mini.hipatterns": { "branch": "main", "commit": "f34975103a38b3f608219a1324cdfc58ea660b8b" },
"mini.icons": { "branch": "main", "commit": "44c0160526f7ae17ca8e8eab9ab235d047fcf7a6" },
"mini.move": { "branch": "main", "commit": "4caa1c212f5ca3d1633d21cfb184808090ed74b1" },
"mini.pairs": { "branch": "stable", "commit": "e543c760edc5e746e5b6cbd02c066c17ead3ef16" },
"mini.pick": { "branch": "main", "commit": "b87f4d4e75673f6e7b918408017833424ecaa245" },
"mini.surround": { "branch": "main", "commit": "0e67c4bc147f2a15cee94e7c94dcc0e115b9f55e" },
"mini.trailspace": { "branch": "main", "commit": "3a328e62559c33014e422fb9ae97afc4208208b1" },
"mkdnflow.nvim": { "branch": "main", "commit": "d459bd7ce68910272038ed037c028180161fd14d" },
"neoscroll.nvim": { "branch": "master", "commit": "f957373912e88579e26fdaea4735450ff2ef5c9c" },
"neovim": { "branch": "main", "commit": "91548dca53b36dbb9d36c10f114385f759731be1" },
"night-owl.nvim": { "branch": "main", "commit": "86ed124c2f7e118670649701288e024444bf91e5" },
"nightfly": { "branch": "master", "commit": "f1176605eb01b38d84e0e9e221c9599bd022dfd4" },
"nightfox.nvim": { "branch": "main", "commit": "7557f26defd093c4e9bc17f28b08403f706f5a44" },
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
"null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" },
"numb.nvim": { "branch": "master", "commit": "3f7d4a74bd456e747a1278ea1672b26116e0824d" },
"nvim": { "branch": "main", "commit": "faf15ab0201b564b6368ffa47b56feefc92ce3f4" },
"nvim-cmp": { "branch": "main", "commit": "98e8b9d593a5547c126a39212d6f5e954a2d85dd" },
"nvim-dap": { "branch": "master", "commit": "7e48a80551e0b8fd7e34436d74243de7ae1ec397" },
"nvim-dap-ui": { "branch": "master", "commit": "ffa89839f97bad360e78428d5c740fdad9a0ff02" },
"nvim-http": { "branch": "main", "commit": "9a0e97b639d34af17d06b3421fe633b416dd64ee" },
"nvim-lspconfig": { "branch": "master", "commit": "040001d85e9190a904d0e35ef5774633e14d8475" },
"nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" },
"nvim-prose": { "branch": "main", "commit": "38aac8c9c94a5725d152bdfea374d60e07fb93d6" },
<<<<<<< HEAD
"nvim-treesitter": { "branch": "master", "commit": "cfbc1c0e0ff63e5b5e37b465b915b95fc2e98cef" },
"nvim-ufo": { "branch": "main", "commit": "32cb247b893a384f1888b9cd737264159ecf183c" },
"nvim-web-devicons": { "branch": "master", "commit": "5740b7382429d20b6ed0bbdb0694185af9507d44" },
"oil.nvim": { "branch": "master", "commit": "ba858b662599eab8ef1cba9ab745afded99cb180" },
=======
>>>>>>> parent of 2cafc91 (Breaking changes for blink.cmp, so that needed to be updated. Updated keymaps location based on that plugin as well.)
"nvim-tree.lua": { "branch": "master", "commit": "375e38673b5c61debd8074ced01cfd4f3b7ce1e9" },
"nvim-treesitter": { "branch": "master", "commit": "fa915a30c5cdf1d18129e9ef6ac2ee0fa799904f" },
"nvim-ufo": { "branch": "main", "commit": "270ca542dae992ffe40274718c63645217ebc8bf" },
"nvim-web-devicons": { "branch": "master", "commit": "0eb18da56e2ba6ba24de7130a12bcc4e31ad11cb" },
"oil.nvim": { "branch": "master", "commit": "dba037598843973b8c54bc5ce0318db4a0da439d" },
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
"dracula.nvim": { "branch": "main", "commit": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee" },
"eldritch.nvim": { "branch": "master", "commit": "0415fa72c348e814a7a6cc9405593a4f812fe12f" },
"f-string-toggle.nvim": { "branch": "main", "commit": "c1c77b4fce192e1615490d895863e2a0508d6021" },
"fidget.nvim": { "branch": "main", "commit": "889e2e96edef4e144965571d46f7a77bcc4d0ddf" },
"flemma.nvim": { "branch": "develop", "commit": "589b45f0911944e6f0833c23137186acca36b469" },
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
"gitsigns.nvim": { "branch": "main", "commit": "0d797daee85366bc242580e352a4f62d67557b84" },
"hackthebox.vim": { "branch": "main", "commit": "91a84adea2319e3701d76eaa25ae56795ad4dd0d" },
"headlines.nvim": { "branch": "master", "commit": "bf17c96a836ea27c0a7a2650ba385a7783ed322e" },
"hover.nvim": { "branch": "main", "commit": "e73c00da3a9c87a21d2a8ddf7ab4a39824bd5d56" },
"indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" },
"kanagawa.nvim": { "branch": "master", "commit": "aef7f5cec0a40dbe7f3304214850c472e2264b10" },
"koda.nvim": { "branch": "main", "commit": "a560a332ccc1eb2caacb280a390213bb9f37b3cb" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"lualine.nvim": { "branch": "master", "commit": "8811f3f3f4dc09d740c67e9ce399e7a541e2e5b2" },
"mcphub.nvim": { "branch": "main", "commit": "7cd5db330f41b7bae02b2d6202218a061c3ebc1f" },
"mini.comment": { "branch": "main", "commit": "a0c721115faff8d05505c0a12dab410084d9e536" },
"mini.diff": { "branch": "main", "commit": "ab11575a6c147ecfba894d676d0c93e855021d34" },
"mini.fuzzy": { "branch": "stable", "commit": "18e9cc3d7406f44a145d074ad18b10e472509a18" },
"mini.hipatterns": { "branch": "main", "commit": "a3ffba45e4119917b254c372df82e79f7d8c4aad" },
"mini.icons": { "branch": "main", "commit": "7fdae2443a0e2910015ca39ad74b50524ee682d3" },
"mini.indentscope": { "branch": "main", "commit": "0308f949f31769e509696af5d5f91cebb2159c69" },
"mini.move": { "branch": "main", "commit": "74d140143b1bb905c3d0aebcfc2f216fd237080e" },
"mini.pairs": { "branch": "stable", "commit": "d5a29b6254dad07757832db505ea5aeab9aad43a" },
"mini.surround": { "branch": "main", "commit": "88c52297ed3e69ecf9f8652837888ecc727a28ee" },
"mini.trailspace": { "branch": "main", "commit": "b362246495d18c29b4545a8f1c47f627f8011b7c" },
"mkdnflow.nvim": { "branch": "main", "commit": "f20732686f70f60f18f09f4befe984ae63a99201" },
"morta": { "branch": "main", "commit": "10b4cdb8b7ae3f814b77f617f985245b3c11c1fa" },
"neowarrior.nvim": { "branch": "main", "commit": "197cd4a7a56d07374fcda09b5b56baa433e40549" },
"nightfly": { "branch": "master", "commit": "250ee0eb4975e59a277f50cc03c980eef27fb483" },
"nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"numb.nvim": { "branch": "master", "commit": "12ef3913dea8727d4632c6f2ed47957a993de627" },
"nvim": { "branch": "main", "commit": "df2a1f9f3392d688397e945544a30aec8fc9b4c7" },
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
"nvim-tree.lua": { "branch": "master", "commit": "e16cd38962bc40c22a51ee004aa4f43726d74a16" },
"nvim-treesitter": { "branch": "master", "commit": "cf12346a3414fa1b06af75c79faebe7f76df080a" },
"nvim-web-devicons": { "branch": "master", "commit": "40e9d5a6cc3db11b309e39593fc7ac03bb844e38" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"pulse.nvim": { "branch": "main", "commit": "4026460b12da9abcfe34322db0bdc80e4b0dce3d" },
"rainbow-delimiters.nvim": { "branch": "master", "commit": "77e5bad54227dcfe3878ffbda88ab1efdaacb475" },
"rainbow_csv.nvim": { "branch": "main", "commit": "7f3fddfe813641035fac2cdf94c2ff69bb0bf0b9" },
"render-markdown.nvim": { "branch": "main", "commit": "0022a579ac7355966be5ade77699b88c76b6a549" },
"solarized-osaka.nvim": { "branch": "main", "commit": "eebeb55b2bca73db287b5a6bf9b8c4b7d0317515" },
"sonokai": { "branch": "master", "commit": "fd42b20963c34dfc1744ac31f6a6efe78f4edad2" },
"spacecamp": { "branch": "master", "commit": "8945b4a2bfaaa16fbcee9f1d7c00cb9c1256b591" },
"telescope-cmdline.nvim": { "branch": "main", "commit": "8b05928ac1b9f2b772cedde891faa6669b0ec59a" },
"telescope-file-browser.nvim": { "branch": "master", "commit": "626998e5c1b71c130d8bc6cf7abb6709b98287bb" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
"telescope-live-grep-args.nvim": { "branch": "master", "commit": "649b662a8f476fd2c0289570764459e95ebaa3f3" },
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
"rainbow-delimiters.nvim": { "branch": "master", "commit": "aab6caaffd79b8def22ec4320a5344f7c42f58d2" },
"rainbow_csv.nvim": { "branch": "main", "commit": "26de78d8324f7ac6a3e478319d1eb1f17123eb5b" },
"solarized-osaka.nvim": { "branch": "main", "commit": "f0c2f0ba0bd56108d53c9bfae4bb28ff6c67bbdb" },
"telescope-cmdline.nvim": { "branch": "main", "commit": "b1c330835563c9628ce7c095cf20772f22f93f07" },
"telescope-file-browser.nvim": { "branch": "master", "commit": "3610dc7dc91f06aa98b11dca5cc30dfa98626b7e" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" },
"telescope-live-grep-args.nvim": { "branch": "master", "commit": "b80ec2c70ec4f32571478b501218c8979fab5201" },
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"thethethe.nvim": { "branch": "main", "commit": "357580127cd291c8a813564eeaff07c09303084e" },
"tmux.nvim": { "branch": "main", "commit": "307bad95a1274f7288aaee09694c25c8cbcd6f1a" },
"todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
"toggleterm.nvim": { "branch": "main", "commit": "022ff5594acccc8d90d2e46dc43994f7722ebdf7" },
"tokyonight.nvim": { "branch": "main", "commit": "45d22cf0e1b93476d3b6d362d720412b3d34465c" },
"trouble.nvim": { "branch": "main", "commit": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6" },
"venn.nvim": { "branch": "main", "commit": "b09c2f36ddf70b498281845109bedcf08a7e0de0" },
"tiny-inline-diagnostic.nvim": { "branch": "main", "commit": "57a0eb84b2008c76e77930639890d9874195b1e1" },
"tmux.nvim": { "branch": "main", "commit": "2c1c3be0ef287073cef963f2aefa31a15c8b9cd8" },
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
"tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" },
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
"vim-arduino": { "branch": "master", "commit": "2ded67cdf09bb07c4805d9e93d478095ed3d8606" },
"vim-arsync": { "branch": "master", "commit": "dd5fd93182aafb67ede2ef465f379610980b52d3" },
"vim-dadbod": { "branch": "master", "commit": "f740950d0703099e0f172016f10e0e39f50fd0ba" },
"vim-dadbod-completion": { "branch": "master", "commit": "9e354e86fcc67a5ec2c104f312e374ea2f89c799" },
"vim-dadbod-ui": { "branch": "master", "commit": "0fec59e3e1e619e302198cd491b7d27f8d398b7c" },
"vim-wakatime": { "branch": "master", "commit": "cf51327a9e08935569614d1cb24e779ee9f45519" },
"which-key.nvim": { "branch": "main", "commit": "8ab96b38a2530eacba5be717f52e04601eb59326" },
"wtf.nvim": { "branch": "main", "commit": "16eec1f32c3608bd8519e9e520041fe34201abb0" }
"vim-wakatime": { "branch": "master", "commit": "d7973b157a632d1edeff01818f18d67e584eeaff" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
}

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 default_opts = { noremap = true, silent = true }
-- Fast saving with <leader> and s
-- map('n', '<leader>s', ':w<CR>', default_opts)
-- map('n', '<leader>a', ':w|:luafile %<CR>', default_opts)
-- map('n', '<leader>aa', ':w|:luafile %<CR> |:Lazy<CR>', default_opts)
-- map('i', '<leader>s', '<C-c>:w<CR>', default_opts)
-- Python Script that saves the file & moves Todos to my Todolist.
-- map('n', '<leader>sd', ':w|:! python3 ~/Documents/Northpass/Scripts/TodoMD/todo.py %<CR>', default_opts)
-- Update all plugins using vim.pack
map('n', '<leader>u', ':lua vim.pack.update()<CR>', default_opts)
-- Close and save all buffers and return to Dashboard
map('n', '<leader>ds', ':silent wa | %bd | Alpha', default_opts)
@ -50,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('t', '<C-n>', '<C-\\><C-n><CR>', default_opts) -- Exit Insert Mode Faster
------------------------------------------------
-- Old Keymaps from Nvim-Mapper (Sunsetted)
------------------------------------------------
--[[
-- Macros for Todo Trouble
M('n', '<C-t>', "@t<CR>", default_opts,
"Add Todo", "todo_todo", "Add To-do/Task to the beginning of the line"
)
M('n', '<C-s>', "@s<CR>", default_opts,
"Add Solutions Engineering", "todo_seng", "Add Solutions Engineering to the beginning of the line"
)
M('n', '<C-f>', "@f<CR>", default_opts,
"Add Feature", "add_feat", "Add Feature Request tag to the beginning of the line. "
)
M( 'n', '<C-x>', "@c<CR>", default_opts,
"Replace with Complete", "add_complete", "Replace tag with Complete tag at beginning of the line."
)
M('n', '<C-r>', "@w<CR>", default_opts,
"Add Warning/Error", "add_error", "Add Warning/Error tag at the beginning of the line."
)
M('n', '<leader>ce', ":TodoTrouble keywords=TODO<CR>", default_opts,
"Show Todo Tags", "show_todos", "Show Todo Tags."
)
M('n', '<leader>cf', ":TodoTrouble keywords=FEAT<CR>", default_opts,
"Show Feature Tags", "show_features", "Show Feature Requests."
)
M('n', '<leader>cq', ":TodoTrouble keywords=ERROR, WARN<CR>", default_opts,
"Show Warning Tags", "show_warnings", "Show Errors Tags."
)
--]]
-- Tiny Code Action
-- 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()
end, { noremap = true, silent = true })

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,46 +0,0 @@
return {
"yetone/avante.nvim",
event = "VeryLazy",
lazy = false,
version = false, -- set this if you want to always pull the latest change
opts = {
-- add any opts here
},
-- if you want to build from source then do `make BUILD_FROM_SOURCE=true`
build = "make",
-- build = "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" -- for windows
dependencies = {
"stevearc/dressing.nvim",
"nvim-lua/plenary.nvim",
"MunifTanjim/nui.nvim",
--- The below dependencies are optional,
"hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions
"nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons
"zbirenbaum/copilot.lua", -- for providers='copilot'
{
-- support for image pasting
"HakonHarnes/img-clip.nvim",
event = "VeryLazy",
opts = {
-- recommended settings
default = {
embed_image_as_base64 = false,
prompt_for_file_name = false,
drag_and_drop = {
insert_mode = true,
},
-- required for Windows users
use_absolute_path = true,
},
},
},
{
-- Make sure to set this up properly if you have lazy=true
'MeanderingProgrammer/render-markdown.nvim',
opts = {
file_types = { "markdown", "Avante" },
},
ft = { "markdown", "Avante" },
},
},
}

View File

@ -1,49 +0,0 @@
return {
'saghen/blink.cmp',
lazy = false, -- lazy loading handled internally
-- optional: provides snippets for the snippet source
dependencies = {
'rafamadriz/friendly-snippets',
'L3MON4D3/LuaSnip',
},
version = 'v0.*',
opts = {
keymap = {
preset = "enter",
["<Tab>"] = {
"select_next",
"snippet_forward",
"fallback",
},
["<S-Tab>"] = {
"select_prev",
"snippet_backward",
"fallback",
},
},
highlight = {
use_nvim_cmp_as_default = true,
nerd_font_variant = 'normal',
}
},
trigger = {
completion = {
keyword_regex = '[%w_\\-]',
blocked_trigger_characters = { ' ', '\n', '\t' },
show_on_insert_on_trigger_character = true,
}
},
sources = {
providers = {
{
{ 'blink.cmp.sources.lsp' },
{ 'blink.cmp.sources.path' },
{ 'blink.cmp.sources.snippets', score_offset = -1 },
},
{ { 'blink.cmp.sources.buffer' } },
}
},
}

View File

@ -1,50 +0,0 @@
return -- Signs for Git Status Information
{
'lewis6991/gitsigns.nvim',
config = function()
require('gitsigns').setup ()
end
}
-- 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,51 +0,0 @@
-- return {
-- 'lukas-reineke/headlines.nvim',
-- dependencies = "nvim-treesitter/nvim-treesitter",
-- config = function()
-- require("headlines").setup {
-- markdown = {
-- query = vim.treesitter.query.parse(
-- "markdown",
-- [[
-- (atx_heading [
-- (atx_h1_marker)
-- (atx_h2_marker)
-- (atx_h3_marker)
-- (atx_h4_marker)
-- (atx_h5_marker)
-- (atx_h6_marker)
-- ] @headline)
--
-- (thematic_break) @dash
--
-- (fenced_code_block) @codeblock
--
-- (block_quote_marker) @quote
-- (block_quote (paragraph (inline (block_continuation) @quote)))
-- ]]
-- ),
-- headline_highlights = {
-- 'Headline1',
-- 'Headline2',
-- 'Headline3',
-- 'Headline4',
-- 'Headline5',
-- 'Headline6',
-- },
-- codeblock_highlight = "CodeBlock",
-- dash_highlight = "Dash",
-- dash_string = "-",
-- quote_highlight = "Quote",
-- quote_string = "┃",
-- fat_headlines = 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, '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, '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, 'CodeBlock', { bg = '#222221' })
-- 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,486 +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
------------------------------------------------------------
{
'stevearc/oil.nvim',
opts = {},
dependencies = { { "echasnovski/mini.icons", opts = {} } },
-- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if prefer nvim-web-devicons
},
{ 'kenn7/vim-arsync',
dependencies={'prabirshrestha/async.vim'},
},
{'kevinhwang91/nvim-ufo', requires = 'kevinhwang91/promise-async'},
{ '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
-- 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.pick', version = '*',
config = function()
require('mini.pick').setup()
end
},
{
'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
-----------------------------------------------------------
{'jaredgorski/spacecamp'},
{
"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,37 +0,0 @@
-- return {
-- 'echasnovski/mini.deps', version='*',
-- config = function()
-- require('mini.deps').setup({
-- path = { package = path_package }
-- })
-- end
--
-- local add, later, now = MiniDeps.add, MiniDeps.later, MiniDeps.now
--
--
-- add({
-- source = 'yetone/avante.nvim',
-- monitor = 'main',
-- depends = {
-- 'stevearc/dressing.nvim',
-- 'nvim-lua/plenary.nvim',
-- 'MunifTanjim/nui.nvim',
-- 'echasnovski/mini.icons'
-- },
-- hooks = { post_checkout = function() vim.cmd('make') end }
-- })
-- --- optional
-- add({ source = 'hrsh7th/nvim-cmp' })
-- add({ source = 'zbirenbaum/copilot.lua' })
-- add({ source = 'HakonHarnes/img-clip.nvim' })
-- add({ source = 'MeanderingProgrammer/render-markdown.nvim' })
--
-- now(function() require('avante_lib').load() end)
-- later(function() require('render-markdown').setup({...}) end)
-- later(function()
-- require('img-clip').setup({...}) -- config img-clip
-- require("copilot").setup({...}) -- setup copilot to your liking
-- require("avante").setup({...}) -- config for avante.nvim
-- 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,68 +0,0 @@
return {
'neovim/nvim-lspconfig',
config = function()
-- Setup language servers.
local lspconfig = require('lspconfig')
local configs = require('lspconfig.configs')
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true
lspconfig.emmet_ls.setup{
on_attach = on_attach,
capabilities = capabilities,
filetypes = { "css", "eruby", "html", "javascript", "javascriptreact", "less", "sass", "scss", "svelte", "pug", "typescriptreact", "vue", "liquid" },
init_options = {
html = {
options = {
["bem.enabled"] = true,
},
},
}
}
lspconfig.ruff.setup{
on_attach = on_attach,
init_options = {
settings = {
args = {},
}
}
}
-- 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,
})
end,
}

View File

@ -1,107 +0,0 @@
-- return {
-- 'neovim/nvim-lspconfig',
-- config = function()
-- -- Setup language servers.
-- local lspconfig = require('lspconfig')
-- local configs = require('lspconfig/configs')
-- local capabilities = vim.lsp.protocol.make_client_capabilities()
-- capabilities.textDocument.completion.completionItem.snippetSupport = true
--
-- lspconfig.emmet_ls.setup{
-- -- on_attach = on_attach,
-- capabilities = capabilities,
-- filetypes = { "css", "eruby", "html", "javascript", "javascriptreact", "less", "sass", "scss", "svelte", "pug", "typescriptreact", "vue","liquid" },
-- init_options = {
-- html = {
-- options = {
-- ["bem.enabled"] = true,
-- },
-- },
-- }
-- }
-- -- 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,17 +0,0 @@
return {
'kristijanhusak/vim-dadbod-ui',
dependencies = {
{ 'tpope/vim-dadbod', lazy = true },
{ 'kristijanhusak/vim-dadbod-completion', ft = { 'sql', 'mysql', 'plsql' }, lazy = true }, -- Optional
},
cmd = {
'DBUI',
'DBUIToggle',
'DBUIAddConnection',
'DBUIFindBuffer',
},
init = function()
-- Your DBUI configuration
vim.g.db_ui_use_nerd_fonts = 1
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

@ -0,0 +1,46 @@
vim.pack.add({"https://github.com/lukas-reineke/headlines.nvim"})
require("headlines").setup({
markdown = {
query = vim.treesitter.query.parse(
"markdown",
[[
(atx_heading [
(atx_h1_marker)
(atx_h2_marker)
(atx_h3_marker)
(atx_h4_marker)
(atx_h5_marker)
(atx_h6_marker)
] @headline)
(thematic_break) @dash
(fenced_code_block) @codeblock
(block_quote_marker) @quote
(block_quote (paragraph (inline (block_continuation) @quote)))
]]
),
headline_highlights = {
'Headline1',
'Headline2',
'Headline3',
'Headline4',
'Headline5',
'Headline6',
},
codeblock_highlight = "CodeBlock",
dash_highlight = "Dash",
dash_string = "-",
quote_highlight = "Quote",
quote_string = "",
fat_headlines = 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, '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, '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, 'CodeBlock', { bg = '#222221' })

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 {
'cameron-wags/rainbow_csv.nvim',
vim.pack.add({"https://github.com/cameron-wags/rainbow_csv.nvim"})
require("rainbow_csv").setup({
config = true,
ft = {
'csv',
@ -16,4 +16,4 @@ return {
'RainbowDelimQuoted',
'RainbowMultiDelim'
}
}
})

View File

@ -3,5 +3,5 @@
"prefix": "pprint-import",
"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."
},
}
}

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/
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
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

View File

@ -1,8 +1,8 @@
# Generated by Powerlevel10k configuration wizard on 2023-09-12 at 09:58 EDT.
# Based on romkatv/powerlevel10k/config/p10k-lean.zsh, checksum 3275.
# Wizard options: nerdfont-complete + powerline, small icons, ascii, lean, 24h time,
# 2 lines, dotted, darkest-ornaments, compact, fluent, transient_prompt,
# instant_prompt=verbose.
# Generated by Powerlevel10k configuration wizard on 2025-06-17 at 11:08 EDT.
# Based on romkatv/powerlevel10k/config/p10k-lean.zsh, checksum 26839.
# Wizard options: nerdfont-v3 + powerline, small icons, unicode, lean, 24h time,
# 2 lines, dotted, right frame, lightest-ornaments, compact, few icons, fluent,
# transient_prompt, instant_prompt=quiet.
# Type `p10k configure` to generate another config.
#
# 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)
timewarrior # timewarrior tracking status (https://timewarrior.net/)
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
per_directory_history # Oh My Zsh per-directory-history local/global indicator
# cpu_arch # CPU architecture
time # current time
# =========================[ Line #2 ]=========================
@ -116,7 +117,7 @@
)
# 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
# icon overlap when using non-monospace fonts. When set to `none`, spaces are not added.
typeset -g POWERLEVEL9K_ICON_PADDING=none
@ -149,32 +150,32 @@
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX=
typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX=
# Connect right prompt lines with these symbols.
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX=
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX=
typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX=
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX='%244F─╮'
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX='%244F─┤'
typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX='%244F─╯'
# The left end of left prompt.
typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL=
# 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
# probably want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false above and
# POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' ' below.
typeset -g POWERLEVEL9K_SHOW_RULER=false
typeset -g POWERLEVEL9K_RULER_CHAR='-' # reasonable alternative: '·'
typeset -g POWERLEVEL9K_RULER_FOREGROUND=238
typeset -g POWERLEVEL9K_RULER_CHAR='' # reasonable alternative: '·'
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
# 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
# if using this. You might also like POWERLEVEL9K_PROMPT_ADD_NEWLINE=false for more compact
# 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
# 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.
typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=' '
# Add a space between the filler and the start of right prompt.
@ -197,13 +198,13 @@
# Red prompt symbol if the last command failed.
typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196
# 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.
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.
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V'
# 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
# No line terminator if prompt_char is the last segment.
typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=''
@ -239,7 +240,7 @@
.java-version
.perl-version
.php-version
.tool-version
.tool-versions
.shorten_folder_marker
.svn
.terraform
@ -354,7 +355,7 @@
# 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.
#
@ -391,9 +392,9 @@
if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then
local branch=${(V)VCS_STATUS_LOCAL_BRANCH}
# 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.
(( $#branch > 32 )) && branch[13,-13]=".." # <-- this line
(( $#branch > 32 )) && branch[13,-13]="" # <-- this line
res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}"
fi
@ -404,9 +405,9 @@
]]; then
local tag=${(V)VCS_STATUS_TAG}
# 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.
(( $#tag > 32 )) && tag[13,-13]=".." # <-- this line
(( $#tag > 32 )) && tag[13,-13]="" # <-- this line
res+="${meta}#${clean}${tag//\%/%%}"
fi
@ -425,16 +426,22 @@
res+=" ${modified}wip"
fi
# <42 if behind the remote.
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}<${VCS_STATUS_COMMITS_BEHIND}"
# >42 if ahead of the remote; no leading space if also behind the remote: <42>42.
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}>${VCS_STATUS_COMMITS_AHEAD}"
# <-42 if behind the push remote.
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}<-${VCS_STATUS_PUSH_COMMITS_BEHIND}"
if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then
# ⇣42 if behind the remote.
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}${VCS_STATUS_COMMITS_BEHIND}"
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}${VCS_STATUS_COMMITS_AHEAD}"
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+=" "
# ->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}"
# 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}"
# *42 if have stashes.
(( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}"
# '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.
# 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}"
# "-" 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
# 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 this case.
(( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}-"
(( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}"
typeset -g my_git_format=$res
}
@ -510,32 +517,32 @@
# it will signify success by turning green.
typeset -g POWERLEVEL9K_STATUS_OK=false
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
# like this: 1|0.
typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true
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
# it will signify error by turning red.
typeset -g POWERLEVEL9K_STATUS_ERROR=false
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.
typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true
typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=160
# Use terse signal names: "INT" instead of "SIGINT(2)".
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.
# It may look like this: 1|0.
typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true
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 ]###################
# 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 color.
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 hide task names and display just the icon when time tracking is enabled, set the
# 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.
# typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
@ -862,6 +869,19 @@
# Custom icon.
# 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 architecture color.
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) ]#
# Show aws only when the command you are typing invokes one of these tools.
# 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
# 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.
# Tip: Remove the next line to always show azure.
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.
typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32
typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=32
# 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/) ]###########
# 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_RX_RATE | receive 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.
# Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces.
typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*'
@ -1548,7 +1597,7 @@
# Show battery in yellow when it's discharging.
typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178
# 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.
typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false
@ -1598,7 +1647,7 @@
#
# Type `p10k help segment` for documentation and a more sophisticated 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
@ -1643,7 +1692,7 @@
# - 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
# 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.
# 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[@]}
'builtin' 'unset' 'p10k_config_opts'

View File

@ -1,3 +1,4 @@
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# 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"
fi
# autoload -Uz compinit
# compinit
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
# 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
export DOT="~/.dotfiles"
alias vim='vim -S ~/.vimrc'
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 LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd
export EDITOR="$VISUAL"
export VISUAL='nvim'
export PYTHONPATH="/opt/homebrew/bin/python3:$PYTHONPATH"
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
# export PYENV_ROOT="$HOME/.pyenv"
# command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
# Function to Correctly Source $VIRTUAL_ENV for Neovim
function nvimvenv {
@ -39,21 +66,28 @@ function nvimvenv {
export PATH="$PATH:$HOME/.rvm/bin"
[ -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/bin:$PATH"
export PATH="$NPM_PACKAGES/bin:$PATH"
source /opt/homebrew/share/powerlevel10k/powerlevel10k.zsh-theme
# 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-syntax-highlighting/zsh-syntax-highlighting.zsh
. "$HOME/.cargo/env"
export PATH="/usr/local/opt/openssl/bin:$PATH"
echo 'eval "$(uv generate-shell-completion zsh)"' >> ~/.zshrc
. "$HOME/.local/bin/env"
export NVM_DIR="$HOME/.nvm"
# 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
eval "$(uv generate-shell-completion zsh)"
# 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