Actually Stowing Files

This commit is contained in:
ayushDumasia 2024-09-18 00:20:46 +05:30
parent 0f42a6b9c3
commit 500aecaea1
752 changed files with 1 additions and 67593 deletions

View file

@ -0,0 +1,15 @@
{
"diagnostics.globals": [
"vim",
"null_ls",
"local",
"grep",
"current_line_blame",
"dependencies"
],
"diagnostics.disable": [
"redundant-value",
"undefined-global",
"unused-local"
]
}

19
vim/.config/nvim/init.lua Normal file
View file

@ -0,0 +1,19 @@
-- Setup for lazy.nvim plugin manager
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
vim.opt.guifont = "CascadiaCode"
vim.opt.guifont = "CaskaydiaCove NFM"
require("vim-options")
require("lazy").setup("plugins")

View file

@ -0,0 +1,51 @@
{
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"LuaSnip": { "branch": "master", "commit": "b84eeb3641b08324287587b426ec974b888390d9" },
"alpha-nvim": { "branch": "main", "commit": "355fbb81a59637a8963cf5847074f8c44dbef11f" },
"auto-pairs": { "branch": "master", "commit": "39f06b873a8449af8ff6a3eee716d3da14d63a76" },
"bufferline.nvim": { "branch": "main", "commit": "0b2fd861eee7595015b6561dade52fb060be10c4" },
"catppuccin": { "branch": "main", "commit": "18bab5ec4c782cdf7d7525dbe89c60bfa02fc195" },
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"copilot.vim": { "branch": "release", "commit": "782461159655b259cff10ecff05efa761e3d4764" },
"coq_nvim": { "branch": "coq", "commit": "427a3ff9d467e564bfda98c5b56575450dfe3da8" },
"friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" },
"gitsigns.nvim": { "branch": "main", "commit": "562dc47189ad3c8696dbf460d38603a74d544849" },
"indentLine": { "branch": "master", "commit": "b96a75985736da969ac38b72a7716a8c57bdde98" },
"lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" },
"lazygit": { "branch": "master", "commit": "8bcfa3660ae17bca0ce7f8c727b1a770fbf88f08" },
"lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1c55991321d1a861537e32446affc5de5d9a6eaf" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
"minimap.vim": { "branch": "master", "commit": "395378137e6180762d5b963ca9ad5ac2db5d3283" },
"multicursors.nvim": { "branch": "main", "commit": "562809aaf203b4c65482a75199166d360f2b9298" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" },
"noice.nvim": { "branch": "main", "commit": "448bb9c524a7601035449210838e374a30153172" },
"none-ls.nvim": { "branch": "main", "commit": "cfa65d86e21eeb60544d5e823f6db43941322a53" },
"nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" },
"nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" },
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
"nvim-cursorline": { "branch": "main", "commit": "804f0023692653b2b2368462d67d2a87056947f9" },
"nvim-hlslens": { "branch": "main", "commit": "1db56afda3e85791a14b096e483dfda699dd9163" },
"nvim-lspconfig": { "branch": "master", "commit": "a89de2e049b5f89a0ee55029d5a31213bd4de6f8" },
"nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" },
"nvim-scrollbar": { "branch": "main", "commit": "d09f14aa16c9f2748e77008f9da7b1f76e4e7b85" },
"nvim-surround": { "branch": "main", "commit": "ec2dc7671067e0086cdf29c2f5df2dd909d5f71f" },
"nvim-treesitter": { "branch": "master", "commit": "63e1337f1b60c84a4100ebedfb1dc80924c49122" },
"nvim-web-devicons": { "branch": "master", "commit": "3722e3d1fb5fe1896a104eb489e8f8651260b520" },
"oil.nvim": { "branch": "master", "commit": "a632c898fbe0e363ef89b9577f1a7714ab67d682" },
"plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" },
"tagbar": { "branch": "master", "commit": "d55d454bd3d5b027ebf0e8c75b8f88e4eddad8d8" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"toggleterm.nvim": { "branch": "main", "commit": "137d06fb103952a0fb567882bb8527e2f92d327d" },
"treesj": { "branch": "main", "commit": "0d81326b5afd36babe7dd480aabbb0b05f33e688" },
"usage-tracker.nvim": { "branch": "main", "commit": "739532b069e0d829b45ede989c657ac32a2141a6" },
"vim-bbye": { "branch": "master", "commit": "25ef93ac5a87526111f43e5110675032dbcacf56" },
"vim-fugitive": { "branch": "master", "commit": "0444df68cd1cdabc7453d6bd84099458327e5513" },
"vim-lion": { "branch": "master", "commit": "ce46593ecd60e6051fb6e4d3986d2fc9f5a618b1" },
"vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" },
"vim-smoothie": { "branch": "master", "commit": "df1e324e9f3395c630c1c523d0555a01d2eb1b7e" },
"vim-tmux-navigator": { "branch": "master", "commit": "5b3c701686fb4e6629c100ed32e827edf8dad01e" },
"which-key.nvim": { "branch": "main", "commit": "6c1584eb76b55629702716995cca4ae2798a9cca" }
}

View file

@ -0,0 +1,2 @@
return {
}

View file

@ -0,0 +1,33 @@
return {
"goolord/alpha-nvim",
dependencies = {
"nvim-tree/nvim-web-devicons",
},
config = function()
local alpha = require("alpha")
local dashboard = require("alpha.themes.startify")
-- Custom ASCII art header
dashboard.section.header.val = {
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[  ]],
[[ ████ ██████ █████ ██ ]],
[[ ███████████ █████  ]],
[[ █████████ ███████████████████ ███ ███████████ ]],
[[ █████████ ███ █████████████ █████ ██████████████ ]],
[[ █████████ ██████████ █████████ █████ █████ ████ █████ ]],
[[ ███████████ ███ ███ █████████ █████ █████ ████ █████ ]],
[[ ██████ █████████████████████ ████ █████ █████ ████ ██████ ]],
[[ ]],
[[ ]],
[[ ]],
}
-- Set up alpha with the startify theme
alpha.setup(dashboard.opts)
end,
}

View file

@ -0,0 +1,3 @@
return {
"jiangmiao/auto-pairs",
}

View file

@ -0,0 +1,81 @@
return {
'akinsho/bufferline.nvim',
dependencies = {
'moll/vim-bbye',
'nvim-tree/nvim-web-devicons',
},
config = function()
-- vim.opt.linespace = 8
require('bufferline').setup {
options = {
mode = 'buffers', -- set to "tabs" to only show tabpages instead
themable = true, -- allows highlight groups to be overriden i.e. sets highlights as default
numbers = 'none', -- | "ordinal" | "buffer_id" | "both" | function({ ordinal, id, lower, raise }): string,
close_command = 'Bdelete! %d', -- can be a string | function, see "Mouse actions"
right_mouse_command = 'Bdelete! %d', -- can be a string | function, see "Mouse actions"
left_mouse_command = 'buffer %d', -- can be a string | function, see "Mouse actions"
middle_mouse_command = nil, -- can be a string | function, see "Mouse actions"
-- buffer_close_icon = '󰅖',
buffer_close_icon = '',
-- buffer_close_icon = '✕',
close_icon = '',
path_components = 1, -- Show only the file name without the directory
modified_icon = '',
left_trunc_marker = '',
right_trunc_marker = '',
max_name_length = 30,
max_prefix_length = 30, -- prefix used when a buffer is de-duplicated
tab_size = 21,
diagnostics = false,
diagnostics_update_in_insert = false,
color_icons = true,
show_buffer_icons = true,
show_buffer_close_icons = true,
show_close_icon = true,
persist_buffer_sort = true, -- whether or not custom sorted buffers should persist
separator_style = { '', '' }, -- | "thick" | "thin" | { 'any', 'any' },
enforce_regular_tabs = true,
always_show_bufferline = true,
show_tab_indicators = false,
indicator = {
-- icon = '▎', -- this should be omitted if indicator style is not 'icon'
style = 'none', -- Options: 'icon', 'underline', 'none'
},
icon_pinned = '󰐃',
minimum_padding = 1,
maximum_padding = 5,
maximum_length = 15,
sort_by = 'insert_at_end',
},
highlights = {
separator = {
fg = '#434C5E',
},
buffer_selected = {
bold = true,
italic = false,
},
-- separator_selected = {},
-- tab_selected = {},
-- background = {},
-- indicator_selected = {},
-- fill = {},
},
}
-- Keymaps
local opts = { noremap = true, silent = true, desc = 'Go to Buffer' }
-- vim.keymap.set("n", "<Tab>", "<Cmd>BufferLineCycleNext<CR>", {})
-- vim.keymap.set("n", "<S-Tab>", "<Cmd>BufferLineCyclePrev<CR>", {})
vim.keymap.set('n', '<leader>1', "<cmd>lua require('bufferline').go_to_buffer(1)<CR>", opts)
vim.keymap.set('n', '<leader>2', "<cmd>lua require('bufferline').go_to_buffer(2)<CR>", opts)
vim.keymap.set('n', '<leader>3', "<cmd>lua require('bufferline').go_to_buffer(3)<CR>", opts)
vim.keymap.set('n', '<leader>4', "<cmd>lua require('bufferline').go_to_buffer(4)<CR>", opts)
vim.keymap.set('n', '<leader>5', "<cmd>lua require('bufferline').go_to_buffer(5)<CR>", opts)
vim.keymap.set('n', '<leader>6', "<cmd>lua require('bufferline').go_to_buffer(6)<CR>", opts)
vim.keymap.set('n', '<leader>7', "<cmd>lua require('bufferline').go_to_buffer(7)<CR>", opts)
vim.keymap.set('n', '<leader>8', "<cmd>lua require('bufferline').go_to_buffer(8)<CR>", opts)
vim.keymap.set('n', '<leader>9', "<cmd>lua require('bufferline').go_to_buffer(9)<CR>", opts)
end,
}

View file

@ -0,0 +1,25 @@
return {
"norcalli/nvim-colorizer.lua",
config = function()
require("colorizer").setup({
"*", -- Highlight all files
}, {
RGB = true, -- Enable #RGB hex codes
RRGGBB = true, -- Enable #RRGGBB hex codes
names = true, -- Enable color names like "blue"
RRGGBBAA = true, -- Enable #RRGGBBAA hex codes
rgb_fn = true, -- Enable CSS rgb() and rgba() functions
hsl_fn = true, -- Enable CSS hsl() and hsla() functions
css = true, -- Enable all CSS features
css_fn = true, -- Enable all CSS functions
-- Enabling additional formats
hsl = true, -- Enable HSL color codes
hex = true, -- Enable hex codes (#000000)
hsv_fn = true, -- Enable HSV functions
hsla_fn = true, -- Enable HSLA functions
vim_colors = true, -- Enable Vim color names
mode = "background", -- Set the display mode to 'background'
})
end,
}

View file

@ -0,0 +1,38 @@
return {
-- -- Catppuccin theme
"catppuccin/nvim",
lazy = false,
name = "catppuccin",
priority = 1000, -- Adjusted priority
config = function()
vim.cmd.colorscheme("catppuccin")
end,
-- },
-- -- Onedarkpro theme
--
-- -- "olimorris/onedarkpro.nvim",
-- -- priority = 1000, -- Ensure it loads first
-- -- config = function()
-- -- vim.cmd.colorscheme('onedark')
-- -- end
--
-- -- Gotham theme
-- -- {
-- -- "whatyouhide/vim-gotham",
-- -- priority = 800, -- Adjusted priority
-- -- lazy = false,
-- -- -- No config, we are not applying this theme by default
-- -- },
--
-- -- -- Dracula theme
-- -- {
-- -- "dracula/vim",
-- -- priority = 200, -- Highest priority, loads this theme last
-- -- config = function()
-- -- vim.cmd.colorscheme("dracula") -- Apply Dracula as the default theme
-- -- end,
--
-- -- },
}

