update
This commit is contained in:
parent
b04e688eaa
commit
1210ef507b
13 changed files with 1015 additions and 1205 deletions
|
|
@ -4,8 +4,9 @@
|
||||||
"cellular-automaton.nvim": { "branch": "main", "commit": "b7d056dab963b5d3f2c560d92937cb51db61cb5b" },
|
"cellular-automaton.nvim": { "branch": "main", "commit": "b7d056dab963b5d3f2c560d92937cb51db61cb5b" },
|
||||||
"cloak.nvim": { "branch": "main", "commit": "951b163e55ce7639eb320c450bde9283c4fe968b" },
|
"cloak.nvim": { "branch": "main", "commit": "951b163e55ce7639eb320c450bde9283c4fe968b" },
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
|
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
|
||||||
|
"conform.nvim": { "branch": "master", "commit": "c4b2efb8aee4af0ef179a9b49ba401de3c4ef5d2" },
|
||||||
"copilot.vim": { "branch": "release", "commit": "5b19fb001d7f31c4c7c5556d7a97b243bd29f45f" },
|
"copilot.vim": { "branch": "release", "commit": "5b19fb001d7f31c4c7c5556d7a97b243bd29f45f" },
|
||||||
"distant.nvim": { "branch": "v0.3", "commit": "998724f62386c8022a4e6c885f4509cf9477451a" },
|
"everforest": { "branch": "main", "commit": "06a600c4fa49e7a4c44848d14c353ecbaab8eb9f" },
|
||||||
"focus.nvim": { "branch": "master", "commit": "c83be53de558f6f0824c8cefcad61719c87ce157" },
|
"focus.nvim": { "branch": "master", "commit": "c83be53de558f6f0824c8cefcad61719c87ce157" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "d195f0c35ced5174d3ecce1c4c8ebb3b5bc23fa9" },
|
"gitsigns.nvim": { "branch": "main", "commit": "d195f0c35ced5174d3ecce1c4c8ebb3b5bc23fa9" },
|
||||||
"glow.nvim": { "branch": "main", "commit": "238070a686c1da3bccccf1079700eb4b5e19aea4" },
|
"glow.nvim": { "branch": "main", "commit": "238070a686c1da3bccccf1079700eb4b5e19aea4" },
|
||||||
|
|
@ -22,8 +23,6 @@
|
||||||
"mini.comment": { "branch": "main", "commit": "67f00d3ebbeae15e84584d971d0c32aad4f4f3a4" },
|
"mini.comment": { "branch": "main", "commit": "67f00d3ebbeae15e84584d971d0c32aad4f4f3a4" },
|
||||||
"nabla.nvim": { "branch": "master", "commit": "27a6ea9ed7452bb9e0b19eb0942b5bcf7d051b2f" },
|
"nabla.nvim": { "branch": "master", "commit": "27a6ea9ed7452bb9e0b19eb0942b5bcf7d051b2f" },
|
||||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "77d9f484b88fd380386b46ed9206e5374d69d9d8" },
|
"neo-tree.nvim": { "branch": "v3.x", "commit": "77d9f484b88fd380386b46ed9206e5374d69d9d8" },
|
||||||
"neorg": { "branch": "main", "commit": "a489e7c4f9d7edb3caa04250d07bb6c6a5b9b890" },
|
|
||||||
"neorg-telescope": { "branch": "main", "commit": "6a7a677c40fa3c348924a4e2a06a513e0b34c056" },
|
|
||||||
"nui.nvim": { "branch": "main", "commit": "35da9ca1de0fc4dda96c2e214d93d363c145f418" },
|
"nui.nvim": { "branch": "main", "commit": "35da9ca1de0fc4dda96c2e214d93d363c145f418" },
|
||||||
"nvim-bqf": { "branch": "main", "commit": "bdc2a4e5bb670b3c0e33ada9c0eec636d93a0748" },
|
"nvim-bqf": { "branch": "main", "commit": "bdc2a4e5bb670b3c0e33ada9c0eec636d93a0748" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" },
|
"nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" },
|
||||||
|
|
@ -35,9 +34,11 @@
|
||||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "85b9d0cbd4ff901abcda862b50dbb34e0901848b" },
|
"nvim-treesitter-textobjects": { "branch": "master", "commit": "85b9d0cbd4ff901abcda862b50dbb34e0901848b" },
|
||||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "1277b4a1f451b0f18c0790e1a7f12e1e5fdebfee" },
|
"nvim-ts-context-commentstring": { "branch": "main", "commit": "1277b4a1f451b0f18c0790e1a7f12e1e5fdebfee" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "3e24abe1ae66532135cec911562f553fe247cb56" },
|
"nvim-web-devicons": { "branch": "master", "commit": "3e24abe1ae66532135cec911562f553fe247cb56" },
|
||||||
|
"oil.nvim": { "branch": "master", "commit": "a128e6f75c6a71b7b9ac7ea663949a5209771cd5" },
|
||||||
"playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" },
|
"playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" },
|
"plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" },
|
||||||
"rasmus": { "branch": "main", "commit": "f824de95d446686e479781c0c2b778c177da528f" },
|
"rasmus": { "branch": "main", "commit": "f824de95d446686e479781c0c2b778c177da528f" },
|
||||||
|
"readline.nvim": { "branch": "main", "commit": "5cb27349bc01cdcdb3d3494e5337d8b3834aef1a" },
|
||||||
"refactoring.nvim": { "branch": "master", "commit": "258041a596d733dc51f6ad1e092ed1f23e3faa70" },
|
"refactoring.nvim": { "branch": "master", "commit": "258041a596d733dc51f6ad1e092ed1f23e3faa70" },
|
||||||
"rose-pine": { "branch": "main", "commit": "92762f4fa2144c05db760ea254f4c399a56a7ef5" },
|
"rose-pine": { "branch": "main", "commit": "92762f4fa2144c05db760ea254f4c399a56a7ef5" },
|
||||||
"smart-splits.nvim": { "branch": "master", "commit": "403ad1a4fd7eb39388690a5657e7cbfb16da6668" },
|
"smart-splits.nvim": { "branch": "master", "commit": "403ad1a4fd7eb39388690a5657e7cbfb16da6668" },
|
||||||
|
|
@ -52,7 +53,6 @@
|
||||||
"vim-dispatch": { "branch": "master", "commit": "6cc2691576f97d43f8751664d1a1a908b99927e5" },
|
"vim-dispatch": { "branch": "master", "commit": "6cc2691576f97d43f8751664d1a1a908b99927e5" },
|
||||||
"vim-fugitive": { "branch": "master", "commit": "59659093581aad2afacedc81f009ed6a4bfad275" },
|
"vim-fugitive": { "branch": "master", "commit": "59659093581aad2afacedc81f009ed6a4bfad275" },
|
||||||
"vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" },
|
"vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" },
|
||||||
"vim-rsi": { "branch": "master", "commit": "45540637ead22f011e8215f1c90142e49d946a54" },
|
|
||||||
"vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" },
|
"vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" },
|
||||||
"vim-tmux-navigator": { "branch": "master", "commit": "38b1d0402c4600543281dc85b3f51884205674b6" },
|
"vim-tmux-navigator": { "branch": "master", "commit": "38b1d0402c4600543281dc85b3f51884205674b6" },
|
||||||
"vimtex": { "branch": "master", "commit": "f9b19d09ee6f0ba70dad0b5c2e710dd700681000" },
|
"vimtex": { "branch": "master", "commit": "f9b19d09ee6f0ba70dad0b5c2e710dd700681000" },
|
||||||
|
|
|
||||||
33
lua/rayandrew/commands.lua
Normal file
33
lua/rayandrew/commands.lua
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
-- https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md#lazy-loading-with-lazynvim
|
||||||
|
vim.api.nvim_create_user_command("FormatDisable", function(args)
|
||||||
|
if args.bang then
|
||||||
|
-- FormatDisable! will disable formatting just for this buffer
|
||||||
|
vim.b.disable_autoformat = true
|
||||||
|
else
|
||||||
|
vim.g.disable_autoformat = true
|
||||||
|
end
|
||||||
|
end, {
|
||||||
|
desc = "Disable autoformat-on-save",
|
||||||
|
bang = true,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md#lazy-loading-with-lazynvim
|
||||||
|
vim.api.nvim_create_user_command("FormatEnable", function()
|
||||||
|
vim.b.disable_autoformat = false
|
||||||
|
vim.g.disable_autoformat = false
|
||||||
|
end, {
|
||||||
|
desc = "Re-enable autoformat-on-save",
|
||||||
|
})
|
||||||
|
|
||||||
|
-- https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md#format-command
|
||||||
|
vim.api.nvim_create_user_command("Format", function(args)
|
||||||
|
local range = nil
|
||||||
|
if args.count ~= -1 then
|
||||||
|
local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1]
|
||||||
|
range = {
|
||||||
|
start = { args.line1, 0 },
|
||||||
|
["end"] = { args.line2, end_line:len() },
|
||||||
|
}
|
||||||
|
end
|
||||||
|
require("conform").format({ async = true, lsp_fallback = true, range = range })
|
||||||
|
end, { range = true })
|
||||||
|
|
@ -6,6 +6,7 @@ function M.setup()
|
||||||
require("rayandrew.autocmds")
|
require("rayandrew.autocmds")
|
||||||
require("rayandrew.remap")
|
require("rayandrew.remap")
|
||||||
require("rayandrew.theme").setup()
|
require("rayandrew.theme").setup()
|
||||||
|
require("rayandrew.commands")
|
||||||
-- require("rayandrew.filetype").setup()
|
-- require("rayandrew.filetype").setup()
|
||||||
-- require("rayandrew.statusline").setup()
|
-- require("rayandrew.statusline").setup()
|
||||||
end
|
end
|
||||||
|
|
|
||||||
159
lua/rayandrew/plugins/editor.lua
Normal file
159
lua/rayandrew/plugins/editor.lua
Normal file
|
|
@ -0,0 +1,159 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"folke/todo-comments.nvim",
|
||||||
|
cmd = { "TodoTrouble", "TodoTelescope" },
|
||||||
|
event = { "BufReadPost", "BufNewFile" },
|
||||||
|
config = true,
|
||||||
|
-- stylua: ignore
|
||||||
|
keys = {
|
||||||
|
{ "]t", function() require("todo-comments").jump_next() end, desc = "Next todo comment" },
|
||||||
|
{ "[t", function() require("todo-comments").jump_prev() end, desc = "Previous todo comment" },
|
||||||
|
{ "<leader>xt", "<cmd>TodoTrouble<cr>", desc = "Todo (Trouble)" },
|
||||||
|
{ "<leader>xT", "<cmd>TodoTrouble keywords=TODO,FIX,FIXME<cr>", desc = "Todo/Fix/Fixme (Trouble)" },
|
||||||
|
{ "<leader>st", "<cmd>TodoTelescope<cr>", desc = "Todo" },
|
||||||
|
{ "<leader>sT", "<cmd>TodoTelescope keywords=TODO,FIX,FIXME<cr>", desc = "Todo/Fix/Fixme" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"jbyuki/venn.nvim",
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<leader>nv",
|
||||||
|
function()
|
||||||
|
function Toggle_venn()
|
||||||
|
local venn_enabled = vim.inspect(vim.b.venn_enabled)
|
||||||
|
if venn_enabled == "nil" then
|
||||||
|
vim.b.venn_enabled = true
|
||||||
|
vim.cmd([[setlocal ve=all]])
|
||||||
|
-- draw a line on HJKL keystokes
|
||||||
|
vim.api.nvim_buf_set_keymap(0, "n", "J", "<C-v>j:VBox<CR>", { noremap = true })
|
||||||
|
vim.api.nvim_buf_set_keymap(0, "n", "K", "<C-v>k:VBox<CR>", { noremap = true })
|
||||||
|
vim.api.nvim_buf_set_keymap(0, "n", "L", "<C-v>l:VBox<CR>", { noremap = true })
|
||||||
|
vim.api.nvim_buf_set_keymap(0, "n", "H", "<C-v>h:VBox<CR>", { noremap = true })
|
||||||
|
-- draw a box by pressing "f" with visual selection
|
||||||
|
vim.api.nvim_buf_set_keymap(0, "v", "f", ":VBox<CR>", { noremap = true })
|
||||||
|
else
|
||||||
|
vim.cmd([[setlocal ve=]])
|
||||||
|
vim.cmd([[mapclear <buffer>]])
|
||||||
|
vim.b.venn_enabled = nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
Toggle_venn()
|
||||||
|
end,
|
||||||
|
desc = "Open Venn panel",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"ellisonleao/glow.nvim",
|
||||||
|
config = true,
|
||||||
|
cmd = "Glow",
|
||||||
|
ft = "markdown",
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<leader>pm",
|
||||||
|
"<cmd>Glow<cr>",
|
||||||
|
desc = "Preview Markdown",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"jbyuki/nabla.nvim",
|
||||||
|
lazy = true,
|
||||||
|
-- ft = { "tex", "latex", "markdown" },
|
||||||
|
-- opts = {
|
||||||
|
-- autogen = true, -- auto-regenerate ASCII art when exiting insert mode
|
||||||
|
-- silent = true, -- silents error messages
|
||||||
|
-- },
|
||||||
|
-- config = function()
|
||||||
|
-- local nabla = require("nabla")
|
||||||
|
-- nabla.enable_virt()
|
||||||
|
-- end,
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<leader>pe",
|
||||||
|
function()
|
||||||
|
require("nabla").toggle_virt()
|
||||||
|
end,
|
||||||
|
desc = "Preview Math Equation",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"lervag/vimtex",
|
||||||
|
config = function()
|
||||||
|
-- vim.g.vimtex_compiler_progname = "nvr"
|
||||||
|
-- vim.g.vimtex_view_method = "zathura"
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"3rd/image.nvim",
|
||||||
|
opts = {
|
||||||
|
backend = "kitty",
|
||||||
|
integrations = {
|
||||||
|
markdown = {
|
||||||
|
enabled = true,
|
||||||
|
clear_in_insert_mode = false,
|
||||||
|
download_remote_images = true,
|
||||||
|
only_render_image_at_cursor = false,
|
||||||
|
filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here
|
||||||
|
},
|
||||||
|
neorg = {
|
||||||
|
enabled = true,
|
||||||
|
clear_in_insert_mode = false,
|
||||||
|
download_remote_images = true,
|
||||||
|
only_render_image_at_cursor = false,
|
||||||
|
filetypes = { "norg" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
max_width = nil,
|
||||||
|
max_height = nil,
|
||||||
|
max_width_window_percentage = nil,
|
||||||
|
max_height_window_percentage = 50,
|
||||||
|
window_overlap_clear_enabled = false, -- toggles images when windows are overlapped
|
||||||
|
window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "" },
|
||||||
|
editor_only_render_when_focused = false, -- auto show/hide images when the editor gains/looses focus
|
||||||
|
tmux_show_only_in_active_window = false, -- auto show/hide images in the correct Tmux window (needs visual-activity off)
|
||||||
|
hijack_file_patterns = { "*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp" }, -- render image files as images when opened
|
||||||
|
},
|
||||||
|
config = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"laytan/cloak.nvim",
|
||||||
|
event = {
|
||||||
|
"BufEnter .env",
|
||||||
|
"BufEnter .env.*",
|
||||||
|
},
|
||||||
|
cmd = {
|
||||||
|
"CloakEnable",
|
||||||
|
"CloakDisable",
|
||||||
|
"CloakToggle",
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
enabled = true,
|
||||||
|
cloak_character = "*",
|
||||||
|
-- The applied highlight group (colors) on the cloaking, see `:h highlight`.
|
||||||
|
highlight_group = "Comment",
|
||||||
|
patterns = {
|
||||||
|
{
|
||||||
|
file_pattern = {
|
||||||
|
".env",
|
||||||
|
".env.*",
|
||||||
|
".dev.vars",
|
||||||
|
},
|
||||||
|
cloak_pattern = "=.+",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
config = function(_, opts)
|
||||||
|
require("cloak").setup(opts)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -60,15 +60,15 @@ return {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
keys = {
|
keys = {
|
||||||
|
-- {
|
||||||
|
-- "<leader>E",
|
||||||
|
-- function()
|
||||||
|
-- vim.cmd("Neotree toggle position=current")
|
||||||
|
-- end,
|
||||||
|
-- desc = "Toggle NeoTree as Buffer",
|
||||||
|
-- },
|
||||||
{
|
{
|
||||||
"<leader>E",
|
"<leader>fe",
|
||||||
function()
|
|
||||||
vim.cmd("Neotree toggle position=current")
|
|
||||||
end,
|
|
||||||
desc = "Toggle NeoTree as Buffer",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>e",
|
|
||||||
function()
|
function()
|
||||||
vim.cmd("Neotree toggle")
|
vim.cmd("Neotree toggle")
|
||||||
end,
|
end,
|
||||||
|
|
@ -78,14 +78,14 @@ return {
|
||||||
deactivate = function()
|
deactivate = function()
|
||||||
vim.cmd([[Neotree close]])
|
vim.cmd([[Neotree close]])
|
||||||
end,
|
end,
|
||||||
init = function()
|
-- init = function()
|
||||||
if vim.fn.argc(-1) == 1 then
|
-- if vim.fn.argc(-1) == 1 then
|
||||||
local stat = vim.loop.fs_stat(vim.fn.argv(0))
|
-- local stat = vim.loop.fs_stat(vim.fn.argv(0))
|
||||||
if stat and stat.type == "directory" then
|
-- if stat and stat.type == "directory" then
|
||||||
require("neo-tree")
|
-- require("neo-tree")
|
||||||
end
|
-- end
|
||||||
end
|
-- end
|
||||||
end,
|
-- end,
|
||||||
config = function(_, opts)
|
config = function(_, opts)
|
||||||
local function on_move(data)
|
local function on_move(data)
|
||||||
Util.lsp.on_rename(data.source, data.destination)
|
Util.lsp.on_rename(data.source, data.destination)
|
||||||
|
|
@ -109,48 +109,11 @@ return {
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
-- {
|
{
|
||||||
-- "X3eRo0/dired.nvim",
|
"stevearc/oil.nvim",
|
||||||
-- dependencies = { "MunifTanjim/nui.nvim" },
|
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||||
-- opts = {
|
cmd = { "Oil" },
|
||||||
-- path_separator = "/", -- Use '/' as the path separator
|
keys = {
|
||||||
-- show_hidden = true, -- Show hidden files
|
|
||||||
-- show_banner = false, -- Do not show the banner
|
|
||||||
-- hide_details = false, -- Show file details by default
|
|
||||||
-- sort_order = "name", -- Sort files by name by default
|
|
||||||
--
|
|
||||||
-- -- Define keybindings for various 'dired' actions
|
|
||||||
-- keybinds = {
|
|
||||||
-- dired_enter = "<cr>",
|
|
||||||
-- dired_back = "-",
|
|
||||||
-- dired_up = "_",
|
|
||||||
-- dired_rename = "R",
|
|
||||||
-- dired_quit = "q",
|
|
||||||
-- dired_create = "+",
|
|
||||||
-- dired_toggle_colors = "@",
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
-- keys = {
|
|
||||||
-- { "<leader>e", "<cmd>Dired<cr>", desc = "Dired" },
|
|
||||||
-- },
|
|
||||||
-- config = function(_, opts)
|
|
||||||
-- require("dired").setup(opts)
|
|
||||||
-- vim.api.nvim_create_autocmd("FileType", {
|
|
||||||
-- pattern = "dired",
|
|
||||||
-- callback = function()
|
|
||||||
-- local Util = require("rayandrew.util")
|
|
||||||
-- Util.map("n", "c", "<cmd>DiredCreate<cr>")
|
|
||||||
-- Util.map("n", "g", "<cmd>edit<cr>")
|
|
||||||
-- end,
|
|
||||||
-- })
|
|
||||||
-- end,
|
|
||||||
-- },
|
|
||||||
|
|
||||||
-- {
|
|
||||||
-- "stevearc/oil.nvim",
|
|
||||||
-- dependencies = { "nvim-tree/nvim-web-devicons" },
|
|
||||||
-- cmd = { "Oil" },
|
|
||||||
-- keys = {
|
|
||||||
-- {
|
-- {
|
||||||
-- "<leader>e",
|
-- "<leader>e",
|
||||||
-- function()
|
-- function()
|
||||||
|
|
@ -162,74 +125,72 @@ return {
|
||||||
-- end,
|
-- end,
|
||||||
-- desc = "Open current directory",
|
-- desc = "Open current directory",
|
||||||
-- },
|
-- },
|
||||||
-- {
|
{
|
||||||
-- "<leader>E",
|
"<leader>fE",
|
||||||
-- function()
|
function()
|
||||||
-- -- disable in oil filetype
|
-- disable in oil filetype
|
||||||
-- if vim.bo.filetype == "oil" then
|
if vim.bo.filetype == "oil" then
|
||||||
-- return
|
return
|
||||||
-- end
|
end
|
||||||
-- require("oil").open(".")
|
require("oil").open(".")
|
||||||
-- end,
|
end,
|
||||||
-- desc = "Open current directory",
|
desc = "Open current directory",
|
||||||
-- },
|
},
|
||||||
-- },
|
},
|
||||||
-- opts = {
|
opts = {
|
||||||
-- columns = {
|
columns = {
|
||||||
-- -- "icon",
|
-- "icon",
|
||||||
-- -- "permissions",
|
|
||||||
-- -- "size",
|
|
||||||
-- -- "mtime",
|
|
||||||
-- },
|
|
||||||
-- default_file_explorer = true,
|
|
||||||
-- restore_win_options = true,
|
|
||||||
-- float = {
|
|
||||||
-- padding = 2,
|
|
||||||
-- max_width = 240,
|
|
||||||
-- max_height = 70,
|
|
||||||
-- -- width = 0.2,
|
|
||||||
-- -- max_height = 0.5,
|
|
||||||
-- border = "rounded",
|
|
||||||
-- win_options = {
|
|
||||||
-- winblend = 10,
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
-- keymaps = {
|
|
||||||
-- ["<C-i>"] = {
|
|
||||||
-- callback = function()
|
|
||||||
-- if vim.bo.filetype == "oil" then
|
|
||||||
-- local oil = require("oil")
|
|
||||||
-- vim.g.oil_show_info = not vim.g.oil_show_info
|
|
||||||
-- if vim.g.oil_show_info then
|
|
||||||
-- oil.set_columns({
|
|
||||||
-- "permissions",
|
-- "permissions",
|
||||||
-- "size",
|
-- "size",
|
||||||
-- "mtime",
|
-- "mtime",
|
||||||
-- "icon",
|
},
|
||||||
-- })
|
default_file_explorer = true,
|
||||||
-- else
|
restore_win_options = true,
|
||||||
-- oil.set_columns({})
|
float = {
|
||||||
-- end
|
padding = 2,
|
||||||
-- return
|
max_width = 240,
|
||||||
-- end
|
max_height = 70,
|
||||||
-- end,
|
-- width = 0.2,
|
||||||
-- desc = "Toggle info",
|
-- max_height = 0.5,
|
||||||
-- },
|
border = "rounded",
|
||||||
-- ["q"] = "actions.close",
|
win_options = {
|
||||||
-- ["<C-h>"] = "actions.toggle_hidden",
|
winblend = 10,
|
||||||
-- ["?"] = "actions.show_help",
|
},
|
||||||
-- },
|
},
|
||||||
-- },
|
keymaps = {
|
||||||
-- init = function()
|
["<C-i>"] = {
|
||||||
-- vim.g.oil_show_info = false
|
callback = function()
|
||||||
-- -- if vim.fn.argc() == 1 then
|
if vim.bo.filetype == "oil" then
|
||||||
-- -- local stat = vim.loop.fs_stat(vim.fn.argv(0))
|
local oil = require("oil")
|
||||||
-- -- if stat and stat.type == "directory" then
|
vim.g.oil_show_info = not vim.g.oil_show_info
|
||||||
-- -- require("oil")
|
if vim.g.oil_show_info then
|
||||||
-- -- end
|
oil.set_columns({
|
||||||
-- -- end
|
"permissions",
|
||||||
-- end,
|
"size",
|
||||||
-- },
|
"mtime",
|
||||||
|
"icon",
|
||||||
|
})
|
||||||
|
else
|
||||||
|
oil.set_columns({})
|
||||||
|
end
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
desc = "Toggle info",
|
||||||
|
},
|
||||||
|
["q"] = "actions.close",
|
||||||
|
["<C-h>"] = "actions.toggle_hidden",
|
||||||
|
["?"] = "actions.show_help",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
init = function()
|
||||||
|
vim.g.oil_show_info = false
|
||||||
|
if vim.fn.argc() == 1 then
|
||||||
|
local stat = vim.loop.fs_stat(vim.fn.argv(0))
|
||||||
|
if stat and stat.type == "directory" then
|
||||||
|
require("oil")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,8 +1,14 @@
|
||||||
|
------------------------------
|
||||||
|
-- LSP CONFIGURATION --
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
local slow_format_filetypes = {}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
'VonHeikemen/lsp-zero.nvim',
|
"VonHeikemen/lsp-zero.nvim",
|
||||||
branch = 'v3.x',
|
branch = "v3.x",
|
||||||
lazy = true,
|
lazy = true,
|
||||||
config = false,
|
config = false,
|
||||||
init = function()
|
init = function()
|
||||||
|
|
@ -12,72 +18,186 @@ return {
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'williamboman/mason.nvim',
|
"williamboman/mason.nvim",
|
||||||
lazy = false,
|
lazy = false,
|
||||||
config = true,
|
config = true,
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Autocompletion
|
-- Autocompletion
|
||||||
{
|
{
|
||||||
'hrsh7th/nvim-cmp',
|
"hrsh7th/nvim-cmp",
|
||||||
event = 'InsertEnter',
|
event = "InsertEnter",
|
||||||
dependencies = {
|
dependencies = {
|
||||||
{'L3MON4D3/LuaSnip'},
|
{ "L3MON4D3/LuaSnip" },
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
-- Here is where you configure the autocompletion settings.
|
-- Here is where you configure the autocompletion settings.
|
||||||
local lsp_zero = require('lsp-zero')
|
local lsp_zero = require("lsp-zero")
|
||||||
lsp_zero.extend_cmp()
|
lsp_zero.extend_cmp()
|
||||||
|
|
||||||
-- And you can configure cmp even more, if you want to.
|
-- And you can configure cmp even more, if you want to.
|
||||||
local cmp = require('cmp')
|
local cmp = require("cmp")
|
||||||
local cmp_action = lsp_zero.cmp_action()
|
local cmp_action = lsp_zero.cmp_action()
|
||||||
|
|
||||||
cmp.setup({
|
cmp.setup({
|
||||||
formatting = lsp_zero.cmp_format(),
|
formatting = lsp_zero.cmp_format(),
|
||||||
mapping = cmp.mapping.preset.insert({
|
mapping = cmp.mapping.preset.insert({
|
||||||
['<C-Space>'] = cmp.mapping.complete(),
|
["<C-Space>"] = cmp.mapping.complete(),
|
||||||
['<C-u>'] = cmp.mapping.scroll_docs(-4),
|
["<C-u>"] = cmp.mapping.scroll_docs(-4),
|
||||||
['<C-d>'] = cmp.mapping.scroll_docs(4),
|
["<C-d>"] = cmp.mapping.scroll_docs(4),
|
||||||
['<C-f>'] = cmp_action.luasnip_jump_forward(),
|
["<C-f>"] = cmp_action.luasnip_jump_forward(),
|
||||||
['<C-b>'] = cmp_action.luasnip_jump_backward(),
|
["<C-b>"] = cmp_action.luasnip_jump_backward(),
|
||||||
|
}),
|
||||||
})
|
})
|
||||||
})
|
end,
|
||||||
end
|
|
||||||
},
|
},
|
||||||
|
|
||||||
-- LSP
|
-- LSP
|
||||||
{
|
{
|
||||||
'neovim/nvim-lspconfig',
|
"neovim/nvim-lspconfig",
|
||||||
cmd = {'LspInfo', 'LspInstall', 'LspStart'},
|
cmd = { "LspInfo", "LspInstall", "LspStart" },
|
||||||
event = {'BufReadPre', 'BufNewFile'},
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
dependencies = {
|
dependencies = {
|
||||||
{'hrsh7th/cmp-nvim-lsp'},
|
{ "hrsh7th/cmp-nvim-lsp" },
|
||||||
{'williamboman/mason-lspconfig.nvim'},
|
{ "williamboman/mason-lspconfig.nvim" },
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
-- This is where all the LSP shenanigans will live
|
-- This is where all the LSP shenanigans will live
|
||||||
local lsp_zero = require('lsp-zero')
|
local lsp_zero = require("lsp-zero")
|
||||||
lsp_zero.extend_lspconfig()
|
lsp_zero.extend_lspconfig()
|
||||||
|
|
||||||
lsp_zero.on_attach(function(client, bufnr)
|
lsp_zero.on_attach(function(client, bufnr)
|
||||||
-- see :help lsp-zero-keybindings
|
-- see :help lsp-zero-keybindings
|
||||||
-- to learn the available actions
|
-- to learn the available actions
|
||||||
lsp_zero.default_keymaps({buffer = bufnr})
|
lsp_zero.default_keymaps({ buffer = bufnr })
|
||||||
end)
|
end)
|
||||||
|
|
||||||
require('mason-lspconfig').setup({
|
require("mason-lspconfig").setup({
|
||||||
ensure_installed = {},
|
ensure_installed = {},
|
||||||
handlers = {
|
handlers = {
|
||||||
lsp_zero.default_setup,
|
lsp_zero.default_setup,
|
||||||
lua_ls = function()
|
lua_ls = function()
|
||||||
-- (Optional) Configure lua language server for neovim
|
-- (Optional) Configure lua language server for neovim
|
||||||
local lua_opts = lsp_zero.nvim_lua_ls()
|
local lua_opts = lsp_zero.nvim_lua_ls()
|
||||||
require('lspconfig').lua_ls.setup(lua_opts)
|
require("lspconfig").lua_ls.setup(lua_opts)
|
||||||
end,
|
end,
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Formatter
|
||||||
|
{
|
||||||
|
"stevearc/conform.nvim",
|
||||||
|
event = { "BufWritePre" },
|
||||||
|
cmd = { "ConformInfo" },
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
-- Customize or remove this keymap to your liking
|
||||||
|
"<leader>cf",
|
||||||
|
function()
|
||||||
|
require("conform").format({ async = true, lsp_fallback = true })
|
||||||
|
end,
|
||||||
|
mode = "",
|
||||||
|
desc = "Format buffer",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
formatters_by_ft = {
|
||||||
|
lua = { "stylua" },
|
||||||
|
python = { "isort", "black" },
|
||||||
|
typescript = { { "prettierd", "prettier" }, { "eslint_d", "eslint" } },
|
||||||
|
javascript = { { "prettierd", "prettier" }, { "eslint_d", "eslint" } },
|
||||||
|
nix = { "nixfmt" },
|
||||||
|
},
|
||||||
|
format_on_save = function(bufnr)
|
||||||
|
if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
|
||||||
|
return
|
||||||
end
|
end
|
||||||
}
|
|
||||||
}
|
if slow_format_filetypes[vim.bo[bufnr].filetype] then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local function on_format(err)
|
||||||
|
if err and err:match("timeout$") then
|
||||||
|
slow_format_filetypes[vim.bo[bufnr].filetype] = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return { timeout_ms = 200, lsp_fallback = true }, on_format
|
||||||
|
end,
|
||||||
|
format_after_save = function(bufnr)
|
||||||
|
if not slow_format_filetypes[vim.bo[bufnr].filetype] then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
return { lsp_fallback = true }
|
||||||
|
end,
|
||||||
|
formatters = {
|
||||||
|
shfmt = {
|
||||||
|
prepend_args = { "-i", "2" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
init = function()
|
||||||
|
-- If you want the formatexpr, here is the place to set it
|
||||||
|
vim.o.formatexpr = "v:lua.require'conform'.formatexpr()"
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"folke/trouble.nvim",
|
||||||
|
cmd = { "TroubleToggle", "Trouble" },
|
||||||
|
opts = { use_diagnostic_signs = true },
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<leader>xx",
|
||||||
|
"<cmd>TroubleToggle document_diagnostics<cr>",
|
||||||
|
desc = "Document Diagnostics (Trouble)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>xX",
|
||||||
|
"<cmd>TroubleToggle workspace_diagnostics<cr>",
|
||||||
|
desc = "Workspace Diagnostics (Trouble)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>xL",
|
||||||
|
"<cmd>TroubleToggle loclist<cr>",
|
||||||
|
desc = "Location List (Trouble)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>xQ",
|
||||||
|
"<cmd>TroubleToggle quickfix<cr>",
|
||||||
|
desc = "Quickfix List (Trouble)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"[q",
|
||||||
|
function()
|
||||||
|
if require("trouble").is_open() then
|
||||||
|
require("trouble").previous({ skip_groups = true, jump = true })
|
||||||
|
else
|
||||||
|
local ok, err = pcall(vim.cmd.cprev)
|
||||||
|
if not ok then
|
||||||
|
vim.notify(err, vim.log.levels.ERROR)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
desc = "Previous trouble/quickfix item",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"]q",
|
||||||
|
function()
|
||||||
|
if require("trouble").is_open() then
|
||||||
|
require("trouble").next({ skip_groups = true, jump = true })
|
||||||
|
else
|
||||||
|
local ok, err = pcall(vim.cmd.cnext)
|
||||||
|
if not ok then
|
||||||
|
vim.notify(err, vim.log.levels.ERROR)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
desc = "Next trouble/quickfix item",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
|
------------------------------
|
||||||
|
-- Telescope --
|
||||||
|
------------------------------
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
||||||
-- Telescope
|
|
||||||
------------------------------
|
|
||||||
{
|
{
|
||||||
"nvim-telescope/telescope.nvim",
|
"nvim-telescope/telescope.nvim",
|
||||||
cmd = "Telescope",
|
cmd = "Telescope",
|
||||||
|
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
return {
|
|
||||||
|
|
||||||
------------------------------
|
|
||||||
-- Color Scheme
|
|
||||||
------------------------------
|
|
||||||
{
|
|
||||||
"rose-pine/neovim",
|
|
||||||
name = "rose-pine",
|
|
||||||
lazy = true,
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"davidosomething/vim-colors-meh",
|
|
||||||
name = "meh",
|
|
||||||
lazy = true,
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"kvrohit/rasmus.nvim",
|
|
||||||
name = "rasmus",
|
|
||||||
lazy = true,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
local load_textobjects = false
|
||||||
|
|
||||||
return {
|
return {
|
||||||
------------------------------
|
------------------------------
|
||||||
-- TreeSitter
|
-- TreeSitter
|
||||||
|
|
@ -141,9 +143,11 @@ return {
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"nvim-treesitter/playground",
|
"nvim-treesitter/playground",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"nvim-treesitter/nvim-treesitter-context",
|
"nvim-treesitter/nvim-treesitter-context",
|
||||||
opts = {
|
opts = {
|
||||||
|
|
@ -151,4 +155,13 @@ return {
|
||||||
},
|
},
|
||||||
config = true,
|
config = true,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"simrat39/symbols-outline.nvim",
|
||||||
|
opts = {},
|
||||||
|
cmd = { "SymbolsOutline", "SymbolsOutlineOpen", "SymbolsOutlineClose" },
|
||||||
|
keys = {
|
||||||
|
{ "<leader>so", "<cmd>SymbolsOutline<CR>", desc = "Symbols Outline" },
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
142
lua/rayandrew/plugins/ui.lua
Normal file
142
lua/rayandrew/plugins/ui.lua
Normal file
|
|
@ -0,0 +1,142 @@
|
||||||
|
------------------------------
|
||||||
|
-- User Interface
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"nvim-lualine/lualine.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = function()
|
||||||
|
local icons = require("rayandrew.theme").icons
|
||||||
|
local Util = require("rayandrew.util")
|
||||||
|
|
||||||
|
return {
|
||||||
|
options = {
|
||||||
|
theme = "auto",
|
||||||
|
globalstatus = true,
|
||||||
|
disabled_filetypes = { statusline = { "dashboard", "alpha" } },
|
||||||
|
},
|
||||||
|
sections = {
|
||||||
|
lualine_a = {
|
||||||
|
{
|
||||||
|
"mode",
|
||||||
|
fmt = function(str)
|
||||||
|
return str:sub(1, 1)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
lualine_b = { "branch" },
|
||||||
|
lualine_c = {
|
||||||
|
{
|
||||||
|
"diagnostics",
|
||||||
|
symbols = {
|
||||||
|
error = icons.diagnostics.Error,
|
||||||
|
warn = icons.diagnostics.Warn,
|
||||||
|
info = icons.diagnostics.Info,
|
||||||
|
hint = icons.diagnostics.Hint,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ "filetype", icon_only = true, separator = "", padding = { left = 1, right = 0 } },
|
||||||
|
{ "filename", path = 1, symbols = { modified = " ", readonly = "", unnamed = "" } },
|
||||||
|
},
|
||||||
|
lualine_x = {
|
||||||
|
{ require("lazy.status").updates, cond = require("lazy.status").has_updates, color = Util.fg("Special") },
|
||||||
|
{
|
||||||
|
"diff",
|
||||||
|
symbols = {
|
||||||
|
added = icons.git.added,
|
||||||
|
modified = icons.git.modified,
|
||||||
|
removed = icons.git.removed,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
lualine_y = {},
|
||||||
|
lualine_z = {
|
||||||
|
function()
|
||||||
|
return " " .. os.date("%R")
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
extensions = { "neo-tree", "lazy" },
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"lukas-reineke/indent-blankline.nvim",
|
||||||
|
main = "ibl",
|
||||||
|
event = { "BufReadPost", "BufNewFile" },
|
||||||
|
opts = {
|
||||||
|
-- char = "▏",
|
||||||
|
indent = {
|
||||||
|
char = "│",
|
||||||
|
},
|
||||||
|
exclude = {
|
||||||
|
filetypes = {
|
||||||
|
"help",
|
||||||
|
"alpha",
|
||||||
|
"dashboard",
|
||||||
|
"neo-tree",
|
||||||
|
"Trouble",
|
||||||
|
"lazy",
|
||||||
|
"mason",
|
||||||
|
"notify",
|
||||||
|
"toggleterm",
|
||||||
|
"lazyterm",
|
||||||
|
"qf",
|
||||||
|
},
|
||||||
|
buftypes = {
|
||||||
|
"terminal",
|
||||||
|
"nofile",
|
||||||
|
"quickfix",
|
||||||
|
"prompt",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
scope = {
|
||||||
|
enabled = true,
|
||||||
|
},
|
||||||
|
-- show_trailing_blankline_indent = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{ "kevinhwang91/nvim-bqf", ft = "qf" },
|
||||||
|
|
||||||
|
-- icons
|
||||||
|
{ "nvim-tree/nvim-web-devicons", lazy = true },
|
||||||
|
|
||||||
|
{
|
||||||
|
"lewis6991/gitsigns.nvim",
|
||||||
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
|
opts = {
|
||||||
|
signs = {
|
||||||
|
add = { text = "▎" },
|
||||||
|
change = { text = "▎" },
|
||||||
|
delete = { text = "" },
|
||||||
|
topdelete = { text = "" },
|
||||||
|
changedelete = { text = "▎" },
|
||||||
|
untracked = { text = "▎" },
|
||||||
|
},
|
||||||
|
on_attach = function(buffer)
|
||||||
|
local gs = package.loaded.gitsigns
|
||||||
|
|
||||||
|
local function map(mode, l, r, desc)
|
||||||
|
vim.keymap.set(mode, l, r, { buffer = buffer, desc = desc })
|
||||||
|
end
|
||||||
|
|
||||||
|
-- stylua: ignore start
|
||||||
|
map("n", "]h", gs.next_hunk, "Next Hunk")
|
||||||
|
map("n", "[h", gs.prev_hunk, "Prev Hunk")
|
||||||
|
map({ "n", "v" }, "<leader>ghs", ":Gitsigns stage_hunk<CR>", "Stage Hunk")
|
||||||
|
map({ "n", "v" }, "<leader>ghr", ":Gitsigns reset_hunk<CR>", "Reset Hunk")
|
||||||
|
map("n", "<leader>ghS", gs.stage_buffer, "Stage Buffer")
|
||||||
|
map("n", "<leader>ghu", gs.undo_stage_hunk, "Undo Stage Hunk")
|
||||||
|
map("n", "<leader>ghR", gs.reset_buffer, "Reset Buffer")
|
||||||
|
map("n", "<leader>ghp", gs.preview_hunk, "Preview Hunk")
|
||||||
|
map("n", "<leader>ghb", function() gs.blame_line({ full = true }) end, "Blame Line")
|
||||||
|
map("n", "<leader>ghd", gs.diffthis, "Diff This")
|
||||||
|
map("n", "<leader>ghD", function() gs.diffthis("~") end, "Diff This ~")
|
||||||
|
map({ "o", "x" }, "ih", ":<C-U>Gitsigns select_hunk<CR>", "GitSigns Select Hunk")
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
398
lua/rayandrew/plugins/utilities.lua
Normal file
398
lua/rayandrew/plugins/utilities.lua
Normal file
|
|
@ -0,0 +1,398 @@
|
||||||
|
------------------------------
|
||||||
|
-- Utilities
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"nvim-focus/focus.nvim",
|
||||||
|
version = "*",
|
||||||
|
opts = {},
|
||||||
|
cmd = { "FocusToggle", "FocusSplitNicely", "FocusSplitCycle", "FocusSplitCycleReverse" },
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<space>wf",
|
||||||
|
"<cmd>FocusToggle<CR>",
|
||||||
|
desc = "Toggle Focus",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"kylechui/nvim-surround",
|
||||||
|
version = "*",
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = {},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"RRethy/vim-illuminate",
|
||||||
|
event = { "BufReadPost", "BufNewFile" },
|
||||||
|
opts = {
|
||||||
|
delay = 200,
|
||||||
|
large_file_cutoff = 2000,
|
||||||
|
large_file_overrides = {
|
||||||
|
providers = { "lsp" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
config = function(_, opts)
|
||||||
|
require("illuminate").configure(opts)
|
||||||
|
|
||||||
|
local function map(key, dir, buffer)
|
||||||
|
vim.keymap.set("n", key, function()
|
||||||
|
require("illuminate")["goto_" .. dir .. "_reference"](false)
|
||||||
|
end, {
|
||||||
|
desc = dir:sub(1, 1):upper() .. dir:sub(2) .. " Reference",
|
||||||
|
buffer = buffer,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
map("]]", "next")
|
||||||
|
map("[[", "prev")
|
||||||
|
|
||||||
|
-- also set it after loading ftplugins, since a lot overwrite [[ and ]]
|
||||||
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
|
callback = function()
|
||||||
|
local buffer = vim.api.nvim_get_current_buf()
|
||||||
|
map("]]", "next", buffer)
|
||||||
|
map("[[", "prev", buffer)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
keys = {
|
||||||
|
{ "]]", desc = "Next Reference" },
|
||||||
|
{ "[[", desc = "Prev Reference" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- comments
|
||||||
|
{
|
||||||
|
"echasnovski/mini.comment",
|
||||||
|
event = "VeryLazy",
|
||||||
|
dependencies = {
|
||||||
|
{ "JoosepAlviste/nvim-ts-context-commentstring", lazy = true },
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
options = {
|
||||||
|
custom_commentstring = function()
|
||||||
|
return require("ts_context_commentstring.internal").calculate_commentstring() or vim.bo.commentstring
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- RSI compatibility
|
||||||
|
-- {
|
||||||
|
-- "tpope/vim-rsi",
|
||||||
|
-- },
|
||||||
|
{
|
||||||
|
"assistcontrol/readline.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<M-f>",
|
||||||
|
function()
|
||||||
|
require("readline").forward_word()
|
||||||
|
end,
|
||||||
|
mode = "!",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<M-b>",
|
||||||
|
function()
|
||||||
|
require("readline").backward_word()
|
||||||
|
end,
|
||||||
|
mode = "!",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<M-d>",
|
||||||
|
function()
|
||||||
|
require("readline").kill_word()
|
||||||
|
end,
|
||||||
|
mode = "!",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<M-BS>",
|
||||||
|
function()
|
||||||
|
require("readline").backward_kill_word()
|
||||||
|
end,
|
||||||
|
mode = "!",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<C-w>",
|
||||||
|
function()
|
||||||
|
require("readline").unix_word_rubout()
|
||||||
|
end,
|
||||||
|
mode = "!",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<C-k>",
|
||||||
|
function()
|
||||||
|
require("readline").kill_line()
|
||||||
|
end,
|
||||||
|
mode = "!",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<C-u>",
|
||||||
|
function()
|
||||||
|
require("readline").backward_kill_line()
|
||||||
|
end,
|
||||||
|
mode = "!",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<C-a>",
|
||||||
|
function()
|
||||||
|
require("readline").beginning_of_line()
|
||||||
|
end,
|
||||||
|
mode = "!",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<C-e>",
|
||||||
|
function()
|
||||||
|
require("readline").end_of_line()
|
||||||
|
end,
|
||||||
|
mode = "!",
|
||||||
|
},
|
||||||
|
{ "<C-f>", "<Right>", mode = "!" }, -- forward-char
|
||||||
|
{ "<C-b>", "<Left>", mode = "!" }, -- backward-char
|
||||||
|
{ "<C-n>", "<Down>", mode = "!" }, -- next-line
|
||||||
|
{ "<C-p>", "<Up>", mode = "!" }, -- previous-line
|
||||||
|
{ "<C-d>", "<Delete>", mode = "!" }, -- delete-char
|
||||||
|
{ "<C-h>", "<BS>", mode = "!" }, -- backward-delete-char
|
||||||
|
{ "<C-g>", "<Esc>", mode = "!" }, -- abort
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"tpope/vim-fugitive",
|
||||||
|
cmd = { "Git" },
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"theprimeagen/harpoon",
|
||||||
|
event = "VeryLazy",
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<leader>ha",
|
||||||
|
function()
|
||||||
|
local mark = require("harpoon.mark")
|
||||||
|
mark.add_file()
|
||||||
|
vim.print("Added to Harpoon " .. vim.fn.expand("%"))
|
||||||
|
end,
|
||||||
|
desc = "Harpoon Add File",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>he",
|
||||||
|
function()
|
||||||
|
local ui = require("harpoon.ui")
|
||||||
|
ui.toggle_quick_menu()
|
||||||
|
end,
|
||||||
|
desc = "Harpoon UI",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>h1",
|
||||||
|
function()
|
||||||
|
local ui = require("harpoon.ui")
|
||||||
|
ui.nav_file(1)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>h2",
|
||||||
|
function()
|
||||||
|
local ui = require("harpoon.ui")
|
||||||
|
ui.nav_file(2)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>h3",
|
||||||
|
function()
|
||||||
|
local ui = require("harpoon.ui")
|
||||||
|
ui.nav_file(3)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>h4",
|
||||||
|
function()
|
||||||
|
local ui = require("harpoon.ui")
|
||||||
|
ui.nav_file(4)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>h5",
|
||||||
|
function()
|
||||||
|
local ui = require("harpoon.ui")
|
||||||
|
ui.nav_file(5)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"theprimeagen/refactoring.nvim",
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"github/copilot.vim",
|
||||||
|
init = function()
|
||||||
|
-- vim.g.copilot_no_tab_map = true
|
||||||
|
-- vim.g.copilot_assume_mapped = true
|
||||||
|
-- vim.g.copilot_tab_fallback = ""
|
||||||
|
vim.g.copilot_filetypes = {
|
||||||
|
["*"] = true,
|
||||||
|
["text"] = false,
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"eandrju/cellular-automaton.nvim",
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"mbbill/undotree",
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"folke/which-key.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = {
|
||||||
|
plugins = { spelling = true },
|
||||||
|
defaults = {
|
||||||
|
mode = { "n", "v" },
|
||||||
|
["g"] = { name = "+goto" },
|
||||||
|
["gz"] = { name = "+surround" },
|
||||||
|
["]"] = { name = "+next" },
|
||||||
|
["["] = { name = "+prev" },
|
||||||
|
["<leader><tab>"] = { name = "+tabs" },
|
||||||
|
["<leader>b"] = { name = "+buffer" },
|
||||||
|
["<leader>c"] = { name = "+code" },
|
||||||
|
["<leader>f"] = { name = "+file/find" },
|
||||||
|
["<leader>g"] = { name = "+git" },
|
||||||
|
["<leader>n"] = { name = "+note" },
|
||||||
|
["<leader>gh"] = { name = "+hunks" },
|
||||||
|
["<leader>q"] = { name = "+quit/session" },
|
||||||
|
["<leader>s"] = { name = "+search" },
|
||||||
|
["<leader>u"] = { name = "+ui" },
|
||||||
|
["<leader>w"] = { name = "+windows" },
|
||||||
|
["<leader>x"] = { name = "+diagnostics/quickfix" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
config = function(_, opts)
|
||||||
|
local wk = require("which-key")
|
||||||
|
wk.setup(opts)
|
||||||
|
wk.register(opts.defaults)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- zen
|
||||||
|
{
|
||||||
|
"folke/zen-mode.nvim",
|
||||||
|
opts = {
|
||||||
|
window = {
|
||||||
|
width = 100,
|
||||||
|
},
|
||||||
|
plugins = {
|
||||||
|
tmux = {
|
||||||
|
enabled = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
on_open = function()
|
||||||
|
vim.wo.wrap = false
|
||||||
|
vim.wo.number = false
|
||||||
|
vim.wo.rnu = false
|
||||||
|
vim.wo.signcolumn = "no"
|
||||||
|
end,
|
||||||
|
on_close = function()
|
||||||
|
vim.wo.wrap = true
|
||||||
|
vim.wo.number = true
|
||||||
|
vim.wo.rnu = true
|
||||||
|
vim.wo.signcolumn = "yes"
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<leader>z",
|
||||||
|
function()
|
||||||
|
require("zen-mode").toggle()
|
||||||
|
require("rayandrew.theme").recolor()
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Tmux
|
||||||
|
{
|
||||||
|
"mrjones2014/smart-splits.nvim",
|
||||||
|
lazy = true,
|
||||||
|
-- event = "VeryLazy",
|
||||||
|
dependencies = {
|
||||||
|
{
|
||||||
|
"kwkarlwang/bufresize.nvim",
|
||||||
|
opts = {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("smart-splits").setup({
|
||||||
|
resize_mode = {
|
||||||
|
hooks = {
|
||||||
|
on_leave = require("bufresize").register,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"christoomey/vim-tmux-navigator",
|
||||||
|
cmd = {
|
||||||
|
"TmuxNavigateLeft",
|
||||||
|
"TmuxNavigateDown",
|
||||||
|
"TmuxNavigateUp",
|
||||||
|
"TmuxNavigateRight",
|
||||||
|
},
|
||||||
|
keys = { "<C-h>", "<C-j>", "<C-k>", "<C-l>" },
|
||||||
|
config = function()
|
||||||
|
vim.g.tmux_navigator_no_wrap = 1
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- search/replace in multiple files
|
||||||
|
{
|
||||||
|
"nvim-pack/nvim-spectre",
|
||||||
|
cmd = "Spectre",
|
||||||
|
opts = { open_cmd = "noswapfile vnew" },
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<leader>sr",
|
||||||
|
function()
|
||||||
|
require("spectre").open()
|
||||||
|
end,
|
||||||
|
desc = "Replace in files (Spectre)",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- buffer remove
|
||||||
|
{
|
||||||
|
"echasnovski/mini.bufremove",
|
||||||
|
-- stylua: ignore
|
||||||
|
keys = {
|
||||||
|
{ "<leader>bd", function() require("mini.bufremove").delete(0, false) end, desc = "Delete Buffer" },
|
||||||
|
{ "<leader>bD", function() require("mini.bufremove").delete(0, true) end, desc = "Delete Buffer (Force)" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"tpope/vim-dispatch",
|
||||||
|
commands = { "Make", "Dispatch", "Copen" },
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<leader>cc",
|
||||||
|
function()
|
||||||
|
local input = vim.fn.input("Command: ")
|
||||||
|
vim.cmd("Dispatch " .. input)
|
||||||
|
end,
|
||||||
|
desc = "AsyncRun",
|
||||||
|
},
|
||||||
|
{ "<leader>ck", desc = "AsyncStop" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -2,7 +2,8 @@ local M = {}
|
||||||
|
|
||||||
-- M.colorscheme = "rose-pine"
|
-- M.colorscheme = "rose-pine"
|
||||||
-- M.colorscheme = "meh"
|
-- M.colorscheme = "meh"
|
||||||
M.colorscheme = "rasmus"
|
-- M.colorscheme = "rasmus"
|
||||||
|
M.colorscheme = "everforest"
|
||||||
-- M.colorscheme = ""
|
-- M.colorscheme = ""
|
||||||
|
|
||||||
function M.setup()
|
function M.setup()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue