aboutsummaryrefslogtreecommitdiff
path: root/mirenn/home/files/dotfiles/.config/nvim/lua/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'mirenn/home/files/dotfiles/.config/nvim/lua/plugins')
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/comment.lua6
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/gitsigns.lua57
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/indent-blankline.lua16
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazy.lua12
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazydev.lua5
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lspsaga.lua34
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lualine.lua32
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/mini-starter.lua227
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neopywal.lua26
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neorg.lua127
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/noice.lua28
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-autopairs.lua6
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-cmp.lua64
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-lspconfig.lua138
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-treesitter.lua54
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/oil.lua63
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/parinfer-rust.lua6
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/telescope.lua42
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/todo-comments.lua36
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/toggleterm.lua64
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-highlightedyank.lua8
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-illuminate.lua5
-rw-r--r--mirenn/home/files/dotfiles/.config/nvim/lua/plugins/which-key.lua25
23 files changed, 1081 insertions, 0 deletions
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/comment.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/comment.lua
new file mode 100644
index 0000000..559fd3c
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/comment.lua
@@ -0,0 +1,6 @@
+return {
+ "numToStr/Comment.nvim",
+ lazy = true,
+ event = { "BufReadPost", "BufWritePost", "BufNewFile" },
+ opts = {}
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/gitsigns.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/gitsigns.lua
new file mode 100644
index 0000000..2df9a2e
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/gitsigns.lua
@@ -0,0 +1,57 @@
+local opts = {
+ signs = {
+ add = { text = '┃' },
+ change = { text = '┃' },
+ delete = { text = '_' },
+ topdelete = { text = '‾' },
+ changedelete = { text = '~' },
+ untracked = { text = '┆' },
+ },
+ signs_staged = {
+ add = { text = '┃' },
+ change = { text = '┃' },
+ delete = { text = '_' },
+ topdelete = { text = '‾' },
+ changedelete = { text = '~' },
+ untracked = { text = '┆' },
+ },
+ signs_staged_enable = true,
+ signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
+ numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
+ linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
+ word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
+ watch_gitdir = {
+ follow_files = true
+ },
+ auto_attach = true,
+ attach_to_untracked = false,
+ current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
+ current_line_blame_opts = {
+ virt_text = true,
+ virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
+ delay = 1000,
+ ignore_whitespace = false,
+ virt_text_priority = 100,
+ use_focus = true,
+ },
+ current_line_blame_formatter = '<author>, <author_time:%R> - <summary>',
+ sign_priority = 6,
+ update_debounce = 100,
+ status_formatter = nil, -- Use default
+ max_file_length = 40000, -- Disable if file is longer than this (in lines)
+ preview_config = {
+ -- Options passed to nvim_open_win
+ style = 'minimal',
+ relative = 'cursor',
+ row = 0,
+ col = 1
+ },
+}
+
+return {
+ "lewis6991/gitsigns.nvim",
+ lazy = true,
+ event = "VeryLazy",
+ -- event = { "BufReadPost", "BufWritePost", "BufNewFile" },
+ opts = opts,
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/indent-blankline.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/indent-blankline.lua
new file mode 100644
index 0000000..af9cff8
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/indent-blankline.lua
@@ -0,0 +1,16 @@
+return {
+ "lukas-reineke/indent-blankline.nvim",
+ lazy = true,
+ event = { "BufReadPost", "BufWritePost", "BufNewFile" },
+ main = "ibl",
+ ---@module "ibl"
+ ---@type ibl.config
+ opts = {
+ exclude = {
+ filetypes = {
+ "dashboard",
+ "norg"
+ },
+ },
+ },
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazy.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazy.lua
new file mode 100644
index 0000000..d48db7e
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazy.lua
@@ -0,0 +1,12 @@
+local init = function()
+ local keymap = vim.keymap
+ keymap.set("n", "<Space>p", ":Lazy home<Enter>",
+ { noremap = true, silent = true, desc = "Plugin Manager (Lazy)" })
+end
+
+
+return {
+ "folke/lazy.nvim",
+ lazy = false,
+ init = init
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazydev.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazydev.lua
new file mode 100644
index 0000000..704d963
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazydev.lua
@@ -0,0 +1,5 @@
+return {
+ "folke/lazydev.nvim",
+ ft = "lua", -- only load on lua files
+ opts = {}
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lspsaga.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lspsaga.lua
new file mode 100644
index 0000000..86e949f
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lspsaga.lua
@@ -0,0 +1,34 @@
+local config = function()
+ vim.diagnostic.config({
+ severity_sort = true,
+ virtual_lines = true,
+ virtual_text = false
+ })
+ require("lspsaga").setup({
+ ui = {
+ code_action = "",
+ },
+ outline = {
+ keys = {
+ toggle_or_jump = "<Enter>"
+ }
+ },
+ finder = {
+ keys = {
+ toggle_or_open = "<Enter>",
+ shuttle = "<Tab>",
+ }
+ },
+ })
+end
+
+return {
+ "nvimdev/lspsaga.nvim",
+ lazy = true,
+ event = { "BufReadPost", "BufWritePost", "BufNewFile" },
+ config = config,
+ dependencies = {
+ "nvim-treesitter/nvim-treesitter", -- optional
+ "nvim-tree/nvim-web-devicons", -- optional
+ },
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lualine.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lualine.lua
new file mode 100644
index 0000000..495822e
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lualine.lua
@@ -0,0 +1,32 @@
+local opts = {
+ options = {
+ theme = "auto",
+ globalstatus = true,
+ disabled_filetypes = { "toggleterm", "lazy", "oil", "dashboard", "TelescopePrompt", "oil_preview", "ministarter" }
+ },
+ sections = {
+ lualine_a = { "mode" },
+ lualine_b = { "branch", "diff",
+ {
+ "diagnostics",
+ sections = { "error", "warn", "info", "hint" },
+ symbols = { error = " ", warn = " ", info = " ", hint = " " },
+ }
+ },
+ lualine_c = {
+ {
+ require("lazy.status").updates,
+ cond = require("lazy.status").has_updates,
+ color = { fg = "#ff9e64" },
+ },
+ },
+ },
+}
+
+return {
+ "nvim-lualine/lualine.nvim",
+ lazy = true,
+ event = "VeryLazy",
+ -- event = { "BufReadPost", "BufWritePost", "BufNewFile" },
+ opts = opts,
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/mini-starter.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/mini-starter.lua
new file mode 100644
index 0000000..67aae04
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/mini-starter.lua
@@ -0,0 +1,227 @@
+Headers = {
+ [[
+ ███╗ ██╗ ███████╗ ██████╗ ██╗ ██╗ ██╗ ███╗ ███╗
+ ████╗ ██║ ██╔════╝██╔═══██╗ ██║ ██║ ██║ ████╗ ████║
+ ██╔██╗ ██║ █████╗ ██║ ██║ ██║ ██║ ██║ ██╔████╔██║
+ ██║╚██╗██║ ██╔══╝ ██║ ██║ ╚██╗ ██╔╝ ██║ ██║╚██╔╝██║
+ ██║ ╚████║ ███████╗╚██████╔╝ ╚████╔╝ ██║ ██║ ╚═╝ ██║
+ ╚═╝ ╚═══╝ ╚══════╝ ╚═════╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝
+ ]],
+ [[
+ ███▄ █ ▓█████ ▒█████ ██▒ █▓ ██▓ ███▄ ▄███▓
+ ██ ▀█ █ ▓█ ▀ ▒██▒ ██▒▓██░ █▒▓██▒▓██▒▀█▀ ██▒
+ ▓██ ▀█ ██▒▒███ ▒██░ ██▒ ▓██ █▒░▒██▒▓██ ▓██░
+ ▓██▒ ▐▌██▒▒▓█ ▄ ▒██ ██░ ▒██ █░░░██░▒██ ▒██
+ ▒██░ ▓██░░▒████▒░ ████▓▒░ ▒▀█░ ░██░▒██▒ ░██▒
+ ░ ▒░ ▒ ▒ ░░ ▒░ ░░ ▒░▒░▒░ ░ ▐░ ░▓ ░ ▒░ ░ ░
+ ░ ░░ ░ ▒░ ░ ░ ░ ░ ▒ ▒░ ░ ░░ ▒ ░░ ░ ░
+ ░ ░ ░ ░ ░ ░ ░ ▒ ░░ ▒ ░░ ░
+ ░ ░ ░ ░ ░ ░ ░ ░
+ ░
+ ]],
+ [[
+ ██████ █████ █████ █████ ███
+ ░░██████ ░░███ ░░███ ░░███ ░░░
+ ░███░███ ░███ ██████ ██████ ░███ ░███ ████ █████████████
+ ░███░░███░███ ███░░███ ███░░███ ░███ ░███ ░░███ ░░███░░███░░███
+ ░███ ░░██████ ░███████ ░███ ░███ ░░███ ███ ░███ ░███ ░███ ░███
+ ░███ ░░█████ ░███░░░ ░███ ░███ ░░░█████░ ░███ ░███ ░███ ░███
+ █████ ░░█████░░██████ ░░██████ ░░███ █████ █████░███ █████
+ ░░░░░ ░░░░░ ░░░░░░ ░░░░░░ ░░░ ░░░░░ ░░░░░ ░░░ ░░░░░
+ ]],
+ [[
+ ▐ ▄ ▄▄▄ . ▌ ▐·▪ • ▌ ▄ ·.
+ •█▌▐█▀▄.▀· ▄█▀▄ ▪█·█▌██ ·██ ▐███▪
+ ▐█▐▐▌▐▀▀▪▄▐█▌.▐▌▐█▐█•▐█·▐█ ▌▐▌▐█·
+ ██▐█▌▐█▄▄▌▐█▌.▐▌ ███ ▐█▌██ ██▌▐█▌
+ ▀▀ █▪ ▀▀▀ ▀█▄▀▪. ▀ ▀▀▀▀▀ █▪▀▀▀
+ ]],
+ [[
+ __ __ ________ ______ __ __ ______ __ __
+ | \ | \ \/ \| \ | \ \ \ / \
+ | ▓▓\ | ▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓\ ▓▓ | ▓▓\▓▓▓▓▓▓ ▓▓\ / ▓▓
+ | ▓▓▓\| ▓▓ ▓▓__ | ▓▓ | ▓▓ ▓▓ | ▓▓ | ▓▓ | ▓▓▓\ / ▓▓▓
+ | ▓▓▓▓\ ▓▓ ▓▓ \ | ▓▓ | ▓▓\▓▓\ / ▓▓ | ▓▓ | ▓▓▓▓\ ▓▓▓▓
+ | ▓▓\▓▓ ▓▓ ▓▓▓▓▓ | ▓▓ | ▓▓ \▓▓\ ▓▓ | ▓▓ | ▓▓\▓▓ ▓▓ ▓▓
+ | ▓▓ \▓▓▓▓ ▓▓_____| ▓▓__/ ▓▓ \▓▓ ▓▓ _| ▓▓_| ▓▓ \▓▓▓| ▓▓
+ | ▓▓ \▓▓▓ ▓▓ \\▓▓ ▓▓ \▓▓▓ | ▓▓ \ ▓▓ \▓ | ▓▓
+ \▓▓ \▓▓\▓▓▓▓▓▓▓▓ \▓▓▓▓▓▓ \▓ \▓▓▓▓▓▓\▓▓ \▓▓
+ ]],
+ [[
+ ▀███▄ ▀███▀███▀▀▀███ ▄▄█▀▀██▄ ▀████▀ ▀███▀████▀████▄ ▄███▀
+ ███▄ █ ██ ▀█▄██▀ ▀██▄ ▀██ ▄█ ██ ████ ████
+ █ ███ █ ██ █ ██▀ ▀██ ██▄ ▄█ ██ █ ██ ▄█ ██
+ █ ▀██▄ █ ██████ ██ ██ ██▄ █▀ ██ █ █▓ █▀ ██
+ █ ▀██▄▓ ██ █ ▄█ ██ ▀▓█ ▓▀ █▓ ▓ █▓▄█▀ ██
+ ▓ ▓█▓ █▓ ▄███ ██▀ ▓██▄ █▓ ▓ ▀▓█▀ ██
+ ▓ ▀▓▓▓▓ ▓▓ ▓ ▓██ ▓█▓ ▓▓ ▓▀ ▓▓ ▓ ▓▓▓▓▀ ▓▓
+ ▓ ▓▓▓ ▓▓ ▓▓█▓▓▓ ▓▓▓ ▓▓▒▒ ▒▓ ▒ ▀▓▓▀ ▓▓
+ ▒ ▒ ▒ ▒▓▓▒ ▒▒▒▓▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒▓▒ ▒▒ ▒▒▒ ▒ ▒ ▒▒▒
+ ]],
+ [[
+ ⣴⣶⣤⡤⠦⣤⣀⣤⠆ ⣈⣭⣿⣶⣿⣦⣼⣆
+ ⠉⠻⢿⣿⠿⣿⣿⣶⣦⠤⠄⡠⢾⣿⣿⡿⠋⠉⠉⠻⣿⣿⡛⣦
+ ⠈⢿⣿⣟⠦ ⣾⣿⣿⣷ ⠻⠿⢿⣿⣧⣄
+ ⣸⣿⣿⢧ ⢻⠻⣿⣿⣷⣄⣀⠄⠢⣀⡀⠈⠙⠿⠄
+ ⢠⣿⣿⣿⠈ ⣻⣿⣿⣿⣿⣿⣿⣿⣛⣳⣤⣀⣀
+ ⢠⣧⣶⣥⡤⢄ ⣸⣿⣿⠘ ⢀⣴⣿⣿⡿⠛⣿⣿⣧⠈⢿⠿⠟⠛⠻⠿⠄
+ ⣰⣿⣿⠛⠻⣿⣿⡦⢹⣿⣷ ⢊⣿⣿⡏ ⢸⣿⣿⡇ ⢀⣠⣄⣾⠄
+ ⣠⣿⠿⠛ ⢀⣿⣿⣷⠘⢿⣿⣦⡀ ⢸⢿⣿⣿⣄ ⣸⣿⣿⡇⣪⣿⡿⠿⣿⣷⡄
+ ⠙⠃ ⣼⣿⡟ ⠈⠻⣿⣿⣦⣌⡇⠻⣿⣿⣷⣿⣿⣿ ⣿⣿⡇ ⠛⠻⢷⣄
+ ⢻⣿⣿⣄ ⠈⠻⣿⣿⣿⣷⣿⣿⣿⣿⣿⡟ ⠫⢿⣿⡆
+ ⠻⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⡟⢀⣀⣤⣾⡿⠃
+ ]],
+ [[
+ ,-. _,---._ __ / \
+ / ) .-' `./ / \
+ ( ( ,' `/ /|
+ \ `-" \'\ / |
+ `. , \ \ / |
+ /`. ,'-`----Y |
+ ( ; | '
+ | ,-. ,-' | /
+ | | ( | | /
+ ) | \ `.___________|/
+ `--' `--'
+ ]],
+ [[
+ |\ _,,,---,,_
+ ZZZzz /,`.-'`' -. ;-;;,_
+ |,4- ) )-,_. ,\ ( `'-'
+ '---''(_/--' `-'\_)
+ ]],
+ [[
+ ╭╮╭┬─╮╭─╮┬ ┬┬╭┬╮
+ │││├┤ │ │╰┐┌╯││││
+ ╯╰╯╰─╯╰─╯ ╰╯ ┴┴ ┴
+ ]],
+}
+
+Quotes = {
+ [[
+ I don't care that they stole my idea... I care that they don't have any of their own.
+ ~ Nikola Tesla
+ ]],
+ [[
+ Make everything as simple as possible, but not simpler.
+ ~ Albert Einstein
+ ]],
+ [[
+ Code never lies, comments sometimes do.
+ ~ Ron Jeffries
+ ]],
+ [[
+ Good code is its own best documentation.
+ ~ Steve McConnell
+ ]],
+ [[
+ I do not fear computers. I fear the lack of them.
+ ~ Isaac Asimov
+ ]],
+ [[
+ If a machine is expected to be infallible, it cannot also be intelligent.
+ ~ Alan Turing
+ ]],
+ [[
+ Mathematical reasoning may be regarded.
+ ~ Alan Turing
+ ]],
+ [[
+ Anti-social behavior is a trait of intelligence in a world full of conformists.
+ ~ Nikola Tesla
+ ]],
+ [[
+ We are very, very small, but we are profoundly capable of very, very big things.
+ ~ Stephen Hawking
+ ]],
+ [[
+ Quiet people have the loudest minds.
+ ~ Stephen Hawking
+ ]],
+ [[
+ An idiot admires complexity, a genius admires simplicity.
+ ~ Terry Davis
+ ]],
+ [[
+ It's hardware that makes a machine fast. It's software that makes a fast machine slow.
+ ~ Craig Reucassel
+ ]],
+ [[
+ Computer science is no more about computers than astronomy is about telescopes.
+ ~ Edsger Dijkstra
+ ]],
+ [[
+ An algorithm must be seen to be believed.
+ ~ Donald Knuth
+ ]],
+ [[
+ In theory there is no difference between theory and practice.
+ In practice there is.
+ ~ Yogi Berra
+ ]],
+ [[
+ If Java had true garbage collection, most programs would delete themselves upon execution.
+ ~ Robert Sewell
+ ]],
+ [[
+ If debugging is the process of removing software bugs,
+ then programming must be the process of putting them in.
+ ~ Edsger Dijkstra
+ ]],
+ [[
+ Most of you are familiar with the virtues of a programmer.
+ There are three, of course: laziness, impatience, and hubris.
+ ~ Larry Wall
+ ]],
+ [[
+ The question of whether computers can think is like the question of whether submarines can swim.
+ ~ Edsger Dijkstra
+ ]],
+ [[
+ Of course, I'd also suggest that whoever was the genius who thought it was a good idea to read
+ things ONE F*CKING BYTE AT A TIME with system calls for each byte should be retroactively aborted.
+ Who the f*ck does idiotic things like that? How did they not die as babies, considering that they
+ were likely too stupid to find a tit to suck on?
+ ~ Linus Torvalds
+ ]]
+}
+
+
+math.randomseed(os.time())
+
+local header = function()
+ return Headers[math.random(#Headers)]
+end
+
+local footer = function()
+ return Quotes[math.random(#Quotes)]
+end
+
+
+local config = function()
+ local starter = require("mini.starter")
+ vim.keymap.set("n", "<Space>d", starter.open, { desc = "Dashboard" })
+ starter.setup({
+ autoopen = true,
+ evaluate_single = false,
+ items = {
+ starter.sections.recent_files(5, false, true),
+ { name = "Plugin Manager", action = "Lazy", section = "Actions" },
+ { name = "File Browser", action = "Oil --float", section = "Actions" },
+ { name = "Neorg Index", action = "Neorg index", section = "Actions" },
+ { name = 'Edit new buffer', action = 'enew', section = 'Actions' },
+ { name = 'Quit Neovim', action = 'qall', section = 'Actions' },
+ },
+ header = header,
+ footer = footer,
+ content_hooks = nil,
+ query_updaters = "abcdefghijklmnopqrstuvwxyz0123456789_-.",
+ silent = false,
+ })
+end
+
+return {
+ "echasnovski/mini.starter",
+ lazy = false,
+ config = config
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neopywal.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neopywal.lua
new file mode 100644
index 0000000..7c37dbe
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neopywal.lua
@@ -0,0 +1,26 @@
+local init = function()
+ vim.cmd.colorscheme("neopywal")
+end
+
+local config = function()
+ require("neopywal").setup({
+ plugins = {
+ treesitter = true
+ },
+ custom_colors = {},
+ custom_highlights = {},
+ use_palette = {
+ light = "wallust",
+ dark = "wallust",
+ },
+ })
+end
+
+return {
+ "RedsXDD/neopywal.nvim",
+ lazy = false,
+ name = "neopywal",
+ init = init,
+ config = config,
+ priority = 1000,
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neorg.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neorg.lua
new file mode 100644
index 0000000..b6480b8
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neorg.lua
@@ -0,0 +1,127 @@
+local config = function()
+ vim.api.nvim_create_autocmd("Filetype", {
+ pattern = "norg",
+ callback = function()
+ -- remap keybinds
+ vim.keymap.set("n", "<Space>nn", "<Plug>(neorg.dirman.new-note)", { buffer = true })
+ vim.keymap.set("n", "<Space>tc", "<cmd>Neorg toc<CR>", { buffer = true })
+
+ vim.keymap.set("i", "<C-d>", "<Plug>(neorg.promo.demote)", { buffer = true })
+ vim.keymap.set("i", "<C-t>", "<Plug>(neorg.promo.promote)", { buffer = true })
+ vim.keymap.set("i", "<M-CR>", "<Plug>(neorg.itero.next-iteration)", { buffer = true })
+ vim.keymap.set("i", "<M-d>", "<Plug>(neorg.tempus.insert-date.insert-mode)", { buffer = true })
+
+ vim.keymap.set("n", "<.", "<Plug>(neorg.promo.demote)", { buffer = true })
+ vim.keymap.set("n", "<<", "<Plug>(neorg.promo.demote.nested)", { buffer = true })
+ vim.keymap.set("n", "<C-Space>", "<Plug>(neorg.qol.todo-items.todo.task-cycle)",
+ { buffer = true })
+ vim.keymap.set("n", "<CR>", "<Plug>(neorg.esupports.hop.hop-link)", { buffer = true })
+ vim.keymap.set("n", "<Space>cm", "<Plug>(neorg.looking-glass.magnify-code-block)",
+ { buffer = true })
+ vim.keymap.set("n", "<Space>id", "<Plug>(neorg.tempus.insert-date)", { buffer = true })
+ vim.keymap.set("n", "<Space>li", "<Plug>(neorg.pivot.list.invert)", { buffer = true })
+ vim.keymap.set("n", "<Space>lt", "<Plug>(neorg.pivot.list.toggle)", { buffer = true })
+ vim.keymap.set("n", "<Space>ma", "<Plug>(neorg.qol.todo-items.todo.task-ambiguous)",
+ { buffer = true })
+ vim.keymap.set("n", "<Space>mc", "<Plug>(neorg.qol.todo-items.todo.task-cancelled)",
+ { buffer = true })
+ vim.keymap.set("n", "<Space>md", "<Plug>(neorg.qol.todo-items.todo.task-done)", { buffer = true })
+ vim.keymap.set("n", "<Space>mh", "<Plug>(neorg.qol.todo-items.todo.task-on-hold)",
+ { buffer = true })
+ vim.keymap.set("n", "<Space>mi", "<Plug>(neorg.qol.todo-items.todo.task-important)",
+ { buffer = true })
+ vim.keymap.set("n", "<Space>mp", "<Plug>(neorg.qol.todo-items.todo.task-pending)",
+ { buffer = true })
+ vim.keymap.set("n", "<Space>mr", "<Plug>(neorg.qol.todo-items.todo.task-recurring)",
+ { buffer = true })
+ vim.keymap.set("n", "<Space>mu", "<Plug>(neorg.qol.todo-items.todo.task-undone)",
+ { buffer = true })
+ vim.keymap.set("n", "<M-CR>", "<Plug>(neorg.esupports.hop.hop-link.vsplit)", { buffer = true })
+ vim.keymap.set("n", "<M-t>", "<Plug>(neorg.esupports.hop.hop-link.tab-drop)", { buffer = true })
+ vim.keymap.set("n", ">.", "Plug>(neorg.promo.promote)", { buffer = true })
+ vim.keymap.set("n", ">>", "Plug>(neorg.promo.promote.nested)", { buffer = true })
+
+ vim.keymap.set("v", "<", "<Plug>(neorg.promo.demote.range)", { buffer = true })
+ vim.keymap.set("v", ">", "<Plug>(neorg.promo.promote.range)", { buffer = true })
+ end,
+ })
+
+ require("neorg").setup({
+ load = {
+ ["core.defaults"] = {
+ config = {
+ disable = {
+ "core.esupports.metagen",
+ "core.journal",
+ }
+ }
+ },
+ ["core.keybinds"] = {
+ config = {
+ default_keybinds = false
+ }
+ },
+ ["core.summary"] = {},
+ -- ["core.latex.renderer"] = {},
+ ["core.export"] = {},
+ ["core.dirman"] = {
+ config = {
+ default_workspace = "documents",
+ workspaces = {
+ documents = "~/Documents/neorg",
+ physics = "~/Documents/neorg/uni/fisica",
+ asd = "~/Documents/neorg/uni/algoritmi-strutture-dati",
+ },
+ index = "index.norg"
+ }
+ },
+ ["core.completion"] = {
+ config = {
+ engine = "nvim-cmp"
+ }
+ },
+ ["core.journal"] = {
+ config = {
+ journal_folder = "journal",
+ workspace = "documents"
+ }
+ },
+ ["core.esupports.metagen"] = {
+ config = {
+ timezone = "implicit-local",
+ type = "auto"
+ }
+ },
+ ["core.concealer"] = {
+ config = {
+ folds = false,
+ icons = {
+ heading = {
+ icons = { "󰲠", "󰲢", "󰲤", "󰲦", "󰲨", "󰲪" },
+ },
+ todo = {
+ cancelled = { icon = "" },
+ pending = { icon = "󰔛" },
+ uncertain = { icon = "" },
+ urgent = { icon = "" },
+ },
+ code_block = {
+ conceal = true,
+ }
+ }
+ }
+ }
+ }
+ })
+end
+
+return {
+ "nvim-neorg/neorg",
+ enabled = false,
+ lazy = true,
+ ft = "norg",
+ cmd = "Neorg",
+ version = "*", -- Pin Neorg to the latest stable release
+ config = config,
+ -- dependencies = { "3rd/image.nvim" }
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/noice.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/noice.lua
new file mode 100644
index 0000000..43a12b2
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/noice.lua
@@ -0,0 +1,28 @@
+local opts = {
+ lsp = {
+ -- override markdown rendering so that **cmp** and other plugins use **Treesitter**
+ override = {
+ ["vim.lsp.util.convert_input_to_markdown_lines"] = true,
+ ["vim.lsp.util.stylize_markdown"] = true,
+ ["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp
+ },
+ },
+ -- you can enable a preset for easier configuration
+ presets = {
+ bottom_search = true, -- use a classic bottom cmdline for search
+ command_palette = true, -- position the cmdline and popupmenu together
+ long_message_to_split = true, -- long messages will be sent to a split
+ inc_rename = false, -- enables an input dialog for inc-rename.nvim
+ lsp_doc_border = true, -- add a border to hover docs and signature help
+ },
+}
+
+return {
+ "folke/noice.nvim",
+ lazy = true,
+ event = "VeryLazy",
+ opts = opts,
+ dependencies = {
+ "MunifTanjim/nui.nvim",
+ },
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-autopairs.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-autopairs.lua
new file mode 100644
index 0000000..d92a8cc
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-autopairs.lua
@@ -0,0 +1,6 @@
+return {
+ "windwp/nvim-autopairs",
+ lazy = true,
+ event = "InsertEnter",
+ config = true
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-cmp.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-cmp.lua
new file mode 100644
index 0000000..b7d71a3
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-cmp.lua
@@ -0,0 +1,64 @@
+local config = function()
+ local cmp = require("cmp")
+ vim.opt.completeopt = "menu,menuone"
+
+ cmp.setup({
+ formatting = {
+ expandable_indicator = false,
+ fields = { "abbr", "kind" },
+ format = require("lspkind").cmp_format({
+ mode = "text_symbol",
+ maxwidth = function() return math.floor(0.45 * vim.o.columns) end,
+ ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first)
+ before = function(_, vim_item)
+ vim_item.menu = ""
+ return vim_item
+ end
+ })
+ },
+ snippet = {
+ expand = function(args)
+ vim.snippet.expand(args.body)
+ end,
+ },
+ window = {
+ completion = cmp.config.window.bordered(),
+ documentation = cmp.config.window.bordered(),
+ },
+ mapping = {
+ ["<TAB>"] = cmp.mapping.select_next_item(),
+ ["<C-b>"] = cmp.mapping.scroll_docs(-4),
+ ["<C-f>"] = cmp.mapping.scroll_docs(4),
+ ["<C-Space>"] = cmp.mapping.complete(),
+ ["<C-e>"] = cmp.mapping.abort(),
+ ["<CR>"] = cmp.mapping.confirm({ select = true }),
+ },
+ sources = cmp.config.sources(
+ {
+ { name = "lazydev", group_index = 0 }
+ }, {
+ { name = "neorg" }
+ }, {
+ { name = "nvim_lsp" },
+ }, {
+ { name = "path" },
+ }, {
+ { name = "buffer" },
+ }
+ )
+ })
+end
+
+return {
+ "hrsh7th/nvim-cmp",
+ lazy = true,
+ event = "InsertEnter",
+ config = config,
+ dependencies = {
+ "neovim/nvim-lspconfig",
+ "onsails/lspkind.nvim",
+ "hrsh7th/cmp-nvim-lsp",
+ "hrsh7th/cmp-buffer",
+ "hrsh7th/cmp-path",
+ },
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-lspconfig.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-lspconfig.lua
new file mode 100644
index 0000000..4c69816
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-lspconfig.lua
@@ -0,0 +1,138 @@
+local config = function()
+ local lsp = vim.lsp
+ local capabilities = require("cmp_nvim_lsp").default_capabilities()
+
+ -- setting custom signs
+ vim.diagnostic.config({
+ signs = {
+ text = {
+ [vim.diagnostic.severity.ERROR] = '',
+ [vim.diagnostic.severity.WARN] = '',
+ [vim.diagnostic.severity.HINT] = '',
+ [vim.diagnostic.severity.INFO] = '',
+ },
+ linehl = {
+ [vim.diagnostic.severity.ERROR] = 'ErrorMsg',
+ },
+ numhl = {
+ [vim.diagnostic.severity.WARN] = 'WarningMsg',
+ },
+ },
+ })
+
+ vim.api.nvim_create_autocmd('LspAttach', {
+ callback = function(ev)
+ local client = lsp.get_client_by_id(ev.data.client_id)
+ local keymap = vim.keymap
+ local opts = { noremap = true, silent = true, buffer = ev.buf, desc = "" }
+
+ -- setting custom keymaps
+ opts.desc = "Finder"
+ keymap.set("n", "<Space>lf", ":Lspsaga finder<Enter>", opts) -- go to definition
+ opts.desc = "Peek Definition (Lspsaga)"
+ keymap.set("n", "<Space>lp", ":Lspsaga peek_definition<Enter>", opts) -- peak definition
+ opts.desc = "Goto Definition (Lspsaga)"
+ keymap.set("n", "<Space>lg", ":Lspsaga goto_definition<Enter>", opts) -- go to definition
+ opts.desc = "Code Action (Lspsaga)"
+ keymap.set("n", "<Space>la", ":Lspsaga code_action<Enter>", opts) -- see available code actions
+ opts.desc = "Rename (Lspsaga)"
+ keymap.set("n", "<Space>lr", ":Lspsaga rename<Enter>", opts) -- smart rename
+ opts.desc = "Hover Documentation (Lspsaga)"
+ keymap.set("n", "<Space>lk", lsp.buf.hover, opts) -- show documentation for what is under cursor
+ opts.desc = "Outline (Lspsaga)"
+ keymap.set("n", "<Space>lo", ":Lspsaga outline<Enter>", opts) -- show outline
+ opts.desc = "Diagnostic (Lspsaga)"
+ keymap.set("n", "<Space>ld", ":Lspsaga show_workspace_diagnostics<Enter>", opts) -- show diagnostics
+
+ -- enable auto formatting on save
+ if client ~= nil and client:supports_method("textDocument/formatting") then
+ vim.api.nvim_create_autocmd("BufWritePre", {
+ buffer = ev.buf,
+ callback = function()
+ lsp.buf.format({ async = true })
+ end,
+ })
+ end
+ end
+ })
+
+ vim.api.nvim_create_autocmd('LspDetach', {
+ callback = function(ev)
+ local client = lsp.get_client_by_id(ev.data.client_id)
+ local keymap = vim.keymap
+ keymap.del("n", "<Space>lf")
+ keymap.del("n", "<Space>lp")
+ keymap.del("n", "<Space>lg")
+ keymap.del("n", "<Space>la")
+ keymap.del("n", "<Space>lr")
+ keymap.del("n", "<Space>lk")
+ keymap.del("n", "<Space>lo")
+ keymap.del("n", "<Space>ld")
+ if client ~= nil and client:supports_method('textDocument/formatting') then
+ vim.api.nvim_clear_autocmds({
+ event = 'BufWritePre',
+ buffer = ev.buf,
+ })
+ end
+ end,
+ })
+
+ -- C/C++
+ lsp.enable("clangd")
+ lsp.config("clangd", {
+ capabilities = capabilities,
+ })
+ -- Rust
+ lsp.enable("rust_analyzer")
+ lsp.config("rust_analyzer", {
+ capabilities = capabilities,
+ })
+ -- Haskell
+ lsp.enable("hls")
+ lsp.config("hls", {
+ capabilities = capabilities,
+ settings = {
+ ['haskell'] = {
+ cabalFormattingProvider = "cabalfmt",
+ formattingProvider = "ormolu"
+ },
+ },
+ })
+ -- Lua
+ lsp.enable("lua_ls")
+ lsp.config("lua_ls", {
+ capabilities = capabilities,
+ })
+ -- JavaScript/Typescript
+ lsp.enable("ts_ls")
+ lsp.config("ts_ls", {
+ capabilities = capabilities,
+ })
+ -- CSS
+ lsp.enable("cssls")
+ lsp.config("cssls", {
+ capabilities = capabilities,
+ })
+ -- Meson
+ lsp.enable("mesonlsp")
+ lsp.config("mesonlsp", {
+ capabilities = capabilities,
+ })
+ -- Zig
+ lsp.enable("zls")
+ lsp.config("zls", {
+ capabilities = capabilities,
+ })
+ -- Python
+ lsp.enable("pyright")
+ lsp.config("pyright", {
+ capabilities = capabilities,
+ })
+end
+
+return {
+ "neovim/nvim-lspconfig",
+ config = config,
+ lazy = true,
+ event = { "FileType" },
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-treesitter.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-treesitter.lua
new file mode 100644
index 0000000..15d88b1
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-treesitter.lua
@@ -0,0 +1,54 @@
+local config = function()
+ require("nvim-treesitter.config").setup {
+ install_dir = vim.fn.stdpath('data') .. '/site',
+ auto_install = false,
+ sync_install = false,
+ highlight = {
+ enable = true,
+ additional_vim_regex_highlighting = false,
+ },
+ incremental_selection = {
+ enable = true
+ },
+ indent = {
+ enable = true,
+ },
+ autotag = {
+ enable = true,
+ },
+ }
+
+ local parsers = {
+ "c",
+ "lua",
+ "markdown",
+ "vim",
+ "vimdoc",
+ "query",
+ "regex",
+ "diff",
+ "cmake",
+ "meson",
+ "markdown_inline",
+ "bash",
+ "toml",
+ "latex",
+ "cpp",
+ "rust",
+ "haskell",
+ "nix",
+ "javascript",
+ "norg",
+ "fish",
+ "kdl",
+ }
+ -- require("nvim-treesitter").install(parsers)
+end
+
+return {
+ "nvim-treesitter/nvim-treesitter",
+ lazy = false,
+ branch = "main",
+ -- build = ":TSUpdate",
+ config = config
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/oil.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/oil.lua
new file mode 100644
index 0000000..0d90db2
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/oil.lua
@@ -0,0 +1,63 @@
+local init = function()
+ local keymap = vim.keymap
+ keymap.set("n", "<Space>b", ":Oil --float .<Enter>",
+ { noremap = true, silent = true, desc = "File browser (Oil)" }) -- Oil
+end
+
+local config = function()
+ local detail = false
+ require("oil").setup({
+ float = {
+ border = "rounded",
+ },
+ confirmation = {
+ border = "rounded",
+ },
+ progress = {
+ border = "rounded",
+ },
+ ssh = {
+ border = "rounded",
+ },
+ keymaps_help = {
+ border = "rounded",
+ },
+ default_file_explorer = true,
+ delete_to_trash = true,
+ skip_confirm_for_simple_edits = true,
+ keymaps = {
+ ["b?"] = "actions.show_help",
+ ["<CR>"] = "actions.select",
+ ["bp"] = "actions.preview",
+ ["q"] = "actions.close",
+ ["br"] = "actions.refresh",
+ ["-"] = "actions.parent",
+ ["_"] = "actions.open_cwd",
+ ["~"] = "actions.cd",
+ ["bs"] = "actions.change_sort",
+ ["b."] = "actions.toggle_hidden",
+ ["bt"] = "actions.toggle_trash",
+ ["bd"] = {
+ desc = "Toggle file detail view",
+ callback = function()
+ detail = not detail
+ if detail then
+ require("oil").set_columns({ "icon", "permissions", "size", "mtime" })
+ else
+ require("oil").set_columns({ "icon" })
+ end
+ end,
+ },
+ },
+ use_default_keymaps = false,
+ })
+end
+
+return {
+ "stevearc/oil.nvim",
+ dependencies = { "nvim-tree/nvim-web-devicons" },
+ lazy = true,
+ cmd = "Oil",
+ init = init,
+ config = config
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/parinfer-rust.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/parinfer-rust.lua
new file mode 100644
index 0000000..2b31d8a
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/parinfer-rust.lua
@@ -0,0 +1,6 @@
+return {
+ "eraserhd/parinfer-rust",
+ build = "cargo build --release",
+ lazy = true,
+ ft = { "scheme", "lisp" }
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/telescope.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/telescope.lua
new file mode 100644
index 0000000..0f6d853
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/telescope.lua
@@ -0,0 +1,42 @@
+local init = function()
+ local keymap = vim.keymap
+ local opts = { noremap = true, silent = true, desc = "" }
+ opts.desc = "Keymaps (Telescope)"
+ keymap.set("n", "<Space>tk", ":Telescope keymaps<Enter>", opts) -- Keymaps
+ opts.desc = "Help (Telescope)"
+ keymap.set("n", "<Space>th", ":Telescope help_tags<Enter>", opts) -- Help
+ opts.desc = "Find files (Telescope)"
+ keymap.set("n", "<Space>tf", ":Telescope find_files<Enter>", opts) -- Find files
+ opts.desc = "All commands (Telescope)"
+ keymap.set("n", "<Space>ta", ":Telescope<Enter>", opts) -- All commands
+ opts.desc = "Find words (Telescope)"
+ keymap.set("n", "<Space>tw", ":Telescope live_grep<Enter>", opts) -- Find words
+ opts.desc = "Buffers (Telescope)"
+ keymap.set("n", "<Space>tb", ":Telescope buffers<Enter>", opts) -- Buffers
+end
+
+local config = function()
+ require("telescope").setup({
+ defaults = require("telescope.themes").get_ivy(),
+ pickers = {
+ find_files = {
+ hidden = true,
+ },
+ builtin = {
+ previewer = false,
+ },
+ help_tags = {
+ previewer = false,
+ }
+ },
+ })
+end
+
+return {
+ "nvim-telescope/telescope.nvim",
+ dependencies = { "nvim-lua/plenary.nvim" },
+ lazy = true,
+ cmd = "Telescope",
+ init = init,
+ config = config,
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/todo-comments.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/todo-comments.lua
new file mode 100644
index 0000000..1ae4a83
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/todo-comments.lua
@@ -0,0 +1,36 @@
+local opts = {
+ keywords = {
+ FIX = { icon = "", color = "error", alt = { "FIXME", "BUG", "FIXIT", "ISSUE" } },
+ TODO = { icon = "", color = "info" },
+ HACK = { icon = "", color = "hack" },
+ WARN = { icon = "", color = "warning", alt = { "WARNING", "XXX" } },
+ PERF = { icon = "󰅒", color = "perf", alt = { "OPTIM", "PERFORMANCE", "OPTIMIZE" } },
+ NOTE = { icon = "", color = "hint", alt = { "INFO" } },
+ TEST = { icon = "", color = "test", alt = { "TESTING", "PASSED", "FAILED" } },
+ },
+ colors = {
+ error = "@text.title.1.markdown",
+ info = "DiagnosticInfo",
+ hack = "@text.title.2.markdown",
+ warning = "@text.title.3.markdown",
+ perf = "@text.title.4.markdown",
+ hint = "@text.title.5.markdown",
+ test = "@text.title.6.markdown",
+ }
+}
+
+return {
+ "folke/todo-comments.nvim",
+ dependencies = { "nvim-lua/plenary.nvim" },
+ lazy = true,
+ event = { "BufReadPost", "BufWritePost", "BufNewFile" },
+ opts = opts
+}
+
+-- FIX: ciao
+-- TODO: ciao
+-- HACK: ciao
+-- WARN: ciao
+-- PERF: ciao
+-- NOTE: ciao
+-- TEST: ciao
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/toggleterm.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/toggleterm.lua
new file mode 100644
index 0000000..9bd1b78
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/toggleterm.lua
@@ -0,0 +1,64 @@
+local init = function()
+ local keymap = vim.keymap
+ --[[ keymap.set("n", "<C-t>", ":ToggleTerm<Enter>",
+ { noremap = true, silent = true, desc = "Terminal (ToggleTerm)" }) -- Terminal
+ keymap.set("t", "<C-t>", "<C-\\><C-n>:ToggleTerm<Enter>") ]]
+ keymap.set("n", "<Space>g", ":ToggleLazyGit<Enter>",
+ { noremap = true, silent = true, desc = "LazyGit (ToggleTerm)" }) -- LazyGit
+end
+
+local config = function()
+ --[[ require("toggleterm").setup {
+ autochdir = false,
+ direction = "float",
+ open_mapping = "<c-t>",
+ terminal_mappings = true,
+ start_in_insert = true,
+ float_opts = {
+ border = "curved",
+ },
+ on_open = function(term)
+ local cwd = vim.fn.getcwd()
+ if term.dir ~= cwd then
+ term:send("cd " .. cwd .. " && clear")
+ term.dir = cwd
+ end
+ end,
+ } ]]
+ local Terminal = require("toggleterm.terminal").Terminal
+ local opts = {
+ noremap = true, -- non-recursive
+ silent = true, -- do not show message
+ }
+
+ -- LazyGit
+ local lazygit = Terminal:new({
+ cmd = "lazygit",
+ dir = "git_dir",
+ direction = "float",
+ float_opts = {
+ border = "curved",
+ },
+ -- function to run on opening the terminal
+ on_open = function(term)
+ vim.cmd("startinsert!")
+ vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", ":close<Enter>", opts)
+ end,
+ -- function to run on closing the terminal
+ on_close = function()
+ vim.cmd("startinsert!")
+ end,
+ })
+ local function toggle_lazygit()
+ lazygit:toggle()
+ end
+ vim.api.nvim_create_user_command("ToggleLazyGit", toggle_lazygit, {})
+end
+
+return {
+ "akinsho/toggleterm.nvim",
+ lazy = true,
+ cmd = { "ToggleTerm", "ToggleLazyGit" },
+ init = init,
+ config = config,
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-highlightedyank.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-highlightedyank.lua
new file mode 100644
index 0000000..9405e9e
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-highlightedyank.lua
@@ -0,0 +1,8 @@
+return {
+ "machakann/vim-highlightedyank",
+ lazy = true,
+ keys = {
+ { "y", mode = "n" },
+ { "y", mode = "v" }
+ }
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-illuminate.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-illuminate.lua
new file mode 100644
index 0000000..f44b6c9
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-illuminate.lua
@@ -0,0 +1,5 @@
+return {
+ "RRethy/vim-illuminate",
+ lazy = true,
+ event = { "BufReadPost", "BufWritePost", "BufNewFile" },
+}
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/which-key.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/which-key.lua
new file mode 100644
index 0000000..4e391f9
--- /dev/null
+++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/which-key.lua
@@ -0,0 +1,25 @@
+local config = function()
+ require("which-key").setup()
+ vim.o.timeout = true
+ vim.o.timeoutlen = 500
+end
+
+return {
+ "folke/which-key.nvim",
+ lazy = true,
+ event = "VeryLazy",
+ config = config,
+ keys = {
+ {
+ "<leader>?",
+ function()
+ require("which-key").show({ global = false })
+ end,
+ desc = "Buffer Local Keymaps (which-key)",
+ },
+ },
+ dependencies = {
+ "echasnovski/mini.icons",
+ "nvim-tree/nvim-web-devicons", -- optional
+ },
+}