View file

@ -0,0 +1,24 @@
return {
"numToStr/Comment.nvim",
config = function()
require('Comment').setup({
-- Add any configuration options here
toggler = {
line = 'gcc', -- Toggle comment for the current line
block = 'gbc', -- Toggle comment for a block of code
},
opleader = {
line = 'gc', -- Operator-pending mode mapping for line comments
block = 'gb', -- Operator-pending mode mapping for block comments
},
mappings = {
basic = true, -- Includes basic mappings like `gcc`, `gbc`, `gc[count]{motion}`, and `gb[count]{motion}`
extra = true, -- Includes extra mappings like `gco`, `gcO`, `gcA`
extended = false, -- Includes extended mappings like `g>[count]{motion}`, `g<[count]{motion}`
},
pre_hook = nil, -- Function to call before commenting, useful for languages like TypeScript where you want to check the file type
post_hook = nil, -- Function to call after commenting
})
end,
}

View file

@ -0,0 +1,44 @@
return {
{
"hrsh7th/cmp-nvim-lsp",
},
{
"L3MON4D3/LuaSnip",
dependencies = {
"saadparwaiz1/cmp_luasnip",
"rafamadriz/friendly-snippets",
},
},
{
"hrsh7th/nvim-cmp",
config = function()
local cmp = require("cmp")
require("luasnip.loaders.from_vscode").lazy_load()
cmp.setup({
snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body)
end,
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
mapping = cmp.mapping.preset.insert({
["<C-b>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-Space>"] = cmp.mapping.complete(),
["<C-e>"] = cmp.mapping.abort(),
["<CR>"] = cmp.mapping.confirm({ select = true }),
}),
sources = cmp.config.sources({
{ name = "nvim_lsp" },
{ name = "luasnip" }, -- For luasnip users.
}, {
{ name = "buffer" },
}),
})
end,
},
}

View file

@ -0,0 +1,9 @@
return {
"github/copilot.vim",
config = function()
-- Copilot specific settings can go here if needed
-- For example, to disable Copilot by default
vim.g.copilot_enabled = false
end
}

View file

@ -0,0 +1,17 @@
return {
"ms-jpq/coq_nvim",
branch = "coq",
run = ":COQdeps", -- Installs required dependencies
config = function()
-- Load the coq plugin
require("coq")()
-- Optional: Load the recommended plugins for better completion experience
require("coq")({
{ src = "nvimlua", short_name = "nLUA", conf_only = false }, -- For Neovim Lua API
{ src = "bc", short_name = "MATH", precision = 6 }, -- For mathematical calculations
{ src = "cow", trigger = "!cow" }, -- For ASCII cows
{ src = "figlet", trigger = "!big" }, -- For ASCII art
})
end,
}

View file

@ -0,0 +1,18 @@
return {
"yamatsum/nvim-cursorline",
lazy = true,
config = function()
require("nvim-cursorline").setup({
cursorline = {
enable = true,
timeout = 1000,
number = false,
},
cursorword = {
enable = true,
min_length = 3,
hl = { underline = true },
},
})
end,
}

View file

@ -0,0 +1,15 @@
return {
{
"tpope/vim-fugitive"
},
{
"lewis6991/gitsigns.nvim",
config = function()
require("gitsigns").setup()
vim.keymap.set("n", "<leader>gp", ":Gitsigns preview_hunk<CR>", {})
-- vim.keymap.set("n", "<leader>gt", ":Gitsigns toggle_current_line_blame<CR>", {})
vim.cmd("Gitsigns toggle_current_line_blame")
end
}
}

View file

@ -0,0 +1,16 @@
return {
'Yggdroot/indentLine',
config = function()
-- Set the character used for indentation lines
vim.g.indentLine_char = ''
-- Optional: Set colors for terminal and GUI
vim.g.indentLine_color_term = 239
vim.g.indentLine_color_gui = '#3e4451'
-- Optional: Customize the behavior of indentLine
-- Enable/disable specific file types or settings if needed
vim.g.indentLine_filetype_exclude = {"*"}
end
}

