Compare commits

...

No commits in common. "main" and "new" have entirely different histories.
main ... new

100 changed files with 535 additions and 8163 deletions

View file

@ -1,14 +0,0 @@
local npairs = require("nvim-autopairs")
local Rule = require("nvim-autopairs.rule")
npairs.setup({
check_ts = true,
ts_config = {
lua = {"string"},
javascript = {"template_string"},
},
enable_check_bracket_line = false,
ignored_next_char = "[%w%.]",
})
local ts_conds = require("nvim-autopairs.ts-conds")

View file

@ -1,30 +0,0 @@
local home = os.getenv('HOME')
local db = require('dashboard')
db.custom_header = {"",
" /$$$$$$ /$$ /$$ ",
" /$$__ $$ | $$ | $$ ",
" /$$$$$$$ /$$$$$$ /$$$$$$ | $$ \\__//$$$$$$ /$$$$$$ /$$$$$$$| $$$$$$$ ",
"| $$__ $$ /$$__ $$ /$$__ $$| $$$$ /$$__ $$|_ $$_/ /$$_____/| $$__ $$",
"| $$ \\ $$| $$$$$$$$| $$ \\ $$| $$_/ | $$$$$$$$ | $$ | $$ | $$ \\ $$",
"| $$ | $$| $$_____/| $$ | $$| $$ | $$_____/ | $$ /$$| $$ | $$ | $$",
"| $$ | $$| $$$$$$$| $$$$$$/| $$ | $$$$$$$ | $$$$/| $$$$$$$| $$ | $$",
"|__/ |__/ \\_______/ \\______/ |__/ \\_______/ \\___/ \\_______/|__/ |__/",
"",
"",
"",
"",
"",
"",
"",
}
db.custom_center = {
{
icon = '',
desc ='File Browser ',
action = 'Telescope file_browser',
shortcut = 'SPC e e'
},
}

View file

@ -1,9 +0,0 @@
require('gitsigns').setup {
signs = {
add = { text = '+' },
change = { text = '~' },
delete = { text = '_' },
topdelete = { text = '' },
changedelete = { text = '~' },
},
}

View file

@ -1,214 +0,0 @@
require('neodev').setup()
-- vim.lsp.ensure_installed({
-- "clangd",
-- "gopls",
-- "jdtls",
-- "eslint",
-- "tailwindcss",
-- "tsserver",
-- "cssmodules_ls",
-- "rome",
-- "jsonls",
-- "sumneko_lua",
-- "pylsp",
-- "rust_analyzer",
-- "stylelint_lsp",
-- })
local navic = require("nvim-navic")
navic.setup {
icons = {
File = "",
Module = "",
Namespace = "",
Package = "",
Class = "",
Method = "",
Property = "",
Field = "",
Constructor = "",
Enum = "",
Interface = "",
Function = "",
Variable = "",
Constant = "",
String = "",
Number = "",
Boolean = "",
Array = "",
Object = "",
Key = "",
Null = "",
EnumMember = "",
Struct = "",
Event = "",
Operator = "",
TypeParameter = "",
},
highlight = false,
separator = " > ",
depth_limit = 0,
depth_limit_indicator = "..",
safe_output = true
}
local on_attach = function(client, bufnr)
local nmap = function(keys, func, desc)
if desc then
desc = 'LSP: ' .. desc
end
vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc })
end
if client.server_capabilities.documentSymbolProvider then
navic.attach(client, bufnr)
end
nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences')
nmap('gI', vim.lsp.buf.implementation, '[G]oto [I]mplementation')
nmap('<leader>vt', vim.lsp.buf.type_definition, 'Type [D]efinition')
nmap('<leader>vs', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols')
nmap('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation')
-- Lesser used LSP functionality
nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
nmap('<leader>wa', vim.lsp.buf.add_workspace_folder, '[W]orkspace [A]dd Folder')
nmap('<leader>wr', vim.lsp.buf.remove_workspace_folder, '[W]orkspace [R]emove Folder')
nmap('<leader>wl', function()
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
end, '[W]orkspace [L]ist Folders')
-- Create a command `:Format` local to the LSP buffer
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
vim.lsp.buf.format()
end, { desc = 'Format current buffer with LSP' })
end
local servers = {
clangd = {},
gopls = {},
pyright = {},
rust_analyzer = {},
tsserver = {},
sumneko_lua = {
Lua = {
workspace = { checkThirdParty = false },
telemetry = { enable = false },
},
},
}
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
require('mason').setup()
local mason_lspconfig = require 'mason-lspconfig'
mason_lspconfig.setup {
ensure_installed = vim.tbl_keys(servers),
}
mason_lspconfig.setup_handlers {
function(server_name)
require('lspconfig')[server_name].setup {
capabilities = capabilities,
on_attach = on_attach,
settings = servers[server_name],
}
end,
}
-- lspinfo
require('fidget').setup()
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
local cmp = require 'cmp'
local luasnip = require 'luasnip'
-- local tabnine = require('cmp_tabnine.config')
--
-- tabnine:setup({
-- max_lines = 1000,
-- max_num_results = 20,
-- sort = true,
-- run_on_every_keystroke = true,
-- snippet_placeholder = '..',
-- ignored_file_types = {
-- -- default is not to ignore
-- -- uncomment to ignore in lua:
-- -- lua = true
-- },
-- show_prediction_strength = false
-- })
cmp.setup {
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body)
end,
},
mapping = cmp.mapping.preset.insert {
["<C-y>"] = cmp.mapping.confirm({ slelect = true}),
["<C-Space>"] = cmp.mapping.complete(),
['<C-d>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<CR>'] = cmp.mapping.confirm {
behavior = cmp.ConfirmBehavior.Replace,
select = true,
},
['<Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif luasnip.expand_or_jumpable() then
luasnip.expand_or_jump()
else
fallback()
end
end, { 'i', 's' }),
['<S-Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { 'i', 's' }),
},
sources = {
{ name = 'nvim_lsp' },
{ name = 'luasnip' },
{ name = "crates" },
-- { name = "cmp_tabnine" },
},
}
cmp.event:on(
'confirm_done',
cmp_autopairs.on_confirm_done()
)
vim.diagnostic.config({
signs = true,
underline = true,
update_in_insert = true,
virtual_text = true,
})
require("cmp").config.formatting = {
format = require("tailwindcss-colorizer-cmp").formatter,
behavior = cmp.SelectBehavior.Select,
}
-- require('tabnine').setup({
-- disable_auto_comment=true,
-- accept_keymap="<Tab>",
-- dismiss_keymap = "<C-]>",
-- debounce_ms = 300,
-- suggestion_color = {gui = "#808080", cterm = 244},
-- execlude_filetypes = {"TelescopePrompt"}
-- })

View file

@ -1,22 +0,0 @@
require("presence"):setup({
auto_update = true, -- Update activity based on autocmd events (if `false`, map or manually execute `:lua package.loaded.presence:update()`)
neovim_image_text = "The best PDE, Personalized Development Enviroment", -- Text displayed when hovered over the Neovim image
main_image = "neovim", -- Main image display (either "neovim" or "file")
client_id = "793271441293967371", -- Use your own Discord application client id (not recommended)
log_level = nil, -- Log messages at or above this level (one of the following: "debug", "info", "warn", "error")
debounce_timeout = 15, -- Number of seconds to debounce events (or calls to `:lua package.loaded.presence:update(<filename>, true)`)
enable_line_number = false, -- Displays the current line number instead of the current project
blacklist = {}, -- A list of strings or Lua patterns that disable Rich Presence if the current file name, path, or workspace matches
buttons = true, -- Configure Rich Presence button(s), either a boolean to enable/disable, a static table (`{{ label = "<label>", url = "<url>" }, ...}`, or a function(buffer: string, repo_url: string|nil): table)
file_assets = {}, -- Custom file asset definitions keyed by file names and extensions (see default config at `lua/presence/file_assets.lua` for reference)
show_time = true, -- Show the timer
-- Rich Presence text options
editing_text = "Editing %s", -- Format string rendered when an editable file is loaded in the buffer (either string or function(filename: string): string)
file_explorer_text = "Browsing %s", -- Format string rendered when browsing a file explorer (either string or function(file_explorer_name: string): string)
git_commit_text = "Committing changes", -- Format string rendered when committing changes in git (either string or function(filename: string): string)
plugin_manager_text = "Managing plugins", -- Format string rendered when managing plugins (either string or function(plugin_manager_name: string): string)
reading_text = "Reading %s", -- Format string rendered when a read-only or unmodifiable file is loaded in the buffer (either string or function(filename: string): string)
workspace_text = "Working on %s", -- Format string rendered when in a git repository (either string or function(project_name: string|nil, filename: string): string)
line_number_text = "Line %s out of %s", -- Format string rendered when `enable_line_number` is set to true (either string or function(line_number: number, line_count: number): string)
})

View file

@ -1,166 +0,0 @@
local rt = require("rust-tools")
rt.setup({
server = {
on_attach = function(_, bufnr)
-- Hover actions
vim.keymap.set("n", "<leader>rh", function ()
rt.hover_actions.hover_actions()
end, { buffer = bufnr , desc = "Hover actions rust"})
-- Code action groups
vim.keymap.set("n", "<leader>ra", function ()
rt.code_action_group.code_action_group()
end, { buffer = bufnr , desc = "code actions group"})
end,
},
})
rt.inlay_hints.enable()
rt.runnables.runnables()
rt.hover_actions.hover_actions()
rt.hover_range.hover_range()
rt.open_cargo_toml.open_cargo_toml()
rt.parent_module.parent_module()
rt.join_lines.join_lines()
rt.crate_graph.view_crate_graph(backend, output)
require("crates").setup {
smart_insert = true,
insert_closing_quote = true,
avoid_prerelease = true,
autoload = true,
autoupdate = true,
loading_indicator = true,
date_format = "%Y-%m-%d",
thousands_separator = ".",
notification_title = "Crates",
--curl_args = { "-sL", "--retry", "1" },
disable_invalid_feature_diagnostic = false,
text = {
loading = "  Loading",
version = "  %s",
prerelease = "  %s",
yanked = "  %s",
nomatch = "  No match",
upgrade = "  %s",
error = "  Error fetching crate",
},
highlight = {
loading = "CratesNvimLoading",
version = "CratesNvimVersion",
prerelease = "CratesNvimPreRelease",
yanked = "CratesNvimYanked",
nomatch = "CratesNvimNoMatch",
upgrade = "CratesNvimUpgrade",
error = "CratesNvimError",
},
popup = {
autofocus = false,
copy_register = '"',
style = "minimal",
border = "none",
show_version_date = false,
show_dependency_version = true,
max_height = 30,
min_width = 20,
padding = 1,
text = {
title = " %s",
pill_left = "",
pill_right = "",
description = "%s",
created_label = " created ",
created = "%s",
updated_label = " updated ",
updated = "%s",
downloads_label = " downloads ",
downloads = "%s",
homepage_label = " homepage ",
homepage = "%s",
repository_label = " repository ",
repository = "%s",
documentation_label = " documentation ",
documentation = "%s",
crates_io_label = " crates.io ",
crates_io = "%s",
categories_label = " categories ",
keywords_label = " keywords ",
version = " %s",
prerelease = " %s",
yanked = " %s",
version_date = " %s",
feature = " %s",
enabled = " %s",
transitive = " %s",
normal_dependencies_title = " Dependencies",
build_dependencies_title = " Build dependencies",
dev_dependencies_title = " Dev dependencies",
dependency = " %s",
optional = " %s",
dependency_version = " %s",
loading = "",
},
highlight = {
title = "CratesNvimPopupTitle",
pill_text = "CratesNvimPopupPillText",
pill_border = "CratesNvimPopupPillBorder",
description = "CratesNvimPopupDescription",
created_label = "CratesNvimPopupLabel",
created = "CratesNvimPopupValue",
updated_label = "CratesNvimPopupLabel",
updated = "CratesNvimPopupValue",
downloads_label = "CratesNvimPopupLabel",
downloads = "CratesNvimPopupValue",
homepage_label = "CratesNvimPopupLabel",
homepage = "CratesNvimPopupUrl",
repository_label = "CratesNvimPopupLabel",
repository = "CratesNvimPopupUrl",
documentation_label = "CratesNvimPopupLabel",
documentation = "CratesNvimPopupUrl",
crates_io_label = "CratesNvimPopupLabel",
crates_io = "CratesNvimPopupUrl",
categories_label = "CratesNvimPopupLabel",
keywords_label = "CratesNvimPopupLabel",
version = "CratesNvimPopupVersion",
prerelease = "CratesNvimPopupPreRelease",
yanked = "CratesNvimPopupYanked",
version_date = "CratesNvimPopupVersionDate",
feature = "CratesNvimPopupFeature",
enabled = "CratesNvimPopupEnabled",
transitive = "CratesNvimPopupTransitive",
normal_dependencies_title = "CratesNvimPopupNormalDependenciesTitle",
build_dependencies_title = "CratesNvimPopupBuildDependenciesTitle",
dev_dependencies_title = "CratesNvimPopupDevDependenciesTitle",
dependency = "CratesNvimPopupDependency",
optional = "CratesNvimPopupOptional",
dependency_version = "CratesNvimPopupDependencyVersion",
loading = "CratesNvimPopupLoading",
},
keys = {
hide = { "q", "<esc>" },
open_url = { "<cr>" },
select = { "<cr>" },
select_alt = { "s" },
toggle_feature = { "<cr>" },
copy_value = { "yy" },
goto_item = { "gd", "K", "<C-LeftMouse>" },
jump_forward = { "<c-i>" },
jump_back = { "<c-o>", "<C-RightMouse>" },
},
},
src = {
insert_closing_quote = true,
text = {
prerelease = "  pre-release ",
yanked = "  yanked ",
},
coq = {
enabled = false,
name = "Crates",
},
},
null_ls = {
enabled = false,
name = "Crates",
},
}

View file

@ -1,41 +0,0 @@
require("lualine").setup {
options = {
icons_enabled = true,
theme = "auto",
component_separators = { left = "", right = ""},
section_separators = { left = "", right = ""},
disabled_filetypes = {
statusline = {},
winbar = {},
},
ignore_focus = {},
always_divide_middle = true,
globalstatus = false,
refresh = {
statusline = 1000,
tabline = 1000,
winbar = 1000,
}
},
sections = {
lualine_a = {"mode"},
lualine_b = {"diff"},
lualine_c = {"branch"},
lualine_x = {"location"},
lualine_y = {"progress"},
lualine_z = {"filename"}
},
inactive_sections = {
lualine_a = {},
lualine_b = {},
lualine_c = {"filename"},
lualine_x = {"location"},
lualine_y = {},
lualine_z = {}
},
tabline = {},
winbar = {},
inactive_winbar = {},
extensions = {}
}

View file

@ -1,34 +0,0 @@
require("bufferline").setup {
animation = true,
auto_hide = true,
tabpages = true,
closable = true,
clickable = true,
icon_separator_active = "",
icon_separator_inactive = "",
icon_close_tab = "",
icon_close_tab_modified = "",
icon_pinned = "",
separator_style = "slant",
numbers = "buffer_id",
}
-- file sidebars
local nvim_tree_events = require("nvim-tree.events")
local bufferline_api = require("bufferline.api")
local function get_tree_size()
return require"nvim-tree.view".View.width
end
nvim_tree_events.subscribe("TreeOpen", function()
bufferline_api.set_offset(get_tree_size())
end)
nvim_tree_events.subscribe("Resize", function()
bufferline_api.set_offset(get_tree_size())
end)
nvim_tree_events.subscribe("TreeClose", function()
bufferline_api.set_offset(0)
end)

View file

@ -1,32 +0,0 @@
require "telescope".setup {
pickers = {
colorscheme = {
enable_preview = true
}
}
}
local builtin = require("telescope.builtin")
vim.keymap.set("n", "<leader>f/", function ()
require("telescope.builtin").current_buffer_fuzzy_find(require("telescope.themes").get_dropdown {
winblend = 10,
previewer = false,
})
end, {desc = "fuzzy find"})
vim.keymap.set('n', '<leader>f?', require('telescope.builtin').oldfiles, { desc = 'Find recently opened files' })
vim.keymap.set("n", "<leader>fc", builtin.colorscheme, {desc = "Find Colorscheme"})
vim.keymap.set('n', '<leader>fd', require('telescope.builtin').diagnostics, { desc = 'Find Diagnostics' })
vim.keymap.set('n', '<leader>fw', require('telescope.builtin').grep_string, { desc = 'Find current Word' })
vim.keymap.set("n", "<leader>ff", builtin.find_files, {desc = "telescope find files"})
vim.keymap.set("n", "<leader>fg", builtin.live_grep, {})
vim.keymap.set("n", "<leader>fb", builtin.buffers, {desc = "buffers"})
vim.keymap.set("n", "<leader>fh", builtin.help_tags, {})
vim.keymap.set("n", "<leader>fs", function()
builtin.grep_string({ search = vim.fn.input("Grep > ")});
vim.keymap.set("n", "<leader>fp", "<cmd>:Telescope projects<cr>")
end, {desc = "grep search through files"})
pcall(require("telescope").load_extension, "fzf")
require("telescope").load_extension("projects")
require("telescope").load_extension("dap")

View file

@ -1,11 +0,0 @@
require"nvim-treesitter.configs".setup {
ensure_installed = { "bash", "cmake", "cpp", "dockerfile", "gitignore", "glsl", "go", "graphql", "html", "java", "javascript", "json5", "kotlin", "markdown", "python", "rasi", "regex", "c", "lua", "rust", "scss", "sql", "sxhkdrc", "toml", "tsx", "typescript", "yaml" },
sync_install = false,
auto_install = true,
indent = { enable = true, disable = { 'python' } },
highlight = {
enable = true,
additional_vim_regex_highlighting = false,
},
}

View file

@ -1 +0,0 @@
require("config")

View file

@ -1,3 +0,0 @@
require("config.packer")
require("config.set")
require("config.map")

View file

@ -1,140 +0,0 @@
vim.g.mapleader = " "
vim.g.maplocalleader = " "
local wk = require("which-key")
wk.register({
e = {
name = "file explorers",
e = {vim.cmd.NvimTreeOpen, "NvimTree"},
r = {vim.cmd.NERDTreeTabsOpen, "NERDTree"},
w = {vim.cmd.Ex, "netrw"},
},
t = {
name = "Tabs",
n = {vim.cmd.tabedit, "New"},
c = {vim.cmd.tabclose, "Close"},
l = {vim.cmd.tabnext, "Next"},
h = {vim.cmd.tabprevious, "Previous"},
t = {"<cmd>tabedit ", "Open File"},
},
w = {
name = "workspace",
w = {"<cmd>w<cr>", "Write"}
},
v = {
name = "LSP"
},
q = {
name = "Quit",
q = {"<cmd>q!<cr>", "Confirm"},
},
u = {"vim.cmd.UndotreeToggle", "UndoTree"},
b = {
name = "Buffer",
h = {"<Cmd>BufferPrevious<CR>", "Previous"},
l = {"<Cmd>BufferNext<CR>", "Next"},
H = {"<Cmd>BufferFirst<CR>", "First"},
L = {"<Cmd>BufferLast<CR>", "Last"},
p = {"<Cmd>BufferPin<CR>", "Pin"},
b = {"<cmd>BufferPick<cr>", "Picker"},
s = {
name = "Sort",
n = {"<Cmd>BufferOrderByBufferNumber<CR>", "By BufferNumber"},
d = {"<Cmd>BufferOrderByDirectory<CR>", "By Directory"},
l = {"<Cmd>BufferOrderByLanguage<CR>", "By Language"},
w = {"<Cmd>BufferOrderByWindowNumber<CR>", "By WindowNumber"},
},
C = {"<Cmd>BufferClose<CR>", "Close"},
c = {
c = {"<Cmd>BufferClose<CR>", "Close"},
w = {"<cmd>BufferWipeout<cr>", "Wipe"},
a = {"<cmd>BufferCloseAllButCurrent<cr>", "Close but Current"},
p = {"<cmd>BufferCloseAllButPinned<cr>", "Close but Pinned"},
},
},
f = {
name = "Telescope & fzf",
},
s = {
name = "Settings",
c = {function ()
vim.opt.scrolloff = 100
end, "Always center cursor"},
x = {function ()
vim.opt.scrolloff = 8
end, "Disable Cursor center"}
},
h = {
name = "Hop",
w = {"<cmd>HopWord<cr>", "Word"},
a = {"<cmd>HopAnywhere<cr>", "Anywhere"},
l = {"<cmd>HopLine<cr>", "Line"},
p = {"<cmd>HopPattern<cr>", "Pattern"},
c = {"<cmd>HopChar1<cr>", "Char1"},
x = {"<cmd>HopChar2<cr>", "Char2"},
},
d = {
name = "Debug"
},
r = {
name = "Rust",
},
}, {prefix = "<leader>"})
-- Buffers
vim.keymap.set("n", "<leader>b<", "<Cmd>BufferMovePrevious<CR>", { desc = "move previous" })
vim.keymap.set("n", "<leader>b>", "<Cmd>BufferMoveNext<CR>", { desc = "move next" })
vim.keymap.set("n", "<leader>bH", "<Cmd>BufferFirst<CR>", { desc = "first" })
vim.keymap.set("n", "<leader>bs1", "<Cmd>BufferGoto 1<CR>", { desc = "1" })
vim.keymap.set("n", "<leader>bs2", "<Cmd>BufferGoto 2<CR>", { desc = "2" })
vim.keymap.set("n", "<leader>bs3", "<Cmd>BufferGoto 3<CR>", { desc = "3" })
vim.keymap.set("n", "<leader>bs4", "<Cmd>BufferGoto 4<CR>", { desc = "4" })
vim.keymap.set("n", "<leader>bs5", "<Cmd>BufferGoto 5<CR>", { desc = "5" })
vim.keymap.set("n", "<leader>bs6", "<Cmd>BufferGoto 6<CR>", { desc = "6" })
vim.keymap.set("n", "<leader>bs7", "<Cmd>BufferGoto 7<CR>", { desc = "7" })
vim.keymap.set("n", "<leader>bs8", "<Cmd>BufferGoto 8<CR>", { desc = "8" })
vim.keymap.set("n", "<leader>bs9", "<Cmd>BufferGoto 9<CR>", { desc = "9" })
-- LSP
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, {buffer = bufnr, desc = "goto definition"})
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, {buffer = bufnr})
vim.keymap.set("n", "<leader>vw", function() vim.lsp.buf.workspace_symbol() end, {buffer = bufnr, desc = "workspace symbol"})
vim.keymap.set("n", "<leader>vd", function() vim.diagnostic.open_float() end, {buffer = bufnr, desc = "diagnostics"})
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, {buffer = bufnr, desc = "goto next"})
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, {buffer = bufnr, desc = "goto prev"})
vim.keymap.set("n", "<leader>va", function() vim.lsp.buf.code_action() end, {buffer = bufnr, desc = "code actions"})
vim.keymap.set("n", "<leader>vr", function() vim.lsp.buf.references() end, {buffer = bufnr, desc = "references"})
vim.keymap.set("n", "<leader>vn", function() vim.lsp.buf.rename() end, {buffer = bufnr, desc = "rename"})
-- vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, {buffer = bufnr})
vim.keymap.set("n", "<leader>vh", function () vim.lsp.buf.hover() end, {buffer=bufnr, desc = "show hover action"})
vim.keymap.set("i", "<C-h>", function () vim.lsp.buf.hover() end, {buffer=bufnr})
-- debug
vim.keymap.set("n", "<leader>db", function() require"dap".toggle_breakpoint() end, {desc = "toggle breapoint"})
vim.keymap.set("n", "<leader>dc", function() require("dap").continue() end, {desc = "launch or continue execution"})
vim.keymap.set("n", "<leader>dsi", function() require("dap").step_into() end, {desc = "step into"})
vim.keymap.set("n", "<leader>dso", function() require("dap").step_over() end, {desc = "step over"})
vim.keymap.set("n", "<leader>dr", function() require("dap").repl.open() end, {desc = "open repl"})
-- debug UI
vim.keymap.set("n", "<leader>dwb", function() require("dapui").float_element("breakpoints", {}) end, {desc = "open breakpoints window"})
vim.keymap.set("n", "<leader>dwc", function() require("dapui").float_element("console", {}) end, {desc = "open integrated console"})
vim.keymap.set("n", "<leader>dwr", function() require("dapui").float_element("repl", {}) end, {desc = "open repl"})
-- term
vim.keymap.set("n", "<C-\\>", vim.cmd.ToggleTerm)
vim.keymap.set("t", "<C-\\>", vim.cmd.ToggleTerm)
-- magic
vim.keymap.set("n", "<leader>s", ":%s/\\<<C-r><C-w>\\>/<C-r><C-w>/gI<Left><Left><Left>", {desc = "find and replace"})
-- center
vim.keymap.set("n", "<C-d>", "<C-d>zz")
vim.keymap.set("n", "<C-u>", "<C-u>zz")
vim.keymap.set("n", "n", "nzzzv")
vim.keymap.set("n", "N", "Nzzzv")
-- random
vim.keymap.set("v", "J", ':m ">+1<CR>gv=gv')
vim.keymap.set("v", "K", ':m "<-2<CR>gv=gv')
vim.keymap.set("i", "<C-c>", "<Esc>")

View file

@ -1,318 +0,0 @@
vim.cmd [[packadd packer.nvim]]
return require("packer").startup(function(use)
use "wbthomason/packer.nvim"
-- lsp
use {
"neovim/nvim-lspconfig",
requires = {
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
"j-hui/fidget.nvim",
"folke/neodev.nvim",
},
}
use {
"SmiteshP/nvim-navic",
requires = "neovim/nvim-lspconfig"
}
use {
"ray-x/lsp_signature.nvim",
event = "BufRead",
config = function() require"lsp_signature".on_attach() end,
}
-- cmp && snippets
use {
"hrsh7th/nvim-cmp",
requires = {
"hrsh7th/cmp-nvim-lsp",
"L3MON4D3/LuaSnip",
"saadparwaiz1/cmp_luasnip",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"rafamadriz/friendly-snippets"
},
}
use "github/copilot.vim"
use {"mattn/emmet-vim"}
-- use {'tzachar/cmp-tabnine', run='./install.sh', requires = 'hrsh7th/nvim-cmp'}
use({
"roobert/tailwindcss-colorizer-cmp.nvim",
config = function()
require("tailwindcss-colorizer-cmp").setup({
color_square_width = 2,
})
end
})
-- syntax highlighting
use {
"nvim-treesitter/nvim-treesitter",
run = ":TSUpdate"
}
use {
"nvim-treesitter/nvim-treesitter-textobjects",
after = "nvim-treesitter",
}
use "nvim-treesitter/playground"
-- fzf Telescope
use {
"nvim-telescope/telescope.nvim",
branch = "0.1.x",
requires = {
"nvim-lua/plenary.nvim"
}
}
use {
"nvim-telescope/telescope-fzf-native.nvim",
run = "make",
cond = vim.fn.executable "make" == 1
}
use "nvim-lua/popup.nvim"
use {
"ahmedkhalf/project.nvim",
config = function()
require("project_nvim").setup {}
end,
}
-- debugging
use "mfussenegger/nvim-dap"
use {
"rcarriga/nvim-dap-ui",
requires = {
"mfussenegger/nvim-dap"
},
config = function()
require("dapui").setup()
end,
}
use "nvim-telescope/telescope-dap.nvim"
-- git
use "tpope/vim-fugitive"
use "tpope/vim-rhubarb"
use "lewis6991/gitsigns.nvim"
-- misc
use "editorconfig/editorconfig-vim"
use "andweeb/presence.nvim"
use {
"nacro90/numb.nvim",
config = function ()
require("numb").setup()
end
}
use {"ellisonleao/glow.nvim",
config = function ()
require("glow").setup()
end
}
use {"tpope/vim-surround"}
use {
"phaazon/hop.nvim",
event = "BufRead",
config = function()
require("hop").setup()
vim.api.nvim_set_keymap("n", "s", ":HopChar2<cr>", { silent = true })
vim.api.nvim_set_keymap("n", "S", ":HopWord<cr>", { silent = true })
end,
}
use {
"nvim-tree/nvim-tree.lua",
requires = {
"nvim-tree/nvim-web-devicons",
},
config = function()
require("nvim-tree").setup({
filters = {
dotfiles = true,
},
})
end,
}
-- misc editing
use {
'phaazon/hop.nvim',
branch = 'v2',
config = function()
require'hop'.setup {
}
end
}
use {
"numToStr/Comment.nvim",
config = function()
require("Comment").setup()
end
}
use "tpope/vim-sleuth"
use "mbbill/undotree"
use {
"windwp/nvim-autopairs",
--config = function() require("nvim-autopairs").setup {} end
}
use {"windwp/nvim-ts-autotag",
config = function ()
require("nvim-ts-autotag").setup()
end
}
use {"mg979/vim-visual-multi"}
-- mics visuals
use 'glepnir/dashboard-nvim'
use {'romgrk/barbar.nvim', wants = 'nvim-web-devicons'}
--use {"akinsho/bufferline.nvim", tag = "v3.*",}
use {"jistr/vim-nerdtree-tabs"}
use {
"kevinhwang91/nvim-bqf",
event = { "BufRead", "BufNew" },
config = function()
require("bqf").setup({
auto_enable = true,
preview = {
win_height = 12,
win_vheight = 12,
delay_syntax = 80,
border_chars = { "", "", "", "", "", "", "", "", "" },
},
func_map = {
vsplit = "",
ptogglemode = "z,",
stoggleup = "",
},
filter = {
fzf = {
action_for = { ["ctrl-s"] = "split" },
extra_opts = { "--bind", "ctrl-o:toggle-all", "--prompt", "> " },
},
},
})
end,
}
use {"kyazdani42/nvim-web-devicons"}
use {"ap/vim-css-color"}
use {
"lukas-reineke/indent-blankline.nvim",
config = function()
require('indent_blankline').setup {
char = '',
show_trailing_blankline_indent = false,
filetype_exclude = {"dashboard"},
}
end,
}
use {
"folke/which-key.nvim",
config = function()
local wk = require("which-key")
wk.setup {
popup_mappings = {
scroll_down = "<C-j>",
scroll_up = "<C-k>",
},
window = {
border = "single",
},
}
end
}
use "nvim-lualine/lualine.nvim"
use {
"akinsho/toggleterm.nvim",
tag = "*",
config = function()
require("toggleterm").setup{
direction = "float",
float_opts = {
border = "curved"
},
}
end,
}
use {
"karb94/neoscroll.nvim",
event = "WinScrolled",
config = function()
require("neoscroll").setup({
mappings = {"<C-u>", "<C-d>", "<C-b>", "<C-f>", "<C-y>", "<C-e>", "zt", "zz", "zb"},
hide_cursor = true,
stop_eof = true,
use_local_scrolloff = false,
respect_scrolloff = false,
cursor_scrolls_alone = true,
easing_function = nil,
pre_hook = nil,
post_hook = nil,
})
end
}
use {
"folke/todo-comments.nvim",
event = "BufRead",
config = function()
require("todo-comments").setup{}
end,
}
use {
"felipec/vim-sanegx",
event = "BufRead",
}
use {
"gelguy/wilder.nvim",
config = function()
vim.cmd('call wilder#setup({"modes": [":", "/", "?"]})')
vim.cmd('call wilder#set_option("renderer", wilder#popupmenu_renderer({"highlighter": wilder#basic_highlighter(), "left": [ " ", wilder#popupmenu_devicons(), ], "right": [ " ", wilder#popupmenu_scrollbar(), ], "pumblend": 20}))')
vim.cmd('call wilder#set_option("renderer", wilder#popupmenu_renderer(wilder#popupmenu_border_theme({"highlighter": wilder#basic_highlighter(), "min_width": "100%", "min_height": "50%", "reverse": 0, "highlights": {"border": "Normal",},"border": "rounded"})))')
end,
}
-- lenguage specific
-- rust
use {"racer-rust/vim-racer",
config = function ()
vim.cmd [[ let g:racer_cmd = "/usr/bin/racer"]]
end
}
use "simrat39/rust-tools.nvim"
use {
"saecki/crates.nvim",
tag = "v0.3.0",
requires = {
"nvim-lua/plenary.nvim"
},
config = function()
require("crates").setup()
end,
}
-- zig
use "ziglang/zig.vim"
-- java
use "mfussenegger/nvim-jdtls"
-- c && c++ && cmake
use "cdelledonne/vim-cmake"
-- themes
use "sainnhe/gruvbox-material"
use "shaunsingh/nord.nvim"
use "projekt0n/github-nvim-theme"
use "EdenEast/nightfox.nvim"
use "Everblush/nvim"
use "olimorris/onedarkpro.nvim"
use "rmehri01/onenord.nvim"
use "luisiacc/gruvbox-baby"
use "tiagovla/tokyodark.nvim"
use "cpea2506/one_monokai.nvim"
use "yazeed1s/minimal.nvim"
use "Mofiqul/adwaita.nvim"
use "kvrohit/mellow.nvim"
use "yazeed1s/oh-lucy.nvim"
use "marko-cerovac/material.nvim"
use "sainnhe/sonokai"
end)

View file

@ -1,41 +0,0 @@
-- numbers
vim.opt.nu = true
vim.opt.relativenumber = true
-- tab && indent
vim.opt.tabstop = 4
vim.opt.softtabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = true
vim.opt.smartindent = true
vim.o.breakindent = true
-- lines
vim.opt.wrap = true
vim.opt.smarttab = true
-- undo
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
vim.opt.undofile = true
-- search
vim.opt.hlsearch = false
vim.opt.incsearch = true
vim.o.ignorecase = true
vim.o.smartcase = true
-- colors
vim.opt.termguicolors = true
vim.cmd [[colorscheme gruvbox-material]]
-- misc
vim.opt.swapfile = false
vim.opt.backup = false
vim.opt.scrolloff = 8
vim.opt.signcolumn = "yes"
vim.opt.isfname:append("@-@")
vim.opt.updatetime = 50
vim.o.mouse = "a"
vim.o.completeopt = "menuone,noselect"

View file

