added existing nvim config

This commit is contained in:
gyoder 2025-06-14 11:41:23 +02:00
parent d6d6dab380
commit bdf3cdecda
24 changed files with 996 additions and 0 deletions

View file

@ -0,0 +1,11 @@
require("blink.cmp").setup({
fuzzy = {
implementation = "prefer_rust",
prebuilt_binaries = {
download = true,
force_version = 'v1.2.0',
},
},
keymap = { preset = "enter" },
})

View file

@ -0,0 +1,157 @@
vim.cmd [[packadd packer.nvim]]
local ensure_packer = function()
local fn = vim.fn
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
if fn.empty(fn.glob(install_path)) > 0 then
fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
vim.cmd [[packadd packer.nvim]]
return true
end
return false
end
local packer_bootstrap = ensure_packer()
return require('packer').startup(function(use)
use 'wbthomason/packer.nvim'
use {
'maxmx03/solarized.nvim',
config = function()
vim.o.background = 'dark'
---@type solarized
local solarized = require('solarized')
vim.o.termguicolors = true
vim.o.background = 'dark'
solarized.setup({})
vim.cmd.colorscheme 'solarized'
end
}
use {
'nvim-telescope/telescope.nvim', tag = '0.1.x',
requires = { {'nvim-lua/plenary.nvim'} }
}
use {
'nvim-treesitter/nvim-treesitter',
config = function() require("plugins/ts") end
}
use 'mbbill/undotree'
use 'mfussenegger/nvim-lint'
use {
'nvim-lualine/lualine.nvim',
requires = { 'nvim-tree/nvim-web-devicons', opt = true },
config = function() require('plugins/lualine-config') end
}
use {
'm4xshen/autoclose.nvim',
config = function() require("autoclose").setup() end
}
use {
'CRAG666/betterTerm.nvim',
config = function() require('betterTerm').setup() end
}
use {
'anurag3301/nvim-platformio.lua',
requires = {
{'akinsho/nvim-toggleterm.lua'},
{'nvim-telescope/telescope.nvim'},
{'nvim-lua/plenary.nvim'},
},
config = function()
if not vim.g.is_purdue then
require('platformio').setup({
lsp = "clangd" --default: ccls, other option: clangd
-- If you pick clangd, it also creates compile_commands.json
})
end
end
}
use {
"chentoast/marks.nvim",
config = function() require('plugins/marks-config') end
}
use {
"nvim-neo-tree/neo-tree.nvim",
branch = "v3.x",
requires = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
"MunifTanjim/nui.nvim",
-- "3rd/image.nvim", -- Optional image support in preview window: See `# Preview Mode` for more information
}
}
use { "nvim-tree/nvim-web-devicons" }
use { "MunifTanjim/nui.nvim" }
use { 'rafamadriz/friendly-snippets' }
use {
'saghen/blink.cmp',
run = 'cargo build --release',
config = function()
require("plugins/blink_config")
end
}
use {
'f-person/git-blame.nvim',
config = function ()
require("gitblame").setup {
gitblame_delay = 1
}
end
}
use {
'mrcjkb/rustaceanvim',
config = function() require('plugins/rust-config') end
}
use {
'pwntester/octo.nvim',
requires = {
'nvim-lua/plenary.nvim',
'nvim-telescope/telescope.nvim',
-- OR 'ibhagwan/fzf-lua',
-- OR 'folke/snacks.nvim',
'nvim-tree/nvim-web-devicons',
},
config = function ()
require"octo".setup()
end
}
use {
"NeogitOrg/neogit",
config = function ()
require("neogit").setup {}
end
}
use "mfussenegger/nvim-dap"
use 'theHamsta/nvim-dap-virtual-text'
use { "rcarriga/nvim-dap-ui", requires = {"mfussenegger/nvim-dap", "nvim-neotest/nvim-nio"} }
use 'wakatime/vim-wakatime'
use { "geigerzaehler/tree-sitter-jinja2" }
use "echasnovski/mini.base16"
------------------------
if packer_bootstrap then
require('packer').sync()
end
end)

View file

@ -0,0 +1,4 @@
require('lualine').setup {
options = { theme = "solarized" }
}

View file

@ -0,0 +1,36 @@
require'marks'.setup {
-- whether to map keybinds or not. default true
default_mappings = true,
-- which builtin marks to show. default {}
builtin_marks = { ".", "<", ">", "^" },
-- whether movements cycle back to the beginning/end of buffer. default true
cyclic = true,
-- whether the shada file is updated after modifying uppercase marks. default false
force_write_shada = false,
-- how often (in ms) to redraw signs/recompute mark positions.
-- higher values will have better performance but may cause visual lag,
-- while lower values may cause performance penalties. default 150.
refresh_interval = 250,
-- sign priorities for each type of mark - builtin marks, uppercase marks, lowercase
-- marks, and bookmarks.
-- can be either a table with all/none of the keys, or a single number, in which case
-- the priority applies to all marks.
-- default 10.
sign_priority = { lower=10, upper=15, builtin=8, bookmark=20 },
-- disables mark tracking for specific filetypes. default {}
excluded_filetypes = {},
-- disables mark tracking for specific buftypes. default {}
excluded_buftypes = {},
-- marks.nvim allows you to configure up to 10 bookmark groups, each with its own
-- sign/virttext. Bookmarks can be used to group together positions and quickly move
-- across multiple buffers. default sign is '!@#$%^&*()' (from 0 to 9), and
-- default virt_text is "".
bookmark_0 = {
sign = "",
virt_text = "hello world",
-- explicitly prompt for a virtual line annotation when setting a bookmark from this group.
-- defaults to false.
annotate = false,
},
mappings = {}
}

View file

@ -0,0 +1,30 @@
local bufnr = vim.api.nvim_get_current_buf()
vim.keymap.set(
"n",
"<leader>a",
function()
vim.cmd.RustLsp('codeAction') -- supports rust-analyzer's grouping
-- or vim.lsp.buf.codeAction() if you don't want grouping.
end,
{ silent = true, buffer = bufnr }
)
vim.keymap.set(
"n",
"K", -- Override Neovim's built-in hover keymap with rustaceanvim's hover actions
function()
vim.cmd.RustLsp({'hover', 'actions'})
end,
{ silent = true, buffer = bufnr }
)
vim.g.rustaceanvim = {
server = {
settings = {
["rust-analyzer"] = {
checkOnSave = {
command = "clippy",
},
},
},
},
}

View file

@ -0,0 +1,41 @@
require'nvim-treesitter.configs'.setup {
-- A list of parser names, or "all" (the listed parsers MUST always be installed)
ensure_installed = { "c", "lua", "vim", "vimdoc", "query", "markdown", "markdown_inline" },
-- 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 (or "all")
-- ignore_install = { "javascript" },
---- 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 = {
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
-- disable = { "c", "rust" },
-- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files
disable = function(lang, buf)
local max_filesize = 100 * 1024 -- 100 KB
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
if ok and stats and stats.size > max_filesize then
return true
end
end,
-- 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,
},
}