View file

@ -0,0 +1,3 @@
return {
"jesseduffield/lazygit",
}

View file

@ -0,0 +1,10 @@
return {
"tommcdo/vim-lion",
config = function()
-- Example: Custom keybinding for alignment
vim.api.nvim_set_keymap("n", "gl", "<Plug>(LionAlign)", {})
vim.api.nvim_set_keymap("x", "gl", "<Plug>(LionAlign)", {})
vim.api.nvim_set_keymap("n", "gL", "<Plug>(LionAlign)", {})
vim.api.nvim_set_keymap("x", "gL", "<Plug>(LionAlign)", {})
end,
}

View file

@ -0,0 +1,122 @@
-- Set lualine as statusline
return {
'nvim-lualine/lualine.nvim',
config = function()
-- Adapted from: https://github.com/nvim-lualine/lualine.nvim/blob/master/lua/lualine/themes/onedark.lua
local colors = {
blue = '#61afef',
green = '#98c379',
purple = '#c678dd',
cyan = '#56b6c2',
red1 = '#e06c75',
red2 = '#be5046',
yellow = '#e5c07b',
fg = '#abb2bf',
bg = '#282c34',
gray1 = '#828997',
gray2 = '#2c323c',
gray3 = '#3e4452',
}
local onedark_theme = {
normal = {
a = { fg = colors.bg, bg = colors.green, gui = 'bold' },
b = { fg = colors.fg, bg = colors.gray3 },
c = { fg = colors.fg, bg = colors.gray2 },
},
command = { a = { fg = colors.bg, bg = colors.yellow, gui = 'bold' } },
insert = { a = { fg = colors.bg, bg = colors.blue, gui = 'bold' } },
visual = { a = { fg = colors.bg, bg = colors.purple, gui = 'bold' } },
terminal = { a = { fg = colors.bg, bg = colors.cyan, gui = 'bold' } },
replace = { a = { fg = colors.bg, bg = colors.red1, gui = 'bold' } },
inactive = {
a = { fg = colors.gray1, bg = colors.bg, gui = 'bold' },
b = { fg = colors.gray1, bg = colors.bg },
c = { fg = colors.gray1, bg = colors.gray2 },
},
}
local hide_in_width = function()
return vim.fn.winwidth(0) > 80
end
local diagnostics = {
'diagnostics',
sources = { 'nvim_diagnostic' },
sections = { 'error', 'warn' },
symbols = { error = '', warn = '', info = '', hint = '' },
colored = false,
update_in_insert = false,
always_visible = true,
}
local diff = {
'diff',
colored = false,
symbols = { added = '', modified = '', removed = '' }, -- changes diff symbols
cond = hide_in_width,
}
-- Import color theme based on environment variable NVIM_THEME
local env_var_nvim_theme = os.getenv 'NVIM_THEME' or 'nord'
-- Define a table of themes
local themes = {
onedark = onedark_theme,
nord = 'nord',
}
require('lualine').setup {
options = {
icons_enabled = true,
theme = themes[env_var_nvim_theme], -- Set theme based on environment variable
-- Some useful glyphs:
-- https://www.nerdfonts.com/cheat-sheet
--        
section_separators = { left = '', right = '' },
component_separators = { left = '', right = '' },
disabled_filetypes = { 'alpha', 'dashboard', 'NvimTree', 'Outline' },
always_divide_middle = true,
},
sections = {
-- lualine_a = { 'mode' },
lualine_a = {
{
'mode',
fmt = function(str)
-- return ' ' .. str:sub(1, 1)
return '' .. str
end,
},
},
lualine_b = { 'branch' },
lualine_c = {
{
'filename',
file_status = true, -- displays file status (readonly status, modified status)
path = 0, -- 0 = just filename, 1 = relative path, 2 = absolute path
},
},
lualine_x = { diagnostics, 'encoding', 'filetype' },
lualine_y = { 'location' },
lualine_z = { 'progress' },
},
inactive_sections = {
lualine_a = {},
lualine_b = {},
lualine_c = {
{
'filename',
file_status = true, -- displays file status (readonly status, modified status)
path = 1, -- 0 = just filename, 1 = relative path, 2 = absolute path
},
},
lualine_x = { { 'location', padding = 0 } },
lualine_y = {},
lualine_z = {},
},
tabline = {},
extensions = { 'fugitive' },
}
end,
}