@ -1,615 +0,0 @@
-- Automatically generated packer.nvim plugin loader code
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
return
end
vim.api.nvim_command('packadd packer.nvim')
local no_errors, error_msg = pcall(function()
_G._packer = _G._packer or {}
_G._packer.inside_compile = true
local time
local profile_info
local should_profile = false
if should_profile then
local hrtime = vim.loop.hrtime
profile_info = {}
time = function(chunk, start)
if start then
profile_info[chunk] = hrtime()
else
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
end
end
else
time = function(chunk, start) end
end
local function save_profiles(threshold)
local sorted_times = {}
for chunk_name, time_taken in pairs(profile_info) do
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
end
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
local results = {}
for i, elem in ipairs(sorted_times) do
if not threshold or threshold and elem[2] > threshold then
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
end
end
if threshold then
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
end
_G._packer.profile_output = results
end
time([[Luarocks path setup]], true)
local package_path_str = "/home/d/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/d/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/d/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/d/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
local install_cpath_pattern = "/home/d/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
if not string.find(package.path, package_path_str, 1, true) then
package.path = package.path .. ';' .. package_path_str
end
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
package.cpath = package.cpath .. ';' .. install_cpath_pattern
end
time([[Luarocks path setup]], false)
time([[try_loadstring definition]], true)
local function try_loadstring(s, component, name)
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
if not success then
vim.schedule(function()
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
end)
end
return result
end
time([[try_loadstring definition]], false)
time([[Defining packer_plugins]], true)
_G.packer_plugins = {
["Comment.nvim"] = {
config = { "\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fComment\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/Comment.nvim",
url = "https://github.com/numToStr/Comment.nvim"
},
LuaSnip = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/LuaSnip",
url = "https://github.com/L3MON4D3/LuaSnip"
},
["adwaita.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/adwaita.nvim",
url = "https://github.com/Mofiqul/adwaita.nvim"
},
["barbar.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/barbar.nvim",
url = "https://github.com/romgrk/barbar.nvim",
wants = { "nvim-web-devicons" }
},
["cmp-buffer"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/cmp-buffer",
url = "https://github.com/hrsh7th/cmp-buffer"
},
["cmp-nvim-lsp"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
},
["cmp-path"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/cmp-path",
url = "https://github.com/hrsh7th/cmp-path"
},
["cmp-tabnine"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/cmp-tabnine",
url = "https://github.com/tzachar/cmp-tabnine"
},
cmp_luasnip = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
url = "https://github.com/saadparwaiz1/cmp_luasnip"
},
["copilot.vim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/copilot.vim",
url = "https://github.com/github/copilot.vim"
},
["crates.nvim"] = {
config = { "\27LJ\2\n4\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\vcrates\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/crates.nvim",
url = "https://github.com/saecki/crates.nvim"
},
["dashboard-nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/dashboard-nvim",
url = "https://github.com/glepnir/dashboard-nvim"
},
["editorconfig-vim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/editorconfig-vim",
url = "https://github.com/editorconfig/editorconfig-vim"
},
["emmet-vim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/emmet-vim",
url = "https://github.com/mattn/emmet-vim"
},
["fidget.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/fidget.nvim",
url = "https://github.com/j-hui/fidget.nvim"
},
["friendly-snippets"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/friendly-snippets",
url = "https://github.com/rafamadriz/friendly-snippets"
},
["github-nvim-theme"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/github-nvim-theme",
url = "https://github.com/projekt0n/github-nvim-theme"
},
["gitsigns.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/gitsigns.nvim",
url = "https://github.com/lewis6991/gitsigns.nvim"
},
["glow.nvim"] = {
config = { "\27LJ\2\n2\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\tglow\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/glow.nvim",
url = "https://github.com/ellisonleao/glow.nvim"
},
["gruvbox-baby"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/gruvbox-baby",
url = "https://github.com/luisiacc/gruvbox-baby"
},
["gruvbox-material"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/gruvbox-material",
url = "https://github.com/sainnhe/gruvbox-material"
},
["hop.nvim"] = {
config = { "\27LJ\2\nÀ\1\0\0\6\0\r\0\0226\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\0016\0\3\0009\0\4\0009\0\5\0'\2\6\0'\3\a\0'\4\b\0005\5\t\0B\0\5\0016\0\3\0009\0\4\0009\0\5\0'\2\6\0'\3\n\0'\4\v\0005\5\f\0B\0\5\1K\0\1\0\1\0\1\vsilent\2\17:HopWord<cr>\6S\1\0\1\vsilent\2\18:HopChar2<cr>\6s\6n\20nvim_set_keymap\bapi\bvim\nsetup\bhop\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/home/d/.local/share/nvim/site/pack/packer/opt/hop.nvim",
url = "https://github.com/phaazon/hop.nvim"
},
["indent-blankline.nvim"] = {
config = { "\27LJ\2\n\1\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0005\3\4\0=\3\5\2B\0\2\1K\0\1\0\21filetype_exclude\1\2\0\0\14dashboard\1\0\2\tchar\b┊#show_trailing_blankline_indent\1\nsetup\21indent_blankline\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim",
url = "https://github.com/lukas-reineke/indent-blankline.nvim"
},
["lsp_signature.nvim"] = {
config = { "\27LJ\2\n?\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\14on_attach\18lsp_signature\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/home/d/.local/share/nvim/site/pack/packer/opt/lsp_signature.nvim",
url = "https://github.com/ray-x/lsp_signature.nvim"
},
["lualine.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/lualine.nvim",
url = "https://github.com/nvim-lualine/lualine.nvim"
},
["mason-lspconfig.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim",
url = "https://github.com/williamboman/mason-lspconfig.nvim"
},
["mason.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/mason.nvim",
url = "https://github.com/williamboman/mason.nvim"
},
["material.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/material.nvim",
url = "https://github.com/marko-cerovac/material.nvim"
},
["mellow.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/mellow.nvim",
url = "https://github.com/kvrohit/mellow.nvim"
},
["minimal.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/minimal.nvim",
url = "https://github.com/yazeed1s/minimal.nvim"
},
["neodev.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/neodev.nvim",
url = "https://github.com/folke/neodev.nvim"
},
["neoscroll.nvim"] = {
config = { "\27LJ\2\nÕ\1\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\rmappings\1\0\5\16hide_cursor\2\25cursor_scrolls_alone\2\22respect_scrolloff\1\24use_local_scrolloff\1\rstop_eof\2\1\n\0\0\n<C-u>\n<C-d>\n<C-b>\n<C-f>\n<C-y>\n<C-e>\azt\azz\azb\nsetup\14neoscroll\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/home/d/.local/share/nvim/site/pack/packer/opt/neoscroll.nvim",
url = "https://github.com/karb94/neoscroll.nvim"
},
["nightfox.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nightfox.nvim",
url = "https://github.com/EdenEast/nightfox.nvim"
},
["nord.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nord.nvim",
url = "https://github.com/shaunsingh/nord.nvim"
},
["numb.nvim"] = {
config = { "\27LJ\2\n2\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\tnumb\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/numb.nvim",
url = "https://github.com/nacro90/numb.nvim"
},
nvim = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim",
url = "https://github.com/Everblush/nvim"
},
["nvim-autopairs"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-autopairs",
url = "https://github.com/windwp/nvim-autopairs"
},
["nvim-bqf"] = {
config = { "\27LJ\2\nõ\2\0\0\6\0\18\0\0216\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0005\3\4\0005\4\5\0=\4\6\3=\3\a\0025\3\b\0=\3\t\0025\3\15\0005\4\v\0005\5\n\0=\5\f\0045\5\r\0=\5\14\4=\4\16\3=\3\17\2B\0\2\1K\0\1\0\vfilter\bfzf\1\0\0\15extra_opts\1\5\0\0\v--bind\22ctrl-o:toggle-all\r--prompt\a> \15action_for\1\0\0\1\0\1\vctrl-s\nsplit\rfunc_map\1\0\3\vvsplit\5\14stoggleup\5\16ptogglemode\az,\fpreview\17border_chars\1\n\0\0\b┃\b┃\bâ”<EFBFBD>\bâ”<EFBFBD>\bâ”<EFBFBD>\b┓\bâ”—\bâ”›\bâ–ˆ\1\0\3\15win_height\3\f\17delay_syntax\3P\16win_vheight\3\f\1\0\1\16auto_enable\2\nsetup\bbqf\frequire\0" },
loaded = false,
needs_bufread = true,
only_cond = false,
path = "/home/d/.local/share/nvim/site/pack/packer/opt/nvim-bqf",
url = "https://github.com/kevinhwang91/nvim-bqf"
},
["nvim-cmp"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-cmp",
url = "https://github.com/hrsh7th/nvim-cmp"
},
["nvim-dap"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-dap",
url = "https://github.com/mfussenegger/nvim-dap"
},
["nvim-dap-ui"] = {
config = { "\27LJ\2\n3\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\ndapui\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-dap-ui",
url = "https://github.com/rcarriga/nvim-dap-ui"
},
["nvim-jdtls"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-jdtls",
url = "https://github.com/mfussenegger/nvim-jdtls"
},
["nvim-lspconfig"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
url = "https://github.com/neovim/nvim-lspconfig"
},
["nvim-navic"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-navic",
url = "https://github.com/SmiteshP/nvim-navic"
},
["nvim-tree.lua"] = {
config = { "\27LJ\2\n[\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\ffilters\1\0\0\1\0\1\rdotfiles\2\nsetup\14nvim-tree\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-tree.lua",
url = "https://github.com/nvim-tree/nvim-tree.lua"
},
["nvim-treesitter"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
url = "https://github.com/nvim-treesitter/nvim-treesitter"
},
["nvim-treesitter-textobjects"] = {
load_after = {},
loaded = true,
needs_bufread = false,
path = "/home/d/.local/share/nvim/site/pack/packer/opt/nvim-treesitter-textobjects",
url = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects"
},
["nvim-ts-autotag"] = {
config = { "\27LJ\2\n=\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\20nvim-ts-autotag\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-ts-autotag",
url = "https://github.com/windwp/nvim-ts-autotag"
},
["nvim-web-devicons"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
url = "https://github.com/kyazdani42/nvim-web-devicons"
},
["oh-lucy.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/oh-lucy.nvim",
url = "https://github.com/yazeed1s/oh-lucy.nvim"
},
["one_monokai.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/one_monokai.nvim",
url = "https://github.com/cpea2506/one_monokai.nvim"
},
["onedarkpro.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/onedarkpro.nvim",
url = "https://github.com/olimorris/onedarkpro.nvim"
},
["onenord.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/onenord.nvim",
url = "https://github.com/rmehri01/onenord.nvim"
},
["packer.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/packer.nvim",
url = "https://github.com/wbthomason/packer.nvim"
},
playground = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/playground",
url = "https://github.com/nvim-treesitter/playground"
},
["plenary.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/plenary.nvim",
url = "https://github.com/nvim-lua/plenary.nvim"
},
["popup.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/popup.nvim",
url = "https://github.com/nvim-lua/popup.nvim"
},
["presence.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/presence.nvim",
url = "https://github.com/andweeb/presence.nvim"
},
["project.nvim"] = {
config = { "\27LJ\2\n>\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\17project_nvim\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/project.nvim",
url = "https://github.com/ahmedkhalf/project.nvim"
},
["rust-tools.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/rust-tools.nvim",
url = "https://github.com/simrat39/rust-tools.nvim"
},
sonokai = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/sonokai",
url = "https://github.com/sainnhe/sonokai"
},
["tailwindcss-colorizer-cmp.nvim"] = {
config = { "\27LJ\2\nc\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\23color_square_width\3\2\nsetup\30tailwindcss-colorizer-cmp\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/tailwindcss-colorizer-cmp.nvim",
url = "https://github.com/roobert/tailwindcss-colorizer-cmp.nvim"
},
["telescope-dap.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/telescope-dap.nvim",
url = "https://github.com/nvim-telescope/telescope-dap.nvim"
},
["telescope-fzf-native.nvim"] = {
cond = { true },
loaded = false,
needs_bufread = false,
only_cond = true,
path = "/home/d/.local/share/nvim/site/pack/packer/opt/telescope-fzf-native.nvim",
url = "https://github.com/nvim-telescope/telescope-fzf-native.nvim"
},
["telescope.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/telescope.nvim",
url = "https://github.com/nvim-telescope/telescope.nvim"
},
["todo-comments.nvim"] = {
config = { "\27LJ\2\n?\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\18todo-comments\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/home/d/.local/share/nvim/site/pack/packer/opt/todo-comments.nvim",
url = "https://github.com/folke/todo-comments.nvim"
},
["toggleterm.nvim"] = {
config = { "\27LJ\2\ns\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0005\3\4\0=\3\5\2B\0\2\1K\0\1\0\15float_opts\1\0\1\vborder\vcurved\1\0\1\14direction\nfloat\nsetup\15toggleterm\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/toggleterm.nvim",
url = "https://github.com/akinsho/toggleterm.nvim"
},
["tokyodark.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/tokyodark.nvim",
url = "https://github.com/tiagovla/tokyodark.nvim"
},
undotree = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/undotree",
url = "https://github.com/mbbill/undotree"
},
["vim-cmake"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/vim-cmake",
url = "https://github.com/cdelledonne/vim-cmake"
},
["vim-css-color"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/vim-css-color",
url = "https://github.com/ap/vim-css-color"
},
["vim-fugitive"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/vim-fugitive",
url = "https://github.com/tpope/vim-fugitive"
},
["vim-nerdtree-tabs"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/vim-nerdtree-tabs",
url = "https://github.com/jistr/vim-nerdtree-tabs"
},
["vim-racer"] = {
config = { "\27LJ\2\nG\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0( let g:racer_cmd = \"/usr/bin/racer\"\bcmd\bvim\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/vim-racer",
url = "https://github.com/racer-rust/vim-racer"
},
["vim-rhubarb"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/vim-rhubarb",
url = "https://github.com/tpope/vim-rhubarb"
},
["vim-sanegx"] = {
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/home/d/.local/share/nvim/site/pack/packer/opt/vim-sanegx",
url = "https://github.com/felipec/vim-sanegx"
},
["vim-sleuth"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/vim-sleuth",
url = "https://github.com/tpope/vim-sleuth"
},
["vim-surround"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/vim-surround",
url = "https://github.com/tpope/vim-surround"
},
["vim-visual-multi"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/vim-visual-multi",
url = "https://github.com/mg979/vim-visual-multi"
},
["which-key.nvim"] = {
config = { "\27LJ\2\nš\1\0\0\5\0\b\0\v6\0\0\0'\2\1\0B\0\2\0029\1\2\0005\3\4\0005\4\3\0=\4\5\0035\4\6\0=\4\a\3B\1\2\1K\0\1\0\vwindow\1\0\1\vborder\vsingle\19popup_mappings\1\0\0\1\0\2\14scroll_up\n<C-k>\16scroll_down\n<C-j>\nsetup\14which-key\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/which-key.nvim",
url = "https://github.com/folke/which-key.nvim"
},
["wilder.nvim"] = {
config = { "\27LJ\2\nÉ\4\0\0\3\0\5\0\r6\0\0\0009\0\1\0'\2\2\0B\0\2\0016\0\0\0009\0\1\0'\2\3\0B\0\2\0016\0\0\0009\0\1\0'\2\4\0B\0\2\1K\0\1\0ÿ\1call wilder#set_option(\"renderer\", wilder#popupmenu_renderer(wilder#popupmenu_border_theme({\"highlighter\": wilder#basic_highlighter(), \"min_width\": \"100%\", \"min_height\": \"50%\", \"reverse\": 0, \"highlights\": {\"border\": \"Normal\",},\"border\": \"rounded\"})))ß\1call wilder#set_option(\"renderer\", wilder#popupmenu_renderer({\"highlighter\": wilder#basic_highlighter(), \"left\": [ \" \", wilder#popupmenu_devicons(), ], \"right\": [ \" \", wilder#popupmenu_scrollbar(), ], \"pumblend\": 20}))2call wilder#setup({\"modes\": [\":\", \"/\", \"?\"]})\bcmd\bvim\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/wilder.nvim",
url = "https://github.com/gelguy/wilder.nvim"
},
["zig.vim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/zig.vim",
url = "https://github.com/ziglang/zig.vim"
}
}
time([[Defining packer_plugins]], false)
-- Config for: which-key.nvim
time([[Config for which-key.nvim]], true)
try_loadstring("\27LJ\2\nš\1\0\0\5\0\b\0\v6\0\0\0'\2\1\0B\0\2\0029\1\2\0005\3\4\0005\4\3\0=\4\5\0035\4\6\0=\4\a\3B\1\2\1K\0\1\0\vwindow\1\0\1\vborder\vsingle\19popup_mappings\1\0\0\1\0\2\14scroll_up\n<C-k>\16scroll_down\n<C-j>\nsetup\14which-key\frequire\0", "config", "which-key.nvim")
time([[Config for which-key.nvim]], false)
-- Config for: numb.nvim
time([[Config for numb.nvim]], true)
try_loadstring("\27LJ\2\n2\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\tnumb\frequire\0", "config", "numb.nvim")
time([[Config for numb.nvim]], false)
-- Config for: nvim-tree.lua
time([[Config for nvim-tree.lua]], true)
try_loadstring("\27LJ\2\n[\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\ffilters\1\0\0\1\0\1\rdotfiles\2\nsetup\14nvim-tree\frequire\0", "config", "nvim-tree.lua")
time([[Config for nvim-tree.lua]], false)
-- Config for: tailwindcss-colorizer-cmp.nvim
time([[Config for tailwindcss-colorizer-cmp.nvim]], true)
try_loadstring("\27LJ\2\nc\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\23color_square_width\3\2\nsetup\30tailwindcss-colorizer-cmp\frequire\0", "config", "tailwindcss-colorizer-cmp.nvim")
time([[Config for tailwindcss-colorizer-cmp.nvim]], false)
-- Config for: wilder.nvim
time([[Config for wilder.nvim]], true)
try_loadstring("\27LJ\2\nÉ\4\0\0\3\0\5\0\r6\0\0\0009\0\1\0'\2\2\0B\0\2\0016\0\0\0009\0\1\0'\2\3\0B\0\2\0016\0\0\0009\0\1\0'\2\4\0B\0\2\1K\0\1\0ÿ\1call wilder#set_option(\"renderer\", wilder#popupmenu_renderer(wilder#popupmenu_border_theme({\"highlighter\": wilder#basic_highlighter(), \"min_width\": \"100%\", \"min_height\": \"50%\", \"reverse\": 0, \"highlights\": {\"border\": \"Normal\",},\"border\": \"rounded\"})))ß\1call wilder#set_option(\"renderer\", wilder#popupmenu_renderer({\"highlighter\": wilder#basic_highlighter(), \"left\": [ \" \", wilder#popupmenu_devicons(), ], \"right\": [ \" \", wilder#popupmenu_scrollbar(), ], \"pumblend\": 20}))2call wilder#setup({\"modes\": [\":\", \"/\", \"?\"]})\bcmd\bvim\0", "config", "wilder.nvim")
time([[Config for wilder.nvim]], false)
-- Config for: Comment.nvim
time([[Config for Comment.nvim]], true)
try_loadstring("\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fComment\frequire\0", "config", "Comment.nvim")
time([[Config for Comment.nvim]], false)
-- Config for: toggleterm.nvim
time([[Config for toggleterm.nvim]], true)
try_loadstring("\27LJ\2\ns\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0005\3\4\0=\3\5\2B\0\2\1K\0\1\0\15float_opts\1\0\1\vborder\vcurved\1\0\1\14direction\nfloat\nsetup\15toggleterm\frequire\0", "config", "toggleterm.nvim")
time([[Config for toggleterm.nvim]], false)
-- Config for: indent-blankline.nvim
time([[Config for indent-blankline.nvim]], true)
try_loadstring("\27LJ\2\n\1\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0005\3\4\0=\3\5\2B\0\2\1K\0\1\0\21filetype_exclude\1\2\0\0\14dashboard\1\0\2\tchar\b┊#show_trailing_blankline_indent\1\nsetup\21indent_blankline\frequire\0", "config", "indent-blankline.nvim")
time([[Config for indent-blankline.nvim]], false)
-- Config for: project.nvim
time([[Config for project.nvim]], true)
try_loadstring("\27LJ\2\n>\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\17project_nvim\frequire\0", "config", "project.nvim")
time([[Config for project.nvim]], false)
-- Config for: crates.nvim
time([[Config for crates.nvim]], true)
try_loadstring("\27LJ\2\n4\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\vcrates\frequire\0", "config", "crates.nvim")
time([[Config for crates.nvim]], false)
-- Config for: glow.nvim
time([[Config for glow.nvim]], true)
try_loadstring("\27LJ\2\n2\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\tglow\frequire\0", "config", "glow.nvim")
time([[Config for glow.nvim]], false)
-- Config for: nvim-dap-ui
time([[Config for nvim-dap-ui]], true)
try_loadstring("\27LJ\2\n3\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\ndapui\frequire\0", "config", "nvim-dap-ui")
time([[Config for nvim-dap-ui]], false)
-- Config for: vim-racer
time([[Config for vim-racer]], true)
try_loadstring("\27LJ\2\nG\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0( let g:racer_cmd = \"/usr/bin/racer\"\bcmd\bvim\0", "config", "vim-racer")
time([[Config for vim-racer]], false)
-- Config for: nvim-ts-autotag
time([[Config for nvim-ts-autotag]], true)
try_loadstring("\27LJ\2\n=\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\20nvim-ts-autotag\frequire\0", "config", "nvim-ts-autotag")
time([[Config for nvim-ts-autotag]], false)
-- Conditional loads
time([[Conditional loading of telescope-fzf-native.nvim]], true)
require("packer.load")({"telescope-fzf-native.nvim"}, {}, _G.packer_plugins)
time([[Conditional loading of telescope-fzf-native.nvim]], false)
-- Load plugins in order defined by `after`
time([[Sequenced loading]], true)
vim.cmd [[ packadd nvim-treesitter ]]
vim.cmd [[ packadd nvim-treesitter-textobjects ]]
time([[Sequenced loading]], false)
vim.cmd [[augroup packer_load_aucmds]]
vim.cmd [[au!]]
-- Event lazy-loads
time([[Defining lazy-load event autocommands]], true)
vim.cmd [[au BufRead * ++once lua require("packer.load")({'vim-sanegx', 'nvim-bqf', 'hop.nvim', 'lsp_signature.nvim', 'todo-comments.nvim'}, { event = "BufRead *" }, _G.packer_plugins)]]
vim.cmd [[au BufNew * ++once lua require("packer.load")({'nvim-bqf'}, { event = "BufNew *" }, _G.packer_plugins)]]
vim.cmd [[au WinScrolled * ++once lua require("packer.load")({'neoscroll.nvim'}, { event = "WinScrolled *" }, _G.packer_plugins)]]
time([[Defining lazy-load event autocommands]], false)
vim.cmd("augroup END")
_G._packer.inside_compile = false
if _G._packer.needs_bufread == true then
vim.cmd("doautocmd BufRead")
end
_G._packer.needs_bufread = false
if should_profile then save_profiles() end
end)
if not no_errors then
error_msg = error_msg:gsub('"', '\\"')
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
end

View file

@ -1 +0,0 @@
vim.cmd.Alpha

View file

@ -1,24 +0,0 @@
local npairs = require("nvim-autopairs")
local Rule = require('nvim-autopairs.rule')
npairs.setup({
check_ts = true,
ts_config = {
lua = {'string'},-- it will not add a pair on that treesitter node
javascript = {'template_string'},
java = false,-- don't check treesitter on java
},
enable_check_bracket_line = false,
ignored_next_char = "[%w%.]",
})
local ts_conds = require('nvim-autopairs.ts-conds')
-- press % => %% only while inside a comment or string
-- npairs.add_rules({
-- Rule("%", "%", "lua")
-- :with_pair(ts_conds.is_ts_node({'string','comment'})),
-- Rule("$", "$", "lua")
-- :with_pair(ts_conds.is_not_ts_node({'function'}))
-- })

View file

@ -1,73 +0,0 @@
require("bufferline").setup {
animation = true,
auto_hide = true,
tabpages = true,
closable = true,
clickable = true,
icon_separator_active = '',
icon_separator_inactive = '',
icon_close_tab = '',
icon_close_tab_modified = '',
icon_pinned = '',
--separator_style = "slant",
--numbers = "buffer_id",
}
vim.keymap.set('n', '<leader>bh', '<Cmd>BufferPrevious<CR>', {desc = "buffer previous"})
vim.keymap.set('n', '<leader>bl', '<Cmd>BufferNext<CR>', {desc = "buffer next"})
-- Re-order to previous/next
vim.keymap.set('n', '<leader>b<', '<Cmd>BufferMovePrevious<CR>', { desc = "move previous" })
vim.keymap.set('n', '<leader>b>', '<Cmd>BufferMoveNext<CR>', { desc = "move next" })
-- Goto buffer in position...
vim.keymap.set("n", "<leader>bH", "<Cmd>BufferFirst<CR>", { desc = "first" })
vim.keymap.set('n', '<leader>bs1', '<Cmd>BufferGoto 1<CR>', { desc = "1" })
vim.keymap.set('n', '<leader>bs2', '<Cmd>BufferGoto 2<CR>', { desc = "2" })
vim.keymap.set('n', '<leader>bs3', '<Cmd>BufferGoto 3<CR>', { desc = "3" })
vim.keymap.set('n', '<leader>bs4', '<Cmd>BufferGoto 4<CR>', { desc = "4" })
vim.keymap.set('n', '<leader>bs5', '<Cmd>BufferGoto 5<CR>', { desc = "5" })
vim.keymap.set('n', '<leader>bs6', '<Cmd>BufferGoto 6<CR>', { desc = "6" })
vim.keymap.set('n', '<leader>bs7', '<Cmd>BufferGoto 7<CR>', { desc = "7" })
vim.keymap.set('n', '<leader>bs8', '<Cmd>BufferGoto 8<CR>', { desc = "8" })
vim.keymap.set('n', '<leader>bs9', '<Cmd>BufferGoto 9<CR>', { desc = "9" })
vim.keymap.set('n', '<leader>bL', '<Cmd>BufferLast<CR>', { desc = "last" })
-- Pin/unpin buffer
vim.keymap.set('n', '<leadder>bp', '<Cmd>BufferPin<CR>', { desc = "pin" })
-- Close buffer
vim.keymap.set('n', '<leader>bc', '<Cmd>BufferClose<CR>', { desc = "close" })
-- Wipeout buffer
-- :BufferWipeout
-- Close commands
-- :BufferCloseAllButCurrent
-- :BufferCloseAllButPinned
-- :BufferCloseAllButCurrentOrPinned
-- :BufferCloseBuffersLeft
-- :BufferCloseBuffersRight
-- Magic buffer-picking mode
vim.keymap.set('n', '<leader>bb', '<Cmd>BufferPick<CR>', { desc = "buffer picker" })
-- Sort automatically by...
--vim.keymap.set('n', '<Space>bb', '<Cmd>BufferOrderByBufferNumber<CR>', { desc = "" })
--vim.keymap.set('n', '<Space>bd', '<Cmd>BufferOrderByDirectory<CR>', { desc = "" })
--vim.keymap.set('n', '<Space>bl', '<Cmd>BufferOrderByLanguage<CR>', { desc = "" })
--vim.keymap.set('n', '<Space>bw', '<Cmd>BufferOrderByWindowNumber<CR>', { desc = "" })
local nvim_tree_events = require('nvim-tree.events')
local bufferline_api = require('bufferline.api')
local function get_tree_size()
return require'nvim-tree.view'.View.width
end
nvim_tree_events.subscribe('TreeOpen', function()
bufferline_api.set_offset(get_tree_size())
end)
nvim_tree_events.subscribe('Resize', function()
bufferline_api.set_offset(get_tree_size())
end)
nvim_tree_events.subscribe('TreeClose', function()
bufferline_api.set_offset(0)
end)

View file

@ -1,2 +0,0 @@
require("dapui").setup()

View file

@ -1,97 +0,0 @@
local lsp = require('lsp-zero')
local navic = require("nvim-navic")
local tabnine = require('cmp_tabnine.config')
tabnine:setup({
max_lines = 1000,
max_num_results = 20,
sort = true,
run_on_every_keystroke = true,
snippet_placeholder = '..',
ignored_file_types = {
-- default is not to ignore
-- uncomment to ignore in lua:
-- lua = true
},
show_prediction_strength = false
})
lsp.preset('recommended')
lsp.ensure_installed({
"clangd",
"gopls",
"jdtls",
"eslint",
"tailwindcss",
"tsserver",
"cssmodules_ls",
"rome",
"jsonls",
"sumneko_lua",
"pylsp",
"rust_analyzer",
"stylelint_lsp",
})
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
local cmp = require("cmp")
cmp.event:on(
'confirm_done',
cmp_autopairs.on_confirm_done()
)
local cmp_select = {behavior = cmp.SelectBehavior.Select}
local Cmp_mappings = lsp.defaults.cmp_mappings({
["<C-y>"] = cmp.mapping.confirm({ slelect = true}),
["<C-Space>"] = cmp.mapping.complete(),
})
local cmp_sources = lsp.defaults.cmp_sources({
{name="crates"},
{name="cmp_tabnine"},
})
lsp.setup_nvim_cmp({
mapping = Cmp_mappings,
sources = cmp_sources
})
lsp.on_attach(function(client, bufnr)
--if client.name == "eslint" then
-- vim.cmd [[ LspStop eslint ]]
-- return
--end
navic.attach(client, bufnr)
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, {buffer = bufnr, desc = "goto definition"})
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, {buffer = bufnr})
vim.keymap.set("n", "<leader>vw", function() vim.lsp.buf.workspace_symbol() end, {buffer = bufnr, desc = "workspace symbol"})
vim.keymap.set("n", "<leader>vd", function() vim.diagnostic.open_float() end, {buffer = bufnr, desc = "diagnostics"})
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, {buffer = bufnr, desc = "goto next"})
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, {buffer = bufnr, desc = "goto prev"})
vim.keymap.set("n", "<leader>va", function() vim.lsp.buf.code_action() end, {buffer = bufnr, desc = "code actions"})
vim.keymap.set("n", "<leader>vr", function() vim.lsp.buf.references() end, {buffer = bufnr, desc = "references"})
vim.keymap.set("n", "<leader>vn", function() vim.lsp.buf.rename() end, {buffer = bufnr, desc = "rename"})
vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, {buffer = bufnr})
vim.keymap.set("n", "<leader>vh", function () vim.lsp.buf.hover() end, {buffer=bufnr, desc = "show hover action"})
vim.keymap.set("i", "<C-h>", function () vim.lsp.buf.hover() end, {buffer=bufnr})
end)
lsp.setup()
-- vim.diagnostic.config({
-- signs = true,
-- underline = true,
-- update_in_insert = true,
-- virtual_text = true,
-- })
vim.diagnostic.config({
signs = true,
underline = true,
update_in_insert = true,
virtual_text = true,
})

View file

@ -1,40 +0,0 @@
require('lualine').setup {
options = {
icons_enabled = true,
theme = 'auto',
component_separators = { left = '', right = ''},
section_separators = { left = '', right = ''},
disabled_filetypes = {
statusline = {},
winbar = {},
},
ignore_focus = {},
always_divide_middle = true,
globalstatus = false,
refresh = {
statusline = 1000,
tabline = 1000,
winbar = 1000,
}
},
sections = {
lualine_a = {'mode'},
lualine_b = {'diff'},
lualine_c = {'branch'},
lualine_x = {"location"},
lualine_y = {'progress'},
lualine_z = {'filename'}
},
inactive_sections = {
lualine_a = {},
lualine_b = {},
lualine_c = {'filename'},
lualine_x = {'location'},
lualine_y = {},
lualine_z = {}
},
tabline = {},
winbar = {},
inactive_winbar = {},
extensions = {}
}

View file

@ -1,5 +0,0 @@
require("nvim-tree").setup({
filters = {
dotfiles = true,
},
})

View file

@ -1,22 +0,0 @@
require("presence"):setup({
auto_update = true, -- Update activity based on autocmd events (if `false`, map or manually execute `:lua package.loaded.presence:update()`)
neovim_image_text = "The best PDE, Personalized Development Enviroment", -- Text displayed when hovered over the Neovim image
main_image = "neovim", -- Main image display (either "neovim" or "file")
client_id = "793271441293967371", -- Use your own Discord application client id (not recommended)
log_level = nil, -- Log messages at or above this level (one of the following: "debug", "info", "warn", "error")
debounce_timeout = 10, -- Number of seconds to debounce events (or calls to `:lua package.loaded.presence:update(<filename>, true)`)
enable_line_number = false, -- Displays the current line number instead of the current project
blacklist = {}, -- A list of strings or Lua patterns that disable Rich Presence if the current file name, path, or workspace matches
buttons = true, -- Configure Rich Presence button(s), either a boolean to enable/disable, a static table (`{{ label = "<label>", url = "<url>" }, ...}`, or a function(buffer: string, repo_url: string|nil): table)
file_assets = {}, -- Custom file asset definitions keyed by file names and extensions (see default config at `lua/presence/file_assets.lua` for reference)
show_time = true, -- Show the timer
-- Rich Presence text options
editing_text = "Editing %s", -- Format string rendered when an editable file is loaded in the buffer (either string or function(filename: string): string)
file_explorer_text = "Browsing %s", -- Format string rendered when browsing a file explorer (either string or function(file_explorer_name: string): string)
git_commit_text = "Committing changes", -- Format string rendered when committing changes in git (either string or function(filename: string): string)
plugin_manager_text = "Managing plugins", -- Format string rendered when managing plugins (either string or function(plugin_manager_name: string): string)
reading_text = "Reading %s", -- Format string rendered when a read-only or unmodifiable file is loaded in the buffer (either string or function(filename: string): string)
workspace_text = "Working on %s", -- Format string rendered when in a git repository (either string or function(project_name: string|nil, filename: string): string)
line_number_text = "Line %s out of %s", -- Format string rendered when `enable_line_number` is set to true (either string or function(line_number: number, line_count: number): string)
})

View file

@ -1,162 +0,0 @@
local rt = require("rust-tools")
rt.setup({
server = {
on_attach = function(_, bufnr)
-- Hover actions
vim.keymap.set("n", "<C-space>", rt.hover_actions.hover_actions, { buffer = bufnr })
-- Code action groups
vim.keymap.set("n", "<Leader>ra", rt.code_action_group.code_action_group, { buffer = bufnr })
end,
},
})
rt.inlay_hints.enable()
rt.runnables.runnables()
rt.hover_actions.hover_actions()
rt.hover_range.hover_range()
rt.open_cargo_toml.open_cargo_toml()
rt.parent_module.parent_module()
rt.join_lines.join_lines()
rt.crate_graph.view_crate_graph(backend, output)
require('crates').setup {
smart_insert = true,
insert_closing_quote = true,
avoid_prerelease = true,
autoload = true,
autoupdate = true,
loading_indicator = true,
date_format = "%Y-%m-%d",
thousands_separator = ".",
notification_title = "Crates",
--curl_args = { "-sL", "--retry", "1" },
disable_invalid_feature_diagnostic = false,
text = {
loading = "  Loading",
version = "  %s",
prerelease = "  %s",
yanked = "  %s",
nomatch = "  No match",
upgrade = "  %s",
error = "  Error fetching crate",
},
highlight = {
loading = "CratesNvimLoading",
version = "CratesNvimVersion",
prerelease = "CratesNvimPreRelease",
yanked = "CratesNvimYanked",
nomatch = "CratesNvimNoMatch",
upgrade = "CratesNvimUpgrade",
error = "CratesNvimError",
},
popup = {
autofocus = false,
copy_register = '"',
style = "minimal",
border = "none",
show_version_date = false,
show_dependency_version = true,
max_height = 30,
min_width = 20,
padding = 1,
text = {
title = " %s",
pill_left = "",
pill_right = "",
description = "%s",
created_label = " created ",
created = "%s",
updated_label = " updated ",
updated = "%s",
downloads_label = " downloads ",
downloads = "%s",
homepage_label = " homepage ",
homepage = "%s",
repository_label = " repository ",
repository = "%s",
documentation_label = " documentation ",
documentation = "%s",
crates_io_label = " crates.io ",
crates_io = "%s",
categories_label = " categories ",
keywords_label = " keywords ",
version = " %s",
prerelease = " %s",
yanked = " %s",
version_date = " %s",
feature = " %s",
enabled = " %s",
transitive = " %s",
normal_dependencies_title = " Dependencies",
build_dependencies_title = " Build dependencies",
dev_dependencies_title = " Dev dependencies",
dependency = " %s",
optional = " %s",
dependency_version = " %s",
loading = "",
},
highlight = {
title = "CratesNvimPopupTitle",
pill_text = "CratesNvimPopupPillText",
pill_border = "CratesNvimPopupPillBorder",
description = "CratesNvimPopupDescription",
created_label = "CratesNvimPopupLabel",
created = "CratesNvimPopupValue",
updated_label = "CratesNvimPopupLabel",
updated = "CratesNvimPopupValue",
downloads_label = "CratesNvimPopupLabel",
downloads = "CratesNvimPopupValue",
homepage_label = "CratesNvimPopupLabel",
homepage = "CratesNvimPopupUrl",
repository_label = "CratesNvimPopupLabel",
repository = "CratesNvimPopupUrl",
documentation_label = "CratesNvimPopupLabel",
documentation = "CratesNvimPopupUrl",
crates_io_label = "CratesNvimPopupLabel",
crates_io = "CratesNvimPopupUrl",
categories_label = "CratesNvimPopupLabel",
keywords_label = "CratesNvimPopupLabel",
version = "CratesNvimPopupVersion",
prerelease = "CratesNvimPopupPreRelease",
yanked = "CratesNvimPopupYanked",
version_date = "CratesNvimPopupVersionDate",
feature = "CratesNvimPopupFeature",
enabled = "CratesNvimPopupEnabled",
transitive = "CratesNvimPopupTransitive",
normal_dependencies_title = "CratesNvimPopupNormalDependenciesTitle",
build_dependencies_title = "CratesNvimPopupBuildDependenciesTitle",
dev_dependencies_title = "CratesNvimPopupDevDependenciesTitle",
dependency = "CratesNvimPopupDependency",
optional = "CratesNvimPopupOptional",
dependency_version = "CratesNvimPopupDependencyVersion",
loading = "CratesNvimPopupLoading",
},
keys = {
hide = { "q", "<esc>" },
open_url = { "<cr>" },
select = { "<cr>" },
select_alt = { "s" },
toggle_feature = { "<cr>" },
copy_value = { "yy" },
goto_item = { "gd", "K", "<C-LeftMouse>" },
jump_forward = { "<c-i>" },
jump_back = { "<c-o>", "<C-RightMouse>" },
},
},
src = {
insert_closing_quote = true,
text = {
prerelease = "  pre-release ",
yanked = "  yanked ",
},
coq = {
enabled = false,
name = "Crates",
},
},
null_ls = {
enabled = false,
name = "Crates",
},
}

View file

@ -1,27 +0,0 @@
require "telescope".setup {
pickers = {
colorscheme = {
enable_preview = true
}
}
}
local builtin = require('telescope.builtin')
vim.keymap.set("n", "<leader>fn", function ()
require('telescope.builtin').current_buffer_fuzzy_find(require('telescope.themes').get_dropdown {
winblend = 10,
previewer = false,
})
end, {desc = "fuzzy find"})
vim.keymap.set('n', '<leader>ff', builtin.find_files, {desc = "telescope find files"})
--vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
vim.keymap.set('n', '<leader>fb', builtin.buffers, {desc = "buffers"})
--vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
vim.keymap.set("n", "<leader>fs", function()
builtin.grep_string({ search = vim.fn.input("Grep > ")});
vim.keymap.set("n", "<leader>fp", "<cmd>:Telescope projects<cr>")
end, {desc = "grep search through files"})
pcall(require('telescope').load_extension, 'fzf')
require('telescope').load_extension('projects')
require('telescope').load_extension('dap')

View file

@ -1,6 +0,0 @@
require("toggleterm").setup{
direction = "float",
float_opts = {
border = "curved"
},
}

View file

@ -1,33 +0,0 @@
require'nvim-treesitter.configs'.setup {
-- A list of parser names, or "all"
ensure_installed = { "bash", "cmake", "cpp", "dockerfile", "gitignore", "glsl", "go", "graphql", "html", "java", "javascript", "json5", "kotlin", "markdown", "python", "rasi", "regex", "c", "lua", "rust", "scss", "sql", "sxhkdrc", "toml", "tsx", "typescript", "yaml" },
-- Install parsers synchronously (only applied to `ensure_installed`)
sync_install = false,
-- Automatically install missing parsers when entering buffer
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
auto_install = true,
-- List of parsers to ignore installing (for "all")
---- If you need to change the installation directory of the parsers (see -> Advanced Setup)
-- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")!
highlight = {
-- `false` will disable the whole extension
enable = true,
-- NOTE: these are the names of the parsers and not the filetype. (for example if you want to
-- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is
-- the name of the parser)
-- list of language that will be disabled
-- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
-- Using this option may slow down your editor, and you may see some duplicate highlights.
-- Instead of true it can also be a list of languages
additional_vim_regex_highlighting = false,
},
}

View file

@ -1 +0,0 @@
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)

View file

@ -1 +0,0 @@
require("davidontop")

View file

@ -1,4 +0,0 @@
require("davidontop.packer")
require("davidontop.remap")
require("davidontop.set")
require("davidontop.neovide")

View file

@ -1,13 +0,0 @@
vim.cmd [[
if exists("g:neovide")
set guifont=JetBrainsMono\ Nerd\ Font:14
let g:neovide_scroll_animation_length = 0.3
let g:neovide_scale_factor = 0.5
let g:neovide_refresh_rate = 60
let g:neovide_refresh_rate_idle = 5
let g:neovide_cursor_animation_length=0.13
let g:neovide_cursor_animation_length=0.13
let g:neovide_cursor_antialiasing = v:true
let g:neovide_cursor_vfx_mode = "pixiedust"
endif
]]

View file

@ -1,307 +0,0 @@
vim.cmd [[packadd packer.nvim]]
return require('packer').startup(function(use)
-- Packer can manage itself
use 'wbthomason/packer.nvim'
use {
'nvim-telescope/telescope.nvim', tag = '0.1.0',
-- or , branch = '0.1.x',
requires = { {'nvim-lua/plenary.nvim'} }
}
-- theme
-- syntax highlights
use( 'nvim-treesitter/nvim-treesitter', {run = ':TSUpdate'})
use('nvim-treesitter/playground')
--undos
use("mbbill/undotree")
--lsp
use {
'VonHeikemen/lsp-zero.nvim',
requires = {
-- LSP Support
{'neovim/nvim-lspconfig'},
{'williamboman/mason.nvim'},
{'williamboman/mason-lspconfig.nvim'},
-- Autocompletion
{'hrsh7th/nvim-cmp'},
{'hrsh7th/cmp-buffer'},
{'hrsh7th/cmp-path'},
{'saadparwaiz1/cmp_luasnip'},
{'hrsh7th/cmp-nvim-lsp'},
{'hrsh7th/cmp-nvim-lua'},
-- Snippets
{'L3MON4D3/LuaSnip'},
{'rafamadriz/friendly-snippets'},
}
}
-- debugging
use 'mfussenegger/nvim-dap'
--rust
use 'simrat39/rust-tools.nvim'
use {
'saecki/crates.nvim',
tag = 'v0.3.0',
requires = { 'nvim-lua/plenary.nvim' },
config = function()
require('crates').setup()
end,
}
--zig/useless
use 'ziglang/zig.vim'
--keybind help
use {
"folke/which-key.nvim",
config = function()
local wk = require("which-key")
wk.setup {
popup_mappings = {
scroll_down = "<C-j>",
scroll_up = "<C-k>",
},
window = {
border = "single",
},
}
end
}
-- () {} []...
use {
"windwp/nvim-autopairs",
--config = function() require("nvim-autopairs").setup {} end
}
-- <div></div>
use {"windwp/nvim-ts-autotag",
config = function ()
require('nvim-ts-autotag').setup()
end
}
--files
use {
'nvim-tree/nvim-tree.lua',
requires = {
'nvim-tree/nvim-web-devicons', -- optional, for file icons
},
}
--projects
use {
"ahmedkhalf/project.nvim",
config = function()
require("project_nvim").setup {}
end
}
-- idfk
use {
"SmiteshP/nvim-navic",
requires = "neovim/nvim-lspconfig"
}
--fzf
use {"akinsho/toggleterm.nvim", tag = '*'}
--idk
use {
'nacro90/numb.nvim',
config = function ()
require("numb").setup()
end
}
--idk
use 'nvim-lua/popup.nvim'
-- gc11j
use {
'numToStr/Comment.nvim',
config = function()
require('Comment').setup()
end
}
-- literaly the bottom of the screen
use {
'nvim-lualine/lualine.nvim',
requires = { 'kyazdani42/nvim-web-devicons', opt = true }
}
--broken
use {
"kevinhwang91/rnvimr",
cmd = "RnvimrToggle",
config = function()
vim.g.rnvimr_draw_border = 1
vim.g.rnvimr_pick_enable = 1
vim.g.rnvimr_bw_enable = 1
end,
}
--broken
use {'tzachar/cmp-tabnine', run='./install.sh', requires = 'hrsh7th/nvim-cmp'}
--idk
use {"ellisonleao/glow.nvim",
config = function ()
require("glow").setup()
end
}
--useless
use {
"karb94/neoscroll.nvim",
event = "WinScrolled",
config = function()
require('neoscroll').setup({
mappings = {'<C-u>', '<C-d>', '<C-b>', '<C-f>', '<C-y>', '<C-e>', 'zt', 'zz', 'zb'},
hide_cursor = true,
stop_eof = true,
use_local_scrolloff = false,
respect_scrolloff = false,
cursor_scrolls_alone = true,
easing_function = nil,
pre_hook = nil,
post_hook = nil,
})
end
}
--broken i think TODO somethink
use {
"folke/todo-comments.nvim",
event = "BufRead",
config = function()
require("todo-comments").setup{}
end,
}
--regex i think
use {
"felipec/vim-sanegx",
event = "BufRead",
}
-- command mode help
use {
'gelguy/wilder.nvim',
config = function()
vim.cmd("call wilder#setup({'modes': [':', '/', '?']})")
vim.cmd("call wilder#set_option('renderer', wilder#popupmenu_renderer({'pumblend': 20}))")
vim.cmd("call wilder#set_option('renderer', wilder#popupmenu_renderer(wilder#popupmenu_border_theme({'highlights': {'border': 'Normal',},'border': 'rounded'})))")
end,
}
-- idk
use {"preservim/tagbar"}
-- emmet snippets
use {"mattn/emmet-vim"}
--use {"terryma/vim-multiple-cursors"}
-- must be (multicursor)
use {"mg979/vim-visual-multi"}
-- broken in scss and sass
use {"ap/vim-css-color"}
--idk
use {"tpope/vim-surround"}
--idk
use {'kyazdani42/nvim-web-devicons'}
--not used
use {
"ray-x/lsp_signature.nvim",
event = "BufRead",
config = function() require"lsp_signature".on_attach() end,
}
-- idk
use {
"phaazon/hop.nvim",
event = "BufRead",
config = function()
require("hop").setup()
vim.api.nvim_set_keymap("n", "s", ":HopChar2<cr>", { silent = true })
vim.api.nvim_set_keymap("n", "S", ":HopWord<cr>", { silent = true })
end,
}
-- idk
use {
"kevinhwang91/nvim-bqf",
event = { "BufRead", "BufNew" },
config = function()
require("bqf").setup({
auto_enable = true,
preview = {
win_height = 12,
win_vheight = 12,
delay_syntax = 80,
border_chars = { "", "", "", "", "", "", "", "", "" },
},
func_map = {
vsplit = "",
ptogglemode = "z,",
stoggleup = "",
},
filter = {
fzf = {
action_for = { ["ctrl-s"] = "split" },
extra_opts = { "--bind", "ctrl-o:toggle-all", "--prompt", "> " },
},
},
})
end,
}
--dashboard
use {
'goolord/alpha-nvim',
config = function ()
require'alpha'.setup(require'alpha.themes.dashboard'.config)
end
}
use {'romgrk/barbar.nvim'}
--use {'akinsho/bufferline.nvim', tag = "v3.*",}
use {"jistr/vim-nerdtree-tabs"}
-- native fzf
use { 'nvim-telescope/telescope-fzf-native.nvim', run = 'make', cond = vim.fn.executable 'make' == 1 }
--idk
use 'andweeb/presence.nvim'
-- debugging
use { "rcarriga/nvim-dap-ui", requires = {"mfussenegger/nvim-dap"} }
use "nvim-telescope/telescope-dap.nvim"
--java
use 'mfussenegger/nvim-jdtls'
--cmake
use "cdelledonne/vim-cmake"
--themes
use {
"sainnhe/gruvbox-material",
as = "gruvbox-material",
config = function ()
vim.cmd("colorscheme gruvbox-material")
end
}
use {"shaunsingh/nord.nvim"}
use ({ 'projekt0n/github-nvim-theme' })
use 'EdenEast/nightfox.nvim'
use 'Everblush/nvim'
use 'olimorris/onedarkpro.nvim'
use 'rmehri01/onenord.nvim'
use 'luisiacc/gruvbox-baby'
use 'tiagovla/tokyodark.nvim'
use 'cpea2506/one_monokai.nvim'
use 'ramojus/mellifluous.nvim'
use 'yazeed1s/minimal.nvim'
use 'Mofiqul/adwaita.nvim'
use 'kvrohit/mellow.nvim'
use 'yazeed1s/oh-lucy.nvim'
use 'marko-cerovac/material.nvim'
use 'sainnhe/sonokai'
end)

View file

@ -1,61 +0,0 @@
vim.g.mapleader = " "
vim.keymap.set("n", "<leader>en", vim.cmd.Ex, {desc = "netrw"})
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
vim.keymap.set("n", "<C-d>", "<C-d>zz")
vim.keymap.set("n", "<C-u>", "<C-u>zz")
vim.keymap.set("n", "n", "nzzzv")
vim.keymap.set("n", "N", "Nzzzv")
vim.keymap.set("i", "<C-c>", "<Esc>")
vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
vim.keymap.set("n", "<leader>s", ":%s/\\<<C-r><C-w>\\>/<C-r><C-w>/gI<Left><Left><Left>", {desc = "find and replace"})
vim.keymap.set("n", "<leader>ee", vim.cmd.NvimTreeOpen, {desc = "nvimtree"})
vim.keymap.set("n", "<leader>ew", vim.cmd.NERDTreeTabsOpen, {desc = "NERDTree"})
vim.keymap.set("n", "<leader>er", vim.cmd.RnvimrToggle, {desc = "ranger"})
vim.keymap.set("n", "<C-S-\\>", vim.cmd.RnvimrToggle)
vim.keymap.set("n", "<C-\\>", vim.cmd.ToggleTerm)
vim.keymap.set("t", "<C-\\>", vim.cmd.ToggleTerm)
vim.keymap.set("n", "<leader>tn", vim.cmd.tabedit, {desc = "new tab"})
vim.keymap.set("n", "<leader>tc", vim.cmd.tabclose, {desc = "close tab"})
vim.keymap.set("n", "<leader>tl", vim.cmd.tabnext, {desc = "next tab"})
vim.keymap.set("n", "<leader>th", vim.cmd.tabprevious, {desc = "previous tab"})
vim.keymap.set("n", "<leader>tt", "<cmd>tabedit ", {desc = "open file in a new tab"})
vim.keymap.set("n", "<leader>w", "<cmd>w<cr>", {desc = "Save File"})
vim.keymap.set("n", "<leader>qq", "<cmd>q!<cr>", {desc = "force quit"})
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, {buffer = bufnr, desc = "goto definition"})
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, {buffer = bufnr})
vim.keymap.set("n", "<leader>vw", function() vim.lsp.buf.workspace_symbol() end, {buffer = bufnr, desc = "workspace symbol"})
vim.keymap.set("n", "<leader>vd", function() vim.diagnostic.open_float() end, {buffer = bufnr, desc = "diagnostics"})
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, {buffer = bufnr, desc = "goto next"})
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, {buffer = bufnr, desc = "goto prev"})
vim.keymap.set("n", "<leader>va", function() vim.lsp.buf.code_action() end, {buffer = bufnr, desc = "code actions"})
vim.keymap.set("n", "<leader>vr", function() vim.lsp.buf.references() end, {buffer = bufnr, desc = "references"})
vim.keymap.set("n", "<leader>vn", function() vim.lsp.buf.rename() end, {buffer = bufnr, desc = "rename"})
vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, {buffer = bufnr})
vim.keymap.set("n", "<leader>vh", function () vim.lsp.buf.hover() end, {buffer=bufnr, desc = "show hover action"})
vim.keymap.set("i", "<C-h>", function () vim.lsp.buf.hover() end, {buffer=bufnr})
-- java/debuging
vim.keymap.set("n", "<leader>db", function() require"dap".toggle_breakpoint() end, {desc = "toggle breapoint"})
vim.keymap.set("n", "<leader>dc", function() require("dap").continue() end, {desc = "launch or continue execution"})
vim.keymap.set("n", "<leader>dsi", function() require("dap").step_into() end, {desc = "step into"})
vim.keymap.set("n", "<leader>dso", function() require("dap").step_over() end, {desc = "step over"})
vim.keymap.set("n", "<leader>dr", function() require("dap").repl.open() end, {desc = "open repl"})
vim.keymap.set("n", "<leader>dwb", function() require("dapui").float_element("breakpoints", {}) end, {desc = "open breakpoints window"})
vim.keymap.set("n", "<leader>dwc", function() require("dapui").float_element("console", {}) end, {desc = "open integrated console"})
vim.keymap.set("n", "<leader>dwr", function() require("dapui").float_element("repl", {}) end, {desc = "open repl"})

View file

@ -1,39 +0,0 @@
--vim.opt.guicursor = ""
vim.opt.nu = true
vim.opt.relativenumber = true
vim.opt.tabstop = 4
vim.opt.softtabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = true
vim.opt.smartindent = true
vim.opt.wrap = true
vim.opt.smarttab = true
vim.opt.swapfile = false
vim.opt.backup = false
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
vim.opt.undofile = true
vim.opt.hlsearch = false
vim.opt.incsearch = true
vim.opt.termguicolors = true
vim.opt.scrolloff = 8
vim.opt.signcolumn = "yes"
vim.opt.isfname:append("@-@")
vim.opt.updatetime = 50
--vim.opt.colorcolumn = "80"
vim.g.mapleader = " "
vim.o.mouse = 'a'
vim.o.ignorecase = true
vim.o.smartcase = true

View file

@ -1,569 +0,0 @@
-- Automatically generated packer.nvim plugin loader code
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
return
end
vim.api.nvim_command('packadd packer.nvim')
local no_errors, error_msg = pcall(function()
_G._packer = _G._packer or {}
_G._packer.inside_compile = true
local time
local profile_info
local should_profile = false
if should_profile then
local hrtime = vim.loop.hrtime
profile_info = {}
time = function(chunk, start)
if start then
profile_info[chunk] = hrtime()
else
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
end
end
else
time = function(chunk, start) end
end
local function save_profiles(threshold)
local sorted_times = {}
for chunk_name, time_taken in pairs(profile_info) do
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
end
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
local results = {}
for i, elem in ipairs(sorted_times) do
if not threshold or threshold and elem[2] > threshold then
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
end
end
if threshold then
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
end
_G._packer.profile_output = results
end
time([[Luarocks path setup]], true)
local package_path_str = "/home/d/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/d/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/d/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/d/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
local install_cpath_pattern = "/home/d/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
if not string.find(package.path, package_path_str, 1, true) then
package.path = package.path .. ';' .. package_path_str
end
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
package.cpath = package.cpath .. ';' .. install_cpath_pattern
end
time([[Luarocks path setup]], false)
time([[try_loadstring definition]], true)
local function try_loadstring(s, component, name)
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
if not success then
vim.schedule(function()
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
end)
end
return result
end
time([[try_loadstring definition]], false)
time([[Defining packer_plugins]], true)
_G.packer_plugins = {
["Comment.nvim"] = {
config = { "\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fComment\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/Comment.nvim",
url = "https://github.com/numToStr/Comment.nvim"
},
LuaSnip = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/LuaSnip",
url = "https://github.com/L3MON4D3/LuaSnip"
},
["adwaita.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/adwaita.nvim",
url = "https://github.com/Mofiqul/adwaita.nvim"
},
["alpha-nvim"] = {
config = { "\27LJ\2\na\0\0\5\0\5\0\n6\0\0\0'\2\1\0B\0\2\0029\0\2\0006\2\0\0'\4\3\0B\2\2\0029\2\4\2B\0\2\1K\0\1\0\vconfig\27alpha.themes.dashboard\nsetup\nalpha\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/alpha-nvim",
url = "https://github.com/goolord/alpha-nvim"
},
["barbar.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/barbar.nvim",
url = "https://github.com/romgrk/barbar.nvim"
},
["cmp-buffer"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/cmp-buffer",
url = "https://github.com/hrsh7th/cmp-buffer"
},
["cmp-nvim-lsp"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
},
["cmp-nvim-lua"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/cmp-nvim-lua",
url = "https://github.com/hrsh7th/cmp-nvim-lua"
},
["cmp-path"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/cmp-path",
url = "https://github.com/hrsh7th/cmp-path"
},
["cmp-tabnine"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/cmp-tabnine",
url = "https://github.com/tzachar/cmp-tabnine"
},
cmp_luasnip = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
url = "https://github.com/saadparwaiz1/cmp_luasnip"
},
["crates.nvim"] = {
config = { "\27LJ\2\n4\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\vcrates\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/crates.nvim",
url = "https://github.com/saecki/crates.nvim"
},
["emmet-vim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/emmet-vim",
url = "https://github.com/mattn/emmet-vim"
},
["friendly-snippets"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/friendly-snippets",
url = "https://github.com/rafamadriz/friendly-snippets"
},
["github-nvim-theme"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/github-nvim-theme",
url = "https://github.com/projekt0n/github-nvim-theme"
},
["glow.nvim"] = {
config = { "\27LJ\2\n2\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\tglow\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/glow.nvim",
url = "https://github.com/ellisonleao/glow.nvim"
},
["gruvbox-baby"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/gruvbox-baby",
url = "https://github.com/luisiacc/gruvbox-baby"
},
["gruvbox-material"] = {
config = { "\27LJ\2\n@\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0!colorscheme gruvbox-material\bcmd\bvim\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/gruvbox-material",
url = "https://github.com/sainnhe/gruvbox-material"
},
["hop.nvim"] = {
config = { "\27LJ\2\nÀ\1\0\0\6\0\r\0\0226\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\0016\0\3\0009\0\4\0009\0\5\0'\2\6\0'\3\a\0'\4\b\0005\5\t\0B\0\5\0016\0\3\0009\0\4\0009\0\5\0'\2\6\0'\3\n\0'\4\v\0005\5\f\0B\0\5\1K\0\1\0\1\0\1\vsilent\2\17:HopWord<cr>\6S\1\0\1\vsilent\2\18:HopChar2<cr>\6s\6n\20nvim_set_keymap\bapi\bvim\nsetup\bhop\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/home/d/.local/share/nvim/site/pack/packer/opt/hop.nvim",
url = "https://github.com/phaazon/hop.nvim"
},
["lsp-zero.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/lsp-zero.nvim",
url = "https://github.com/VonHeikemen/lsp-zero.nvim"
},
["lsp_signature.nvim"] = {
config = { "\27LJ\2\n?\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\14on_attach\18lsp_signature\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/home/d/.local/share/nvim/site/pack/packer/opt/lsp_signature.nvim",
url = "https://github.com/ray-x/lsp_signature.nvim"
},
["lualine.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/lualine.nvim",
url = "https://github.com/nvim-lualine/lualine.nvim"
},
["mason-lspconfig.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim",
url = "https://github.com/williamboman/mason-lspconfig.nvim"
},
["mason.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/mason.nvim",
url = "https://github.com/williamboman/mason.nvim"
},
["material.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/material.nvim",
url = "https://github.com/marko-cerovac/material.nvim"
},
["mellifluous.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/mellifluous.nvim",
url = "https://github.com/ramojus/mellifluous.nvim"
},
["mellow.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/mellow.nvim",
url = "https://github.com/kvrohit/mellow.nvim"
},
["minimal.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/minimal.nvim",
url = "https://github.com/yazeed1s/minimal.nvim"
},
["neoscroll.nvim"] = {
config = { "\27LJ\2\nÕ\1\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\rmappings\1\0\5\25cursor_scrolls_alone\2\22respect_scrolloff\1\24use_local_scrolloff\1\rstop_eof\2\16hide_cursor\2\1\n\0\0\n<C-u>\n<C-d>\n<C-b>\n<C-f>\n<C-y>\n<C-e>\azt\azz\azb\nsetup\14neoscroll\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/home/d/.local/share/nvim/site/pack/packer/opt/neoscroll.nvim",
url = "https://github.com/karb94/neoscroll.nvim"
},
["nightfox.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nightfox.nvim",
url = "https://github.com/EdenEast/nightfox.nvim"
},
["nord.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nord.nvim",
url = "https://github.com/shaunsingh/nord.nvim"
},
["numb.nvim"] = {
config = { "\27LJ\2\n2\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\tnumb\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/numb.nvim",
url = "https://github.com/nacro90/numb.nvim"
},
nvim = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim",
url = "https://github.com/Everblush/nvim"
},
["nvim-autopairs"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-autopairs",
url = "https://github.com/windwp/nvim-autopairs"
},
["nvim-bqf"] = {
config = { "\27LJ\2\nõ\2\0\0\6\0\18\0\0216\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0005\3\4\0005\4\5\0=\4\6\3=\3\a\0025\3\b\0=\3\t\0025\3\15\0005\4\v\0005\5\n\0=\5\f\0045\5\r\0=\5\14\4=\4\16\3=\3\17\2B\0\2\1K\0\1\0\vfilter\bfzf\1\0\0\15extra_opts\1\5\0\0\v--bind\22ctrl-o:toggle-all\r--prompt\a> \15action_for\1\0\0\1\0\1\vctrl-s\nsplit\rfunc_map\1\0\3\16ptogglemode\az,\vvsplit\5\14stoggleup\5\fpreview\17border_chars\1\n\0\0\b┃\b┃\bâ”<EFBFBD>\bâ”<EFBFBD>\bâ”<EFBFBD>\b┓\bâ”—\bâ”›\bâ–ˆ\1\0\3\16win_vheight\3\f\15win_height\3\f\17delay_syntax\3P\1\0\1\16auto_enable\2\nsetup\bbqf\frequire\0" },
loaded = false,
needs_bufread = true,
only_cond = false,
path = "/home/d/.local/share/nvim/site/pack/packer/opt/nvim-bqf",
url = "https://github.com/kevinhwang91/nvim-bqf"
},
["nvim-cmp"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-cmp",
url = "https://github.com/hrsh7th/nvim-cmp"
},
["nvim-dap"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-dap",
url = "https://github.com/mfussenegger/nvim-dap"
},
["nvim-dap-ui"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-dap-ui",
url = "https://github.com/rcarriga/nvim-dap-ui"
},
["nvim-jdtls"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-jdtls",
url = "https://github.com/mfussenegger/nvim-jdtls"
},
["nvim-lspconfig"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
url = "https://github.com/neovim/nvim-lspconfig"
},
["nvim-navic"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-navic",
url = "https://github.com/SmiteshP/nvim-navic"
},
["nvim-tree.lua"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-tree.lua",
url = "https://github.com/nvim-tree/nvim-tree.lua"
},
["nvim-treesitter"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
url = "https://github.com/nvim-treesitter/nvim-treesitter"
},
["nvim-ts-autotag"] = {
config = { "\27LJ\2\n=\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\20nvim-ts-autotag\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-ts-autotag",
url = "https://github.com/windwp/nvim-ts-autotag"
},
["nvim-web-devicons"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
url = "https://github.com/kyazdani42/nvim-web-devicons"
},
["oh-lucy.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/oh-lucy.nvim",
url = "https://github.com/yazeed1s/oh-lucy.nvim"
},
["one_monokai.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/one_monokai.nvim",
url = "https://github.com/cpea2506/one_monokai.nvim"
},
["onedarkpro.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/onedarkpro.nvim",
url = "https://github.com/olimorris/onedarkpro.nvim"
},
["onenord.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/onenord.nvim",
url = "https://github.com/rmehri01/onenord.nvim"
},
["packer.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/packer.nvim",
url = "https://github.com/wbthomason/packer.nvim"
},
playground = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/playground",
url = "https://github.com/nvim-treesitter/playground"
},
["plenary.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/plenary.nvim",
url = "https://github.com/nvim-lua/plenary.nvim"
},
["popup.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/popup.nvim",
url = "https://github.com/nvim-lua/popup.nvim"
},
["presence.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/presence.nvim",
url = "https://github.com/andweeb/presence.nvim"
},
["project.nvim"] = {
config = { "\27LJ\2\n>\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\17project_nvim\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/project.nvim",
url = "https://github.com/ahmedkhalf/project.nvim"
},
rnvimr = {
after_files = { "/home/d/.local/share/nvim/site/pack/packer/opt/rnvimr/after/plugin/rnvimr.vim" },
commands = { "RnvimrToggle" },
config = { "\27LJ\2\nx\0\0\2\0\5\0\r6\0\0\0009\0\1\0)\1\1\0=\1\2\0006\0\0\0009\0\1\0)\1\1\0=\1\3\0006\0\0\0009\0\1\0)\1\1\0=\1\4\0K\0\1\0\21rnvimr_bw_enable\23rnvimr_pick_enable\23rnvimr_draw_border\6g\bvim\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/home/d/.local/share/nvim/site/pack/packer/opt/rnvimr",
url = "https://github.com/kevinhwang91/rnvimr"
},
["rust-tools.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/rust-tools.nvim",
url = "https://github.com/simrat39/rust-tools.nvim"
},
sonokai = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/sonokai",
url = "https://github.com/sainnhe/sonokai"
},
tagbar = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/tagbar",
url = "https://github.com/preservim/tagbar"
},
["telescope-dap.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/telescope-dap.nvim",
url = "https://github.com/nvim-telescope/telescope-dap.nvim"
},
["telescope-fzf-native.nvim"] = {
cond = { true },
loaded = false,
needs_bufread = false,
only_cond = true,
path = "/home/d/.local/share/nvim/site/pack/packer/opt/telescope-fzf-native.nvim",
url = "https://github.com/nvim-telescope/telescope-fzf-native.nvim"
},
["telescope.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/telescope.nvim",
url = "https://github.com/nvim-telescope/telescope.nvim"
},
["todo-comments.nvim"] = {
config = { "\27LJ\2\n?\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\18todo-comments\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/home/d/.local/share/nvim/site/pack/packer/opt/todo-comments.nvim",
url = "https://github.com/folke/todo-comments.nvim"
},
["toggleterm.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/toggleterm.nvim",
url = "https://github.com/akinsho/toggleterm.nvim"
},
["tokyodark.nvim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/tokyodark.nvim",
url = "https://github.com/tiagovla/tokyodark.nvim"
},
undotree = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/undotree",
url = "https://github.com/mbbill/undotree"
},
["vim-cmake"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/vim-cmake",
url = "https://github.com/cdelledonne/vim-cmake"
},
["vim-css-color"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/vim-css-color",
url = "https://github.com/ap/vim-css-color"
},
["vim-nerdtree-tabs"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/vim-nerdtree-tabs",
url = "https://github.com/jistr/vim-nerdtree-tabs"
},
["vim-sanegx"] = {
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/home/d/.local/share/nvim/site/pack/packer/opt/vim-sanegx",
url = "https://github.com/felipec/vim-sanegx"
},
["vim-surround"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/vim-surround",
url = "https://github.com/tpope/vim-surround"
},
["vim-visual-multi"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/vim-visual-multi",
url = "https://github.com/mg979/vim-visual-multi"
},
["which-key.nvim"] = {
config = { "\27LJ\2\nš\1\0\0\5\0\b\0\v6\0\0\0'\2\1\0B\0\2\0029\1\2\0005\3\4\0005\4\3\0=\4\5\0035\4\6\0=\4\a\3B\1\2\1K\0\1\0\vwindow\1\0\1\vborder\vsingle\19popup_mappings\1\0\0\1\0\2\14scroll_up\n<C-k>\16scroll_down\n<C-j>\nsetup\14which-key\frequire\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/which-key.nvim",
url = "https://github.com/folke/which-key.nvim"
},
["wilder.nvim"] = {
config = { "\27LJ\2\nÚ\2\0\0\3\0\5\0\r6\0\0\0009\0\1\0'\2\2\0B\0\2\0016\0\0\0009\0\1\0'\2\3\0B\0\2\0016\0\0\0009\0\1\0'\2\4\0B\0\2\1K\0\1\0œ\1call wilder#set_option('renderer', wilder#popupmenu_renderer(wilder#popupmenu_border_theme({'highlights': {'border': 'Normal',},'border': 'rounded'})))Tcall wilder#set_option('renderer', wilder#popupmenu_renderer({'pumblend': 20}))2call wilder#setup({'modes': [':', '/', '?']})\bcmd\bvim\0" },
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/wilder.nvim",
url = "https://github.com/gelguy/wilder.nvim"
},
["zig.vim"] = {
loaded = true,
path = "/home/d/.local/share/nvim/site/pack/packer/start/zig.vim",
url = "https://github.com/ziglang/zig.vim"
}
}
time([[Defining packer_plugins]], false)
-- Config for: glow.nvim
time([[Config for glow.nvim]], true)
try_loadstring("\27LJ\2\n2\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\tglow\frequire\0", "config", "glow.nvim")
time([[Config for glow.nvim]], false)
-- Config for: project.nvim
time([[Config for project.nvim]], true)
try_loadstring("\27LJ\2\n>\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\17project_nvim\frequire\0", "config", "project.nvim")
time([[Config for project.nvim]], false)
-- Config for: gruvbox-material
time([[Config for gruvbox-material]], true)
try_loadstring("\27LJ\2\n@\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0!colorscheme gruvbox-material\bcmd\bvim\0", "config", "gruvbox-material")
time([[Config for gruvbox-material]], false)
-- Config for: alpha-nvim
time([[Config for alpha-nvim]], true)
try_loadstring("\27LJ\2\na\0\0\5\0\5\0\n6\0\0\0'\2\1\0B\0\2\0029\0\2\0006\2\0\0'\4\3\0B\2\2\0029\2\4\2B\0\2\1K\0\1\0\vconfig\27alpha.themes.dashboard\nsetup\nalpha\frequire\0", "config", "alpha-nvim")
time([[Config for alpha-nvim]], false)
-- Config for: Comment.nvim
time([[Config for Comment.nvim]], true)
try_loadstring("\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fComment\frequire\0", "config", "Comment.nvim")
time([[Config for Comment.nvim]], false)
-- Config for: which-key.nvim
time([[Config for which-key.nvim]], true)
try_loadstring("\27LJ\2\nš\1\0\0\5\0\b\0\v6\0\0\0'\2\1\0B\0\2\0029\1\2\0005\3\4\0005\4\3\0=\4\5\0035\4\6\0=\4\a\3B\1\2\1K\0\1\0\vwindow\1\0\1\vborder\vsingle\19popup_mappings\1\0\0\1\0\2\14scroll_up\n<C-k>\16scroll_down\n<C-j>\nsetup\14which-key\frequire\0", "config", "which-key.nvim")
time([[Config for which-key.nvim]], false)
-- Config for: crates.nvim
time([[Config for crates.nvim]], true)
try_loadstring("\27LJ\2\n4\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\vcrates\frequire\0", "config", "crates.nvim")
time([[Config for crates.nvim]], false)
-- Config for: numb.nvim
time([[Config for numb.nvim]], true)
try_loadstring("\27LJ\2\n2\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\tnumb\frequire\0", "config", "numb.nvim")
time([[Config for numb.nvim]], false)
-- Config for: nvim-ts-autotag
time([[Config for nvim-ts-autotag]], true)
try_loadstring("\27LJ\2\n=\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\20nvim-ts-autotag\frequire\0", "config", "nvim-ts-autotag")
time([[Config for nvim-ts-autotag]], false)
-- Config for: wilder.nvim
time([[Config for wilder.nvim]], true)
try_loadstring("\27LJ\2\nÚ\2\0\0\3\0\5\0\r6\0\0\0009\0\1\0'\2\2\0B\0\2\0016\0\0\0009\0\1\0'\2\3\0B\0\2\0016\0\0\0009\0\1\0'\2\4\0B\0\2\1K\0\1\0œ\1call wilder#set_option('renderer', wilder#popupmenu_renderer(wilder#popupmenu_border_theme({'highlights': {'border': 'Normal',},'border': 'rounded'})))Tcall wilder#set_option('renderer', wilder#popupmenu_renderer({'pumblend': 20}))2call wilder#setup({'modes': [':', '/', '?']})\bcmd\bvim\0", "config", "wilder.nvim")
time([[Config for wilder.nvim]], false)
-- Conditional loads
time([[Conditional loading of telescope-fzf-native.nvim]], true)
require("packer.load")({"telescope-fzf-native.nvim"}, {}, _G.packer_plugins)
time([[Conditional loading of telescope-fzf-native.nvim]], false)
-- Command lazy-loads
time([[Defining lazy-load commands]], true)
pcall(vim.api.nvim_create_user_command, 'RnvimrToggle', function(cmdargs)
require('packer.load')({'rnvimr'}, { cmd = 'RnvimrToggle', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins)
end,
{nargs = '*', range = true, bang = true, complete = function()
require('packer.load')({'rnvimr'}, { cmd = 'RnvimrToggle' }, _G.packer_plugins)
return vim.fn.getcompletion('RnvimrToggle ', 'cmdline')
end})
time([[Defining lazy-load commands]], false)
vim.cmd [[augroup packer_load_aucmds]]
vim.cmd [[au!]]
-- Event lazy-loads
time([[Defining lazy-load event autocommands]], true)
vim.cmd [[au BufRead * ++once lua require("packer.load")({'vim-sanegx', 'hop.nvim', 'lsp_signature.nvim', 'nvim-bqf', 'todo-comments.nvim'}, { event = "BufRead *" }, _G.packer_plugins)]]
vim.cmd [[au BufNew * ++once lua require("packer.load")({'nvim-bqf'}, { event = "BufNew *" }, _G.packer_plugins)]]
vim.cmd [[au WinScrolled * ++once lua require("packer.load")({'neoscroll.nvim'}, { event = "WinScrolled *" }, _G.packer_plugins)]]
time([[Defining lazy-load event autocommands]], false)
vim.cmd("augroup END")
_G._packer.inside_compile = false
if _G._packer.needs_bufread == true then
vim.cmd("doautocmd BufRead")
end
_G._packer.needs_bufread = false
if should_profile then save_profiles() end
end)
if not no_errors then
error_msg = error_msg:gsub('"', '\\"')
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
end

View file

@ -1,11 +0,0 @@
vim.opt.nu = true
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.cursorline = true
vim.opt.cursorcolumn = true
vim.cmd[[
highlight CursorColumn guibg=none ctermbg=none
highlight link CursorColumn CursorLine
]]

View file

@ -1,15 +0,0 @@
local npairs = require("nvim-autopairs")
local Rule = require("nvim-autopairs.rule")
npairs.setup({
check_ts = true,
ts_config = {
lua = {"string"},
javascript = {"template_string"},
},
enable_check_bracket_line = false,
ignored_next_char = "[%w%.]",
})
local ts_conds = require("nvim-autopairs.ts-conds")

View file

@ -1,44 +0,0 @@
-- local db = require('dashboard')
--
local header = {"",
" /$$ /$$ /$$ /$$ /$$ ",
"| $$$ | $$ | $$ | $$|__/ ",
"| $$$$| $$ /$$$$$$ /$$$$$$ | $$ | $$ /$$ /$$$$$$/$$$$ ",
"| $$ $$ $$ /$$__ $$ /$$__ $$| $$ / $$/| $$| $$_ $$_ $$",
"| $$ $$$$| $$$$$$$$| $$ \\ $$ \\ $$ $$/ | $$| $$ \\ $$ \\ $$",
"| $$\\ $$$| $$_____/| $$ | $$ \\ $$$/ | $$| $$ | $$ | $$",
"| $$ \\ $$| $$$$$$$| $$$$$$/ \\ $/ | $$| $$ | $$ | $$",
"|__/ \\__/ \\_______/ \\______/ \\_/ |__/|__/ |__/ |__/",
"",
"",
"",
"",
"",
"",
"",
}
-- db.custom_header = header
-- db.custom_center = {
-- {
-- icon = ' ',
-- desc ='File Browser ',
-- action = 'Telescope file_browser',
-- shortcut = 'SPC e e'
-- },
-- }
local dashboard = require("alpha.themes.dashboard")
dashboard.section.header.val = header
dashboard.section.buttons.val = {
dashboard.button("SPC e e", " File Tree", ":NeoTreeFloatToggle<cr>"),
dashboard.button("op", "Open Project", ":OP<cr>"),
dashboard.button("oc", "Open Config", ":Config<cr>"),
}
-- dashboard.section.footer.opts.hl = "Constant"
-- dashboard.section.header.opts.hl = "Include"
-- dashboard.section.buttons.opts.hl = "Function"
-- dashboard.section.buttons.opts.hl_shortcut = "Type"
dashboard.opts.opts.noautocmd = true
require("alpha").setup(dashboard.opts)

View file

@ -1,9 +0,0 @@
vim.cmd[[
map <Space>m\ <nop>
map <Space>m/ <nop>
map <Space>mA <nop>
map <Space>mgS <nop>
map <Space>tt <nop>
map <Space>tm <nop>
]]

View file

@ -1,9 +0,0 @@
require('gitsigns').setup {
signs = {
add = { text = '+' },
change = { text = '~' },
delete = { text = '_' },
topdelete = { text = '' },
changedelete = { text = '~' },
},
}

View file

@ -1,219 +0,0 @@
-- local ih = require("inlay-hints")
require('neodev').setup()
-- vim.lsp.ensure_installed({
-- "clangd",
-- "gopls",
-- "jdtls",
-- "eslint",
-- "tailwindcss",
-- "tsserver",
-- "cssmodules_ls",
-- "rome",
-- "jsonls",
-- "sumneko_lua",
-- "pylsp",
-- "rust_analyzer",
-- "stylelint_lsp",
-- })
local navic = require("nvim-navic")
navic.setup {
icons = {
File = "",
Module = "",
Namespace = "",
Package = "",
Class = "",
Method = "",
Property = "",
Field = "",
Constructor = "",
Enum = "",
Interface = "",
Function = "",
Variable = "",
Constant = "",
String = "",
Number = "",
Boolean = "",
Array = "",
Object = "",
Key = "",
Null = "",
EnumMember = "",
Struct = "",
Event = "",
Operator = "",
TypeParameter = "",
},
highlight = false,
separator = " > ",
depth_limit = 0,
depth_limit_indicator = "..",
safe_output = true
}
local on_attach = function(client, bufnr)
local nmap = function(keys, func, desc)
if desc then
desc = 'LSP: ' .. desc
end
vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc })
end
-- ih.on_attach(client, bufnr)
require("lsp-inlayhints").on_attach(client, bufnr)
if client.server_capabilities.documentSymbolProvider then
navic.attach(client, bufnr)
require("nvim-navbuddy").attach(client, bufnr)
end
nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences')
nmap('gI', vim.lsp.buf.implementation, '[G]oto [I]mplementation')
nmap('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation')
-- Lesser used LSP functionality
nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
-- Create a command `:Format` local to the LSP buffer
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
vim.lsp.buf.format()
end, { desc = 'Format current buffer with LSP' })
end
local servers = {
clangd = {},
pyright = {},
rust_analyzer = {},
tsserver = {},
-- sumneko_lua = {
-- Lua = {
-- workspace = { checkThirdParty = false },
-- telemetry = { enable = false },
-- },
-- },
}
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
require('mason').setup()
require("mason-nvim-dap").setup({automatic_installation = true, handlers = {
function (config)
require("mason-nvim-dap").default_setup(config)
end
}})
local mason_lspconfig = require 'mason-lspconfig'
mason_lspconfig.setup {
ensure_installed = vim.tbl_keys(servers),
}
mason_lspconfig.setup_handlers {
function(server_name)
require('lspconfig')[server_name].setup {
capabilities = capabilities,
on_attach = on_attach,
settings = servers[server_name],
}
end,
}
require("lspconfig").nimls.setup{
cmd = {"nimlsp", "--log", "/tmp/nimlsp.log"},
on_attach = on_attach,
}
require("lspconfig").zls.setup{
cmd = {"zls"},
on_attach = on_attach,
}
-- lspinfo
require('fidget').setup()
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
local cmp = require 'cmp'
local luasnip = require 'luasnip'
cmp.setup {
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body)
end,
},
mapping = cmp.mapping.preset.insert {
-- ["<C-y>"] = cmp.mapping.confirm({ slelect = true}),
["<C-Space><C-Space>"] = cmp.mapping.complete({}),
['<C-d>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<CR>'] = cmp.mapping.confirm {
behavior = cmp.ConfirmBehavior.Replace,
select = true,
},
['<Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
-- elseif luasnip.expand_or_jumpable() then
-- luasnip.expand_or_jump()
else
fallback()
end
end, { 'i', 's' }),
['<S-Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { 'i', 's' }),
},
sources = {
{ name = 'nvim_lsp' },
{ name = 'luasnip' },
{ name = "crates" },
},
}
cmp.event:on(
'confirm_done',
cmp_autopairs.on_confirm_done()
)
vim.diagnostic.config({
signs = true,
underline = true,
update_in_insert = true,
virtual_text = true,
})
require("cmp").config.formatting = {
format = require("tailwindcss-colorizer-cmp").formatter,
behavior = cmp.SelectBehavior.Select,
}
-- require('tabnine').setup({
-- disable_auto_comment=true,
-- accept_keymap="<Tab>",
-- dismiss_keymap = "<C-]>",
-- debounce_ms = 300,
-- suggestion_color = {gui = "#808080", cterm = 244},
-- execlude_filetypes = {"TelescopePrompt"}
-- })
require("aerial").setup({})
require("dap")
local sign = vim.fn.sign_define
sign("DapBreakpoint", { text = "", texthl = "DapBreakpoint", linehl = "", numhl = ""})
sign("DapBreakpointCondition", { text = "", texthl = "DapBreakpointCondition", linehl = "", numhl = ""})
sign("DapLogPoint", { text = "", texthl = "DapLogPoint", linehl = "", numhl = ""})

View file

@ -1,8 +0,0 @@
require("mini.ai").setup({
custom_textobjects = {
[','] = require("mini.ai").gen_spec.pair(',', ',', {})
}
})
require("mini.jump").setup({})
require("mini.sessions").setup({autowrite = false, directory = '~/projects/sessions'})

View file

@ -1,10 +0,0 @@
require("neo-tree").setup({
source_selector = {
winbar = true,
statusline = false,
},
})
vim.keymap.set("n", "<C-\\>", vim.cmd.ToggleTerm)
vim.keymap.set("t", "<C-\\>", vim.cmd.ToggleTerm)

View file

@ -1,22 +0,0 @@
require("presence"):setup({
auto_update = true, -- Update activity based on autocmd events (if `false`, map or manually execute `:lua package.loaded.presence:update()`)
neovim_image_text = "The best PDE, Personalized Development Enviroment", -- Text displayed when hovered over the Neovim image
main_image = "neovim", -- Main image display (either "neovim" or "file")
client_id = "793271441293967371", -- Use your own Discord application client id (not recommended)
log_level = nil, -- Log messages at or above this level (one of the following: "debug", "info", "warn", "error")
debounce_timeout = 15, -- Number of seconds to debounce events (or calls to `:lua package.loaded.presence:update(<filename>, true)`)
enable_line_number = false, -- Displays the current line number instead of the current project
blacklist = {}, -- A list of strings or Lua patterns that disable Rich Presence if the current file name, path, or workspace matches
buttons = true, -- Configure Rich Presence button(s), either a boolean to enable/disable, a static table (`{{ label = "<label>", url = "<url>" }, ...}`, or a function(buffer: string, repo_url: string|nil): table)
file_assets = {}, -- Custom file asset definitions keyed by file names and extensions (see default config at `lua/presence/file_assets.lua` for reference)
show_time = true, -- Show the timer
-- Rich Presence text options
editing_text = "Editing %s", -- Format string rendered when an editable file is loaded in the buffer (either string or function(filename: string): string)
file_explorer_text = "Browsing %s", -- Format string rendered when browsing a file explorer (either string or function(file_explorer_name: string): string)
git_commit_text = "Committing changes", -- Format string rendered when committing changes in git (either string or function(filename: string): string)
plugin_manager_text = "Managing plugins", -- Format string rendered when managing plugins (either string or function(plugin_manager_name: string): string)
reading_text = "Reading %s", -- Format string rendered when a read-only or unmodifiable file is loaded in the buffer (either string or function(filename: string): string)
workspace_text = "Working on %s", -- Format string rendered when in a git repository (either string or function(project_name: string|nil, filename: string): string)
line_number_text = "Line %s out of %s", -- Format string rendered when `enable_line_number` is set to true (either string or function(line_number: number, line_count: number): string)
})

View file

@ -1,158 +0,0 @@
local rt = require("rust-tools")
rt.setup({
server = {
on_attach = function(_, bufnr)
end,
},
})
rt.inlay_hints.enable()
rt.runnables.runnables()
rt.hover_actions.hover_actions()
rt.hover_range.hover_range()
rt.open_cargo_toml.open_cargo_toml()
rt.parent_module.parent_module()
rt.join_lines.join_lines()
rt.crate_graph.view_crate_graph(backend, output)
require("crates").setup {
smart_insert = true,
insert_closing_quote = true,
avoid_prerelease = true,
autoload = true,
autoupdate = true,
loading_indicator = true,
date_format = "%Y-%m-%d",
thousands_separator = ".",
notification_title = "Crates",
--curl_args = { "-sL", "--retry", "1" },
disable_invalid_feature_diagnostic = false,
text = {
loading = "  Loading",
version = "  %s",
prerelease = "  %s",
yanked = "  %s",
nomatch = "  No match",
upgrade = "  %s",
error = "  Error fetching crate",
},
highlight = {
loading = "CratesNvimLoading",
version = "CratesNvimVersion",
prerelease = "CratesNvimPreRelease",
yanked = "CratesNvimYanked",
nomatch = "CratesNvimNoMatch",
upgrade = "CratesNvimUpgrade",
error = "CratesNvimError",
},
popup = {
autofocus = false,
copy_register = '"',
style = "minimal",
border = "none",
show_version_date = false,
show_dependency_version = true,
max_height = 30,
min_width = 20,
padding = 1,
text = {
title = " %s",
pill_left = "",
pill_right = "",
description = "%s",
created_label = " created ",
created = "%s",
updated_label = " updated ",
updated = "%s",
downloads_label = " downloads ",
downloads = "%s",
homepage_label = " homepage ",
homepage = "%s",
repository_label = " repository ",
repository = "%s",
documentation_label = " documentation ",
documentation = "%s",
crates_io_label = " crates.io ",
crates_io = "%s",
categories_label = " categories ",
keywords_label = " keywords ",
version = " %s",
prerelease = " %s",
yanked = " %s",
version_date = " %s",
feature = " %s",
enabled = " %s",
transitive = " %s",
normal_dependencies_title = " Dependencies",
build_dependencies_title = " Build dependencies",
dev_dependencies_title = " Dev dependencies",
dependency = " %s",
optional = " %s",
dependency_version = " %s",
loading = "",
},
highlight = {
title = "CratesNvimPopupTitle",
pill_text = "CratesNvimPopupPillText",
pill_border = "CratesNvimPopupPillBorder",
description = "CratesNvimPopupDescription",
created_label = "CratesNvimPopupLabel",
created = "CratesNvimPopupValue",
updated_label = "CratesNvimPopupLabel",
updated = "CratesNvimPopupValue",
downloads_label = "CratesNvimPopupLabel",
downloads = "CratesNvimPopupValue",
homepage_label = "CratesNvimPopupLabel",
homepage = "CratesNvimPopupUrl",
repository_label = "CratesNvimPopupLabel",
repository = "CratesNvimPopupUrl",
documentation_label = "CratesNvimPopupLabel",
documentation = "CratesNvimPopupUrl",
crates_io_label = "CratesNvimPopupLabel",
crates_io = "CratesNvimPopupUrl",
categories_label = "CratesNvimPopupLabel",
keywords_label = "CratesNvimPopupLabel",
version = "CratesNvimPopupVersion",
prerelease = "CratesNvimPopupPreRelease",
yanked = "CratesNvimPopupYanked",
version_date = "CratesNvimPopupVersionDate",
feature = "CratesNvimPopupFeature",
enabled = "CratesNvimPopupEnabled",
transitive = "CratesNvimPopupTransitive",
normal_dependencies_title = "CratesNvimPopupNormalDependenciesTitle",
build_dependencies_title = "CratesNvimPopupBuildDependenciesTitle",
dev_dependencies_title = "CratesNvimPopupDevDependenciesTitle",
dependency = "CratesNvimPopupDependency",
optional = "CratesNvimPopupOptional",
dependency_version = "CratesNvimPopupDependencyVersion",
loading = "CratesNvimPopupLoading",
},
keys = {
hide = { "q", "<esc>" },
open_url = { "<cr>" },
select = { "<cr>" },
select_alt = { "s" },
toggle_feature = { "<cr>" },
copy_value = { "yy" },
goto_item = { "gd", "K", "<C-LeftMouse>" },
jump_forward = { "<c-i>" },
jump_back = { "<c-o>", "<C-RightMouse>" },
},
},
src = {
insert_closing_quote = true,
text = {
prerelease = "  pre-release ",
yanked = "  yanked ",
},
coq = {
enabled = false,
name = "Crates",
},
},
null_ls = {
enabled = false,
name = "Crates",
},
}

View file

@ -1,762 +0,0 @@
local conditions = require("heirline.conditions")
local utils = require("heirline.utils")
local colors = {
bright_bg = utils.get_highlight("Folded").bg,
bright_fg = utils.get_highlight("Folded").fg,
red = utils.get_highlight("DiagnosticError").fg,
dark_red = utils.get_highlight("diffDelete").bg,
green = utils.get_highlight("String").fg,
blue = utils.get_highlight("Function").fg,
gray = utils.get_highlight("NonText").fg,
orange = utils.get_highlight("Constant").fg,
purple = utils.get_highlight("Statement").fg,
cyan = utils.get_highlight("Special").fg,
diag_warn = utils.get_highlight("DiagnosticWarn").fg,
diag_error = utils.get_highlight("DiagnosticError").fg,
diag_hint = utils.get_highlight("DiagnosticHint").fg,
diag_info = utils.get_highlight("DiagnosticInfo").fg,
git_del = utils.get_highlight("diffRemoved").fg,
git_add = utils.get_highlight("diffAdded").fg,
git_change = utils.get_highlight("diffChanged").fg,
}
require("heirline").load_colors(colors)
local ViMode = {
-- get vim current mode, this information will be required by the provider
-- and the highlight functions, so we compute it only once per component
-- evaluation and store it as a component attribute
init = function(self)
self.mode = vim.fn.mode(1) -- :h mode()
end,
-- Now we define some dictionaries to map the output of mode() to the
-- corresponding string and color. We can put these into `static` to compute
-- them at initialisation time.
static = {
mode_names = { -- change the strings if you like it vvvvverbose!
n = "N",
no = "N?",
nov = "N?",
noV = "N?",
["no\22"] = "N?",
niI = "Ni",
niR = "Nr",
niV = "Nv",
nt = "Nt",
v = "V",
vs = "Vs",
V = "V_",
Vs = "Vs",
["\22"] = "^V",
["\22s"] = "^V",
s = "S",
S = "S_",
["\19"] = "^S",
i = "I",
ic = "Ic",
ix = "Ix",
R = "R",
Rc = "Rc",
Rx = "Rx",
Rv = "Rv",
Rvc = "Rv",
Rvx = "Rv",
c = "C",
cv = "Ex",
r = "...",
rm = "M",
["r?"] = "?",
["!"] = "!",
t = "T",
},
mode_colors = {
n = "red" ,
i = "green",
v = "cyan",
V = "cyan",
["\22"] = "cyan",
c = "orange",
s = "purple",
S = "purple",
["\19"] = "purple",
R = "orange",
r = "orange",
["!"] = "red",
t = "red",
}
},
-- We can now access the value of mode() that, by now, would have been
-- computed by `init()` and use it to index our strings dictionary.
-- note how `static` fields become just regular attributes once the
-- component is instantiated.
-- To be extra meticulous, we can also add some vim statusline syntax to
-- control the padding and make sure our string is always at least 2
-- characters long. Plus a nice Icon.
provider = function(self)
return "  %2("..self.mode_names[self.mode].."%)"
end,
-- Same goes for the highlight. Now the foreground will change according to the current mode.
hl = function(self)
local mode = self.mode:sub(1, 1) -- get only the first mode character
return { fg = self.mode_colors[mode], bold = true, }
end,
-- Re-evaluate the component only on ModeChanged event!
-- Also allorws the statusline to be re-evaluated when entering operator-pending mode
update = {
"ModeChanged",
pattern = "*:*",
callback = vim.schedule_wrap(function()
vim.cmd("redrawstatus")
end),
},
}
ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode})
local FileNameBlock = {
-- let's first set up some attributes needed by this component and it's children
init = function(self)
self.filename = vim.api.nvim_buf_get_name(0)
end,
}
-- We can now define some children separately and add them later
local FileIcon = {
init = function(self)
local filename = self.filename
local extension = vim.fn.fnamemodify(filename, ":e")
self.icon, self.icon_color = require("nvim-web-devicons").get_icon_color(filename, extension, { default = true })
end,
provider = function(self)
return self.icon and (self.icon .. " ")
end,
hl = function(self)
return { fg = self.icon_color }
end
}
local FileName = {
provider = function(self)
-- first, trim the pattern relative to the current directory. For other
-- options, see :h filename-modifers
local filename = vim.fn.fnamemodify(self.filename, ":.")
if filename == "" then return "[No Name]" end
-- now, if the filename would occupy more than 1/4th of the available
-- space, we trim the file path to its initials
-- See Flexible Components section below for dynamic truncation
if not conditions.width_percent_below(#filename, 0.25) then
filename = vim.fn.pathshorten(filename)
end
return filename
end,
hl = { fg = utils.get_highlight("Directory").fg },
}
local FileFlags = {
{
condition = function()
return vim.bo.modified
end,
provider = "[+]",
hl = { fg = "green" },
},
{
condition = function()
return not vim.bo.modifiable or vim.bo.readonly
end,
provider = "",
hl = { fg = "orange" },
},
}
-- Now, let's say that we want the filename color to change if the buffer is
-- modified. Of course, we could do that directly using the FileName.hl field,
-- but we'll see how easy it is to alter existing components using a "modifier"
-- component
local FileNameModifer = {
hl = function()
if vim.bo.modified then
-- use `force` because we need to override the child's hl foreground
return { fg = "cyan", bold = true, force=true }
end
end,
}
-- let's add the children to our FileNameBlock component
FileNameBlock = utils.insert(FileNameBlock,
FileIcon,
utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier
FileFlags,
{ provider = '%<'} -- this means that the statusline is cut here when there's not enough space
)
local FileSize = {
provider = function()
-- stackoverflow, compute human readable file size
local suffix = { 'b', 'k', 'M', 'G', 'T', 'P', 'E' }
local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0))
fsize = (fsize < 0 and 0) or fsize
if fsize < 1024 then
return fsize..suffix[1]
end
local i = math.floor((math.log(fsize) / math.log(1024)))
return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1])
end
}
local FileLastModified = {
-- did you know? Vim is full of functions!
provider = function()
local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0))
return (ftime > 0) and os.date("%c", ftime)
end
}
FileNameBlock = utils.surround({ "", "" }, "bright_bg", FileNameBlock)
-- We're getting minimalists here!
local Ruler = {
-- %l = current line number
-- %L = number of lines in the buffer
-- %c = column number
-- %P = percentage through file of displayed window
provider = "%7(%l/%3L%):%2c %P",
}
Ruler = utils.surround({ "", "" }, "bright_bg", Ruler)
-- I take no credits for this! :lion:
local ScrollBar ={
static = {
sbar = { '', '', '', '', '', '', '', '' }
-- Another variant, because the more choice the better.
-- sbar = { '🭶', '🭷', '🭸', '🭹', '🭺', '🭻' }
},
provider = function(self)
local curr_line = vim.api.nvim_win_get_cursor(0)[1]
local lines = vim.api.nvim_buf_line_count(0)
local i = math.floor((curr_line - 1) / lines * #self.sbar) + 1
return string.rep(self.sbar[i], 2)
end,
hl = { fg = "blue", bg = "bright_bg" },
}
local LSPActive = {
condition = conditions.lsp_attached,
update = {'LspAttach', 'LspDetach'},
-- You can keep it simple,
-- provider = " [LSP]",
-- Or complicate things a bit and get the servers names
provider = function()
local names = {}
for i, server in pairs(vim.lsp.get_active_clients({ bufnr = 0 })) do
table.insert(names, server.name)
end
return " [" .. table.concat(names, " ") .. "]"
end,
hl = { fg = "green", bold = true },
}
LSPActive = utils.surround({ "", "" }, "bright_bg", LSPActive)
-- Full nerd (with icon colors and clickable elements)!
-- works in multi window, but does not support flexible components (yet ...)
local Navic = {
condition = function() return require("nvim-navic").is_available() end,
static = {
-- create a type highlight map
type_hl = {
File = "Directory",
Module = "@include",
Namespace = "@namespace",
Package = "@include",
Class = "@structure",
Method = "@method",
Property = "@property",
Field = "@field",
Constructor = "@constructor",
Enum = "@field",
Interface = "@type",
Function = "@function",
Variable = "@variable",
Constant = "@constant",
String = "@string",
Number = "@number",
Boolean = "@boolean",
Array = "@field",
Object = "@type",
Key = "@keyword",
Null = "@comment",
EnumMember = "@field",
Struct = "@structure",
Event = "@keyword",
Operator = "@operator",
TypeParameter = "@type",
},
-- bit operation dark magic, see below...
enc = function(line, col, winnr)
return bit.bor(bit.lshift(line, 16), bit.lshift(col, 6), winnr)
end,
-- line: 16 bit (65535); col: 10 bit (1023); winnr: 6 bit (63)
dec = function(c)
local line = bit.rshift(c, 16)
local col = bit.band(bit.rshift(c, 6), 1023)
local winnr = bit.band(c, 63)
return line, col, winnr
end
},
init = function(self)
local data = require("nvim-navic").get_data() or {}
local children = {}
-- create a child for each level
for i, d in ipairs(data) do
-- encode line and column numbers into a single integer
local pos = self.enc(d.scope.start.line, d.scope.start.character, self.winnr)
local child = {
{
provider = d.icon,
hl = self.type_hl[d.type],
},
{
-- escape `%`s (elixir) and buggy default separators
provider = d.name:gsub("%%", "%%%%"):gsub("%s*->%s*", ''),
-- highlight icon only or location name as well
-- hl = self.type_hl[d.type],
on_click = {
-- pass the encoded position through minwid
minwid = pos,
callback = function(_, minwid)
-- decode
local line, col, winnr = self.dec(minwid)
vim.api.nvim_win_set_cursor(vim.fn.win_getid(winnr), {line, col})
end,
name = "heirline_navic",
},
},
}
-- add a separator only if needed
if #data > 1 and i < #data then
table.insert(child, {
provider = " > ",
hl = { fg = 'bright_fg' },
})
end
table.insert(children, child)
end
-- instantiate the new child, overwriting the previous one
self.child = self:new(children, 1)
end,
-- evaluate the children containing navic components
provider = function(self)
return self.child:eval()
end,
hl = { fg = "gray" },
update = 'CursorMoved'
}
-- local Diagnostics = {
--
-- condition = conditions.has_diagnostics,
--
-- static = {
-- error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text,
-- warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text,
-- info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text,
-- hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text,
-- },
--
-- init = function(self)
-- self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR })
-- self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN })
-- self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT })
-- self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO })
-- end,
--
-- update = { "DiagnosticChanged", "BufEnter" },
--
-- {
-- provider = function(self)
-- -- 0 is just another output, we can decide to print it or not!
-- return self.errors > 0 and (self.error_icon .. self.errors .. " ")
-- end,
-- hl = { fg = "diag_error" },
-- },
-- {
-- provider = function(self)
-- return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ")
-- end,
-- hl = { fg = "diag_warn" },
-- },
-- {
-- provider = function(self)
-- return self.info > 0 and (self.info_icon .. self.info .. " ")
-- end,
-- hl = { fg = "diag_info" },
-- },
-- {
-- provider = function(self)
-- return self.hints > 0 and (self.hint_icon .. self.hints)
-- end,
-- hl = { fg = "diag_hint" },
-- },
-- }
local Git = {
condition = conditions.is_git_repo,
init = function(self)
self.status_dict = vim.b.gitsigns_status_dict
self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0
end,
hl = { fg = "orange" },
{ -- git branch name
provider = function(self)
return "" .. self.status_dict.head
end,
hl = { bold = true }
},
-- You could handle delimiters, icons and counts similar to Diagnostics
{
condition = function(self)
return self.has_changes
end,
provider = "("
},
{
provider = function(self)
local count = self.status_dict.added or 0
return count > 0 and ("+" .. count)
end,
hl = { fg = "git_add" },
},
{
provider = function(self)
local count = self.status_dict.removed or 0
return count > 0 and ("-" .. count)
end,
hl = { fg = "git_del" },
},
{
provider = function(self)
local count = self.status_dict.changed or 0
return count > 0 and ("~" .. count)
end,
hl = { fg = "git_change" },
},
{
condition = function(self)
return self.has_changes
end,
provider = ")",
},
}
local DAPMessages = {
condition = function()
local session = require("dap").session()
return session ~= nil
end,
provider = function()
return "" .. require("dap").status()
end,
hl = "Debug"
-- see Click-it! section for clickable actions
}
local WorkDir = {
provider = function()
local icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. ""
local cwd = vim.fn.getcwd(0)
cwd = vim.fn.fnamemodify(cwd, ":~")
if not conditions.width_percent_below(#cwd, 0.25) then
cwd = vim.fn.pathshorten(cwd)
end
local trail = cwd:sub(-1) == '/' and '' or "/"
return icon .. cwd .. trail
end,
hl = { fg = "blue", bold = true },
}
local TerminalName = {
-- we could add a condition to check that buftype == 'terminal'
-- or we could do that later (see #conditional-statuslines below)
provider = function()
local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "")
return "" .. tname
end,
hl = { fg = "blue", bold = true },
}
-------------------------------------------------------------------------------------
local TablineBufnr = {
provider = function(self)
return tostring(self.bufnr) .. ". "
end,
hl = "Comment",
}
-- we redefine the filename component, as we probably only want the tail and not the relative path
local TablineFileName = {
provider = function(self)
-- self.filename will be defined later, just keep looking at the example!
local filename = self.filename
filename = filename == "" and "[No Name]" or vim.fn.fnamemodify(filename, ":t")
return filename
end,
hl = function(self)
return { bold = self.is_active or self.is_visible, italic = true }
end,
}
-- this looks exactly like the FileFlags component that we saw in
-- #crash-course-part-ii-filename-and-friends, but we are indexing the bufnr explicitly
-- also, we are adding a nice icon for terminal buffers.
local TablineFileFlags = {
{
condition = function(self)
return vim.api.nvim_buf_get_option(self.bufnr, "modified")
end,
provider = "[+]",
hl = { fg = "green" },
},
{
condition = function(self)
return not vim.api.nvim_buf_get_option(self.bufnr, "modifiable")
or vim.api.nvim_buf_get_option(self.bufnr, "readonly")
end,
provider = function(self)
if vim.api.nvim_buf_get_option(self.bufnr, "buftype") == "terminal" then
return ""
else
return ""
end
end,
hl = { fg = "orange" },
},
}
-- Here the filename block finally comes together
local TablineFileNameBlock = {
init = function(self)
self.filename = vim.api.nvim_buf_get_name(self.bufnr)
end,
hl = function(self)
if self.is_active then
return "TabLineSel"
-- why not?
-- elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then
-- return { fg = "gray" }
else
return "TabLine"
end
end,
on_click = {
callback = function(_, minwid, _, button)
if (button == "m") then -- close on mouse middle click
vim.schedule(function()
vim.api.nvim_buf_delete(minwid, { force = false })
end)
else
vim.api.nvim_win_set_buf(0, minwid)
end
end,
minwid = function(self)
return self.bufnr
end,
name = "heirline_tabline_buffer_callback",
},
TablineBufnr,
FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here!
TablineFileName,
TablineFileFlags,
}
-- a nice "x" button to close the buffer
local TablineCloseButton = {
condition = function(self)
return not vim.api.nvim_buf_get_option(self.bufnr, "modified")
end,
{ provider = " " },
{
provider = "",
hl = { fg = "gray" },
on_click = {
callback = function(_, minwid)
vim.schedule(function()
vim.api.nvim_buf_delete(minwid, { force = false })
end)
vim.cmd.redrawtabline()
end,
minwid = function(self)
return self.bufnr
end,
name = "heirline_tabline_close_buffer_callback",
},
},
}
-- The final touch!
local TablineBufferBlock = utils.surround({ "", "" }, function(self)
if self.is_active then
return utils.get_highlight("TabLineSel").bg
else
return utils.get_highlight("TabLine").bg
end
end, { TablineFileNameBlock, TablineCloseButton })
-- and here we go
local BufferLine = utils.make_buflist(
TablineBufferBlock,
{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<")
{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">")
-- by the way, open a lot of buffers and try clicking them ;)
)
local Tabpage = {
provider = function(self)
return "%" .. self.tabnr .. "T " .. self.tabpage .. " %T"
end,
hl = function(self)
if not self.is_active then
return "TabLine"
else
return "TabLineSel"
end
end,
}
local TabpageClose = {
provider = "%999X  %X",
hl = "TabLine",
}
local TabPages = {
-- only show this component if there's 2 or more tabpages
condition = function()
return #vim.api.nvim_list_tabpages() >= 2
end,
{ provider = "%=" },
utils.make_tablist(Tabpage),
TabpageClose,
}
local TabLineOffset = {
condition = function(self)
local win = vim.api.nvim_tabpage_list_wins(0)[1]
local bufnr = vim.api.nvim_win_get_buf(win)
self.winid = win
if vim.bo[bufnr].filetype == "NvimTree" then
self.title = "NvimTree"
return true
elseif vim.bo[bufnr].filetype == "neo-tree" then
self.title = "NeoTree"
return true
elseif vim.bo[bufnr].filetype == "nerdtree" then
self.title = "NerdTree"
return true
end
-- elseif vim.bo[bufnr].filetype == "TagBar" then
-- ...
end,
provider = function(self)
local title = self.title
local width = vim.api.nvim_win_get_width(self.winid)
local pad = math.ceil((width - #title) / 2)
return string.rep(" ", pad) .. title .. string.rep(" ", pad)
end,
hl = function(self)
if vim.api.nvim_get_current_win() == self.winid then
return "TablineSel"
else
return "Tabline"
end
end,
}
local Align = { provider = "%=" }
local Space = { provider = " " }
local StatusLine = {
ViMode, Space, FileNameBlock, Space, Git, Space, Align,
DAPMessages, Align,
LSPActive, Space, Ruler
}
local WinBar = {
utils.surround({"", ""}, "#000000", Navic)
}
local TabBar = {
TabLineOffset, BufferLine, TabPages,
}
require("heirline").setup({
statusline = StatusLine,
tabline = TabBar,
winbar = WinBar,
opts = {
disable_winbar_cb = function(args)
local buf = args.buf
local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype)
local filetype = vim.tbl_contains({ "gitcommit", "fugitive", "Trouble", "packer", "neo-tree", "nerdtree", "NvimTree" }, vim.bo[buf].filetype)
return buftype or filetype
end,
}
})
vim.o.showtabline = 2
vim.o.laststatus = 3
-- require("lualine").setup {
-- options = {
-- icons_enabled = true,
-- theme = "auto",
-- component_separators = { left = "", right = ""},
-- section_separators = { left = "", right = ""},
-- disabled_filetypes = {
-- statusline = {},
-- winbar = {},
-- },
-- ignore_focus = {},
-- always_divide_middle = true,
-- globalstatus = false,
-- refresh = {
-- statusline = 1000,
-- tabline = 1000,
-- winbar = 1000,
-- }
-- },
-- sections = {
-- lualine_a = {"mode"},
-- lualine_b = {"diff"},
-- lualine_c = {"branch"},
-- lualine_x = {"location"},
-- lualine_y = {"progress"},
-- lualine_z = {"filename"}
-- },
-- inactive_sections = {
-- lualine_a = {},
-- lualine_b = {},
-- lualine_c = {"filename"},
-- lualine_x = {"location"},
-- lualine_y = {},
-- lualine_z = {}
-- },
-- tabline = {},
-- winbar = {},
-- inactive_winbar = {},
-- extensions = {}
-- }

View file

@ -1,29 +0,0 @@
-- require("bufferline").setup {
-- animation = true,
-- auto_hide = true,
-- tabpages = true,
-- closable = true,
-- clickable = true,
-- separator_style = "slant",
-- numbers = "buffer_id",
-- }
--
-- -- file sidebars
-- local nvim_tree_events = require("nvim-tree.events")
-- local bufferline_api = require("bufferline.api")
--
-- local function get_tree_size()
-- return require"nvim-tree.view".View.width
-- end
--
-- nvim_tree_events.subscribe("TreeOpen", function()
-- bufferline_api.set_offset(get_tree_size())
-- end)
--
-- nvim_tree_events.subscribe("Resize", function()
-- bufferline_api.set_offset(get_tree_size())
-- end)
--
-- nvim_tree_events.subscribe("TreeClose", function()
-- bufferline_api.set_offset(0)
-- end)

View file

@ -1,12 +0,0 @@
require "telescope".setup {
pickers = {
colorscheme = {
enable_preview = true
}
}
}
pcall(require("telescope").load_extension, "fzf")
require("telescope").load_extension("dap")
require('telescope').load_extension('projects')

View file

@ -1,24 +0,0 @@
vim.filetype.add({extension = {wgsl = "wgsl"}})
require"nvim-treesitter.configs".setup {
ensure_installed = { "wgsl", "bash", "cmake", "cpp", "dockerfile", "gitignore", "glsl", "go", "graphql", "html", "java", "javascript", "json5", "kotlin", "markdown", "python", "rasi", "regex", "c", "lua", "rust", "scss", "sql", "sxhkdrc", "toml", "tsx", "typescript", "yaml" },
sync_install = false,
auto_install = true,
indent = { enable = true, disable = { 'python' } },
highlight = {
enable = true,
},
incremental_selection = {
enable = true,
keymaps = {
init_selection = "gnn",
node_incremental = "grn",
scope_incremental = "grc",
node_decremental = "grm",
},
},
}
vim.wo.foldmethod = "expr"
vim.wo.foldexpr = "nvim_treesitter#foldexpr()"
vim.o.foldlevelstart = 99 -- do not close folds when a buffer is opened

View file

@ -1 +0,0 @@
require("config")

View file

@ -1,82 +0,0 @@
{
"workspace.library": [
"/home/d/.local/share/nvim/site/pack/packer/start/neodev.nvim/types/stable",
"/usr/share/nvim/runtime/lua",
"/home/d/.local/share/nvim/site/pack/packer/opt/hop.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/opt/lsp_signature.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/opt/neoscroll.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/opt/nvim-bqf/lua",
"/home/d/.local/share/nvim/site/pack/packer/opt/nvim-treesitter-textobjects/lua",
"/home/d/.local/share/nvim/site/pack/packer/opt/telescope-fzf-native.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/opt/todo-comments.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/Comment.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/LuaSnip/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/adwaita.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/barbar.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/cmp-buffer/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/cmp-nvim-lua/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/cmp-path/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/cmp_luasnip/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/copilot.vim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/crates.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/dashboard-nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/fidget.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/github-nvim-theme/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/gitsigns.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/glow.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/gruvbox-baby/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/gruvbox-material/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/lualine.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/mason.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/material.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/mellow.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/minimal.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/neodev.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/neorg/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/neorg-telescope/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/nightfox.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/nord.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/numb.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/nvim-autopairs/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/nvim-cmp/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/nvim-dap/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/nvim-dap-ui/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/nvim-jdtls/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/nvim-navic/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/nvim-tree.lua/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/nvim-treesitter/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/nvim-ts-autotag/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/oh-lucy.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/one_monokai.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/onedarkpro.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/onenord.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/org-bullets.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/orgmode/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/packer.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/playground/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/plenary.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/popup.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/presence.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/project.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/rust-tools.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/sonokai/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/tailwindcss-colorizer-cmp.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/telescope-dap.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/telescope.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/toggleterm.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/tokyodark.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/which-key.nvim/lua",
"/home/d/.local/share/nvim/site/pack/packer/start/wilder.nvim/lua",
"/home/d/.config/nvim/lua",
"${3rd}/luv/library",
"${3rd}/luv/library",
"/home/d/.local/share/nvim/mason/packages/lua-language-server/libexec/meta/0d6b62fe",
"/home/d/.local/share/nvim/mason/packages/lua-language-server/libexec/meta/306b5cb1"
]
}

View file

@ -1,62 +0,0 @@
local pickers = require "telescope.pickers"
local finders = require "telescope.finders"
local conf = require("telescope.config").values
local actions = require "telescope.actions"
local action_state = require "telescope.actions.state"
vim.api.nvim_create_user_command("OP", function ()
local folders = vim.fn.systemlist("\\ls -d $HOME/projects/*/")
for i, folder in ipairs(folders) do
folders[i] = string.match(string.match(folder, "[^/]*/$"), "^[^/]*")
end
pickers.new({}, {
prompt_title = "Open project",
finder = finders.new_table {
results = folders
},
sorter = conf.generic_sorter({}),
attach_mappings = function (prompt_bufnr, map)
actions.select_default:replace(function ()
actions.close(prompt_bufnr)
local selection = action_state.get_selected_entry()
selection = selection[1]
vim.cmd("cd $HOME/projects/" .. selection)
vim.cmd("Alpha")
vim.cmd("BWipeout other")
end)
return true
end
}):find()
end, {})
vim.api.nvim_create_user_command("OD", function ()
local folders = vim.fn.systemlist("\\ls -d */")
for i, folder in ipairs(folders) do
folders[i] = string.match(string.match(folder, "[^/]*/$"), "^[^/]*")
end
pickers.new({}, {
prompt_title = "Open directory",
finder = finders.new_table {
results = folders
},
sorter = conf.generic_sorter({}),
attach_mappings = function (prompt_bufnr, map)
actions.select_default:replace(function ()
actions.close(prompt_bufnr)
local selection = action_state.get_selected_entry()
selection = selection[1]
vim.cmd("cd " .. selection)
vim.cmd("Alpha")
vim.cmd("BWipeout other")
end)
return true
end
}):find()
end, {})
vim.api.nvim_create_user_command("Config", function ()
vim.cmd("cd $HOME/.config/nvim")
vim.cmd("Alpha")
vim.cmd("BWipeout other")
vim.cmd("NeoTreeFloatToggle")
end, {})

View file

@ -1,4 +0,0 @@
require("config.packer")
require("config.set")
require("config.map")
require("config.commands")

View file

@ -1,187 +0,0 @@
vim.g.mapleader = " "
vim.g.maplocalleader = " "
local wk = require("which-key")
local keys = {
a = {"<cmd>Copilot suggestion accept<cr>", "Copilot"},
e = {
name = "Toggle",
e = {"<cmd>NeoTreeFloatToggle<CR>", "NeoTree"},
w = {vim.cmd.Ex, "netrw"},
l = {
name = "LSP",
k = {"<cmd>LspStop<cr>", "Stop"},
s = {"<cmd>LspStart<cr>", "Start"},
},
g = {"<cmd>NeoTreeFloatToggle git_status<CR>", "Git Status"},
b = {"<cmd>NeoTreeFloatToggle buffers<CR>", "Buffers"},
c = {"<cmd>NeoTreeClose<CR>" , "Close"},
s = {"<cmd>Navbuddy<CR>" , "Symbols"},
o = {function () require("oil").open_float(vim.fn.getcwd()) end, "Oil"},
},
c = {
name = "LSP",
S = {"<cmd>AerialToggle<cr>", "Symbol sidebar"},
w = {function () vim.lsp.buf.workspace_symbol("") end, "workspace symbol"},
d = {function () vim.diagnostic.open_float() end, "diagnostic"},
a = {function () vim.lsp.buf.code_action() end, "code actions"},
r = {function () vim.lsp.buf.references() end, "references"},
n = {function () vim.lsp.buf.rename() end, "rename"},
h = {function () vim.lsp.buf.hover() end, "Hover"},
t = {function () vim.lsp.buf.type_definition() end,"Type Definition"},
s = {"<cmd>Navbuddy<cr>", "Navbuddy"},
-- s = {require("telescope.builtin").lsp_document_symbols, "Document Symbols"},
o = {
name = "Copilot",
a = {"<cmd>Copilot suggestion accept<cr>", "Accept"},
w = {"<cmd>Copilot suggestion accept_word<cr>", "Word"},
l = {"<cmd>Copilot suggestion accept_line<cr>", "Line"},
d = {"<cmd>Copilot suggestion dismiss<cr>", "Decline"},
n = {"<cmd>Copilot suggestion next<cr>", "Next"},
p = {"<cmd>Copilot suggestion prev<cr>", "Previous"},
t = {"<cmd>Copilot suggestion toggle_auto_trigger", "toggle"},
P = {
name = "Panel",
t = {"<cmd>Copilot panel open<cr>", "Open"},
r = {"<cmd>Copilot panel refresg<cr>", "Refresh"},
n = {"<cmd>Copilot panel jump_next<cr>", "Next"},
p = {"<cmd>Copilot panel jump_prev<cr>", "Previous"},
a = {"<cmd>Copilot panel accept<cr>", "Accept"},
},
},
g = {
name = "Goto Preview",
d = {function () require('goto-preview').goto_preview_definition() end, "Definition"},
r = {function () require('goto-preview').goto_preview_references() end, "References"},
t = {function () require("goto-preview").goto_preview_type_definitions() end, "Type"},
i = {function () require("goto-preview").goto_preview_implementation() end, "Implementation"},
c = {function () require("goto-preview").close_all_win() end, "Close"},
},
},
q = {
name = "Nvim",
q = {"<cmd>q<cr>", "Quit"},
W = {"<cmd>wq<cr>", "Save and Quit"},
w = {"<cmd>w<cr>", "Save"},
},
u = {"vim.cmd.UndotreeToggle", "UndoTree"},
b = {
name = "Buffer",
h = {vim.cmd.bprevious, "Previous"},
l = {vim.cmd.bnext, "Next"},
H = {vim.cmd.bfirst, "First"},
L = {vim.cmd.blast, "Last"},
b = {require("telescope.builtin").buffers, "Picker"},
c = {"<cmd>:bp | sp | bn | bd<cr>", "Close"},
},
f = {
name = "Telescope & fzf",
c = {require("telescope.builtin").colorscheme, "Find Colorscheme"},
d = {require("telescope.builtin").diagnostics, "Find Diagnostics"},
w = {require("telescope.builtin").grep_string, "Find current Word"},
f = {require("telescope.builtin").find_files, "telescope find files"},
g = {require("telescope.builtin").live_grep, "live grep"},
b = {require("telescope.builtin").buffers, "buffers"},
h = {require("telescope.builtin").help_tags, "help tags"},
s = {function () require("telescope.builtin").grep_string({ search = vim.fn.input("Grep > ")}); end, "grep search through files"},
p = {"<cmd>Telescope projects<cr>", "Projects"},
},
s = {
name = "Settings",
c = {function ()
vim.opt.scrolloff = 100
end, "Always center cursor"},
x = {function ()
vim.opt.scrolloff = 8
end, "Disable Cursor center"},
f = {function ()
vim.opt.nu = true
vim.opt.relativenumber = true
end, "Fix number and relative numbers"},
m = {function ()
vim.cmd[[
highlight CursorColumn guibg=none ctermbg=none
highlight link CursorColumn CursorLine
]]
end, "Fix cursor highlight"},
},
h = {
name = "Hop",
w = {"<cmd>HopWord<cr>", "Word"},
a = {"<cmd>HopAnywhere<cr>", "Anywhere"},
l = {"<cmd>HopLine<cr>", "Line"},
p = {"<cmd>HopPattern<cr>", "Pattern"},
c = {"<cmd>HopChar1<cr>", "Char1"},
x = {"<cmd>HopChar2<cr>", "Char2"},
h = {vim.cmd.HopChar2, "Hop"},
},
d = {
name = "Debug",
b = {function () require("dap").toggle_breakpoint() end, "toggle breakpoint"},
c = {function () require("dap").continue() end, "launch or continue execution"},
s = {function () require("dap").step_into() end, "step into"},
o = {function () require("dap").step_over() end, "step over"},
r = {function () require("dap").repl.open() end, "open repl"},
w = {
name = "Debug UI",
b = {function () require("dapui").float_element("breakpoints", {}) end, "open breakpoints window"},
c = {function () require("dapui").float_element("console", {}) end, "open integrated console"},
r = {function () require("dapui").float_element("repl", {}) end, "open repl"},
}
},
w = {
name = "workspace",
a = {vim.lsp.buf.add_workspace_folder, "add folder"},
r = {vim.lsp.buf.remove_workspace_folder, "remove folder"},
l = {function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, "list folders"},
},
}
wk.register(keys, {prefix = "<leader>"})
wk.register(keys, {prefix = "<C-Space>"})
wk.register(keys, {prefix = "<C-Space>", mode = "i"})
wk.register(keys, {prefix = "<C-Space>", mode = "v"})
-- LSP
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, {desc = "goto definition"})
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, {})
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, {desc = "goto next"})
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, {desc = "goto prev"})
vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end)
vim.keymap.set("i", "<C-h>", function () vim.lsp.buf.hover() end, {})
-- term
vim.keymap.set("n", "<C-\\>", vim.cmd.ToggleTerm)
vim.keymap.set("t", "<C-\\>", vim.cmd.ToggleTerm)
-- center
vim.keymap.set("n", "<C-d>", "<C-d>zz")
vim.keymap.set("n", "<C-u>", "<C-u>zz")
vim.keymap.set("n", "n", "nzzzv")
vim.keymap.set("n", "N", "Nzzzv")
-- visual move
vim.keymap.set("x", "K", ":move '<-2<CR>gv=gv")
vim.keymap.set("x", "J", ":move '>+1<CR>gv=gv")
-- me lazy
vim.keymap.set("i", "<C-c>", "<Esc>")
-- non char keybinds
vim.keymap.set("n", "<leader>f/", function ()
require("telescope.builtin").current_buffer_fuzzy_find(require("telescope.themes").get_dropdown {
winblend = 10,
previewer = false,
})
end, {desc = "fuzzy find"})
vim.keymap.set('n', '<leader>f?', require('telescope.builtin').oldfiles, { desc = 'Find recently opened files' })
vim.keymap.set("i", "<C-Space>f/", function ()
require("telescope.builtin").current_buffer_fuzzy_find(require("telescope.themes").get_dropdown {
winblend = 10,
previewer = false,
})
end, {desc = "fuzzy find"})
vim.keymap.set('i', '<C-Space>f?', require('telescope.builtin').oldfiles, { desc = 'Find recently opened files' })

