This commit is contained in:
davidon-top 2023-08-02 16:39:49 +02:00
commit 9d3d05066f
80 changed files with 7776 additions and 0 deletions

1
.bckpold/after/init.lua Executable file
View file

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

View file

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

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

2
.bckpold/after/plugin/java.lua Executable file
View file

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

97
.bckpold/after/plugin/lsp.lua Executable file
View file

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

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

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

View file

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

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

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

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

View file

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

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