View file

@ -0,0 +1,12 @@
return {
"williamboman/mason-lspconfig.nvim",
lazy = false,
opts = {
auto_install = true,
},
config = function()
require("mason-lspconfig").setup({
ensure_installed = { "lua_ls", "rust_analyzer", "tsserver", "clangd", "cmake_language_server", "tsserver" },
})
end,
}

View file

@ -0,0 +1,14 @@
return {
"williamboman/mason.nvim",
config = function()
require("mason").setup({
ui = {
icons = {
package_installed = "",
package_pending = "",
package_uninstalled = "",
},
},
})
end,
}

View file

@ -0,0 +1,13 @@
return {
"wfxr/minimap.vim",
requires = {
"wfxr/code-minimap", -- Dependency for the minimap
},
run = "cargo install --locked code-minimap", -- Install the code-minimap dependency
config = function()
vim.cmd("let g:minimap_width = 40") -- Example of setting up the minimap width
vim.cmd("let g:minimap_auto_start = 1") -- Automatically start the minimap
vim.cmd("let g:minimap_auto_start_win_enter = 1") -- Automatically start minimap on window enter
end,
}

View file

@ -0,0 +1,17 @@
return {
"smoka7/multicursors.nvim",
config = function()
require("lazy").setup({
config = function()
config.setup({})
-- Set up key mappings for Ctrl + Shift + Arrow Keys
vim.api.nvim_set_keymap("n", "<C-S-Left>", "<cmd>MCstart<cr>", { noremap = true, silent = true })
vim.api.nvim_set_keymap("n", "<C-S-Right>", "<cmd>MCnext<cr>", { noremap = true, silent = true })
vim.api.nvim_set_keymap("n", "<C-S-Up>", "<cmd>MCprev<cr>", { noremap = true, silent = true })
vim.api.nvim_set_keymap("n", "<C-S-Down>", "<cmd>MCexit<cr>", { noremap = true, silent = true })
end,
})
end,
}

View file

@ -0,0 +1,38 @@
return {
"nvim-neo-tree/neo-tree.nvim",
branch = "v3.x",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons",
"MunifTanjim/nui.nvim",
},
keys = {
{
"<C-e>",
function()
vim.cmd("Neotree toggle left")
end,
desc = "Toggle Neo-tree",
},
},
opts = {
filesystem = {
filtered_items = {
visible = true,
hide_dotfiles = false, -- Show hidden files and folders
},
},
},
config = function()
require("neo-tree").setup({
filesystem = {
filtered_items = {
visible = true,
hide_dotfiles = false,
},
},
})
end,
}

View file

@ -0,0 +1,31 @@
return {
"folke/noice.nvim",
event = "VeryLazy",
opts = {
lsp = {
override = {
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
["vim.lsp.util.convert_markdown_to_vim"] = true,
},
},
messages = {
view = "mini",
},
presets = {
bottom_scroll = true,
command_palette = true,
long_message_to_split = true,
},
},
dependencies = {
"MunifTanjim/nui.nvim",
"rcarriga/nvim-notify",
},
config = function()
require("noice").setup({
-- Custom setup options
})
end,
}

View file

@ -0,0 +1,21 @@
return {
"nvimtools/none-ls.nvim",
config = function()
local null_ls = require("null-ls")
null_ls.setup({
sources = {
null_ls.builtins.formatting.stylua,
null_ls.builtins.formatting.prettier,
--null_ls.builtins.diagnostics.asp_grep,
null_ls.builtins.formatting.prettierd,
null_ls.builtins.diagnostics.cpplint,
null_ls.builtins.formatting.clang_format,
},
})
-- Map <leader>gf to format buffer using null-ls
vim.keymap.set("n", "<leader>gf", function()
vim.lsp.buf.format()
end, { noremap = true, silent = true })
end,
}