View file

@ -1,566 +0,0 @@
vim.cmd [[packadd packer.nvim]]
return require("packer").startup(function(use)
use "wbthomason/packer.nvim"
-- lsp
use {
"neovim/nvim-lspconfig",
requires = {
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
"j-hui/fidget.nvim",
"folke/neodev.nvim",
},
}
use {
"jose-elias-alvarez/null-ls.nvim",
"jay-babu/mason-null-ls.nvim",
}
use {
"SmiteshP/nvim-navic",
requires = "neovim/nvim-lspconfig",
config = function()
require("nvim-navic").setup({
highlight = true,
})
end,
}
use {
"ray-x/lsp_signature.nvim",
event = "BufRead",
config = function() require"lsp_signature".on_attach() end,
}
use {
'stevearc/aerial.nvim',
config = function() require('aerial').setup() end
}
-- cmp && snippets
use {
"hrsh7th/nvim-cmp",
requires = {
"hrsh7th/cmp-nvim-lsp",
"L3MON4D3/LuaSnip",
"saadparwaiz1/cmp_luasnip",
"hrsh7th/cmp-nvim-lua",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"rafamadriz/friendly-snippets"
},
}
use { "zbirenbaum/copilot.lua",
cmd = "Copilot",
event = "InsertEnter",
config = function ()
require("copilot").setup({
suggestion = {
auto_trigger = true,
keymap = {
accept = "<M-l>",
accept_word = "<M-K>",
}
}
})
end
}
-- use {"mattn/emmet-vim"}
use({
"roobert/tailwindcss-colorizer-cmp.nvim",
config = function()
require("tailwindcss-colorizer-cmp").setup({
color_square_width = 2,
})
end
})
-- syntax highlighting
use {
"nvim-treesitter/nvim-treesitter",
run = ":TSUpdate"
}
use 'nvim-treesitter/nvim-treesitter-context'
use {
"nvim-treesitter/nvim-treesitter-textobjects",
after = "nvim-treesitter",
}
use "nvim-treesitter/playground"
-- fzf Telescope
use {
"nvim-telescope/telescope.nvim",
branch = "0.1.x",
requires = {
"nvim-lua/plenary.nvim"
}
}
use {
"nvim-telescope/telescope-fzf-native.nvim",
run = "make",
cond = vim.fn.executable "make" == 1
}
use "nvim-lua/popup.nvim"
-- debugging
use "mfussenegger/nvim-dap"
use "jay-babu/mason-nvim-dap.nvim"
use {
"rcarriga/nvim-dap-ui",
requires = {
"mfussenegger/nvim-dap"
},
config = function()
require("dapui").setup()
end,
}
use "nvim-telescope/telescope-dap.nvim"
-- git
use "tpope/vim-fugitive"
use "tpope/vim-rhubarb"
use "lewis6991/gitsigns.nvim"
-- misc
-- use {"simrat39/inlay-hints.nvim",
-- config = {
-- require("inlay-hints").setup({
-- renderer = "eol"
-- })
-- },
-- }
use {"lvimuser/lsp-inlayhints.nvim",
config = {
require("lsp-inlayhints").setup()
}
}
use {"s1n7ax/nvim-window-picker"}
use {"echasnovski/mini.nvim"}
use {
'stevearc/oil.nvim',
config = function() require('oil').setup({
columns = {
"icon",
"permissions",
"size",
},
keymap = {
["<Esc>"] = "actions.close",
},
view_options = {
show_hidden = true,
},
}) end
}
use {"ThePrimeagen/vim-be-good"}
use 'kazhala/close-buffers.nvim'
use {"VonHeikemen/fine-cmdline.nvim",
requires = {{"MunifTanjim/nui.nvim"}},
config = function()
require("fine-cmdline").setup({
cmdline = {
prompt = ">",
}
})
vim.api.nvim_set_keymap('n', ':', '<cmd>FineCmdline<CR>', {noremap = true})
end
}
use {'stevearc/dressing.nvim',
config = function()
require('dressing').setup()
end
}
use {
'stevearc/overseer.nvim',
config = function()
require('overseer').setup({
strategy = "toggleterm",
})
end
}
use "itchyny/screensaver.vim"
use "christoomey/vim-tmux-navigator"
use { 'anuvyklack/pretty-fold.nvim',
config = function()
require('pretty-fold').setup()
end
}
use 'eandrju/cellular-automaton.nvim'
use {
"ahmedkhalf/project.nvim",
config = function()
require("project_nvim").setup {
}
end
}
use "dhruvasagar/vim-table-mode"
use "editorconfig/editorconfig-vim"
use "andweeb/presence.nvim"
use {
"nacro90/numb.nvim",
config = function ()
require("numb").setup()
end
}
use {"ellisonleao/glow.nvim",
config = function ()
require("glow").setup()
end
}
use {"kylechui/nvim-surround",
config = function ()
require("nvim-surround").setup({})
end
}
-- use {"tpope/vim-surround"}
use {
"phaazon/hop.nvim",
event = "BufRead",
config = function()
require("hop").setup()
-- vim.api.nvim_set_keymap("n", "s", ":HopChar2<cr>", { silent = true })
-- vim.api.nvim_set_keymap("n", "S", ":HopWord<cr>", { silent = true })
end,
}
use {
"nvim-tree/nvim-tree.lua",
requires = {
"nvim-tree/nvim-web-devicons",
},
config = function()
require("nvim-tree").setup({
filters = {
dotfiles = true,
},
})
end,
}
-- misc editing
use "tpope/vim-sleuth"
use "mbbill/undotree"
use {
"windwp/nvim-autopairs",
--config = function() require("nvim-autopairs").setup {} end
}
use {"windwp/nvim-ts-autotag",
config = function ()
require("nvim-ts-autotag").setup()
end
}
use {"mg979/vim-visual-multi",
config = function ()
vim.cmd("let g:VM_leader='<Space>m'")
end
}
-- mics visuals
use { 'bennypowers/nvim-regexplainer',
config = function() require'regexplainer'.setup() end,
requires = {
'nvim-treesitter/nvim-treesitter',
'MunifTanjim/nui.nvim',
} }
use {"rcarriga/nvim-notify",
config = function ()
vim.notify = require("notify")
end
}
use {
'nmac427/guess-indent.nvim',
config = function() require('guess-indent').setup {} end,
}
use('mrjones2014/smart-splits.nvim')
-- use 'glepnir/dashboard-nvim'
use {"goolord/alpha-nvim", config = function () end}
-- use {'romgrk/barbar.nvim', wants = 'nvim-web-devicons'}
--use {"akinsho/bufferline.nvim", tag = "v3.*",}
use "preservim/nerdtree"
use {"nvim-neo-tree/neo-tree.nvim",
branch = "v2.x",
requires = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons",
"MunifTanjim/nui.nvim",
},
}
use {"jistr/vim-nerdtree-tabs"}
use {
"kevinhwang91/nvim-bqf",
event = { "BufRead", "BufNew" },
config = function()
require("bqf").setup({
auto_enable = true,
preview = {
win_height = 12,
win_vheight = 12,
delay_syntax = 80,
border_chars = { "", "", "", "", "", "", "", "", "" },
},
func_map = {
vsplit = "",
ptogglemode = "z,",
stoggleup = "",
},
filter = {
fzf = {
action_for = { ["ctrl-s"] = "split" },
extra_opts = { "--bind", "ctrl-o:toggle-all", "--prompt", "> " },
},
},
})
end,
}
use {"kyazdani42/nvim-web-devicons"}
use {"ap/vim-css-color"}
use {
"lukas-reineke/indent-blankline.nvim",
config = function()
require('indent_blankline').setup {
char = '',
show_trailing_blankline_indent = false,
filetype_exclude = {"dashboard"},
}
end,
}
use {
"folke/which-key.nvim",
config = function()
local wk = require("which-key")
wk.setup {
popup_mappings = {
scroll_down = "<C-j>",
scroll_up = "<C-k>",
},
window = {
border = "single",
},
}
end
}
use {"rebelot/heirline.nvim",
}
-- use "nvim-lualine/lualine.nvim"
use {
"akinsho/toggleterm.nvim",
tag = "*",
config = function()
require("toggleterm").setup{
direction = "float",
float_opts = {
border = "curved"
},
}
end,
}
use {
"karb94/neoscroll.nvim",
event = "WinScrolled",
config = function()
require("neoscroll").setup({
mappings = {"<C-u>", "<C-d>", "<C-b>", "<C-f>", "<C-y>", "<C-e>", "zt", "zz", "zb"},
hide_cursor = true,
stop_eof = true,
use_local_scrolloff = false,
respect_scrolloff = false,
cursor_scrolls_alone = true,
easing_function = nil,
pre_hook = nil,
post_hook = nil,
})
end
}
use {
"folke/todo-comments.nvim",
event = "BufRead",
config = function()
require("todo-comments").setup{}
end,
}
use {
'numToStr/Comment.nvim',
config = function()
require('Comment').setup()
end
}
use {
"SmiteshP/nvim-navbuddy",
requires = {"neovim/nvim-lspconfig",
"SmiteshP/nvim-navic",
"MunifTanjim/nui.nvim",
"numToStr/Comment.nvim",
"nvim-telescope/telescope.nvim"},
config = function ()
require("nvim-navbuddy").setup({
window = {border="rounded",},
})
end,
}
use {
'rmagatti/goto-preview',
config = function()
require('goto-preview').setup {}
end
}
use {
"felipec/vim-sanegx",
event = "BufRead",
}
use {
"gelguy/wilder.nvim",
config = function()
vim.cmd('call wilder#setup({"modes": [":", "/", "?"]})')
vim.cmd('call wilder#set_option("renderer", wilder#popupmenu_renderer({"highlighter": wilder#basic_highlighter(), "left": [ " ", wilder#popupmenu_devicons(), ], "right": [ " ", wilder#popupmenu_scrollbar(), ], "pumblend": 20}))')
vim.cmd('call wilder#set_option("renderer", wilder#popupmenu_renderer(wilder#popupmenu_border_theme({"highlighter": wilder#basic_highlighter(), "min_width": "100%", "min_height": "50%", "reverse": 0, "highlights": {"border": "Normal",},"border": "rounded"})))')
end,
}
-- lenguage specific
-- nim
use {"alaviss/nim.nvim"}
-- use {"zah/nim.vim"}
-- csv
use {
'cameron-wags/rainbow_csv.nvim',
config = function()
require 'rainbow_csv'.setup()
end,
-- optional lazy-loading below
-- module = {
-- 'rainbow_csv',
-- 'rainbow_csv.fns'
-- },
-- ft = {
-- 'csv',
-- 'tsv',
-- 'csv_semicolon',
-- 'csv_whitespace',
-- 'csv_pipe',
-- 'rfc_csv',
-- 'rfc_semicolon'
-- }
}
-- rust
use {"racer-rust/vim-racer",
config = function ()
vim.cmd [[ let g:racer_cmd = "/usr/bin/racer"]]
end
}
use "simrat39/rust-tools.nvim"
use {
"saecki/crates.nvim",
tag = "v0.3.0",
requires = {
"nvim-lua/plenary.nvim"
},
config = function()
require("crates").setup()
end,
}
-- zig
use "ziglang/zig.vim"
use({
"NTBBloodbath/zig-tools.nvim",
-- Load zig-tools.nvim only in Zig buffers
ft = "zig",
config = function()
-- Initialize with default config
require("zig-tools").setup({
integrations = {
zls = {
hints = true,
}
}
})
end,
})
-- glsl
use {"tikhomirov/vim-glsl"}
-- java
use "mfussenegger/nvim-jdtls"
-- c && c++ && cmake
use { "igankevich/mesonic",
config = function()
vim.cmd[[
let b:meson_command = 'meson'
let b:meson_ninja_command = 'ninja'
autocmd FileType c call ConsiderMesonForLinting()
function ConsiderMesonForLinting()
if filereadable('meson.build')
let g:syntastic_c_checkers = ['meson']
endif
endfunction
]]
end
}
use "cdelledonne/vim-cmake"
-- web
use { "evanleck/vim-svelte" }
use { "posva/vim-vue" }
-- yuck
use "elkowar/yuck.vim"
-- themes
use "xiyaowong/transparent.nvim"
-- f#
use {"adelarsq/neofsharp.vim"}
use {"autozimu/LanguageClient-neovim", branch = "next", run = "bash install.sh"}
use {"ionide/Ionide-vim"}
use "sainnhe/gruvbox-material"
use "shaunsingh/nord.nvim"
use "projekt0n/github-nvim-theme"
use "EdenEast/nightfox.nvim"
use "Everblush/nvim"
use "olimorris/onedarkpro.nvim"
use "rmehri01/onenord.nvim"
use "luisiacc/gruvbox-baby"
use "tiagovla/tokyodark.nvim"
use "cpea2506/one_monokai.nvim"
use "yazeed1s/minimal.nvim"
use "Mofiqul/adwaita.nvim"
use "kvrohit/mellow.nvim"
use "yazeed1s/oh-lucy.nvim"
use "marko-cerovac/material.nvim"
use "sainnhe/sonokai"
use "rebelot/kanagawa.nvim"
use { "catppuccin/nvim", as = "catppuccin", config = function ()
require("catppuccin").setup({
flavor = "macchiato",
navic = {
enabled = true,
custom_bg = "NONE",
},
indent_blankline = {
enabled = true,
colored_indent_levels = true,
},
dap = {
enabled = true,
enable_ui = true,
},
integrations = {
hop = true,
cmp = true,
telescope = true,
which_key = true,
},
-- color_overrides = {
-- macchiato = {
-- base = "#000000",
-- mantle = "#000000",
-- crust = "#000000"
-- }
-- }
})
vim.cmd("colorscheme catppuccin")
end }
end)

