Compare commits
13 Commits
bd16e37046
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 8c9730a06a | |||
| 57ec589f4d | |||
| 92e32f7906 | |||
| 46c37215dc | |||
| 17f7b3243b | |||
| c8de5155b9 | |||
| 2919694e39 | |||
| 51c4676cbf | |||
| abfa8ad841 | |||
| f785609c61 | |||
| e57a7b9ce2 | |||
| 91c4897b7f | |||
| 4dc6ffaa85 |
106
nvim/.config/nvim/code-shot.lua
Normal file
106
nvim/.config/nvim/code-shot.lua
Normal 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
|
||||
|
||||
@ -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')
|
||||
|
||||
@ -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" }
|
||||
}
|
||||
|
||||
5
nvim/.config/nvim/lsp/dprint.lua
Normal file
5
nvim/.config/nvim/lsp/dprint.lua
Normal file
@ -0,0 +1,5 @@
|
||||
return {
|
||||
cmd = {'dprint', 'lsp'},
|
||||
root_markers = { './' },
|
||||
filetypes = { "javascript", "js", "javascriptreact", "typescript", "typescriptreact", "json", "jsonc", "toml", "rust", "roslyn", "graphql" }
|
||||
}
|
||||
15
nvim/.config/nvim/lsp/emmet-ls.lua
Normal file
15
nvim/.config/nvim/lsp/emmet-ls.lua
Normal 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,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
5
nvim/.config/nvim/lsp/marksman.lua
Normal file
5
nvim/.config/nvim/lsp/marksman.lua
Normal file
@ -0,0 +1,5 @@
|
||||
return {
|
||||
cmd = { 'marksman' },
|
||||
root_markers = { './', },
|
||||
filetypes = { 'md', 'markdown' },
|
||||
}
|
||||
67
nvim/.config/nvim/lsp/pyright.lua
Normal file
67
nvim/.config/nvim/lsp/pyright.lua
Normal 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,
|
||||
}
|
||||
7
nvim/.config/nvim/lsp/ruff.lua
Normal file
7
nvim/.config/nvim/lsp/ruff.lua
Normal 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 = {},
|
||||
}
|
||||
@ -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 })
|
||||
|
||||
@ -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
|
||||
]]
|
||||
|
||||
@ -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
|
||||
}
|
||||
@ -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" },
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -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' } },
|
||||
}
|
||||
},
|
||||
}
|
||||
@ -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
|
||||
-- }
|
||||
|
||||
@ -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
|
||||
-- }
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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,
|
||||
-- },
|
||||
}
|
||||
|
||||
@ -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
|
||||
}
|
||||
@ -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)
|
||||
--
|
||||
-- }
|
||||
@ -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,
|
||||
}
|
||||
@ -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
|
||||
}
|
||||
@ -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,
|
||||
}
|
||||
@ -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
|
||||
--}
|
||||
@ -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,
|
||||
}
|
||||
@ -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
|
||||
}}
|
||||
|
||||
@ -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,
|
||||
}
|
||||
@ -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",
|
||||
},
|
||||
},
|
||||
}
|
||||
243
nvim/.config/nvim/nvim-pack-lock.json
Normal file
243
nvim/.config/nvim/nvim-pack-lock.json
Normal 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
82
nvim/.config/nvim/plugin/blink.lua
Normal file
82
nvim/.config/nvim/plugin/blink.lua
Normal 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,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
-- }
|
||||
})
|
||||
29
nvim/.config/nvim/plugin/codecompanion.lua
Normal file
29
nvim/.config/nvim/plugin/codecompanion.lua
Normal 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",
|
||||
-- }
|
||||
-- }
|
||||
-- })
|
||||
16
nvim/.config/nvim/plugin/colorschemes.lua
Normal file
16
nvim/.config/nvim/plugin/colorschemes.lua
Normal 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')
|
||||
|
||||
34
nvim/.config/nvim/plugin/dashboard.lua
Normal file
34
nvim/.config/nvim/plugin/dashboard.lua
Normal 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',
|
||||
-- },
|
||||
},
|
||||
},
|
||||
})
|
||||
46
nvim/.config/nvim/plugin/headlines.lua
Normal file
46
nvim/.config/nvim/plugin/headlines.lua
Normal 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' })
|
||||
17
nvim/.config/nvim/plugin/hover.lua
Normal file
17
nvim/.config/nvim/plugin/hover.lua
Normal 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)"})
|
||||
|
||||
184
nvim/.config/nvim/plugin/init.lua
Normal file
184
nvim/.config/nvim/plugin/init.lua
Normal 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',
|
||||
-- },
|
||||
-- }
|
||||
|
||||
|
||||
186
nvim/.config/nvim/plugin/nvim-telescope.lua
Normal file
186
nvim/.config/nvim/plugin/nvim-telescope.lua
Normal 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")
|
||||
32
nvim/.config/nvim/plugin/nvim-treesitter.lua
Normal file
32
nvim/.config/nvim/plugin/nvim-treesitter.lua
Normal 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,
|
||||
-- })
|
||||
@ -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'
|
||||
}
|
||||
}
|
||||
})
|
||||
@ -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
1
tmux/.config/tmux/plugins/tmux-which-key
Submodule
1
tmux/.config/tmux/plugins/tmux-which-key
Submodule
Submodule tmux/.config/tmux/plugins/tmux-which-key added at 1f419775ca
@ -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'
|
||||
|
||||
1
tmux/.config/tmux/wan_ip.txt
Normal file
1
tmux/.config/tmux/wan_ip.txt
Normal file
@ -0,0 +1 @@
|
||||
69.120.56.29
|
||||
1
wan_ip.txt
Normal file
1
wan_ip.txt
Normal file
@ -0,0 +1 @@
|
||||
69.120.56.29
|
||||
148
zsh/.p10k.zsh
148
zsh/.p10k.zsh
@ -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 ⇣42⇡42 *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'
|
||||
|
||||
|
||||
54
zsh/.zshrc
54
zsh/.zshrc
@ -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
0
zsh/install_deps.sh
Normal file
Submodule zsh/zsh-autosuggestions updated: c3d4e576c9...85919cd1ff
Submodule zsh/zsh-syntax-highlighting updated: 143b25eb98...1d85c69261
Reference in New Issue
Block a user