View file

@ -0,0 +1,17 @@
return {
"neovim/nvim-lspconfig",
lazy = false,
config = function()
local capabilities = require("cmp_nvim_lsp").default_capabilities()
local lspconfig = require("lspconfig")
lspconfig.lua_ls.setup({
capabilities = capabilities,
})
lspconfig.tsserver.setup({
capabilities = capabilities,
})
vim.keymap.set("n", "K", vim.lsp.buf.hover, {})
vim.keymap.set("n", "gd", vim.lsp.buf.definition, {})
vim.keymap.set({ "n", "v" }, "<leader>ca", vim.lsp.buf.code_action, {})
end,
}

View file

@ -0,0 +1,14 @@
return {
"gaborvecsei/usage-tracker.nvim",
config = function()
require("usage-tracker").setup({
keep_eventlog_days = 14,
cleanup_freq_days = 7,
event_wait_period_in_sec = 5,
inactivity_threshold_in_min = 5,
inactivity_check_freq_in_sec = 5,
verbose = 0,
telemetry_endpoint = "",
})
end,
}

View file

@ -0,0 +1,8 @@
return {
"stevearc/oil.nvim",
config = function()
local oil = require("oil")
oil.setup()
vim.keymap.set("n", "<F13>", oil.toggle_float, {})
end,
}

View file

@ -0,0 +1,3 @@
return {
"tpope/vim-repeat",
}

View file

@ -0,0 +1,54 @@
return {
"petertriho/nvim-scrollbar",
dependencies = {
"kevinhwang91/nvim-hlslens", -- Optional, for better search highlighting
},
config = function()
require("scrollbar").setup({
handle = {
color = "#4C566A", -- Custom color for the scrollbar handle
},
marks = {
Search = { color = "#EBCB8B" }, -- Color for search results
Error = { color = "#BF616A" }, -- Color for errors
Warn = { color = "#EBCB8B" }, -- Color for warnings
Info = { color = "#88C0D0" }, -- Color for info
Hint = { color = "#A3BE8C" }, -- Color for hints
Misc = { color = "#D08770" }, -- Color for miscellaneous markers
},
handlers = {
cursor = true, -- Enable scrollbar on cursor
diagnostic = true, -- Show diagnostics in the scrollbar
search = true, -- Highlight search results in the scrollbar
},
})
-- Optional: Integrate with hlslens for better search highlighting
require("scrollbar.handlers.search").setup({
override_lens = function(render, posList, nearest, idx, relIdx)
local sfw = vim.v.searchforward == 1
local indicator, text, chunks
local absRelIdx = math.abs(relIdx)
if absRelIdx > 1 then
indicator = string.format("%d%s", absRelIdx, sfw ~= (relIdx > 1) and "" or "")
elseif absRelIdx == 1 then
indicator = sfw ~= (relIdx == 1) and "" or ""
else
indicator = ""
end
local lnum, col = unpack(posList[idx])
if nearest then
local cnt = #posList
text = string.format("[%s %d/%d]", indicator, idx, cnt)
chunks = { { " ", "Ignore" }, { text, "HlSearchLensNear" } }
else
text = string.format("[%s %d]", indicator, idx)
chunks = { { " ", "Ignore" }, { text, "HlSearchLens" } }
end
render.setVirt(0, lnum - 1, col - 1, chunks, nearest)
end,
})
end,
}

View file

@ -0,0 +1,10 @@
return {
"psliwka/vim-smoothie",
config = function()
vim.api.nvim_set_keymap('n', '<C-u>', '<Plug>(SmoothieUpwards)', {})
vim.api.nvim_set_keymap('n', '<C-d>', '<Plug>(SmoothieDownwards)', {})
vim.api.nvim_set_keymap('n', '<C-b>', '<Plug>(SmoothieUpwards)', {})
vim.api.nvim_set_keymap('n', '<C-f>', '<Plug>(SmoothieDownwards)', {})
end,
}