View file

@ -1,58 +0,0 @@
-- set leader
vim.g.mapleader = " "
vim.g.maplocalleader = " "
-- numbers
vim.opt.nu = true
vim.opt.number = true
vim.opt.relativenumber = true
-- tab && indent
vim.opt.tabstop = 4
vim.opt.softtabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = true
vim.opt.smartindent = true
vim.o.breakindent = true
-- lines
vim.opt.wrap = true
vim.opt.smarttab = true
-- undo
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
vim.opt.undofile = true
-- search
vim.opt.hlsearch = false
vim.opt.incsearch = true
vim.o.ignorecase = true
vim.o.smartcase = true
-- colors
vim.opt.termguicolors = true
vim.cmd("colorscheme catppuccin")
vim.opt.cursorline = true
vim.opt.cursorcolumn = true
vim.cmd[[
highlight CursorColumn guibg=none ctermbg=none
highlight link CursorColumn CursorLine
]]
-- misc
vim.opt.swapfile = false
vim.opt.backup = false
vim.opt.scrolloff = 8
vim.opt.sidescrolloff = 8
vim.opt.signcolumn = "yes"
vim.opt.isfname:append("@-@")
vim.opt.updatetime = 50
vim.o.mouse = "a"
vim.opt.showmode = false
vim.o.completeopt = "menuone,noselect"
-- idfk pls fix nim
vim.opt.path = vim.opt.path + "/home/d/.nimble/bin/**"

