aboutsummaryrefslogtreecommitdiff
path: root/vim/.config/nvim/lua/plugins
diff options
context:
space:
mode:
authorgyoder <70408179+gyoder@users.noreply.github.com>2025-06-14 11:41:23 +0200
committergyoder <70408179+gyoder@users.noreply.github.com>2025-06-14 11:41:23 +0200
commitbdf3cdecda3d112b14e3ceb50ce4f88862813270 (patch)
treeaec5cd7764ff726740426dd9e4897e8cdcbf97b6 /vim/.config/nvim/lua/plugins
parentd6d6dab3806f88e27990936e83c7b74d08215a9d (diff)
added existing nvim config
Diffstat (limited to 'vim/.config/nvim/lua/plugins')
-rw-r--r--vim/.config/nvim/lua/plugins/blink_config.lua11
-rw-r--r--vim/.config/nvim/lua/plugins/init.lua157
-rw-r--r--vim/.config/nvim/lua/plugins/lualine-config.lua4
-rw-r--r--vim/.config/nvim/lua/plugins/marks-config.lua36
-rw-r--r--vim/.config/nvim/lua/plugins/rust-config.lua30
-rw-r--r--vim/.config/nvim/lua/plugins/ts.lua41
6 files changed, 279 insertions, 0 deletions
diff --git a/vim/.config/nvim/lua/plugins/blink_config.lua b/vim/.config/nvim/lua/plugins/blink_config.lua
new file mode 100644
index 0000000..3c8f4cb
--- /dev/null
+++ b/vim/.config/nvim/lua/plugins/blink_config.lua
@@ -0,0 +1,11 @@
+require("blink.cmp").setup({
+ fuzzy = {
+ implementation = "prefer_rust",
+ prebuilt_binaries = {
+ download = true,
+ force_version = 'v1.2.0',
+ },
+ },
+ keymap = { preset = "enter" },
+})
+
diff --git a/vim/.config/nvim/lua/plugins/init.lua b/vim/.config/nvim/lua/plugins/init.lua
new file mode 100644
index 0000000..c6a418d
--- /dev/null
+++ b/vim/.config/nvim/lua/plugins/init.lua
@@ -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)
+
diff --git a/vim/.config/nvim/lua/plugins/lualine-config.lua b/vim/.config/nvim/lua/plugins/lualine-config.lua
new file mode 100644
index 0000000..f8a6442
--- /dev/null
+++ b/vim/.config/nvim/lua/plugins/lualine-config.lua
@@ -0,0 +1,4 @@
+require('lualine').setup {
+ options = { theme = "solarized" }
+}
+
diff --git a/vim/.config/nvim/lua/plugins/marks-config.lua b/vim/.config/nvim/lua/plugins/marks-config.lua
new file mode 100644
index 0000000..d1b4c82
--- /dev/null
+++ b/vim/.config/nvim/lua/plugins/marks-config.lua
@@ -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 = {}
+}
diff --git a/vim/.config/nvim/lua/plugins/rust-config.lua b/vim/.config/nvim/lua/plugins/rust-config.lua
new file mode 100644
index 0000000..e83007c
--- /dev/null
+++ b/vim/.config/nvim/lua/plugins/rust-config.lua
@@ -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",
+ },
+ },
+ },
+ },
+}
diff --git a/vim/.config/nvim/lua/plugins/ts.lua b/vim/.config/nvim/lua/plugins/ts.lua
new file mode 100644
index 0000000..5f1b8b0
--- /dev/null
+++ b/vim/.config/nvim/lua/plugins/ts.lua
@@ -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,
+ },
+}