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" },
|
||||
"cloak.nvim": { "branch": "main", "commit": "951b163e55ce7639eb320c450bde9283c4fe968b" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
|
||||
"conform.nvim": { "branch": "master", "commit": "c4b2efb8aee4af0ef179a9b49ba401de3c4ef5d2" },
|
||||
"copilot.vim": { "branch": "release", "commit": "5b19fb001d7f31c4c7c5556d7a97b243bd29f45f" },
|
||||
"distant.nvim": { "branch": "v0.3", "commit": "998724f62386c8022a4e6c885f4509cf9477451a" },
|
||||
"everforest": { "branch": "main", "commit": "06a600c4fa49e7a4c44848d14c353ecbaab8eb9f" },
|
||||
"focus.nvim": { "branch": "master", "commit": "c83be53de558f6f0824c8cefcad61719c87ce157" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "d195f0c35ced5174d3ecce1c4c8ebb3b5bc23fa9" },
|
||||
"glow.nvim": { "branch": "main", "commit": "238070a686c1da3bccccf1079700eb4b5e19aea4" },
|
||||
|
|
@ -22,8 +23,6 @@
|
|||
"mini.comment": { "branch": "main", "commit": "67f00d3ebbeae15e84584d971d0c32aad4f4f3a4" },
|
||||
"nabla.nvim": { "branch": "master", "commit": "27a6ea9ed7452bb9e0b19eb0942b5bcf7d051b2f" },
|
||||
"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" },
|
||||
"nvim-bqf": { "branch": "main", "commit": "bdc2a4e5bb670b3c0e33ada9c0eec636d93a0748" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" },
|
||||
|
|
@ -35,9 +34,11 @@
|
|||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "85b9d0cbd4ff901abcda862b50dbb34e0901848b" },
|
||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "1277b4a1f451b0f18c0790e1a7f12e1e5fdebfee" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "3e24abe1ae66532135cec911562f553fe247cb56" },
|
||||
"oil.nvim": { "branch": "master", "commit": "a128e6f75c6a71b7b9ac7ea663949a5209771cd5" },
|
||||
"playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" },
|
||||
"rasmus": { "branch": "main", "commit": "f824de95d446686e479781c0c2b778c177da528f" },
|
||||
"readline.nvim": { "branch": "main", "commit": "5cb27349bc01cdcdb3d3494e5337d8b3834aef1a" },
|
||||
"refactoring.nvim": { "branch": "master", "commit": "258041a596d733dc51f6ad1e092ed1f23e3faa70" },
|
||||
"rose-pine": { "branch": "main", "commit": "92762f4fa2144c05db760ea254f4c399a56a7ef5" },
|
||||
"smart-splits.nvim": { "branch": "master", "commit": "403ad1a4fd7eb39388690a5657e7cbfb16da6668" },
|
||||
|
|
@ -52,7 +53,6 @@
|
|||
"vim-dispatch": { "branch": "master", "commit": "6cc2691576f97d43f8751664d1a1a908b99927e5" },
|
||||
"vim-fugitive": { "branch": "master", "commit": "59659093581aad2afacedc81f009ed6a4bfad275" },
|
||||
"vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" },
|
||||
"vim-rsi": { "branch": "master", "commit": "45540637ead22f011e8215f1c90142e49d946a54" },
|
||||
"vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" },
|
||||
"vim-tmux-navigator": { "branch": "master", "commit": "38b1d0402c4600543281dc85b3f51884205674b6" },
|
||||
"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.remap")
|
||||
require("rayandrew.theme").setup()
|
||||
require("rayandrew.commands")
|
||||
-- require("rayandrew.filetype").setup()
|
||||
-- require("rayandrew.statusline").setup()
|
||||
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 = {
|
||||
-- {
|
||||
-- "<leader>E",
|
||||
-- function()
|
||||
-- vim.cmd("Neotree toggle position=current")
|
||||
-- end,
|
||||
-- desc = "Toggle NeoTree as Buffer",
|
||||
-- },
|
||||
{
|
||||
"<leader>E",
|
||||
function()
|
||||
vim.cmd("Neotree toggle position=current")
|
||||
end,
|
||||
desc = "Toggle NeoTree as Buffer",
|
||||
},
|
||||
{
|
||||
"<leader>e",
|
||||
"<leader>fe",
|
||||
function()
|
||||
vim.cmd("Neotree toggle")
|
||||
end,
|
||||
|
|
@ -78,14 +78,14 @@ return {
|
|||
deactivate = function()
|
||||
vim.cmd([[Neotree close]])
|
||||
end,
|
||||
init = function()
|
||||
if vim.fn.argc(-1) == 1 then
|
||||
local stat = vim.loop.fs_stat(vim.fn.argv(0))
|
||||
if stat and stat.type == "directory" then
|
||||
require("neo-tree")
|
||||
end
|
||||
end
|
||||
end,
|
||||
-- init = function()
|
||||
-- if vim.fn.argc(-1) == 1 then
|
||||
-- local stat = vim.loop.fs_stat(vim.fn.argv(0))
|
||||
-- if stat and stat.type == "directory" then
|
||||
-- require("neo-tree")
|
||||
-- end
|
||||
-- end
|
||||
-- end,
|
||||
config = function(_, opts)
|
||||
local function on_move(data)
|
||||
Util.lsp.on_rename(data.source, data.destination)
|
||||
|
|
@ -109,48 +109,11 @@ return {
|
|||
end,
|
||||
},
|
||||
|
||||
-- {
|
||||
-- "X3eRo0/dired.nvim",
|
||||
-- dependencies = { "MunifTanjim/nui.nvim" },
|
||||
-- opts = {
|
||||
-- path_separator = "/", -- Use '/' as the path separator
|
||||
-- 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 = {
|
||||
{
|
||||
"stevearc/oil.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
cmd = { "Oil" },
|
||||
keys = {
|
||||
-- {
|
||||
-- "<leader>e",
|
||||
-- function()
|
||||
|
|
@ -162,74 +125,72 @@ return {
|
|||
-- end,
|
||||
-- desc = "Open current directory",
|
||||
-- },
|
||||
-- {
|
||||
-- "<leader>E",
|
||||
-- function()
|
||||
-- -- disable in oil filetype
|
||||
-- if vim.bo.filetype == "oil" then
|
||||
-- return
|
||||
-- end
|
||||
-- require("oil").open(".")
|
||||
-- end,
|
||||
-- desc = "Open current directory",
|
||||
-- },
|
||||
-- },
|
||||
-- opts = {
|
||||
-- columns = {
|
||||
-- -- "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({
|
||||
{
|
||||
"<leader>fE",
|
||||
function()
|
||||
-- disable in oil filetype
|
||||
if vim.bo.filetype == "oil" then
|
||||
return
|
||||
end
|
||||
require("oil").open(".")
|
||||
end,
|
||||
desc = "Open current directory",
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
columns = {
|
||||
-- "icon",
|
||||
-- "permissions",
|
||||
-- "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,
|
||||
-- },
|
||||
|
||||
|
||||
},
|
||||
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",
|
||||
"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 {
|
||||
{
|
||||
{
|
||||
'VonHeikemen/lsp-zero.nvim',
|
||||
branch = 'v3.x',
|
||||
"VonHeikemen/lsp-zero.nvim",
|
||||
branch = "v3.x",
|
||||
lazy = true,
|
||||
config = false,
|
||||
init = function()
|
||||
|
|
@ -12,72 +18,186 @@ return {
|
|||
end,
|
||||
},
|
||||
{
|
||||
'williamboman/mason.nvim',
|
||||
"williamboman/mason.nvim",
|
||||
lazy = false,
|
||||
config = true,
|
||||
},
|
||||
|
||||
-- Autocompletion
|
||||
{
|
||||
'hrsh7th/nvim-cmp',
|
||||
event = 'InsertEnter',
|
||||
"hrsh7th/nvim-cmp",
|
||||
event = "InsertEnter",
|
||||
dependencies = {
|
||||
{'L3MON4D3/LuaSnip'},
|
||||
{ "L3MON4D3/LuaSnip" },
|
||||
},
|
||||
config = function()
|
||||
-- Here is where you configure the autocompletion settings.
|
||||
local lsp_zero = require('lsp-zero')
|
||||
local lsp_zero = require("lsp-zero")
|
||||
lsp_zero.extend_cmp()
|
||||
|
||||
-- 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()
|
||||
|
||||
cmp.setup({
|
||||
formatting = lsp_zero.cmp_format(),
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
['<C-u>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-d>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-f>'] = cmp_action.luasnip_jump_forward(),
|
||||
['<C-b>'] = cmp_action.luasnip_jump_backward(),
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
["<C-u>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-d>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-f>"] = cmp_action.luasnip_jump_forward(),
|
||||
["<C-b>"] = cmp_action.luasnip_jump_backward(),
|
||||
}),
|
||||
})
|
||||
})
|
||||
end
|
||||
end,
|
||||
},
|
||||
|
||||
-- LSP
|
||||
{
|
||||
'neovim/nvim-lspconfig',
|
||||
cmd = {'LspInfo', 'LspInstall', 'LspStart'},
|
||||
event = {'BufReadPre', 'BufNewFile'},
|
||||
"neovim/nvim-lspconfig",
|
||||
cmd = { "LspInfo", "LspInstall", "LspStart" },
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
dependencies = {
|
||||
{'hrsh7th/cmp-nvim-lsp'},
|
||||
{'williamboman/mason-lspconfig.nvim'},
|
||||
{ "hrsh7th/cmp-nvim-lsp" },
|
||||
{ "williamboman/mason-lspconfig.nvim" },
|
||||
},
|
||||
config = function()
|
||||
-- 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.on_attach(function(client, bufnr)
|
||||
-- see :help lsp-zero-keybindings
|
||||
-- to learn the available actions
|
||||
lsp_zero.default_keymaps({buffer = bufnr})
|
||||
lsp_zero.default_keymaps({ buffer = bufnr })
|
||||
end)
|
||||
|
||||
require('mason-lspconfig').setup({
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = {},
|
||||
handlers = {
|
||||
lsp_zero.default_setup,
|
||||
lua_ls = function()
|
||||
-- (Optional) Configure lua language server for neovim
|
||||
local lua_opts = lsp_zero.nvim_lua_ls()
|
||||
require('lspconfig').lua_ls.setup(lua_opts)
|
||||
require("lspconfig").lua_ls.setup(lua_opts)
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
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 {
|
||||
|
||||
-- Telescope
|
||||
------------------------------
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
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 {
|
||||
------------------------------
|
||||
-- TreeSitter
|
||||
|
|
@ -141,9 +143,11 @@ return {
|
|||
end
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-treesitter/playground",
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter-context",
|
||||
opts = {
|
||||
|
|
@ -151,4 +155,13 @@ return {
|
|||
},
|
||||
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 = "meh"
|
||||
M.colorscheme = "rasmus"
|
||||
-- M.colorscheme = "rasmus"
|
||||
M.colorscheme = "everforest"
|
||||
-- M.colorscheme = ""
|
||||
|
||||
function M.setup()
|
||||
|
|
|
|||
Loading…
Reference in a new issue