View file

@ -24,4 +24,3 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
Good luck and Godspeed.

View file

@ -26,3 +26,6 @@ vim.opt.relativenumber = true
vim.opt.cursorline = true
require("plugins")

View file

@ -1,15 +0,0 @@
local npairs = require("nvim-autopairs")
local Rule = require("nvim-autopairs.rule")
npairs.setup({
check_ts = true,
ts_config = {
lua = {"string"},
javascript = {"template_string"},
},
enable_check_bracket_line = false,
ignored_next_char = "[%w%.]",
})
local ts_conds = require("nvim-autopairs.ts-conds")

View file

@ -1,24 +0,0 @@
local dap = require("dap")
local dapui = require("dapui")
dapui.setup()
local sign = vim.fn.sign_define
sign("DapBreakpoint", { text = "", texthl = "DapBreakpoint", linehl = "", numhl = ""})
sign("DapBreakpointCondition", { text = "", texthl = "DapBreakpointCondition", linehl = "", numhl = ""})
sign("DapLogPoint", { text = "", texthl = "DapLogPoint", linehl = "", numhl = ""})
dap.listeners.after.event_initialized["dapui_config"] = function()
dapui.open()
end
dap.listeners.before.event_terminated["dapui_config"] = function()
dapui.close()
end
dap.listeners.before.event_exited["dapui_config"] = function()
dapui.close()
end
vim.api.nvim_create_user_command("DapUIFloat", function (at)
dapui.float_element(at.args)
end, {})

View file

@ -1,9 +0,0 @@
require('gitsigns').setup {
signs = {
add = { text = '+' },
change = { text = '~' },
delete = { text = '_' },
topdelete = { text = '' },
changedelete = { text = '~' },
},
}

View file

@ -1,244 +0,0 @@
-- local ih = require("inlay-hints")
require('neodev').setup()
-- vim.lsp.ensure_installed({
-- "clangd",
-- "gopls",
-- "jdtls",
-- "eslint",
-- "tailwindcss",
-- "tsserver",
-- "cssmodules_ls",
-- "rome",
-- "jsonls",
-- "sumneko_lua",
-- "pylsp",
-- "rust_analyzer",
-- "stylelint_lsp",
-- })
local navic = require("nvim-navic")
navic.setup {
icons = {
File = "",
Module = "",
Namespace = "",
Package = "",
Class = "",
Method = "",
Property = "",
Field = "",
Constructor = "",
Enum = "",
Interface = "",
Function = "",
Variable = "",
Constant = "",
String = "",
Number = "",
Boolean = "",
Array = "",
Object = "",
Key = "",
Null = "",
EnumMember = "",
Struct = "",
Event = "",
Operator = "",
TypeParameter = "",
},
highlight = false,
separator = " > ",
depth_limit = 0,
depth_limit_indicator = "..",
safe_output = true
}
local on_attach = function(client, bufnr)
local nmap = function(keys, func, desc)
if desc then
desc = 'LSP: ' .. desc
end
vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc })
end
-- ih.on_attach(client, bufnr)
require("lsp-inlayhints").on_attach(client, bufnr)
if client.server_capabilities.documentSymbolProvider then
navic.attach(client, bufnr)
require("nvim-navbuddy").attach(client, bufnr)
end
nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences')
nmap('gI', vim.lsp.buf.implementation, '[G]oto [I]mplementation')
nmap('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation')
-- Lesser used LSP functionality
nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
-- Create a command `:Format` local to the LSP buffer
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
vim.lsp.buf.format()
end, { desc = 'Format current buffer with LSP' })
end
local servers = {
-- sumneko_lua = {
-- Lua = {
-- workspace = { checkThirdParty = false },
-- telemetry = { enable = false },
-- },
-- },
}
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
capabilities.offsetEncoding = { "utf-16" } -- fix copilot
require('mason').setup()
require("mason-nvim-dap").setup({automatic_installation = true, handlers = {
function (config)
require("mason-nvim-dap").default_setup(config)
end
}})
local mason_lspconfig = require 'mason-lspconfig'
mason_lspconfig.setup {
ensure_installed = vim.tbl_keys(servers),
}
mason_lspconfig.setup_handlers {
function(server_name)
require('lspconfig')[server_name].setup {
capabilities = capabilities,
on_attach = on_attach,
settings = servers[server_name],
}
end,
}
require("lspconfig").rust_analyzer.setup{
capabilities = capabilities,
on_attach = on_attach,
settings = {
-- ["rust-analyzer"] = {
cargo = {
features = "all"
},
inlayHints = {
closyreCaptureHints = {
enable = true,
},
},
check = {
command = "clippy",
features = "all",
},
imports = {
preferPrelude = true,
}
-- },
},
}
require("lspconfig").zls.setup{
cmd = {"zls"},
on_attach = on_attach,
}
require("lspconfig").tailwindcss.setup {
filetypes = {
"astro", "astro-markdown", "clojure", "django-html", "htmldjango", "edge", "eelixir", "elixir", "ejs", "erb", "eruby", "gohtml", "haml", "handlebars", "hbs", "html", "html-eex", "heex", "jade", "leaf", "liquid", "markdown", "mdx", "mustache", "njk", "nunjucks", "php", "razor", "slim", "twig", "css", "less", "postcss", "sass", "scss", "stylus", "sugarss", "javascript", "javascriptreact", "reason", "rescript", "typescript", "typescriptreact", "vue", "svelte",
"rust", "fsharp",
},
init_options = {
userLanguages = {
rust = "html",
fsharp = "html",
},
},
root_dir = require("lspconfig").util.root_pattern("tailwind.config.cjs", "tailwind.config.mjs", "tailwind.config.js", "tailwind.config.ts"),
settings = {
tailwindCSS = {
--files = {exclude = ""},
classAttributes = { "class", "className", "class:list", "classList", "ngClass", "classes" },
lint = {
cssConflict = "warning",
invalidApply = "error",
invalidConfigPath = "error",
invalidScreen = "error",
invalidTailwindDirective = "error",
invalidVariant = "error",
recommendedVariantOrder = "warning"
},
validate = true
}
}
}
-- lspinfo
require('fidget').setup()
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
local cmp = require 'cmp'
local luasnip = require 'luasnip'
cmp.setup {
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body)
end,
},
mapping = cmp.mapping.preset.insert {
-- ["<C-y>"] = cmp.mapping.confirm({ slelect = true}),
["<C-Space><C-Space>"] = cmp.mapping.complete({}),
['<C-d>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<CR>'] = cmp.mapping.confirm {
behavior = cmp.ConfirmBehavior.Replace,
select = true,
},
['<Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
-- elseif luasnip.expand_or_jumpable() then
-- luasnip.expand_or_jump()
else
fallback()
end
end, { 'i', 's' }),
['<S-Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { 'i', 's' }),
},
sources = {
{ name = 'nvim_lsp' },
{ name = 'luasnip' },
{ name = "crates" },
},
}
cmp.event:on(
'confirm_done',
cmp_autopairs.on_confirm_done()
)
vim.diagnostic.config({
signs = true,
underline = true,
update_in_insert = true,
virtual_text = true,
})
require("luasnip.loaders.from_vscode").lazy_load()
require("luasnip.loaders.from_snipmate").lazy_load()

View file

@ -1,10 +0,0 @@
require("mini.ai").setup({
custom_textobjects = {
[','] = require("mini.ai").gen_spec.pair(',', ',', {}),
['9'] = require("mini.ai").gen_spec.pair('(', ',', {}),
['0'] = require("mini.ai").gen_spec.pair(',', ')', {})
}
})
require("mini.jump").setup({})
require("mini.sessions").setup({autowrite = false, directory = '~/.local/share/nvimsessions'})

View file

@ -1,6 +0,0 @@
require("neo-tree").setup({
source_selector = {
winbar = true,
statusline = false,
},
})

View file

@ -1,14 +0,0 @@
local null_ls = require("null-ls")
null_ls.setup({
sources = {
null_ls.builtins.formatting.stylua,
null_ls.builtins.formatting.shfmt,
null_ls.builtins.formatting.prettier,
null_ls.builtins.code_actions.gitsigns,
--null_ls.builtins.completion.luasnip,
null_ls.builtins.diagnostics.buf,
null_ls.builtins.formatting.biome,
null_ls.builtins.formatting.buf,
null_ls.builtins.formatting.fantomas,
}
})