View file

@ -0,0 +1,10 @@
return {
"kylechui/nvim-surround",
version = "*", -- Use for stability; omit to use `main` branch for the latest features
event = "VeryLazy",
config = function()
require("nvim-surround").setup({
-- Configuration here, or leave empty to use defaults
})
end,
}

View file

@ -0,0 +1,9 @@
return {
"preservim/tagbar",
--dependencies = { "ctags" }, -- Note: `ctags` is not a Neovim plugin; it's a system dependency
config = function()
-- Set up Tagbar key mapping
vim.api.nvim_set_keymap('n', '<F8>', ':TagbarToggle<CR>', { noremap = true, silent = true })
end,
}

View file

@ -0,0 +1,14 @@
return {
'nvim-telescope/telescope-ui-select.nvim',
config = function()
require("telescope").setup {
extensions = {
["ui-select"] = {
require("telescope.themes").get_dropdown({})
}
}
}
require("telescope").load_extension("ui-select")
end
}

View file

@ -0,0 +1,10 @@
return {
'nvim-telescope/telescope.nvim',
tag = '0.1.8',
dependencies = { 'nvim-lua/plenary.nvim' },
config = function()
local builtin = require("telescope.builtin")
vim.keymap.set('n', '<C-p>', builtin.find_files, {})
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
end
}

View file

@ -0,0 +1,28 @@
return {
"akinsho/toggleterm.nvim",
config = function()
require("toggleterm").setup({
size = 20,
open_mapping = [[<c-\>]],
hide_numbers = true,
shade_filetypes = {},
shade_terminals = true,
shading_factor = "1",
start_in_insert = true,
insert_mappings = true,
terminal_mappings = true,
persist_size = true,
direction = "float",
close_on_exit = true,
shell = vim.o.shell,
float_opts = {
border = "curved",
winblend = 3,
highlights = {
border = "Normal",
background = "Normal",
},
},
})
end,
}

View file

@ -0,0 +1,12 @@
return {
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
config = function()
local config = require("nvim-treesitter.configs")
config.setup({
auto_install = true,
highlight = { enable = true },
indent = { enable = true },
})
end,
}

View file

@ -0,0 +1,12 @@
return {
"Wansmer/treesj",
keys = {
{
"<leader>m",
"<CMD>TSJToggle<CR>",
desc = "Toggle Treesitter Join",
},
},
cmd = { "TSJToggle", "TSJSplit", "TSJJoin" },
}

View file

@ -0,0 +1,17 @@
return {
"christoomey/vim-tmux-navigator",
cmd = {
"TmuxNavigateLeft",
"TmuxNavigateDown",
"TmuxNavigateUp",
"TmuxNavigateRight",
"TmuxNavigatePrevious",
},
keys = {
{ "<C-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
{ "<C-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
{ "<C-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
{ "<C-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
{ "<C-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
},
}

View file

@ -0,0 +1,18 @@
return {
"folke/which-key.nvim",
event = "VeryLazy",
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
},
keys = {
{
"<leader>?",
function()
require("which-key").show({ global = false })
end,
desc = "Buffer Local Keymaps (which-key)",
},
},
}

View file

@ -0,0 +1,18 @@
-- Set basic indentation options
vim.cmd("set expandtab")
vim.cmd("set tabstop=2")
vim.cmd("set softtabstop=2")
vim.cmd("set shiftwidth=2")
vim.g.mapleader = " "
vim.opt.number = true
--vim.keymap.set("n", "<C-c>", '"+y', { noremap = true, silent = true })
--vim.keymap.set("n", "<C-v>", '"+p', { noremap = true, silent = true })
vim.keymap.set("n", "<C-a>", "ggVG", { noremap = true, silent = true })
vim.keymap.set("n", "<C-t>", ":vsp<CR>", { noremap = true, silent = true })
-- vim.keymap.set("n", "<C-w>", ":tabclose<CR>", { noremap = true, silent = true })

File diff suppressed because one or more lines are too long