View file

@ -1,764 +0,0 @@
local conditions = require("heirline.conditions")
local utils = require("heirline.utils")
local colors = {
bright_bg = utils.get_highlight("Folded").bg,
bright_fg = utils.get_highlight("Folded").fg,
dark_bg = "#0c0c0c",
red = utils.get_highlight("DiagnosticError").fg,
dark_red = utils.get_highlight("DiffDelete").bg,
green = utils.get_highlight("String").fg,
blue = utils.get_highlight("Function").fg,
gray = utils.get_highlight("NonText").fg,
orange = utils.get_highlight("Constant").fg,
purple = utils.get_highlight("Statement").fg,
cyan = utils.get_highlight("Special").fg,
diag_warn = utils.get_highlight("DiagnosticWarn").fg,
diag_error = utils.get_highlight("DiagnosticError").fg,
diag_hint = utils.get_highlight("DiagnosticHint").fg,
diag_info = utils.get_highlight("DiagnosticInfo").fg,
git_del = utils.get_highlight("DiffRemoved").fg,
git_add = utils.get_highlight("DiffAdd").fg,
git_change = utils.get_highlight("DiffChanged").fg,
}
require("heirline").load_colors(colors)
local ViMode = {
-- get vim current mode, this information will be required by the provider
-- and the highlight functions, so we compute it only once per component
-- evaluation and store it as a component attribute
init = function(self)
self.mode = vim.fn.mode(1) -- :h mode()
end,
-- Now we define some dictionaries to map the output of mode() to the
-- corresponding string and color. We can put these into `static` to compute
-- them at initialisation time.
static = {
mode_names = { -- change the strings if you like it vvvvverbose!
n = "N",
no = "N?",
nov = "N?",
noV = "N?",
["no\22"] = "N?",
niI = "Ni",
niR = "Nr",
niV = "Nv",
nt = "Nt",
v = "V",
vs = "Vs",
V = "V_",
Vs = "Vs",
["\22"] = "^V",
["\22s"] = "^V",
s = "S",
S = "S_",
["\19"] = "^S",
i = "I",
ic = "Ic",
ix = "Ix",
R = "R",
Rc = "Rc",
Rx = "Rx",
Rv = "Rv",
Rvc = "Rv",
Rvx = "Rv",
c = "C",
cv = "Ex",
r = "...",
rm = "M",
["r?"] = "?",
["!"] = "!",
t = "T",
},
mode_colors = {
n = "red" ,
i = "green",
v = "cyan",
V = "cyan",
["\22"] = "cyan",
c = "orange",
s = "purple",
S = "purple",
["\19"] = "purple",
R = "orange",
r = "orange",
["!"] = "red",
t = "red",
}
},
-- We can now access the value of mode() that, by now, would have been
-- computed by `init()` and use it to index our strings dictionary.
-- note how `static` fields become just regular attributes once the
-- component is instantiated.
-- To be extra meticulous, we can also add some vim statusline syntax to
-- control the padding and make sure our string is always at least 2
-- characters long. Plus a nice Icon.
provider = function(self)
--return "  %2("..self.mode_names[self.mode].."%)"
return "%2("..self.mode_names[self.mode].."%)"
end,
-- Same goes for the highlight. Now the foreground will change according to the current mode.
hl = function(self)
local mode = self.mode:sub(1, 1) -- get only the first mode character
return { fg = self.mode_colors[mode], bold = true, }
end,
-- Re-evaluate the component only on ModeChanged event!
-- Also allorws the statusline to be re-evaluated when entering operator-pending mode
update = {
"ModeChanged",
pattern = "*:*",
callback = vim.schedule_wrap(function()
vim.cmd("redrawstatus")
end),
},
}
ViMode = utils.surround({ "", "" }, "dark_bg", { ViMode})
local FileNameBlock = {
-- let's first set up some attributes needed by this component and it's children
init = function(self)
self.filename = vim.api.nvim_buf_get_name(0)
end,
}
-- We can now define some children separately and add them later
local FileIcon = {
init = function(self)
local filename = self.filename
local extension = vim.fn.fnamemodify(filename, ":e")
self.icon, self.icon_color = require("nvim-web-devicons").get_icon_color(filename, extension, { default = true })
end,
provider = function(self)
return self.icon and (self.icon .. " ")
end,
hl = function(self)
return { fg = self.icon_color }
end
}
local FileName = {
provider = function(self)
-- first, trim the pattern relative to the current directory. For other
-- options, see :h filename-modifers
local filename = vim.fn.fnamemodify(self.filename, ":.")
if filename == "" then return "[No Name]" end
-- now, if the filename would occupy more than 1/4th of the available
-- space, we trim the file path to its initials
-- See Flexible Components section below for dynamic truncation
if not conditions.width_percent_below(#filename, 0.25) then
filename = vim.fn.pathshorten(filename)
end
return filename
end,
hl = { fg = utils.get_highlight("Directory").fg },
}
local FileFlags = {
{
condition = function()
return vim.bo.modified
end,
provider = "[+]",
hl = { fg = "green" },
},
{
condition = function()
return not vim.bo.modifiable or vim.bo.readonly
end,
provider = "",
hl = { fg = "orange" },
},
}
-- Now, let's say that we want the filename color to change if the buffer is
-- modified. Of course, we could do that directly using the FileName.hl field,
-- but we'll see how easy it is to alter existing components using a "modifier"
-- component
local FileNameModifer = {
hl = function()
if vim.bo.modified then
-- use `force` because we need to override the child's hl foreground
return { fg = "cyan", bold = true, force=true }
end
end,
}
-- let's add the children to our FileNameBlock component
FileNameBlock = utils.insert(FileNameBlock,
FileIcon,
utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier
FileFlags,
{ provider = '%<'} -- this means that the statusline is cut here when there's not enough space
)
local FileSize = {
provider = function()
-- stackoverflow, compute human readable file size
local suffix = { 'b', 'k', 'M', 'G', 'T', 'P', 'E' }
local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0))
fsize = (fsize < 0 and 0) or fsize
if fsize < 1024 then
return fsize..suffix[1]
end
local i = math.floor((math.log(fsize) / math.log(1024)))
return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1])
end
}
local FileLastModified = {
-- did you know? Vim is full of functions!
provider = function()
local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0))
return (ftime > 0) and os.date("%c", ftime)
end
}
FileNameBlock = utils.surround({ "", "" }, "dark_bg", FileNameBlock)
-- We're getting minimalists here!
local Ruler = {
-- %l = current line number
-- %L = number of lines in the buffer
-- %c = column number
-- %P = percentage through file of displayed window
provider = "%7(%l/%3L%):%2c %P",
}
Ruler = utils.surround({ "", "" }, "dark_bg", Ruler)
-- I take no credits for this! :lion:
local ScrollBar ={
static = {
sbar = { '', '', '', '', '', '', '', '' }
-- Another variant, because the more choice the better.
-- sbar = { '🭶', '🭷', '🭸', '🭹', '🭺', '🭻' }
},
provider = function(self)
local curr_line = vim.api.nvim_win_get_cursor(0)[1]
local lines = vim.api.nvim_buf_line_count(0)
local i = math.floor((curr_line - 1) / lines * #self.sbar) + 1
return string.rep(self.sbar[i], 2)
end,
hl = { fg = "blue", bg = "dark_bg" },
}
local LSPActive = {
condition = conditions.lsp_attached,
update = {'LspAttach', 'LspDetach'},
-- You can keep it simple,
-- provider = " [LSP]",
-- Or complicate things a bit and get the servers names
provider = function()
local names = {}
for i, server in pairs(vim.lsp.get_active_clients({ bufnr = 0 })) do
table.insert(names, server.name)
end
return " [" .. table.concat(names, " ") .. "]"
end,
hl = { fg = "green", bold = true },
}
LSPActive = utils.surround({ "", "" }, "dark_bg", LSPActive)
-- Full nerd (with icon colors and clickable elements)!
-- works in multi window, but does not support flexible components (yet ...)
local Navic = {
condition = function() return require("nvim-navic").is_available() end,
static = {
-- create a type highlight map
type_hl = {
File = "Directory",
Module = "@include",
Namespace = "@namespace",
Package = "@include",
Class = "@structure",
Method = "@method",
Property = "@property",
Field = "@field",
Constructor = "@constructor",
Enum = "@field",
Interface = "@type",
Function = "@function",
Variable = "@variable",
Constant = "@constant",
String = "@string",
Number = "@number",
Boolean = "@boolean",
Array = "@field",
Object = "@type",
Key = "@keyword",
Null = "@comment",
EnumMember = "@field",
Struct = "@structure",
Event = "@keyword",
Operator = "@operator",
TypeParameter = "@type",
},
-- bit operation dark magic, see below...
enc = function(line, col, winnr)
return bit.bor(bit.lshift(line, 16), bit.lshift(col, 6), winnr)
end,
-- line: 16 bit (65535); col: 10 bit (1023); winnr: 6 bit (63)
dec = function(c)
local line = bit.rshift(c, 16)
local col = bit.band(bit.rshift(c, 6), 1023)
local winnr = bit.band(c, 63)
return line, col, winnr
end
},
init = function(self)
local data = require("nvim-navic").get_data() or {}
local children = {}
-- create a child for each level
for i, d in ipairs(data) do
-- encode line and column numbers into a single integer
local pos = self.enc(d.scope.start.line, d.scope.start.character, self.winnr)
local child = {
{
provider = d.icon,
hl = self.type_hl[d.type],
},
{
-- escape `%`s (elixir) and buggy default separators
provider = d.name:gsub("%%", "%%%%"):gsub("%s*->%s*", ''),
-- highlight icon only or location name as well
-- hl = self.type_hl[d.type],
on_click = {
-- pass the encoded position through minwid
minwid = pos,
callback = function(_, minwid)
-- decode
local line, col, winnr = self.dec(minwid)
vim.api.nvim_win_set_cursor(vim.fn.win_getid(winnr), {line, col})
end,
name = "heirline_navic",
},
},
}
-- add a separator only if needed
if #data > 1 and i < #data then
table.insert(child, {
provider = " > ",
hl = { fg = 'bright_fg' },
})
end
table.insert(children, child)
end
-- instantiate the new child, overwriting the previous one
self.child = self:new(children, 1)
end,
-- evaluate the children containing navic components
provider = function(self)
return self.child:eval()
end,
hl = { fg = "gray" },
update = 'CursorMoved'
}
-- local Diagnostics = {
--
-- condition = conditions.has_diagnostics,
--
-- static = {
-- error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text,
-- warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text,
-- info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text,
-- hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text,
-- },
--
-- init = function(self)
-- self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR })
-- self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN })
-- self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT })
-- self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO })
-- end,
--
-- update = { "DiagnosticChanged", "BufEnter" },
--
-- {
-- provider = function(self)
-- -- 0 is just another output, we can decide to print it or not!
-- return self.errors > 0 and (self.error_icon .. self.errors .. " ")
-- end,
-- hl = { fg = "diag_error" },
-- },
-- {
-- provider = function(self)
-- return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ")
-- end,
-- hl = { fg = "diag_warn" },
-- },
-- {
-- provider = function(self)
-- return self.info > 0 and (self.info_icon .. self.info .. " ")
-- end,
-- hl = { fg = "diag_info" },
-- },
-- {
-- provider = function(self)
-- return self.hints > 0 and (self.hint_icon .. self.hints)
-- end,
-- hl = { fg = "diag_hint" },
-- },
-- }
local Git = {
condition = conditions.is_git_repo,
init = function(self)
self.status_dict = vim.b.gitsigns_status_dict
self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0
end,
hl = { fg = "orange" },
{ -- git branch name
provider = function(self)
return "" .. self.status_dict.head
end,
hl = { bold = true }
},
-- You could handle delimiters, icons and counts similar to Diagnostics
{
condition = function(self)
return self.has_changes
end,
provider = "("
},
{
provider = function(self)
local count = self.status_dict.added or 0
return count > 0 and ("+" .. count)
end,
hl = { fg = "green" },
},
{
provider = function(self)
local count = self.status_dict.removed or 0
return count > 0 and ("-" .. count)
end,
hl = { fg = "red" },
},
{
provider = function(self)
local count = self.status_dict.changed or 0
return count > 0 and ("~" .. count)
end,
hl = { fg = "blue" },
},
{
condition = function(self)
return self.has_changes
end,
provider = ")",
},
}
local DAPMessages = {
condition = function()
local session = require("dap").session()
return session ~= nil
end,
provider = function()
return "" .. require("dap").status()
end,
hl = "Debug"
-- see Click-it! section for clickable actions
}
local WorkDir = {
provider = function()
local icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. ""
local cwd = vim.fn.getcwd(0)
cwd = vim.fn.fnamemodify(cwd, ":~")
if not conditions.width_percent_below(#cwd, 0.25) then
cwd = vim.fn.pathshorten(cwd)
end
local trail = cwd:sub(-1) == '/' and '' or "/"
return icon .. cwd .. trail
end,
hl = { fg = "blue", bold = true },
}
local TerminalName = {
-- we could add a condition to check that buftype == 'terminal'
-- or we could do that later (see #conditional-statuslines below)
provider = function()
local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "")
return "" .. tname
end,
hl = { fg = "blue", bold = true },
}
-------------------------------------------------------------------------------------
local TablineBufnr = {
provider = function(self)
return tostring(self.bufnr) .. ". "
end,
hl = "Comment",
}
-- we redefine the filename component, as we probably only want the tail and not the relative path
local TablineFileName = {
provider = function(self)
-- self.filename will be defined later, just keep looking at the example!
local filename = self.filename
filename = filename == "" and "[No Name]" or vim.fn.fnamemodify(filename, ":t")
return filename
end,
hl = function(self)
return { bold = self.is_active or self.is_visible, italic = true }
end,
}
-- this looks exactly like the FileFlags component that we saw in
-- #crash-course-part-ii-filename-and-friends, but we are indexing the bufnr explicitly
-- also, we are adding a nice icon for terminal buffers.
local TablineFileFlags = {
{
condition = function(self)
return vim.api.nvim_buf_get_option(self.bufnr, "modified")
end,
provider = "[+]",
hl = { fg = "green" },
},
{
condition = function(self)
return not vim.api.nvim_buf_get_option(self.bufnr, "modifiable")
or vim.api.nvim_buf_get_option(self.bufnr, "readonly")
end,
provider = function(self)
if vim.api.nvim_buf_get_option(self.bufnr, "buftype") == "terminal" then
return ""
else
return ""
end
end,
hl = { fg = "orange" },
},
}
-- Here the filename block finally comes together
local TablineFileNameBlock = {
init = function(self)
self.filename = vim.api.nvim_buf_get_name(self.bufnr)
end,
hl = function(self)
if self.is_active then
return "TabLineSel"
-- why not?
-- elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then
-- return { fg = "gray" }
else
return "TabLine"
end
end,
on_click = {
callback = function(_, minwid, _, button)
if (button == "m") then -- close on mouse middle click
vim.schedule(function()
vim.api.nvim_buf_delete(minwid, { force = false })
end)
else
vim.api.nvim_win_set_buf(0, minwid)
end
end,
minwid = function(self)
return self.bufnr
end,
name = "heirline_tabline_buffer_callback",
},
TablineBufnr,
FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here!
TablineFileName,
TablineFileFlags,
}
-- a nice "x" button to close the buffer
local TablineCloseButton = {
condition = function(self)
return not vim.api.nvim_buf_get_option(self.bufnr, "modified")
end,
{ provider = " " },
{
provider = "",
hl = { fg = "gray" },
on_click = {
callback = function(_, minwid)
vim.schedule(function()
vim.api.nvim_buf_delete(minwid, { force = false })
end)
vim.cmd.redrawtabline()
end,
minwid = function(self)
return self.bufnr
end,
name = "heirline_tabline_close_buffer_callback",
},
},
}
-- The final touch!
local TablineBufferBlock = utils.surround({ "", "" }, function(self)
if self.is_active then
return utils.get_highlight("TabLineSel").bg
else
return utils.get_highlight("TabLine").bg
end
end, { TablineFileNameBlock, TablineCloseButton })
-- and here we go
local BufferLine = utils.make_buflist(
TablineBufferBlock,
{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<")
{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">")
-- by the way, open a lot of buffers and try clicking them ;)
)
local Tabpage = {
provider = function(self)
return "%" .. self.tabnr .. "T " .. self.tabpage .. " %T"
end,
hl = function(self)
if not self.is_active then
return "TabLine"
else
return "TabLineSel"
end
end,
}
local TabpageClose = {
provider = "%999X  %X",
hl = "TabLine",
}
local TabPages = {
-- only show this component if there's 2 or more tabpages
condition = function()
return #vim.api.nvim_list_tabpages() >= 2
end,
{ provider = "%=" },
utils.make_tablist(Tabpage),
TabpageClose,
}
local TabLineOffset = {
condition = function(self)
local win = vim.api.nvim_tabpage_list_wins(0)[1]
local bufnr = vim.api.nvim_win_get_buf(win)
self.winid = win
if vim.bo[bufnr].filetype == "NvimTree" then
self.title = "NvimTree"
return true
elseif vim.bo[bufnr].filetype == "neo-tree" then
self.title = "NeoTree"
return true
elseif vim.bo[bufnr].filetype == "nerdtree" then
self.title = "NerdTree"
return true
end
-- elseif vim.bo[bufnr].filetype == "TagBar" then
-- ...
end,
provider = function(self)
local title = self.title
local width = vim.api.nvim_win_get_width(self.winid)
local pad = math.ceil((width - #title) / 2)
return string.rep(" ", pad) .. title .. string.rep(" ", pad)
end,
hl = function(self)
if vim.api.nvim_get_current_win() == self.winid then
return "TablineSel"
else
return "Tabline"
end
end,
}
local Align = { provider = "%=" }
local Space = { provider = " " }
local StatusLine = {
ViMode, Space, FileNameBlock, Space, Git, Space, Align,
DAPMessages, Align,
LSPActive, Space, Ruler
}
local WinBar = {
utils.surround({"", ""}, "#000000", Navic)
}
local TabBar = {
TabLineOffset, BufferLine, TabPages,
}
require("heirline").setup({
statusline = StatusLine,
tabline = TabBar,
winbar = WinBar,
opts = {
disable_winbar_cb = function(args)
local buf = args.buf
local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype)
local filetype = vim.tbl_contains({ "gitcommit", "fugitive", "Trouble", "packer", "neo-tree", "nerdtree", "NvimTree" }, vim.bo[buf].filetype)
return buftype or filetype
end,
}
})
vim.o.showtabline = 2
vim.o.laststatus = 3
-- require("lualine").setup {
-- options = {
-- icons_enabled = true,
-- theme = "auto",
-- component_separators = { left = "", right = ""},
-- section_separators = { left = "", right = ""},
-- disabled_filetypes = {
-- statusline = {},
-- winbar = {},
-- },
-- ignore_focus = {},
-- always_divide_middle = true,
-- globalstatus = false,
-- refresh = {
-- statusline = 1000,
-- tabline = 1000,
-- winbar = 1000,
-- }
-- },
-- sections = {
-- lualine_a = {"mode"},
-- lualine_b = {"diff"},
-- lualine_c = {"branch"},
-- lualine_x = {"location"},
-- lualine_y = {"progress"},
-- lualine_z = {"filename"}
-- },
-- inactive_sections = {
-- lualine_a = {},
-- lualine_b = {},
-- lualine_c = {"filename"},
-- lualine_x = {"location"},
-- lualine_y = {},
-- lualine_z = {}
-- },
-- tabline = {},
-- winbar = {},
-- inactive_winbar = {},
-- extensions = {}
-- }

View file

@ -1,16 +0,0 @@
require "telescope".setup {
extensions = {
workspaces = {
keep_insert = true,
}
},
pickers = {
colorscheme = {
enable_preview = true
}
}
}
pcall(require("telescope").load_extension, "fzf")
require("telescope").load_extension("dap")
require("telescope").load_extension("harpoon")

View file

@ -1,54 +0,0 @@
vim.filetype.add({extension = {wgsl = "wgsl"}})
require"nvim-treesitter.configs".setup {
ensure_installed = { "wgsl", "bash", "cmake", "cpp", "dockerfile", "gitignore", "glsl", "go", "graphql", "html", "java", "javascript", "json5", "kotlin", "markdown", "python", "rasi", "regex", "c", "lua", "rust", "scss", "sql", "sxhkdrc", "toml", "typescript", "yaml" },
sync_install = false,
auto_install = true,
indent = { enable = true, disable = { 'python' } },
highlight = {
enable = true,
},
incremental_selection = {
enable = true,
keymaps = {
init_selection = "gnn",
node_incremental = "grn",
scope_incremental = "grc",
node_decremental = "grm",
},
},
-- rainbow = {
-- enable = true,
-- -- list of languages you want to disable the plugin for
-- disable = {},
-- -- Which query to use for finding delimiters
-- query = 'rainbow-parens',
-- -- Highlight the entire buffer all at once
-- strategy = require('ts-rainbow').strategy.global,
-- },
}
local treesitter_parser_config = require "nvim-treesitter.parsers".get_parser_configs()
treesitter_parser_config.templ = {
install_info = {
url = "https://github.com/vrischmann/tree-sitter-templ.git",
files = {"src/parser.c", "src/scanner.c"},
branch = "master",
},
}
treesitter_parser_config.just = {
install_info = {
url = "https://github.com/IndianBoy42/tree-sitter-just", -- local path or git repo
files = { "src/parser.c", "src/scanner.cc" },
branch = "main",
-- use_makefile = true -- this may be necessary on MacOS (try if you see compiler errors)
},
maintainers = { "@IndianBoy42" },
}
vim.treesitter.language.register('templ', 'templ')
vim.wo.foldmethod = "manual"
vim.wo.foldexpr = "nvim_treesitter#foldexpr()"
vim.o.foldlevelstart = 99 -- do not close folds when a buffer is opened

View file

@ -1 +1,2 @@
require("config")
require("plugins")

View file

@ -1,76 +1,79 @@
{
"Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" },
"Ionide-vim": { "branch": "master", "commit": "d94dd8f0e34fe230bd84d930f63732619163ab6e" },
"LuaSnip": { "branch": "master", "commit": "b152822e1a4bafb6bdf11a16cc26525cbd95ee00" },
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"Ionide-vim": { "branch": "master", "commit": "c7e8973426431839e9d888a4aa8d6a41251ba16f" },
"LuaSnip": { "branch": "master", "commit": "7351d673f430e89f11962dc45b7360d6a0a26d2d" },
"close-buffers.nvim": { "branch": "master", "commit": "3acbcad1211572342632a6c0151f839e7dead27f" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"crates.nvim": { "branch": "main", "commit": "1dffccc0a95f656ebe00cacb4de282473430c5a1" },
"editorconfig-vim": { "branch": "master", "commit": "8b7da79e9daee7a3f3a8d4fe29886b9756305aff" },
"fidget.nvim": { "branch": "main", "commit": "1ba38e4cbb24683973e00c2e36f53ae64da38ef5" },
"friendly-snippets": { "branch": "main", "commit": "fa36367422da5a38560892e3db6d090a635d9d41" },
"gitsigns.nvim": { "branch": "main", "commit": "bc933d24a669608968ff4791b14d2d9554813a65" },
"go.nvim": { "branch": "master", "commit": "d5e2b8cdd84afdb0c49c42a6e8972acc645e0283" },
"guihua.lua": { "branch": "master", "commit": "5204646be15997ed101631d75df02512ecd6c2bb" },
"harpoon": { "branch": "harpoon2", "commit": "0378a6c428a0bed6a2781d459d7943843f374bce" },
"heirline.nvim": { "branch": "master", "commit": "03cff30d7e7d3ba6fdc00925f015822f79cef908" },
"editorconfig-vim": { "branch": "master", "commit": "6a58b7c11f79c0e1d0f20533b3f42f2a11490cf8" },
"fidget.nvim": { "branch": "main", "commit": "d9ba6b7bfe29b3119a610892af67602641da778e" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"gitsigns.nvim": { "branch": "main", "commit": "1796c7cedfe7e5dd20096c5d7b8b753d8f8d22eb" },
"go.nvim": { "branch": "master", "commit": "37ec4d9be3edef64b725bfe29684e1fe019873bc" },
"guihua.lua": { "branch": "master", "commit": "0cc9631914ffcbe3e474e809c610d12a75b660cf" },
"harpoon": { "branch": "harpoon2", "commit": "ed1f853847ffd04b2b61c314865665e1dadf22c7" },
"heirline.nvim": { "branch": "master", "commit": "74529ce6a47f3f8dc7546c221c187a2dd025ffee" },
"hop.nvim": { "branch": "master", "commit": "1a1eceafe54b5081eae4cb91c723abd1d450f34b" },
"indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" },
"lazy.nvim": { "branch": "main", "commit": "d3974346b6cef2116c8e7b08423256a834cb7cbc" },
"lsp-inlayhints.nvim": { "branch": "main", "commit": "d981f65c9ae0b6062176f0accb9c151daeda6f16" },
"lsp-lens.nvim": { "branch": "main", "commit": "48bb1a7e271424c15f3d588d54adc9b7c319d977" },
"lsp_signature.nvim": { "branch": "master", "commit": "c6aeb2f1d2538bbdfdaab1664d9d4c3c75aa9db8" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "05744f0f1967b5757bd05c08df4271ab8ec990aa" },
"mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" },
"mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" },
"melange-nvim": { "branch": "master", "commit": "5feb4a08876b81ccb61cae1adaffa2e737124922" },
"mini.nvim": { "branch": "main", "commit": "fb4df45edec418443e4801719f1cb98e89697724" },
"hunk.nvim": { "branch": "master", "commit": "b475ba0011e4b8ef7d7ddecd9764ee1a5f41366d" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lsp_signature.nvim": { "branch": "master", "commit": "a793d02b6a5e639fa9d3f2a89a839fa688ab2d0a" },
"markview.nvim": { "branch": "main", "commit": "6bbbbf5790cdea622b53fe94b49b9801037e2db9" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
"mason-null-ls.nvim": { "branch": "main", "commit": "de19726de7260c68d94691afb057fa73d3cc53e7" },
"mason-nvim-dap.nvim": { "branch": "main", "commit": "4c2cdc69d69fe00c15ae8648f7e954d99e5de3ea" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"melange-nvim": { "branch": "master", "commit": "2db5407f2f6d6d6286f50f2f7365728d66f6f3ae" },
"mini.nvim": { "branch": "main", "commit": "90ab64f944a5a63a9efebe6735e1f2c6d4db3613" },
"neo-tree.nvim": { "branch": "v2.x", "commit": "80dc74d081823649809f78370fa5b204aa9a853a" },
"neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" },
"neoscroll.nvim": { "branch": "master", "commit": "e78657719485c5663b88e5d96ffcfb6a2fe3eec0" },
"none-ls.nvim": { "branch": "main", "commit": "f5632db2491fbe02b54f1a321a98548a8ba2bd15" },
"nui.nvim": { "branch": "main", "commit": "274fa89a9b4bed746647c2917091902f882509ec" },
"numb.nvim": { "branch": "master", "commit": "3f7d4a74bd456e747a1278ea1672b26116e0824d" },
"nvim-autopairs": { "branch": "master", "commit": "14e97371b2aab6ee70054c1070a123dfaa3e217e" },
"nvim-bqf": { "branch": "main", "commit": "52703d7adc3be3f7c09eea9a80c5b8caa615fb25" },
"nvim-cmp": { "branch": "main", "commit": "8f3c541407e691af6163e2447f3af1bd6e17f9a3" },
"nvim-dap": { "branch": "master", "commit": "6ae8a14828b0f3bff1721a35a1dfd604b6a933bb" },
"neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" },
"neoscroll.nvim": { "branch": "master", "commit": "f957373912e88579e26fdaea4735450ff2ef5c9c" },
"none-ls.nvim": { "branch": "main", "commit": "7c493a266a6b1ed419f8a2e431651bc15b10df27" },
"nui.nvim": { "branch": "main", "commit": "f535005e6ad1016383f24e39559833759453564e" },
"numb.nvim": { "branch": "master", "commit": "7f564e638d3ba367abf1ec91181965b9882dd509" },
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
"nvim-bqf": { "branch": "main", "commit": "e20417d5e589e03eaaaadc4687904528500608be" },
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
"nvim-dap": { "branch": "master", "commit": "8df427aeba0a06c6577dc3ab82de3076964e3b8d" },
"nvim-dap-ui": { "branch": "master", "commit": "f7d75cca202b52a60c520ec7b1ec3414d6e77b0f" },
"nvim-dap-virtual-text": { "branch": "master", "commit": "3e8e207513e6ef520894950acd76b79902714103" },
"nvim-jdtls": { "branch": "master", "commit": "8eb5f0dbe6e126b392ddcaf45893358619893e45" },
"nvim-lspconfig": { "branch": "master", "commit": "ee450e6a9364fc740236166dd57aaca1ec7cdb48" },
"nvim-navbuddy": { "branch": "master", "commit": "f34237e8a41ebc6e2716af2ebf49854d8c5289c8" },
"nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" },
"nvim-nio": { "branch": "master", "commit": "8765cbc4d0c629c8158a5341e1b4305fd93c3a90" },
"nvim-surround": { "branch": "main", "commit": "6d0dc3dbb557bcc6a024969da461df4ba803fc48" },
"nvim-treesitter": { "branch": "master", "commit": "73fdd31377d76aa1eea63e66581a8c6b7a71da94" },
"nvim-treesitter-context": { "branch": "master", "commit": "2650e6431f7daba5d9c2c64134fa5eb2312eb3d7" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "23b820146956b3b681c19e10d3a8bc0cbd9a1d4c" },
"nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" },
"nvim-web-devicons": { "branch": "master", "commit": "475fbcfcb6ee7c35aa33a6b6207ebd4032791d87" },
"oh-lucy.nvim": { "branch": "main", "commit": "b53f8c8735ca7e788994147bfa10eb04331eaf7c" },
"one_monokai.nvim": { "branch": "main", "commit": "bafc4e9ed069e47439cce077592aefb126da2bfa" },
"plenary.nvim": { "branch": "master", "commit": "08e301982b9a057110ede7a735dd1b5285eb341f" },
"pretty-fold.nvim": { "branch": "master", "commit": "a7d8b424abe0eedf50116c460fbe6dfd5783b1d5" },
"rainbow_csv.nvim": { "branch": "main", "commit": "5033e3abd4fb0a0ee07232530a032296535704b4" },
"sonokai": { "branch": "master", "commit": "da162343354fbd9bf9cd49293a856f0e3761e8ac" },
"suda.vim": { "branch": "master", "commit": "b97fab52f9cdeabe2bbb5eb98d82356899f30829" },
"telescope-dap.nvim": { "branch": "master", "commit": "8c88d9716c91eaef1cdea13cb9390d8ef447dbfe" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" },
"telescope.nvim": { "branch": "0.1.x", "commit": "6312868392331c9c0f22725041f1ec2bef57c751" },
"nvim-dap-virtual-text": { "branch": "master", "commit": "df66808cd78b5a97576bbaeee95ed5ca385a9750" },
"nvim-jdtls": { "branch": "master", "commit": "c23f200fee469a415c77265ca55b496feb646992" },
"nvim-lspconfig": { "branch": "master", "commit": "46434074f188e6bfccf9d9153dd8be6b1381498b" },
"nvim-metals": { "branch": "main", "commit": "04d8ce24638412a2c93dd79fecca4b2c7b9c07f9" },
"nvim-navbuddy": { "branch": "master", "commit": "a34786c77a528519f6b8a142db7609f6e387842d" },
"nvim-navic": { "branch": "master", "commit": "d0a8c17c4dc721b00bc2ac305c6ffbb036beeb74" },
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"nvim-surround": { "branch": "main", "commit": "0e62500b98f4513feaaf7425c135472457ea5b7d" },
"nvim-treesitter": { "branch": "master", "commit": "94ea4f436d2b59c80f02e293466c374584f03b8c" },
"nvim-treesitter-context": { "branch": "master", "commit": "6daca3ad780f045550b820f262002f35175a6c04" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ed373482db797bbf71bdff37a15c7555a84dce47" },
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
"nvim-web-devicons": { "branch": "master", "commit": "2c2b4eafce6cdd0cb165036faa17396eff18f847" },
"org-bullets.nvim": { "branch": "main", "commit": "21437cfa99c70f2c18977bffd423f912a7b832ea" },
"orgmode": { "branch": "master", "commit": "15d66ead1285d99f8a21c4ef4874ac62e9320fe6" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"rainbow_csv.nvim": { "branch": "main", "commit": "26de78d8324f7ac6a3e478319d1eb1f17123eb5b" },
"rustaceanvim": { "branch": "master", "commit": "e9c5aaba16fead831379d5f44617547a90b913c7" },
"suda.vim": { "branch": "master", "commit": "9adda7d195222d4e2854efb2a88005a120296c47" },
"telescope-dap.nvim": { "branch": "master", "commit": "783366bd6c1e7fa0a5c59c07db37f49c805a28df" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"templ.vim": { "branch": "main", "commit": "5cc48b93a4538adca0003c4bc27af844bb16ba24" },
"todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" },
"toggleterm.nvim": { "branch": "main", "commit": "066cccf48a43553a80a210eb3be89a15d789d6e6" },
"transparent.nvim": { "branch": "main", "commit": "fd35a46f4b7c1b244249266bdcb2da3814f01724" },
"undotree": { "branch": "master", "commit": "56c684a805fe948936cda0d1b19505b84ad7e065" },
"vim-glsl": { "branch": "master", "commit": "bfd330a271933c3372fcfa8ce052970746c8e9dd" },
"vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" },
"texpresso.vim": { "branch": "main", "commit": "907838c08bbf99ad6bed3c908f1d0551a92ab4e0" },
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
"transparent.nvim": { "branch": "main", "commit": "8a2749a2fa74f97fe6557f61b89ac7fd873f3c21" },
"undotree": { "branch": "master", "commit": "b951b87b46c34356d44aa71886aecf9dd7f5788a" },
"vim-glsl": { "branch": "master", "commit": "40dd0b143ef93f3930a8a409f60c1bb85e28b727" },
"vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" },
"vim-slint": { "branch": "main", "commit": "9badce3860297562bb5e80ba1666628f9e0ac632" },
"vim-visual-multi": { "branch": "master", "commit": "b84a6d42c1c10678928b0bf8327f378c8bc8af5a" },
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" },
"vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" },
"vimtex": { "branch": "master", "commit": "85cb04f5a9d2289b9d2b62d5d84342fe9675ec08" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" },
"wilder.nvim": { "branch": "master", "commit": "679f348dc90d80ff9ba0e7c470c40a4d038dcecf" },
"zig.vim": { "branch": "master", "commit": "54c216e5306a5c3878a60596aacb94dca8652ab9" }
"zig.vim": { "branch": "master", "commit": "e55a7949561d34822b7cd2290819927b79825dcd" }
}

View file

@ -1,83 +0,0 @@
{
"workspace.library": [
"/home/d/.local/share/nvim/lazy/neodev.nvim/types/stable",
"/usr/share/nvim/runtime/lua",
"/home/d/.local/share/nvim/lazy/nvim-navic/lua",
"/home/d/.local/share/nvim/lazy/cmp-path/lua",
"/home/d/.local/share/nvim/lazy/kanagawa.nvim/lua",
"/home/d/.local/share/nvim/lazy/copilot.lua/lua",
"/home/d/.local/share/nvim/lazy/sort.nvim/lua",
"/home/d/.local/share/nvim/lazy/nvim-treesitter-context/lua",
"/home/d/.local/share/nvim/lazy/color-picker.nvim/lua",
"/home/d/.local/share/nvim/lazy/nvim-treesitter-textobjects/lua",
"/home/d/.local/share/nvim/lazy/playground/lua",
"/home/d/.local/share/nvim/lazy/rainbow_csv.nvim/lua",
"/home/d/.local/share/nvim/lazy/telescope.nvim/lua",
"/home/d/.local/share/nvim/lazy/rust-tools.nvim/lua",
"/home/d/.local/share/nvim/lazy/nvim-autopairs/lua",
"/home/d/.local/share/nvim/lazy/nvim-ts-rainbow2/lua",
"/home/d/.local/share/nvim/lazy/crates.nvim/lua",
"/home/d/.local/share/nvim/lazy/popup.nvim/lua",
"/home/d/.local/share/nvim/lazy/nvim-ts-autotag/lua",
"/home/d/.local/share/nvim/lazy/nvim-dap/lua",
"/home/d/.local/share/nvim/lazy/nvim-notify/lua",
"/home/d/.local/share/nvim/lazy/zig-tools.nvim/lua",
"/home/d/.local/share/nvim/lazy/neo-tree.nvim/lua",
"/home/d/.local/share/nvim/lazy/mini.nvim/lua",
"/home/d/.local/share/nvim/lazy/nvim-web-devicons/lua",
"/home/d/.local/share/nvim/lazy/nvim-dap-ui/lua",
"/home/d/.local/share/nvim/lazy/nvim-jdtls/lua",
"/home/d/.local/share/nvim/lazy/telescope-dap.nvim/lua",
"/home/d/.local/share/nvim/lazy/lazy.nvim/lua",
"/home/d/.local/share/nvim/lazy/catppuccin/lua",
"/home/d/.local/share/nvim/lazy/sonokai/lua",
"/home/d/.local/share/nvim/lazy/gitsigns.nvim/lua",
"/home/d/.local/share/nvim/lazy/oh-lucy.nvim/lua",
"/home/d/.local/share/nvim/lazy/mellow.nvim/lua",
"/home/d/.local/share/nvim/lazy/minimal.nvim/lua",
"/home/d/.local/share/nvim/lazy/one_monokai.nvim/lua",
"/home/d/.local/share/nvim/lazy/transparent.nvim/lua",
"/home/d/.local/share/nvim/lazy/indent-blankline.nvim/lua",
"/home/d/.local/share/nvim/lazy/tokyodark.nvim/lua",
"/home/d/.local/share/nvim/lazy/gruvbox-baby/lua",
"/home/d/.local/share/nvim/lazy/nightfox.nvim/lua",
"/home/d/.local/share/nvim/lazy/which-key.nvim/lua",
"/home/d/.local/share/nvim/lazy/lsp_signature.nvim/lua",
"/home/d/.local/share/nvim/lazy/vim-dadbod-completion/lua",
"/home/d/.local/share/nvim/lazy/close-buffers.nvim/lua",
"/home/d/.local/share/nvim/lazy/mason-nvim-dap.nvim/lua",
"/home/d/.local/share/nvim/lazy/heirline.nvim/lua",
"/home/d/.local/share/nvim/lazy/lsp-lens.nvim/lua",
"/home/d/.local/share/nvim/lazy/nvim-cmp/lua",
"/home/d/.local/share/nvim/lazy/telescope-fzf-native.nvim/lua",
"/home/d/.local/share/nvim/lazy/nvim-navbuddy/lua",
"/home/d/.local/share/nvim/lazy/nvim-lspconfig/lua",
"/home/d/.local/share/nvim/lazy/mason.nvim/lua",
"/home/d/.local/share/nvim/lazy/toggleterm.nvim/lua",
"/home/d/.local/share/nvim/lazy/neodev.nvim/lua",
"/home/d/.local/share/nvim/lazy/dressing.nvim/lua",
"/home/d/.local/share/nvim/lazy/pretty-fold.nvim/lua",
"/home/d/.local/share/nvim/lazy/mason-lspconfig.nvim/lua",
"/home/d/.local/share/nvim/lazy/nvim-treesitter/lua",
"/home/d/.local/share/nvim/lazy/neoscroll.nvim/lua",
"/home/d/.local/share/nvim/lazy/hop.nvim/lua",
"/home/d/.local/share/nvim/lazy/fidget.nvim/lua",
"/home/d/.local/share/nvim/lazy/cmp-nvim-lsp/lua",
"/home/d/.local/share/nvim/lazy/todo-comments.nvim/lua",
"/home/d/.local/share/nvim/lazy/cmp_luasnip/lua",
"/home/d/.local/share/nvim/lazy/LuaSnip/lua",
"/home/d/.local/share/nvim/lazy/harpoon/lua",
"/home/d/.local/share/nvim/lazy/plenary.nvim/lua",
"/home/d/.local/share/nvim/lazy/numb.nvim/lua",
"/home/d/.local/share/nvim/lazy/Comment.nvim/lua",
"/home/d/.local/share/nvim/lazy/cmp-nvim-lua/lua",
"/home/d/.local/share/nvim/lazy/lsp-inlayhints.nvim/lua",
"/home/d/.local/share/nvim/lazy/nui.nvim/lua",
"/home/d/.local/share/nvim/lazy/nvim-bqf/lua",
"/home/d/.local/share/nvim/lazy/nvim-surround/lua",
"/home/d/.local/share/nvim/lazy/cmp-buffer/lua",
"/home/d/.local/share/nvim/lazy/wilder.nvim/lua",
"/home/d/.config/nvim/lua",
"${3rd}/luv/library"
]
}

37
lua/config/commands.lua Normal file → Executable file
View file

@ -27,29 +27,6 @@ vim.api.nvim_create_user_command("OP", function ()
}):find()
end, {})
vim.api.nvim_create_user_command("OCC", function ()
local folders = vim.fn.systemlist("\\ls -d $HOME/projects/cc/*/")
for i, folder in ipairs(folders) do
folders[i] = string.match(string.match(folder, "[^/]*/$"), "^[^/]*")
end
pickers.new({}, {
prompt_title = "Open project",
finder = finders.new_table {
results = folders
},
sorter = conf.generic_sorter({}),
attach_mappings = function (prompt_bufnr, map)
actions.select_default:replace(function ()
actions.close(prompt_bufnr)
local selection = action_state.get_selected_entry()
selection = selection[1]
vim.cmd("cd $HOME/projects/cc/" .. selection)
end)
return true
end
}):find()
end, {})
vim.api.nvim_create_user_command("OD", function()
local folders = vim.fn.systemlist("\\ls -d */")
for i, folder in ipairs(folders) do
@ -109,9 +86,12 @@ vim.api.nvim_create_user_command("Make", function (args)
end
vimCmd = vimCmd .. "\""
vim.cmd(vimCmd)
end, {nargs = "*", ["complete"] = function()
end, {
nargs = "*",
["complete"] = function()
return get_makefile_targets()
end})
end
})
vim.api.nvim_create_user_command("Maket", function()
local targets = get_makefile_targets()
@ -151,9 +131,12 @@ vim.api.nvim_create_user_command("Just", function(args)
end
vimCmd = vimCmd .. "\""
vim.cmd(vimCmd)
end, {nargs = "*", ["complete"] = function ()
end, {
nargs = "*",
["complete"] = function()
return get_just_targets()
end})
end
})
vim.api.nvim_create_user_command("Justt", function()
local targets = get_makefile_targets()

0
lua/config/init.lua Normal file → Executable file
View file

289
lua/config/keymap.lua Normal file → Executable file
View file

@ -1,112 +1,192 @@
local wk = require("which-key")
-- local wk = require("which-key")
--
-- local keys = {
-- e = {
-- name = "Toggle",
-- e = {"<cmd>NeoTreeFloatToggle<CR>", "NeoTree"},
-- w = {vim.cmd.Ex, "netrw"},
-- s = {"<cmd>NeoTreeShowToggle<CR>", "neotree sidebar"},
-- g = {"<cmd>NeoTreeFloatToggle git_status<CR>", "Git Status"},
-- -- b = {"<cmd>NeoTreeFloatToggle buffers<CR>", "Buffers"},
-- c = {"<cmd>NeoTreeClose<CR>" , "Close"},
-- u = {vim.cmd.UndotreeToggle, "UndoTree"},
-- },
-- c = {
-- name = "LSP",
-- f = {function () vim.lsp.buf.format() end, "Format"},
-- w = {function () vim.lsp.buf.workspace_symbol("") end, "workspace symbol"},
-- d = {function () vim.diagnostic.open_float() end, "diagnostic"},
-- a = {function () vim.lsp.buf.code_action() end, "code actions"},
-- R = {function () vim.lsp.buf.references() end, "references"},
-- r = {function () vim.lsp.buf.rename() end, "rename"},
-- h = {function () vim.lsp.buf.hover() end, "Hover"},
-- t = {function () vim.lsp.buf.type_definition() end,"Type Definition"},
-- s = {"<cmd>Navbuddy<cr>", "Navbuddy"},
-- S = {require("telescope.builtin").lsp_document_symbols, "Document Symbols"},
-- l = {
-- name = "LSP",
-- k = {"<cmd>LspStop<cr>", "Stop"},
-- s = {"<cmd>LspStart<cr>", "Start"},
-- r = {"<cmd>LspRestart<cr>", "Restart"},
-- },
-- },
-- b = {
-- name = "Buffer",
-- h = {vim.cmd.bprevious, "Previous"},
-- l = {vim.cmd.bnext, "Next"},
-- H = {vim.cmd.bfirst, "First"},
-- L = {vim.cmd.blast, "Last"},
-- b = {require("telescope.builtin").buffers, "Picker"},
-- c = {"<cmd>:bp | sp | bn | bd<cr>", "Close"},
-- C = {"<cmd>:bp | sp | bn | bd!<cr>", "Close Force"},
-- d = {function() vim.cmd("bd") end, "Delete buffer"},
-- D = {function() vim.cmd("bd!") end, "Delete buffer Force"},
-- o = {function() vim.cmd("BDelete other") end, "Delete other buffers"},
-- m = {function() vim.cmd("BDelete select") end, "Select buffer to delete"},
-- },
-- f = {
-- name = "Telescope & fzf",
-- c = {require("telescope.builtin").colorscheme, "Find Colorscheme"},
-- d = {require("telescope.builtin").diagnostics, "Find Diagnostics"},
-- w = {require("telescope.builtin").grep_string, "Find current Word"},
-- f = {require("telescope.builtin").find_files, "telescope find files"},
-- g = {require("telescope.builtin").live_grep, "live grep"},
-- b = {require("telescope.builtin").buffers, "buffers"},
-- h = {require("telescope.builtin").help_tags, "help tags"},
-- s = {function () require("telescope.builtin").grep_string({ search = vim.fn.input("Grep > ")}); end, "grep search through files"},
-- m = {"<cmd>Maket<cr>", "Make"},
-- },
-- s = {
-- name = "Settings",
-- c = {function ()
-- vim.opt.scrolloff = 100
-- end, "Always center cursor"},
-- C = {function ()
-- vim.opt.scrolloff = 8
-- end, "Disable Cursor center"},
-- f = {function ()
-- vim.opt.nu = true
-- vim.opt.relativenumber = true
-- end, "Fix number and relative numbers"},
-- },
-- h = {
-- name = "Hop",
-- w = {"<cmd>HopWord<cr>", "Word"},
-- a = {"<cmd>HopAnywhere<cr>", "Anywhere"},
-- l = {"<cmd>HopLine<cr>", "Line"},
-- p = {"<cmd>HopPattern<cr>", "Pattern"},
-- c = {"<cmd>HopChar1<cr>", "Char1"},
-- x = {"<cmd>HopChar2<cr>", "Char2"},
-- h = {vim.cmd.HopChar2, "Hop"},
-- },
-- d = {
-- name = "Debug",
-- b = {function () require("dap").toggle_breakpoint() end, "toggle breakpoint"},
-- c = {function () require("dap").continue() end, "launch or continue execution"},
-- s = {function () require("dap").step_into() end, "step into"},
-- o = {function () require("dap").step_over() end, "step over"},
-- r = {function () require("dap").repl.open() end, "open repl"},
-- w = {"<cmd>DapUIFloat<cr>", "DapUI"},
-- },
-- w = {
-- name = "workspace",
-- a = {vim.lsp.buf.add_workspace_folder, "add folder"},
-- r = {vim.lsp.buf.remove_workspace_folder, "remove folder"},
-- l = {function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, "list folders"},
-- },
-- q = {
-- name = "Quick nav",
-- q = {require("harpoon.ui").toggle_quick_menu, "Menu"},
-- a = {function () require("harpoon"):list():append() end, "Add file"},
-- r = {function () require("harpoon"):list():remove() end, "Remove File"},
-- },
--
-- }
--
-- wk.register(keys, {prefix = "<leader>"})
-- wk.register(keys, {prefix = "<C-Space>"})
-- wk.register(keys, {prefix = "<C-Space>", mode = "i"})
-- wk.register(keys, {prefix = "<C-Space>", mode = "v"})
local keys = {
e = {
name = "Toggle",
e = {"<cmd>NeoTreeFloatToggle<CR>", "NeoTree"},
w = {vim.cmd.Ex, "netrw"},
s = {"<cmd>NeoTreeShowToggle<CR>", "neotree sidebar"},
g = {"<cmd>NeoTreeFloatToggle git_status<CR>", "Git Status"},
-- b = {"<cmd>NeoTreeFloatToggle buffers<CR>", "Buffers"},
c = {"<cmd>NeoTreeClose<CR>" , "Close"},
u = {vim.cmd.UndotreeToggle, "UndoTree"},
},
c = {
name = "LSP",
f = {function () vim.lsp.buf.format() end, "Format"},
w = {function () vim.lsp.buf.workspace_symbol("") end, "workspace symbol"},
d = {function () vim.diagnostic.open_float() end, "diagnostic"},
a = {function () vim.lsp.buf.code_action() end, "code actions"},
R = {function () vim.lsp.buf.references() end, "references"},
r = {function () vim.lsp.buf.rename() end, "rename"},
h = {function () vim.lsp.buf.hover() end, "Hover"},
t = {function () vim.lsp.buf.type_definition() end,"Type Definition"},
s = {"<cmd>Navbuddy<cr>", "Navbuddy"},
S = {require("telescope.builtin").lsp_document_symbols, "Document Symbols"},
l = {
name = "LSP",
k = {"<cmd>LspStop<cr>", "Stop"},
s = {"<cmd>LspStart<cr>", "Start"},
r = {"<cmd>LspRestart<cr>", "Restart"},
},
},
b = {
name = "Buffer",
h = {vim.cmd.bprevious, "Previous"},
l = {vim.cmd.bnext, "Next"},
H = {vim.cmd.bfirst, "First"},
L = {vim.cmd.blast, "Last"},
b = {require("telescope.builtin").buffers, "Picker"},
c = {"<cmd>:bp | sp | bn | bd<cr>", "Close"},
C = {"<cmd>:bp | sp | bn | bd!<cr>", "Close Force"},
d = {function() vim.cmd("bd") end, "Delete buffer"},
D = {function() vim.cmd("bd!") end, "Delete buffer Force"},
o = {function() vim.cmd("BDelete other") end, "Delete other buffers"},
m = {function() vim.cmd("BDelete select") end, "Select buffer to delete"},
},
f = {
name = "Telescope & fzf",
c = {require("telescope.builtin").colorscheme, "Find Colorscheme"},
d = {require("telescope.builtin").diagnostics, "Find Diagnostics"},
w = {require("telescope.builtin").grep_string, "Find current Word"},
f = {require("telescope.builtin").find_files, "telescope find files"},
g = {require("telescope.builtin").live_grep, "live grep"},
b = {require("telescope.builtin").buffers, "buffers"},
h = {require("telescope.builtin").help_tags, "help tags"},
s = {function () require("telescope.builtin").grep_string({ search = vim.fn.input("Grep > ")}); end, "grep search through files"},
m = {"<cmd>Maket<cr>", "Make"},
},
s = {
name = "Settings",
c = {function ()
vim.opt.scrolloff = 100
end, "Always center cursor"},
C = {function ()
vim.opt.scrolloff = 8
end, "Disable Cursor center"},
f = {function ()
vim.opt.nu = true
vim.opt.relativenumber = true
end, "Fix number and relative numbers"},
},
h = {
name = "Hop",
w = {"<cmd>HopWord<cr>", "Word"},
a = {"<cmd>HopAnywhere<cr>", "Anywhere"},
l = {"<cmd>HopLine<cr>", "Line"},
p = {"<cmd>HopPattern<cr>", "Pattern"},
c = {"<cmd>HopChar1<cr>", "Char1"},
x = {"<cmd>HopChar2<cr>", "Char2"},
h = {vim.cmd.HopChar2, "Hop"},
},
d = {
name = "Debug",
b = {function () require("dap").toggle_breakpoint() end, "toggle breakpoint"},
c = {function () require("dap").continue() end, "launch or continue execution"},
s = {function () require("dap").step_into() end, "step into"},
o = {function () require("dap").step_over() end, "step over"},
r = {function () require("dap").repl.open() end, "open repl"},
w = {"<cmd>DapUIFloat<cr>", "DapUI"},
},
w = {
name = "workspace",
a = {vim.lsp.buf.add_workspace_folder, "add folder"},
r = {vim.lsp.buf.remove_workspace_folder, "remove folder"},
l = {function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, "list folders"},
},
q = {
name = "Quick nav",
q = {require("harpoon.ui").toggle_quick_menu, "Menu"},
a = {function () require("harpoon"):list():append() end, "Add file"},
r = {function () require("harpoon"):list():remove() end, "Remove File"},
},
{ "bC", "<cmd>:bp | sp | bn | bd!<cr>", desc = "Close Force" },
{ "bD", function() vim.cmd("bd!") end, desc = "Delete buffer Force" },
{ "bH", vim.cmd.bfirst, desc = "First" },
{ "bL", vim.cmd.blast, desc = "Last" },
{ "bb", require("telescope.builtin").buffers, desc = "Picker" },
{ "bc", "<cmd>:bp | sp | bn | bd<cr>", desc = "Close" },
{ "bd", vim.cmd.bd, desc = "Delete buffer" },
{ "bh", vim.cmd.bprevious, desc = "Previous" },
{ "bl", vim.cmd.bnext, desc = "Next" },
{ "bm", function() vim.cmd("BDelete select") end, desc = "Select buffer to delete" },
{ "bo", function() vim.cmd("BDelete other") end, desc = "Delete other buffers" },
{ "cR", vim.lsp.buf.references, desc = "references" },
{ "cS", require("telescope.builtin").lsp_document_symbols, desc = "Document Symbols" },
{ "ca", vim.lsp.buf.code_action, desc = "code actions" },
{ "cd", vim.diagnostic.open_float, desc = "diagnostic" },
{ "cf", vim.lsp.buf.format, desc = "Format" },
{ "ch", vim.lsp.buf.hover, desc = "Hover" },
{ "clk", "<cmd>LspStop<cr>", desc = "Stop" },
{ "clr", "<cmd>LspRestart<cr>", desc = "Restart" },
{ "cls", "<cmd>LspStart<cr>", desc = "Start" },
{ "cr", vim.lsp.buf.rename, desc = "rename" },
{ "cs", "<cmd>Navbuddy<cr>", desc = "Navbuddy" },
{ "ct", vim.lsp.buf.type_definition, desc = "Type Definition" },
{ "cw", function() vim.lsp.buf.workspace_symbol("") end, desc = "workspace symbol" },
{ "db", require("dap").toggle_breakpoint, desc = "toggle breakpoint" },
{ "dc", require("dap").continue, desc = "launch or continue execution" },
{ "do", require("dap").step_over, desc = "step over" },
{ "dr", require("dap").repl.open, desc = "open repl" },
{ "ds", require("dap").step_into, desc = "step into" },
{ "dw", "<cmd>DapUIFloat<cr>", desc = "DapUI" },
{ "ec", "<cmd>NeoTreeClose<CR>", desc = "Close" },
{ "ee", "<cmd>NeoTreeFloatToggle<CR>", desc = "NeoTree" },
{ "eg", "<cmd>NeoTreeFloatToggle git_status<CR>", desc = "Git Status" },
{ "es", "<cmd>NeoTreeShowToggle<CR>", desc = "neotree sidebar" },
{ "eu", vim.cmd.UndotreeToggle, desc = "UndoTree" },
{ "ew", vim.cmd.Ex, desc = "netrw" },
{ "fb", require("telescope.builtin").buffers, desc = "buffers" },
{ "fc", require("telescope.builtin").colorscheme, desc = "Find Colorscheme" },
{ "fd", require("telescope.builtin").diagnostics, desc = "Find Diagnostics" },
{ "ff", require("telescope.builtin").find_files, desc = "telescope find files" },
{ "fg", require("telescope.builtin").live_grep, desc = "live grep" },
{ "fh", require("telescope.builtin").help_tags, desc = "help tags" },
{ "fm", "<cmd>Maket<cr>", desc = "Make"},
{ "fs", function () require("telescope.builtin").grep_string({ search = vim.fn.input("Grep > ")}); end, desc = "grep search through files" },
{ "fw", require("telescope.builtin").grep_string, desc = "Find current Word" },
{ "ha", "<cmd>HopAnywhere<cr>", desc = "Anywhere" },
{ "hc", "<cmd>HopChar1<cr>", desc = "Char1" },
{ "hh", vim.cmd.HopChar2, desc = "Hop" },
{ "hl", "<cmd>HopLine<cr>", desc = "Line" },
{ "hp", "<cmd>HopPattern<cr>", desc = "Pattern" },
{ "hw", "<cmd>HopWord<cr>", desc = "Word" },
{ "hx", "<cmd>HopChar2<cr>", desc = "Char2" },
{ "qa", function () require("harpoon"):list():append() end, desc = "Add file" },
{ "qq", require("harpoon.ui").toggle_quick_menu, desc = "Menu" },
{ "qr", function() require("harpoon"):list():remove() end, desc = "Remove File" },
{ "sC", function() vim.opt.scrolloff = 8 end, desc = "Disable Cursor center" },
{ "sc", function() vim.opt.scrolloff = 100 end, desc = "Always center cursor" },
{ "sf", function() vim.opt.nu = true; vim.opt.relativenumber = true end, desc = "Fix number and relative numbers" },
{ "wa", vim.lsp.buf.add_workspace_folder, desc = "add folder" },
{ "wl", function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, desc = "list folders" },
{ "wr", vim.lsp.buf.remove_workspace_folder, desc = "remove folder" },
}
wk.register(keys, {prefix = "<leader>"})
wk.register(keys, {prefix = "<C-Space>"})
wk.register(keys, {prefix = "<C-Space>", mode = "i"})
wk.register(keys, {prefix = "<C-Space>", mode = "v"})
for i, key in ipairs(keys) do
vim.keymap.set("n", "<leader>" .. key[1], key[2], {desc = key["desc"]})
vim.keymap.set("n", "<C-Space>" .. key[1], key[2], {desc = key["desc"]})
vim.keymap.set("i", "<C-Space>" .. key[1], key[2], {desc = key["desc"]})
vim.keymap.set("v", "<C-Space>" .. key[1], key[2], {desc = key["desc"]})
end
-- LSP
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, {desc = "goto definition"})
@ -157,3 +237,4 @@ for i = 9, 1, -1 do
vim.keymap.set("i", "<M-" .. i .. ">", function() require("harpoon"):list():select(i) end, {desc = ""})
vim.keymap.set("v", "<M-" .. i .. ">", function() require("harpoon"):list():select(i) end, {desc = ""})
end

135
lua/config/packages.lua Normal file → Executable file
View file

@ -2,20 +2,16 @@ return {
{
"neovim/nvim-lspconfig",
dependencies = {
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
"j-hui/fidget.nvim",
"folke/neodev.nvim",
},
},
{
"j-hui/fidget.nvim",
dependencies = {
"neovim/nvim-lspconfig",
},
},
{
"ray-x/lsp_signature.nvim",
event = "BufRead",
config = function() require"lsp_signature".on_attach() end,
config = function() require "lsp_signature".setup() end,
},
{
"hrsh7th/nvim-cmp",
@ -29,9 +25,23 @@ return {
"rafamadriz/friendly-snippets"
},
},
{
"jay-babu/mason-null-ls.nvim",
event = { "BufReadPre", "BufNewFile" },
dependencies = {
"williamboman/mason.nvim",
"nvimtools/none-ls.nvim",
},
config = function()
end,
},
{
"nvimtools/none-ls.nvim"
},
{
"OXY2DEV/markview.nvim",
lazy = false,
},
-- syntax highlighting
{
@ -59,6 +69,7 @@ return {
-- debugging
"mfussenegger/nvim-dap",
"jay-babu/mason-nvim-dap.nvim",
{
"rcarriga/nvim-dap-ui",
tag = "v4.0.0",
@ -73,24 +84,8 @@ return {
-- git
"lewis6991/gitsigns.nvim",
"lvimuser/lsp-inlayhints.nvim",
"echasnovski/mini.nvim",
{ 'kazhala/close-buffers.nvim', config = true },
{
'anuvyklack/pretty-fold.nvim',
opts = {
keep_indentation = true,
fill_char = '',
sections = {
left = {
'', function() return string.rep('*', vim.v.foldlevel) end, ' ━┫', 'content', ''
},
right = {
'', 'number_of_folded_lines', ': ', 'percentage', ' ┣━━',
}
}
}
},
"editorconfig/editorconfig-vim",
{ "nacro90/numb.nvim", opts = {} },
{ "kylechui/nvim-surround", opts = {} },
@ -171,13 +166,13 @@ return {
config = function()
local wk = require("which-key")
wk.setup {
popup_mappings = {
scroll_down = "<C-j>",
scroll_up = "<C-k>",
},
window = {
border = "single",
},
-- popup_mappings = {
-- scroll_down = "<C-j>",
-- scroll_up = "<C-k>",
-- },
-- window = {
-- border = "single",
-- },
}
end
},
@ -228,9 +223,18 @@ return {
{
"gelguy/wilder.nvim",
config = function()
-- local wilder = require("wilder")
-- wilder.setup({
-- modes = {":", "/", "?"},
-- })
-- wilder.set_option("renderer", wilder.popupmenu_renderer({
-- pumblend = 50,
-- }))
vim.cmd('call wilder#setup({"modes": [":", "/", "?"]})')
vim.cmd('call wilder#set_option("renderer", wilder#popupmenu_renderer({"highlighter": wilder#basic_highlighter(), "left": [ " ", wilder#popupmenu_devicons(), ], "right": [ " ", wilder#popupmenu_scrollbar(), ], "pumblend": 20}))')
vim.cmd('call wilder#set_option("renderer", wilder#popupmenu_renderer(wilder#popupmenu_border_theme({"highlighter": wilder#basic_highlighter(), "min_width": "100%", "min_height": "50%", "reverse": 0, "highlights": {"border": "Normal",},"border": "rounded"})))')
vim.cmd(
'call wilder#set_option("renderer", wilder#popupmenu_renderer({"highlighter": wilder#basic_highlighter(), "left": [ " ", wilder#popupmenu_devicons(), ], "right": [ " ", wilder#popupmenu_scrollbar(), ], "pumblend": 20}))')
vim.cmd(
'call wilder#set_option("renderer", wilder#popupmenu_renderer(wilder#popupmenu_border_theme({"highlighter": wilder#basic_highlighter(), "min_width": "100%", "min_height": "50%", "reverse": 0, "highlights": {"border": "Normal",},"border": "rounded"})))')
end,
},
{
@ -244,6 +248,52 @@ return {
},
-- lenguage specific
-- scala
{
"scalameta/nvim-metals",
dependencies = {
"nvim-lua/plenary.nvim",
},
ft = { "scala", "sbt", "java" },
opts = function()
local metals_config = require("metals").bare_config()
metals_config.on_attach = function(client, bufnr)
-- your on_attach function
end
return metals_config
end,
config = function(self, metals_config)
local nvim_metals_group = vim.api.nvim_create_augroup("nvim-metals", { clear = true })
vim.api.nvim_create_autocmd("FileType", {
pattern = self.ft,
callback = function()
require("metals").initialize_or_attach(metals_config)
end,
group = nvim_metals_group,
})
end
},
-- org
{
"nvim-orgmode/orgmode",
lazy = false,
dependencies = {
"nvim-treesitter/nvim-treesitter",
"hrsh7th/nvim-cmp",
},
config = function()
require("orgmode").setup({})
require('nvim-treesitter.configs').setup({
ensure_installed = 'all',
ignore_install = { 'org' },
})
end
},
{
"akinsho/org-bullets.nvim"
},
-- f#
{ "ionide/Ionide-vim" },
-- go
@ -273,6 +323,19 @@ return {
"nvim-lua/plenary.nvim"
},
},
{
'mrcjkb/rustaceanvim',
version = '^5',
lazy = false,
},
-- diff
{
"julienvincent/hunk.nvim",
cmd = { "DiffEditor" },
config = function()
require("hunk").setup()
end,
},
-- slint
{ "slint-ui/vim-slint" },
@ -285,11 +348,11 @@ return {
-- java
"mfussenegger/nvim-jdtls",
-- latex
"lervag/vimtex",
"let-def/texpresso.vim",
-- themes
"xiyaowong/transparent.nvim",
"savq/melange-nvim",
"cpea2506/one_monokai.nvim",
"yazeed1s/oh-lucy.nvim",
"sainnhe/sonokai",
}

17
lua/config/pmstrap.lua Normal file → Executable file
View file

@ -2,23 +2,24 @@ vim.g.mapleader = " "
vim.g.maplocalleader = " "
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
if not (vim.uv or vim.loop).fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"--branch=stable",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
lazypath
})
end
vim.opt.rtp:prepend(lazypath)
-- bootstrap lazy.nvim
-- Setup lazy.nvim
require("lazy").setup("config.packages", {
defaults = {
lazy = false
lazy = false,
},
install = {
colorscheme = { "melange" },
}
--install = { colorscheme = { "melange" } },
})

3
lua/config/sets.lua Normal file → Executable file
View file

@ -8,6 +8,7 @@ vim.opt.softtabstop = 0
vim.opt.shiftwidth = 4
vim.opt.smartindent = true
vim.o.breakindent = true
vim.o.expandtab = true
-- lines
vim.opt.wrap = true
@ -17,7 +18,7 @@ vim.opt.list = true
vim.opt.listchars:append "eol:↴"
-- undo
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
vim.opt.undodir = os.getenv("HOME") .. "/.local/share/nvim/undofile"
vim.opt.undofile = true
-- search

View file

@ -55,7 +55,7 @@ navic.setup {
}
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
vim.lsp.inlay_hint.enable(true)
local on_attach = function(client, bufnr)
local nmap = function(keys, func, desc)
if desc then
@ -66,7 +66,7 @@ local on_attach = function(client, bufnr)
end
-- ih.on_attach(client, bufnr)
require("lsp-inlayhints").on_attach(client, bufnr)
--require("lsp-inlayhints").on_attach(client, bufnr)
if client.server_capabilities.documentSymbolProvider then
navic.attach(client, bufnr)
@ -117,11 +117,14 @@ capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
capabilities.offsetEncoding = { "utf-16" } -- fix copilot
require('mason').setup()
require("mason-nvim-dap").setup({automatic_installation = true, handlers = {
require("mason-nvim-dap").setup({
automatic_installation = true,
handlers = {
function(config)
require("mason-nvim-dap").default_setup(config)
end
}})
}
})
local mason_lspconfig = require 'mason-lspconfig'
mason_lspconfig.setup {
ensure_installed = vim.tbl_keys(servers),
@ -136,6 +139,35 @@ mason_lspconfig.setup_handlers {
end,
}
vim.g.rustaceanvim = {
tools = {},
server = {
on_attach = on_attach,
default_settings = {
["rust-analyzer"] = {
cargo = {
features = "all"
},
inlayHints = {
closyreCaptureHints = {
enable = true,
},
},
check = {
command = "clippy",
features = "all",
},
imports = {
preferPrelude = true,
}
}
},
},
dap = {
},
}
-- require("lspconfig").rust_analyzer.setup{
-- capabilities = capabilities,
-- on_attach = on_attach,
@ -249,9 +281,25 @@ cmp.setup {
},
}
-- cmp.event:on(
-- 'confirm_done',
-- cmp_autopairs.on_confirm_done()
-- )
cmp.event:on(
'confirm_done',
cmp_autopairs.on_confirm_done()
vim.schedule_wrap(function(completion_item)
-- Get the current buffer's filetype
local filetype = vim.api.nvim_buf_get_option(0, 'filetype')
-- Check if the filetype is NOT fsharp
if filetype ~= 'fsharp' then
-- If it's not fsharp, let cmp-autopairs handle it
cmp_autopairs.on_confirm_done()(completion_item)
else
-- If it is fsharp, do nothing (skip the cmp-autopairs action)
end
end)
)
vim.diagnostic.config({

View file

@ -13,4 +13,3 @@ null_ls.setup({
null_ls.builtins.formatting.swift_format,
}
})

View file

@ -1,31 +0,0 @@
vim.opt.nu = true
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.cursorline = true
-- vim.cmd[[
-- highlight CursorColumn guibg=none ctermbg=none
-- highlight link CursorColumn CursorLine
-- ]]
-- fixmap
vim.cmd[[
map <Space>m\ <nop>
map <Space>m/ <nop>
map <Space>mA <nop>
map <Space>mgS <nop>
map <Space>tt <nop>
map <Space>tm <nop>
]]
vim.opt.nu = true
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.cursorline = true
require("plugins")

View file

@ -1,2 +0,0 @@
require("config")
require("plugins")

View file

@ -1,77 +0,0 @@
{
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"Ionide-vim": { "branch": "master", "commit": "c7e8973426431839e9d888a4aa8d6a41251ba16f" },
"LuaSnip": { "branch": "master", "commit": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d" },
"close-buffers.nvim": { "branch": "master", "commit": "3acbcad1211572342632a6c0151f839e7dead27f" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"crates.nvim": { "branch": "main", "commit": "1dffccc0a95f656ebe00cacb4de282473430c5a1" },
"editorconfig-vim": { "branch": "master", "commit": "3c2813f2566d9392ff3614248c5db43c3fda9d5f" },
"fidget.nvim": { "branch": "main", "commit": "9238947645ce17d96f30842e61ba81147185b657" },
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
"gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" },
"go.nvim": { "branch": "master", "commit": "c6d5ca26377d01c4de1f7bff1cd62c8b43baa6bc" },
"guihua.lua": { "branch": "master", "commit": "d783191eaa75215beae0c80319fcce5e6b3beeda" },
"harpoon": { "branch": "harpoon2", "commit": "a84ab829eaf3678b586609888ef52f7779102263" },
"heirline.nvim": { "branch": "master", "commit": "cc359b628266cb9a84b2d71c883f2b99e16473a0" },
"hop.nvim": { "branch": "master", "commit": "1a1eceafe54b5081eae4cb91c723abd1d450f34b" },
"indent-blankline.nvim": { "branch": "master", "commit": "259357fa4097e232730341fa60988087d189193a" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lsp-inlayhints.nvim": { "branch": "main", "commit": "d981f65c9ae0b6062176f0accb9c151daeda6f16" },
"lsp-lens.nvim": { "branch": "main", "commit": "48bb1a7e271424c15f3d588d54adc9b7c319d977" },
"lsp_signature.nvim": { "branch": "master", "commit": "fc38521ea4d9ec8dbd4c2819ba8126cea743943b" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "8e46de9241d3997927af12196bd8faa0ed08c29a" },
"mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
"melange-nvim": { "branch": "master", "commit": "9252c78c7bffd3126b0c9e47e51e0b5211acffb1" },
"mini.nvim": { "branch": "main", "commit": "7ebfab26d77a4b9b05aaae565907e7fa4b2ee154" },
"neo-tree.nvim": { "branch": "v2.x", "commit": "80dc74d081823649809f78370fa5b204aa9a853a" },
"neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" },
"neoscroll.nvim": { "branch": "master", "commit": "f957373912e88579e26fdaea4735450ff2ef5c9c" },
"none-ls.nvim": { "branch": "main", "commit": "40dc2e983560acaea29d6312b33fafba37b0c272" },
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
"numb.nvim": { "branch": "master", "commit": "3f7d4a74bd456e747a1278ea1672b26116e0824d" },
"nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" },
"nvim-bqf": { "branch": "main", "commit": "1b24dc6050c34e8cd377b6b4cd6abe40509e0187" },
"nvim-cmp": { "branch": "main", "commit": "98e8b9d593a5547c126a39212d6f5e954a2d85dd" },
"nvim-dap": { "branch": "master", "commit": "567da83810dd9da32f9414d941bc6848715fc102" },
"nvim-dap-ui": { "branch": "master", "commit": "f7d75cca202b52a60c520ec7b1ec3414d6e77b0f" },
"nvim-dap-virtual-text": { "branch": "master", "commit": "76d80c3d171224315b61c006502a1e30c213a9ab" },
"nvim-jdtls": { "branch": "master", "commit": "ece818f909c6414cbad4e1fb240d87e003e10fda" },
"nvim-lspconfig": { "branch": "master", "commit": "9f2c279cf9abe584f03bfeb37c6658d68e3ff49d" },
"nvim-metals": { "branch": "main", "commit": "abf4a2b7ccdb2fa21ef59b66e50d9b69a746e3ef" },
"nvim-navbuddy": { "branch": "master", "commit": "f22bac988f2dd073601d75ba39ea5636ab6e38cb" },
"nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" },
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
"nvim-surround": { "branch": "main", "commit": "9f0cb495f25bff32c936062d85046fbda0c43517" },
"nvim-treesitter": { "branch": "master", "commit": "102bc74e093ef54aab57a368db15befeb9ba9d58" },
"nvim-treesitter-context": { "branch": "master", "commit": "8fd989b6b457a448606b4a2e51f9161700f609a7" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" },
"nvim-ts-autotag": { "branch": "main", "commit": "1cca23c9da708047922d3895a71032bc0449c52d" },
"nvim-web-devicons": { "branch": "master", "commit": "0eb18da56e2ba6ba24de7130a12bcc4e31ad11cb" },
"org-bullets.nvim": { "branch": "main", "commit": "46ae687e22192fb806b5977d664ec98af9cf74f6" },
"orgmode": { "branch": "master", "commit": "db7f04435eae7191cb0ffb0e0cf2a1e9484f4a8b" },
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
"pretty-fold.nvim": { "branch": "master", "commit": "a7d8b424abe0eedf50116c460fbe6dfd5783b1d5" },
"rainbow_csv.nvim": { "branch": "main", "commit": "7f3fddfe813641035fac2cdf94c2ff69bb0bf0b9" },
"rustaceanvim": { "branch": "master", "commit": "0a618c1d1c05a8059880076feccb15301da6993d" },
"suda.vim": { "branch": "master", "commit": "9adda7d195222d4e2854efb2a88005a120296c47" },
"telescope-dap.nvim": { "branch": "master", "commit": "783366bd6c1e7fa0a5c59c07db37f49c805a28df" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"templ.vim": { "branch": "main", "commit": "5cc48b93a4538adca0003c4bc27af844bb16ba24" },
"todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
"toggleterm.nvim": { "branch": "main", "commit": "022ff5594acccc8d90d2e46dc43994f7722ebdf7" },
"transparent.nvim": { "branch": "main", "commit": "8a2749a2fa74f97fe6557f61b89ac7fd873f3c21" },
"undotree": { "branch": "master", "commit": "78b5241191852ffa9bb5da5ff2ee033160798c3b" },
"vim-glsl": { "branch": "master", "commit": "40dd0b143ef93f3930a8a409f60c1bb85e28b727" },
"vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" },
"vim-slint": { "branch": "main", "commit": "9badce3860297562bb5e80ba1666628f9e0ac632" },
"vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" },
"which-key.nvim": { "branch": "main", "commit": "8ab96b38a2530eacba5be717f52e04601eb59326" },
"wilder.nvim": { "branch": "master", "commit": "679f348dc90d80ff9ba0e7c470c40a4d038dcecf" },
"zig.vim": { "branch": "master", "commit": "15d6510b77a4efbb6ffcb151ed7e2ce4de4d06f6" }
}

View file

@ -1,163 +0,0 @@
local pickers = require "telescope.pickers"
local finders = require "telescope.finders"
local conf = require("telescope.config").values
local actions = require "telescope.actions"
local action_state = require "telescope.actions.state"
vim.api.nvim_create_user_command("OP", function ()
local folders = vim.fn.systemlist("\\ls -d $HOME/projects/*/")
for i, folder in ipairs(folders) do
folders[i] = string.match(string.match(folder, "[^/]*/$"), "^[^/]*")
end
pickers.new({}, {
prompt_title = "Open project",
finder = finders.new_table {
results = folders
},
sorter = conf.generic_sorter({}),
attach_mappings = function (prompt_bufnr, map)
actions.select_default:replace(function ()
actions.close(prompt_bufnr)
local selection = action_state.get_selected_entry()
selection = selection[1]
vim.cmd("cd $HOME/projects/" .. selection)
end)
return true
end
}):find()
end, {})
vim.api.nvim_create_user_command("OD", function ()
local folders = vim.fn.systemlist("\\ls -d */")
for i, folder in ipairs(folders) do
folders[i] = string.match(string.match(folder, "[^/]*/$"), "^[^/]*")
end
pickers.new({}, {
prompt_title = "Open directory",
finder = finders.new_table {
results = folders
},
sorter = conf.generic_sorter({}),
attach_mappings = function (prompt_bufnr, map)
actions.select_default:replace(function ()
actions.close(prompt_bufnr)
local selection = action_state.get_selected_entry()
selection = selection[1]
vim.cmd("cd " .. selection)
end)
return true
end
}):find()
end, {})
vim.api.nvim_create_user_command("Config", function ()
vim.cmd("cd $HOME/.config/nvim")
end, {})
vim.api.nvim_create_user_command("RetabFile2Spaces", function ()
vim.cmd(":set ts=2 sts=2 noet | retab! | set ts=4 sts=4 et | retab!")
end, {})
vim.api.nvim_create_user_command("RetabFile4SpacesToTab", function ()
vim.cmd(":set ts=4 sts=4 noet | retab! | set ts=4 sts=0 noexpandtab | retab!")
end, {})
local function get_makefile_targets()
local makefile = "./Makefile"
local targets = {}
local file = io.open(makefile, "r")
if file then
for line in file:lines() do
local target = line:match("^[^\\s:]+:.*")
if target then
local tg = target:match("^[^:]+")
table.insert(targets, tg)
end
end
file:close()
end
return targets
end
vim.api.nvim_create_user_command("Make", function (args)
local vimCmd = "TermExec cmd=\"make"
if (args["args"]) then
vimCmd = vimCmd .. " " .. args["args"]
end
vimCmd = vimCmd .. "\""
vim.cmd(vimCmd)
end, {nargs = "*", ["complete"] = function()
return get_makefile_targets()
end})
vim.api.nvim_create_user_command("Maket", function()
local targets = get_makefile_targets()
pickers.new({}, {
prompt_title = "Run make target",
finder = finders.new_table {
results = targets
},
sorter = conf.generic_sorter({}),
attach_mappings = function (prompt_bufnr, map)
actions.select_default:replace(function ()
actions.close(prompt_bufnr)
local selection = action_state.get_selected_entry()
selection = selection[1]
vim.cmd(":Make " .. selection)
end)
return true
end
}):find()
end, {})
function get_just_targets()
local handle = io.popen("just --summary")
local res = handle:read("*a")
handle:close()
local targets = {}
-- insert space seperated targets
for target in string.gmatch(res, "%S+") do
table.insert(targets, target)
end
end
vim.api.nvim_create_user_command("Just", function(args)
local vimCmd = "TermExec cmd=\"just"
if (args["args"]) then
vimCmd = vimCmd .. " " .. args["args"]
end
vimCmd = vimCmd .. "\""
vim.cmd(vimCmd)
end, {nargs = "*", ["complete"] = function ()
return get_just_targets()
end})
vim.api.nvim_create_user_command("Justt", function()
local targets = get_makefile_targets()
pickers.new({}, {
prompt_title = "Run just target",
finder = finders.new_table {
results = targets
},
sorter = conf.generic_sorter({}),
attach_mappings = function (prompt_bufnr, map)
actions.select_default:replace(function ()
actions.close(prompt_bufnr)
local selection = action_state.get_selected_entry()
selection = selection[1]
vim.cmd(":Just " .. selection)
end)
return true
end
}):find()
end, {})
vim.api.nvim_create_autocmd('TextYankPost', {
desc = 'Highlight when yanking (copying) text',
group = vim.api.nvim_create_augroup('HightlightYank', { clear = true }),
callback = function()
vim.highlight.on_yank()
end,
})

View file

@ -1,4 +0,0 @@
require("config.pmstrap")
require("config.sets")
require("config.keymap")
require("config.commands")

View file

@ -1,240 +0,0 @@
-- local wk = require("which-key")
--
-- local keys = {
-- e = {
-- name = "Toggle",
-- e = {"<cmd>NeoTreeFloatToggle<CR>", "NeoTree"},
-- w = {vim.cmd.Ex, "netrw"},
-- s = {"<cmd>NeoTreeShowToggle<CR>", "neotree sidebar"},
-- g = {"<cmd>NeoTreeFloatToggle git_status<CR>", "Git Status"},
-- -- b = {"<cmd>NeoTreeFloatToggle buffers<CR>", "Buffers"},
-- c = {"<cmd>NeoTreeClose<CR>" , "Close"},
-- u = {vim.cmd.UndotreeToggle, "UndoTree"},
-- },
-- c = {
-- name = "LSP",
-- f = {function () vim.lsp.buf.format() end, "Format"},
-- w = {function () vim.lsp.buf.workspace_symbol("") end, "workspace symbol"},
-- d = {function () vim.diagnostic.open_float() end, "diagnostic"},
-- a = {function () vim.lsp.buf.code_action() end, "code actions"},
-- R = {function () vim.lsp.buf.references() end, "references"},
-- r = {function () vim.lsp.buf.rename() end, "rename"},
-- h = {function () vim.lsp.buf.hover() end, "Hover"},
-- t = {function () vim.lsp.buf.type_definition() end,"Type Definition"},
-- s = {"<cmd>Navbuddy<cr>", "Navbuddy"},
-- S = {require("telescope.builtin").lsp_document_symbols, "Document Symbols"},
-- l = {
-- name = "LSP",
-- k = {"<cmd>LspStop<cr>", "Stop"},
-- s = {"<cmd>LspStart<cr>", "Start"},
-- r = {"<cmd>LspRestart<cr>", "Restart"},
-- },
-- },
-- b = {
-- name = "Buffer",
-- h = {vim.cmd.bprevious, "Previous"},
-- l = {vim.cmd.bnext, "Next"},
-- H = {vim.cmd.bfirst, "First"},
-- L = {vim.cmd.blast, "Last"},
-- b = {require("telescope.builtin").buffers, "Picker"},
-- c = {"<cmd>:bp | sp | bn | bd<cr>", "Close"},
-- C = {"<cmd>:bp | sp | bn | bd!<cr>", "Close Force"},
-- d = {function() vim.cmd("bd") end, "Delete buffer"},
-- D = {function() vim.cmd("bd!") end, "Delete buffer Force"},
-- o = {function() vim.cmd("BDelete other") end, "Delete other buffers"},
-- m = {function() vim.cmd("BDelete select") end, "Select buffer to delete"},
-- },
-- f = {
-- name = "Telescope & fzf",
-- c = {require("telescope.builtin").colorscheme, "Find Colorscheme"},
-- d = {require("telescope.builtin").diagnostics, "Find Diagnostics"},
-- w = {require("telescope.builtin").grep_string, "Find current Word"},
-- f = {require("telescope.builtin").find_files, "telescope find files"},
-- g = {require("telescope.builtin").live_grep, "live grep"},
-- b = {require("telescope.builtin").buffers, "buffers"},
-- h = {require("telescope.builtin").help_tags, "help tags"},
-- s = {function () require("telescope.builtin").grep_string({ search = vim.fn.input("Grep > ")}); end, "grep search through files"},
-- m = {"<cmd>Maket<cr>", "Make"},
-- },
-- s = {
-- name = "Settings",
-- c = {function ()
-- vim.opt.scrolloff = 100
-- end, "Always center cursor"},
-- C = {function ()
-- vim.opt.scrolloff = 8
-- end, "Disable Cursor center"},
-- f = {function ()
-- vim.opt.nu = true
-- vim.opt.relativenumber = true
-- end, "Fix number and relative numbers"},
-- },
-- h = {
-- name = "Hop",
-- w = {"<cmd>HopWord<cr>", "Word"},
-- a = {"<cmd>HopAnywhere<cr>", "Anywhere"},
-- l = {"<cmd>HopLine<cr>", "Line"},
-- p = {"<cmd>HopPattern<cr>", "Pattern"},
-- c = {"<cmd>HopChar1<cr>", "Char1"},
-- x = {"<cmd>HopChar2<cr>", "Char2"},
-- h = {vim.cmd.HopChar2, "Hop"},
-- },
-- d = {
-- name = "Debug",
-- b = {function () require("dap").toggle_breakpoint() end, "toggle breakpoint"},
-- c = {function () require("dap").continue() end, "launch or continue execution"},
-- s = {function () require("dap").step_into() end, "step into"},
-- o = {function () require("dap").step_over() end, "step over"},
-- r = {function () require("dap").repl.open() end, "open repl"},
-- w = {"<cmd>DapUIFloat<cr>", "DapUI"},
-- },
-- w = {
-- name = "workspace",
-- a = {vim.lsp.buf.add_workspace_folder, "add folder"},
-- r = {vim.lsp.buf.remove_workspace_folder, "remove folder"},
-- l = {function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, "list folders"},
-- },
-- q = {
-- name = "Quick nav",
-- q = {require("harpoon.ui").toggle_quick_menu, "Menu"},
-- a = {function () require("harpoon"):list():append() end, "Add file"},
-- r = {function () require("harpoon"):list():remove() end, "Remove File"},
-- },
--
-- }
--
-- wk.register(keys, {prefix = "<leader>"})
-- wk.register(keys, {prefix = "<C-Space>"})
-- wk.register(keys, {prefix = "<C-Space>", mode = "i"})
-- wk.register(keys, {prefix = "<C-Space>", mode = "v"})
local keys = {
{ "bC", "<cmd>:bp | sp | bn | bd!<cr>", desc = "Close Force" },
{ "bD", function() vim.cmd("bd!") end, desc = "Delete buffer Force" },
{ "bH", vim.cmd.bfirst, desc = "First" },
{ "bL", vim.cmd.blast, desc = "Last" },
{ "bb", require("telescope.builtin").buffers, desc = "Picker" },
{ "bc", "<cmd>:bp | sp | bn | bd<cr>", desc = "Close" },
{ "bd", vim.cmd.bd, desc = "Delete buffer" },
{ "bh", vim.cmd.bprevious, desc = "Previous" },
{ "bl", vim.cmd.bnext, desc = "Next" },
{ "bm", function() vim.cmd("BDelete select") end, desc = "Select buffer to delete" },
{ "bo", function() vim.cmd("BDelete other") end, desc = "Delete other buffers" },
{ "cR", vim.lsp.buf.references, desc = "references" },
{ "cS", require("telescope.builtin").lsp_document_symbols, desc = "Document Symbols" },
{ "ca", vim.lsp.buf.code_action, desc = "code actions" },
{ "cd", vim.diagnostic.open_float, desc = "diagnostic" },
{ "cf", vim.lsp.buf.format, desc = "Format" },
{ "ch", vim.lsp.buf.hover, desc = "Hover" },
{ "clk", "<cmd>LspStop<cr>", desc = "Stop" },
{ "clr", "<cmd>LspRestart<cr>", desc = "Restart" },
{ "cls", "<cmd>LspStart<cr>", desc = "Start" },
{ "cr", vim.lsp.buf.rename, desc = "rename" },
{ "cs", "<cmd>Navbuddy<cr>", desc = "Navbuddy" },
{ "ct", vim.lsp.buf.type_definition, desc = "Type Definition" },
{ "cw", function() vim.lsp.buf.workspace_symbol("") end, desc = "workspace symbol" },
{ "db", require("dap").toggle_breakpoint, desc = "toggle breakpoint" },
{ "dc", require("dap").continue, desc = "launch or continue execution" },
{ "do", require("dap").step_over, desc = "step over" },
{ "dr", require("dap").repl.open, desc = "open repl" },
{ "ds", require("dap").step_into, desc = "step into" },
{ "dw", "<cmd>DapUIFloat<cr>", desc = "DapUI" },
{ "ec", "<cmd>NeoTreeClose<CR>", desc = "Close" },
{ "ee", "<cmd>NeoTreeFloatToggle<CR>", desc = "NeoTree" },
{ "eg", "<cmd>NeoTreeFloatToggle git_status<CR>", desc = "Git Status" },
{ "es", "<cmd>NeoTreeShowToggle<CR>", desc = "neotree sidebar" },
{ "eu", vim.cmd.UndotreeToggle, desc = "UndoTree" },
{ "ew", vim.cmd.Ex, desc = "netrw" },
{ "fb", require("telescope.builtin").buffers, desc = "buffers" },
{ "fc", require("telescope.builtin").colorscheme, desc = "Find Colorscheme" },
{ "fd", require("telescope.builtin").diagnostics, desc = "Find Diagnostics" },
{ "ff", require("telescope.builtin").find_files, desc = "telescope find files" },
{ "fg", require("telescope.builtin").live_grep, desc = "live grep" },
{ "fh", require("telescope.builtin").help_tags, desc = "help tags" },
{ "fm", "<cmd>Maket<cr>", desc = "Make"},
{ "fs", function () require("telescope.builtin").grep_string({ search = vim.fn.input("Grep > ")}); end, desc = "grep search through files" },
{ "fw", require("telescope.builtin").grep_string, desc = "Find current Word" },
{ "ha", "<cmd>HopAnywhere<cr>", desc = "Anywhere" },
{ "hc", "<cmd>HopChar1<cr>", desc = "Char1" },
{ "hh", vim.cmd.HopChar2, desc = "Hop" },
{ "hl", "<cmd>HopLine<cr>", desc = "Line" },
{ "hp", "<cmd>HopPattern<cr>", desc = "Pattern" },
{ "hw", "<cmd>HopWord<cr>", desc = "Word" },
{ "hx", "<cmd>HopChar2<cr>", desc = "Char2" },
{ "qa", function () require("harpoon"):list():append() end, desc = "Add file" },
{ "qq", require("harpoon.ui").toggle_quick_menu, desc = "Menu" },
{ "qr", function() require("harpoon"):list():remove() end, desc = "Remove File" },
{ "sC", function() vim.opt.scrolloff = 8 end, desc = "Disable Cursor center" },
{ "sc", function() vim.opt.scrolloff = 100 end, desc = "Always center cursor" },
{ "sf", function() vim.opt.nu = true; vim.opt.relativenumber = true end, desc = "Fix number and relative numbers" },
{ "wa", vim.lsp.buf.add_workspace_folder, desc = "add folder" },
{ "wl", function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, desc = "list folders" },
{ "wr", vim.lsp.buf.remove_workspace_folder, desc = "remove folder" },
}
for i, key in ipairs(keys) do
vim.keymap.set("n", "<leader>" .. key[1], key[2], {desc = key["desc"]})
vim.keymap.set("n", "<C-Space>" .. key[1], key[2], {desc = key["desc"]})
vim.keymap.set("i", "<C-Space>" .. key[1], key[2], {desc = key["desc"]})
vim.keymap.set("v", "<C-Space>" .. key[1], key[2], {desc = key["desc"]})
end
-- LSP
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, {desc = "goto definition"})
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, {})
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, {desc = "goto next"})
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, {desc = "goto prev"})
vim.keymap.set("i", "<C-s>", function() vim.lsp.buf.signature_help() end)
vim.keymap.set("i", "<C-h>", function () vim.lsp.buf.hover() end, {})
-- term
vim.keymap.set("n", "<C-\\>", vim.cmd.ToggleTerm)
vim.keymap.set("t", "<C-\\>", vim.cmd.ToggleTerm)
vim.keymap.set("v", "<C-\\>", vim.cmd.ToggleTerm)
-- center
vim.keymap.set("n", "<C-d>", "<C-d>zz")
vim.keymap.set("n", "<C-u>", "<C-u>zz")
vim.keymap.set("n", "n", "nzzzv")
vim.keymap.set("n", "N", "Nzzzv")
-- visual move
vim.keymap.set("x", "K", ":move '<-2<CR>gv=gv")
vim.keymap.set("x", "J", ":move '>+1<CR>gv=gv")
-- me lazy
vim.keymap.set("i", "<C-c>", "<Esc>")
-- non char keybinds
vim.keymap.set("n", "<leader>f/", function ()
require("telescope.builtin").current_buffer_fuzzy_find(require("telescope.themes").get_dropdown {
winblend = 10,
previewer = false,
})
end, {desc = "fuzzy find"})
vim.keymap.set('n', '<leader>f?', require('telescope.builtin').oldfiles, { desc = 'Find recently opened files' })
vim.keymap.set("i", "<C-Space>f/", function ()
require("telescope.builtin").current_buffer_fuzzy_find(require("telescope.themes").get_dropdown {
winblend = 10,
previewer = false,
})
end, {desc = "fuzzy find"})
vim.keymap.set('i', '<C-Space>f?', require('telescope.builtin').oldfiles, { desc = 'Find recently opened files' })
for i = 9, 1, -1 do
vim.keymap.set("n", "<M-" .. i .. ">", function() require("harpoon"):list():select(i) end, {desc = ""})
vim.keymap.set("i", "<M-" .. i .. ">", function() require("harpoon"):list():select(i) end, {desc = ""})
vim.keymap.set("v", "<M-" .. i .. ">", function() require("harpoon"):list():select(i) end, {desc = ""})
end

View file

@ -1,361 +0,0 @@
return {
{
"neovim/nvim-lspconfig",
dependencies = {
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
"j-hui/fidget.nvim",
"folke/neodev.nvim",
},
},
{
"VidocqH/lsp-lens.nvim",
opts = {},
},
{
"j-hui/fidget.nvim",
dependencies = {
"neovim/nvim-lspconfig",
},
},
{
"SmiteshP/nvim-navic",
dependencies = {"neovim/nvim-lspconfig"},
opts = {highlight = true},
},
{
"ray-x/lsp_signature.nvim",
event = "BufRead",
config = function() require"lsp_signature".on_attach() end,
},
{
"hrsh7th/nvim-cmp",
dependencies = {
"hrsh7th/cmp-nvim-lsp",
"L3MON4D3/LuaSnip",
"saadparwaiz1/cmp_luasnip",
"hrsh7th/cmp-nvim-lua",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"rafamadriz/friendly-snippets"
},
},
{
"nvimtools/none-ls.nvim"
},
-- syntax highlighting
{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate"
},
'nvim-treesitter/nvim-treesitter-context',
{
"nvim-treesitter/nvim-treesitter-textobjects",
dependencies = {"nvim-treesitter"},
},
-- fzf Telescope
{
"nvim-telescope/telescope.nvim",
branch = "0.1.x",
dependencies = {
"nvim-lua/plenary.nvim"
}
},
{
"nvim-telescope/telescope-fzf-native.nvim",
build = "make",
},
-- debugging
"mfussenegger/nvim-dap",
"jay-babu/mason-nvim-dap.nvim",
{
"rcarriga/nvim-dap-ui",
tag = "v4.0.0",
dependencies = {
"mfussenegger/nvim-dap",
"nvim-neotest/nvim-nio"
},
},
{"theHamsta/nvim-dap-virtual-text", opts = {}},
"nvim-telescope/telescope-dap.nvim",
-- git
"lewis6991/gitsigns.nvim",
"lvimuser/lsp-inlayhints.nvim",
"echasnovski/mini.nvim",
{'kazhala/close-buffers.nvim', config = true},
{
'anuvyklack/pretty-fold.nvim',
opts = {
keep_indentation = true,
fill_char = '',
sections = {
left = {
'', function() return string.rep('*', vim.v.foldlevel) end, ' ━┫', 'content', ''
},
right = {
'', 'number_of_folded_lines', ': ', 'percentage', ' ┣━━',
}
}
}
},
"editorconfig/editorconfig-vim",
{"nacro90/numb.nvim", opts = {}},
{"kylechui/nvim-surround", opts={}},
{
"phaazon/hop.nvim",
event = "BufRead",
opts = {}
},
{
"ThePrimeagen/harpoon",
branch = "harpoon2",
dependencies = { "nvim-lua/plenary.nvim" },
init = function ()
local harpoon = require("harpoon")
harpoon:setup()
end
},
-- misc editing
"lambdalisue/suda.vim",
"tpope/vim-sleuth",
"mbbill/undotree",
{"windwp/nvim-autopairs", opts = {}},
{
"mg979/vim-visual-multi",
config = function ()
vim.cmd([[
let g:VM_leader='<Space>m'
let g:VM_maps['Find Under'] = '<C-m>'
]])
end
},
{
"windwp/nvim-ts-autotag",
opts = {
filetypes = {'html', 'javascript', 'typescript', 'javascriptreact', 'typescriptreact', 'svelte', 'vue', 'tsx', 'jsx', 'rescript', 'xml', 'php', 'markdown', 'astro', 'glimmer', 'handlebars', 'hbs', "rust" },
},
},
{
"kevinhwang91/nvim-bqf",
event = { "BufRead", "BufNew" },
opts = {
auto_enable = true,
preview = {
win_height = 12,
win_vheight = 12,
delay_syntax = 80,
border_chars = { "", "", "", "", "", "", "", "", "" },
},
func_map = {
vsplit = "",
ptogglemode = "z,",
stoggleup = "",
},
filter = {
fzf = {
action_for = { ["ctrl-s"] = "split" },
extra_opts = { "--bind", "ctrl-o:toggle-all", "--prompt", "> " },
},
},
}
},
"nvim-tree/nvim-web-devicons",
{
"lukas-reineke/indent-blankline.nvim",
init = function ()
require("ibl").setup({
indent = {
tab_char = "",
char = "",
},
})
end
},
{
"folke/which-key.nvim",
config = function()
local wk = require("which-key")
wk.setup {
-- popup_mappings = {
-- scroll_down = "<C-j>",
-- scroll_up = "<C-k>",
-- },
-- window = {
-- border = "single",
-- },
}
end
},
"rebelot/heirline.nvim",
{
"akinsho/toggleterm.nvim",
version = "*",
opts = {
direction = "float",
float_opts = {
border = "curved"
},
}
},
{
"karb94/neoscroll.nvim",
event = "WinScrolled",
opts = {
mappings = {"<C-u>", "<C-d>", "<C-b>", "<C-f>", "<C-y>", "<C-e>", "zt", "zz", "zb"},
hide_cursor = true,
stop_eof = true,
use_local_scrolloff = false,
respect_scrolloff = false,
cursor_scrolls_alone = true,
easing_function = nil,
pre_hook = nil,
post_hook = nil,
}
},
{
"folke/todo-comments.nvim",
event = "BufRead",
},
{'numToStr/Comment.nvim', opts = {}},
{
"SmiteshP/nvim-navbuddy",
dependencies = {
"neovim/nvim-lspconfig",
"SmiteshP/nvim-navic",
"MunifTanjim/nui.nvim",
"numToStr/Comment.nvim",
"nvim-telescope/telescope.nvim"
},
opts = {
window = {border="rounded",},
}
},
{
"gelguy/wilder.nvim",
config = function()
-- local wilder = require("wilder")
-- wilder.setup({
-- modes = {":", "/", "?"},
-- })
-- wilder.set_option("renderer", wilder.popupmenu_renderer({
-- pumblend = 50,
-- }))
vim.cmd('call wilder#setup({"modes": [":", "/", "?"]})')
vim.cmd('call wilder#set_option("renderer", wilder#popupmenu_renderer({"highlighter": wilder#basic_highlighter(), "left": [ " ", wilder#popupmenu_devicons(), ], "right": [ " ", wilder#popupmenu_scrollbar(), ], "pumblend": 20}))')
vim.cmd('call wilder#set_option("renderer", wilder#popupmenu_renderer(wilder#popupmenu_border_theme({"highlighter": wilder#basic_highlighter(), "min_width": "100%", "min_height": "50%", "reverse": 0, "highlights": {"border": "Normal",},"border": "rounded"})))')
end,
},
{
"nvim-neo-tree/neo-tree.nvim",
branch = "v2.x",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons",
"MunifTanjim/nui.nvim",
},
},
-- lenguage specific
-- the best language in the world (scala)
{
"scalameta/nvim-metals",
dependencies = {
"nvim-lua/plenary.nvim",
},
ft = { "scala", "sbt", "java" },
opts = function()
local metals_config = require("metals").bare_config()
metals_config.on_attach = function(client, bufnr)
-- your on_attach function
end
return metals_config
end,
config = function(self, metals_config)
local nvim_metals_group = vim.api.nvim_create_augroup("nvim-metals", { clear = true })
vim.api.nvim_create_autocmd("FileType", {
pattern = self.ft,
callback = function()
require("metals").initialize_or_attach(metals_config)
end,
group = nvim_metals_group,
})
end
},
-- org
{
"nvim-orgmode/orgmode",
lazy = false,
dependencies = {
"nvim-treesitter/nvim-treesitter",
"hrsh7th/nvim-cmp",
},
config = function()
require("orgmode").setup({})
require('nvim-treesitter.configs').setup({
ensure_installed = 'all',
ignore_install = { 'org' },
})
end
},
{
"akinsho/org-bullets.nvim"
},
-- f#
{"ionide/Ionide-vim"},
-- go
{"joerdav/templ.vim"},
{
"ray-x/go.nvim",
dependencies = { -- optional packages
"ray-x/guihua.lua",
"neovim/nvim-lspconfig",
"nvim-treesitter/nvim-treesitter",
},
config = function()
require("go").setup()
end,
event = {"CmdlineEnter"},
ft = {"go", 'gomod'},
build = ':lua require("go.install").update_all_sync()' -- if you need to install/update all binaries
},
-- csv
'cameron-wags/rainbow_csv.nvim',
-- rust
{
"saecki/crates.nvim",
tag = "v0.3.0",
dependencies = {
"nvim-lua/plenary.nvim"
},
},
{
'mrcjkb/rustaceanvim',
version = '^5', -- Recommended
lazy = false, -- This plugin is already lazy
},
-- slint
{"slint-ui/vim-slint"},
-- zig
"ziglang/zig.vim",
-- glsl
"tikhomirov/vim-glsl",
-- java
"mfussenegger/nvim-jdtls",
-- themes
"xiyaowong/transparent.nvim",
"savq/melange-nvim",
}

View file

@ -1,25 +0,0 @@
vim.g.mapleader = " "
vim.g.maplocalleader = " "
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"--branch=stable",
"https://github.com/folke/lazy.nvim.git",
lazypath
})
end
vim.opt.rtp:prepend(lazypath)
-- Setup lazy.nvim
require("lazy").setup("config.packages", {
defaults = {
lazy = false,
},
--install = { colorscheme = { "melange" } },
})

View file

@ -1,57 +0,0 @@
-- numbers
vim.opt.number = true
vim.opt.relativenumber = true
-- tab && indent
vim.opt.tabstop = 4
vim.opt.softtabstop = 0
vim.opt.shiftwidth = 4
vim.opt.smartindent = true
vim.o.breakindent = true
-- lines
vim.opt.wrap = true
vim.opt.smarttab = true
vim.opt.list = true
vim.opt.listchars:append "eol:↴"
-- undo
vim.opt.undodir = os.getenv("HOME") .. "/.local/share/nvim/undofile"
vim.opt.undofile = true
-- search
vim.opt.hlsearch = false
vim.opt.incsearch = true
vim.o.ignorecase = true
vim.o.smartcase = true
-- colors
vim.opt.termguicolors = true
vim.cmd.colorscheme "melange"
vim.opt.cursorline = true
-- misc
vim.opt.swapfile = false
vim.opt.backup = false
vim.opt.scrolloff = 8
vim.opt.sidescrolloff = 8
vim.opt.signcolumn = "yes"
vim.opt.isfname:append("@-@")
vim.opt.updatetime = 50
vim.opt.timeoutlen = 300
vim.o.mouse = "a"
vim.opt.showmode = false
vim.g.have_nerd_font = true
vim.o.completeopt = "menuone,noselect"
-- vim.filetype.add({extension = {leaf = 'html'}})
vim.wo.foldmethod = "manual"
vim.opt.foldcolumn = "1"

View file

@ -1,141 +0,0 @@
require("crates").setup {
smart_insert = true,
insert_closing_quote = true,
avoid_prerelease = true,
autoload = true,
autoupdate = true,
loading_indicator = true,
date_format = "%Y-%m-%d",
thousands_separator = ".",
notification_title = "Crates",
--curl_args = { "-sL", "--retry", "1" },
disable_invalid_feature_diagnostic = false,
text = {
loading = "  Loading",
version = "  %s",
prerelease = "  %s",
yanked = "  %s",
nomatch = "  No match",
upgrade = "  %s",
error = "  Error fetching crate",
},
highlight = {
loading = "CratesNvimLoading",
version = "CratesNvimVersion",
prerelease = "CratesNvimPreRelease",
yanked = "CratesNvimYanked",
nomatch = "CratesNvimNoMatch",
upgrade = "CratesNvimUpgrade",
error = "CratesNvimError",
},
popup = {
autofocus = false,
copy_register = '"',
style = "minimal",
border = "none",
show_version_date = false,
show_dependency_version = true,
max_height = 30,
min_width = 20,
padding = 1,
text = {
title = " %s",
pill_left = "",
pill_right = "",
description = "%s",
created_label = " created ",
created = "%s",
updated_label = " updated ",
updated = "%s",
downloads_label = " downloads ",
downloads = "%s",
homepage_label = " homepage ",
homepage = "%s",
repository_label = " repository ",
repository = "%s",
documentation_label = " documentation ",
documentation = "%s",
crates_io_label = " crates.io ",
crates_io = "%s",
categories_label = " categories ",
keywords_label = " keywords ",
version = " %s",
prerelease = " %s",
yanked = " %s",
version_date = " %s",
feature = " %s",
enabled = " %s",
transitive = " %s",
normal_dependencies_title = " Dependencies",
build_dependencies_title = " Build dependencies",
dev_dependencies_title = " Dev dependencies",
dependency = " %s",
optional = " %s",
dependency_version = " %s",
loading = "",
},
highlight = {
title = "CratesNvimPopupTitle",
pill_text = "CratesNvimPopupPillText",
pill_border = "CratesNvimPopupPillBorder",
description = "CratesNvimPopupDescription",
created_label = "CratesNvimPopupLabel",
created = "CratesNvimPopupValue",
updated_label = "CratesNvimPopupLabel",
updated = "CratesNvimPopupValue",
downloads_label = "CratesNvimPopupLabel",
downloads = "CratesNvimPopupValue",
homepage_label = "CratesNvimPopupLabel",
homepage = "CratesNvimPopupUrl",
repository_label = "CratesNvimPopupLabel",
repository = "CratesNvimPopupUrl",
documentation_label = "CratesNvimPopupLabel",
documentation = "CratesNvimPopupUrl",
crates_io_label = "CratesNvimPopupLabel",
crates_io = "CratesNvimPopupUrl",
categories_label = "CratesNvimPopupLabel",
keywords_label = "CratesNvimPopupLabel",
version = "CratesNvimPopupVersion",
prerelease = "CratesNvimPopupPreRelease",
yanked = "CratesNvimPopupYanked",
version_date = "CratesNvimPopupVersionDate",
feature = "CratesNvimPopupFeature",
enabled = "CratesNvimPopupEnabled",
transitive = "CratesNvimPopupTransitive",
normal_dependencies_title = "CratesNvimPopupNormalDependenciesTitle",
build_dependencies_title = "CratesNvimPopupBuildDependenciesTitle",
dev_dependencies_title = "CratesNvimPopupDevDependenciesTitle",
dependency = "CratesNvimPopupDependency",
optional = "CratesNvimPopupOptional",
dependency_version = "CratesNvimPopupDependencyVersion",
loading = "CratesNvimPopupLoading",
},
keys = {
hide = { "q", "<esc>" },
open_url = { "<cr>" },
select = { "<cr>" },
select_alt = { "s" },
toggle_feature = { "<cr>" },
copy_value = { "yy" },
goto_item = { "gd", "K", "<C-LeftMouse>" },
jump_forward = { "<c-i>" },
jump_back = { "<c-o>", "<C-RightMouse>" },
},
},
src = {
insert_closing_quote = true,
text = {
prerelease = "  pre-release ",
yanked = "  yanked ",
},
coq = {
enabled = false,
name = "Crates",
},
},
null_ls = {
enabled = false,
name = "Crates",
},
}