update settings
This commit is contained in:
parent
068a0f3f93
commit
184d288776
4 changed files with 183 additions and 138 deletions
|
|
@ -5,14 +5,16 @@ local function augroup(name)
|
|||
return vim.api.nvim_create_augroup("lazyvim_" .. name, { clear = true })
|
||||
end
|
||||
|
||||
local autocmd = vim.api.nvim_create_autocmd
|
||||
|
||||
-- Check if we need to reload the file when it changed
|
||||
vim.api.nvim_create_autocmd({ "FocusGained", "TermClose", "TermLeave" }, {
|
||||
autocmd({ "FocusGained", "TermClose", "TermLeave" }, {
|
||||
group = augroup("checktime"),
|
||||
command = "checktime",
|
||||
})
|
||||
|
||||
-- Highlight on yank
|
||||
vim.api.nvim_create_autocmd("TextYankPost", {
|
||||
autocmd("TextYankPost", {
|
||||
group = augroup("highlight_yank"),
|
||||
callback = function()
|
||||
vim.highlight.on_yank()
|
||||
|
|
@ -20,7 +22,7 @@ vim.api.nvim_create_autocmd("TextYankPost", {
|
|||
})
|
||||
|
||||
-- resize splits if window got resized
|
||||
vim.api.nvim_create_autocmd({ "VimResized" }, {
|
||||
autocmd({ "VimResized" }, {
|
||||
group = augroup("resize_splits"),
|
||||
callback = function()
|
||||
vim.cmd("tabdo wincmd =")
|
||||
|
|
@ -28,7 +30,7 @@ vim.api.nvim_create_autocmd({ "VimResized" }, {
|
|||
})
|
||||
|
||||
-- go to last loc when opening a buffer
|
||||
vim.api.nvim_create_autocmd("BufReadPost", {
|
||||
autocmd("BufReadPost", {
|
||||
group = augroup("last_loc"),
|
||||
callback = function()
|
||||
local exclude = { "gitcommit" }
|
||||
|
|
@ -45,7 +47,7 @@ vim.api.nvim_create_autocmd("BufReadPost", {
|
|||
})
|
||||
|
||||
-- close some filetypes with <q>
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
autocmd("FileType", {
|
||||
group = augroup("close_with_q"),
|
||||
pattern = {
|
||||
"PlenaryTestPopup",
|
||||
|
|
@ -69,7 +71,7 @@ vim.api.nvim_create_autocmd("FileType", {
|
|||
})
|
||||
|
||||
-- wrap and check for spell in text filetypes
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
autocmd("FileType", {
|
||||
group = augroup("wrap_spell"),
|
||||
pattern = { "gitcommit", "markdown" },
|
||||
callback = function()
|
||||
|
|
@ -79,7 +81,7 @@ vim.api.nvim_create_autocmd("FileType", {
|
|||
})
|
||||
|
||||
-- Auto create dir when saving a file, in case some intermediate directory does not exist
|
||||
vim.api.nvim_create_autocmd({ "BufWritePre" }, {
|
||||
autocmd({ "BufWritePre" }, {
|
||||
group = augroup("auto_create_dir"),
|
||||
callback = function(event)
|
||||
if event.match:match("^%w%w+://") then
|
||||
|
|
@ -89,3 +91,9 @@ vim.api.nvim_create_autocmd({ "BufWritePre" }, {
|
|||
vim.fn.mkdir(vim.fn.fnamemodify(file, ":p:h"), "p")
|
||||
end,
|
||||
})
|
||||
|
||||
autocmd({ "BufWritePre" }, {
|
||||
group = augroup("remove_trailing_whitespace"),
|
||||
pattern = "*",
|
||||
command = [[%s/\s\+$//e]],
|
||||
})
|
||||
|
|
|
|||
|
|
@ -143,6 +143,7 @@ return {
|
|||
"luap",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"nix",
|
||||
"python",
|
||||
"query",
|
||||
"regex",
|
||||
|
|
@ -220,6 +221,7 @@ return {
|
|||
|
||||
{
|
||||
"stevearc/oil.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
cmd = { "Oil" },
|
||||
keys = {
|
||||
{
|
||||
|
|
@ -229,109 +231,133 @@ return {
|
|||
end,
|
||||
desc = "Open parent directory",
|
||||
},
|
||||
{
|
||||
"<leader>e",
|
||||
function()
|
||||
-- split window then open oil
|
||||
-- vim.cmd.vsplit()
|
||||
require("oil").open()
|
||||
end,
|
||||
desc = "Open current directory",
|
||||
},
|
||||
{
|
||||
"<leader>E",
|
||||
function()
|
||||
-- split window then open oil
|
||||
-- vim.cmd.vsplit()
|
||||
require("oil").open(".")
|
||||
end,
|
||||
desc = "Open current directory",
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
default_file_explorer = true,
|
||||
restore_win_options = true,
|
||||
},
|
||||
-- Optional dependencies
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
init = function()
|
||||
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 explorer
|
||||
{
|
||||
"nvim-neo-tree/neo-tree.nvim",
|
||||
branch = "v3.x",
|
||||
cmd = "Neotree",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"MunifTanjim/nui.nvim",
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>fE",
|
||||
function()
|
||||
local Util = require("rayandrew.util")
|
||||
require("neo-tree.command").execute({
|
||||
toggle = true,
|
||||
dir = Util.get_root(),
|
||||
})
|
||||
end,
|
||||
desc = "Explorer NeoTree (root dir)",
|
||||
},
|
||||
{
|
||||
"<leader>fe",
|
||||
function()
|
||||
require("neo-tree.command").execute({
|
||||
toggle = true,
|
||||
dir = vim.loop.cwd(),
|
||||
})
|
||||
end,
|
||||
desc = "Explorer NeoTree (cwd)",
|
||||
},
|
||||
{
|
||||
"<leader>E",
|
||||
"<leader>fE",
|
||||
desc = "Explorer NeoTree (root dir)",
|
||||
remap = true,
|
||||
},
|
||||
{
|
||||
"<leader>e",
|
||||
"<leader>fe",
|
||||
desc = "Explorer NeoTree (cwd)",
|
||||
remap = true,
|
||||
},
|
||||
},
|
||||
deactivate = function()
|
||||
vim.cmd([[Neotree close]])
|
||||
end,
|
||||
init = function()
|
||||
-- if vim.fn.argc() == 1 then
|
||||
-- local stat = vim.loop.fs_stat(vim.fn.argv(0))
|
||||
-- if stat and stat.type == "directory" then
|
||||
-- require("neo-tree")
|
||||
-- {
|
||||
-- "nvim-neo-tree/neo-tree.nvim",
|
||||
-- branch = "v3.x",
|
||||
-- cmd = "Neotree",
|
||||
-- dependencies = {
|
||||
-- "nvim-lua/plenary.nvim",
|
||||
-- "MunifTanjim/nui.nvim",
|
||||
-- },
|
||||
-- keys = {
|
||||
-- {
|
||||
-- "<leader>fE",
|
||||
-- function()
|
||||
-- local Util = require("rayandrew.util")
|
||||
-- require("neo-tree.command").execute({
|
||||
-- toggle = true,
|
||||
-- dir = Util.get_root(),
|
||||
-- })
|
||||
-- end,
|
||||
-- desc = "Explorer NeoTree (root dir)",
|
||||
-- },
|
||||
-- {
|
||||
-- "<leader>fe",
|
||||
-- function()
|
||||
-- require("neo-tree.command").execute({
|
||||
-- toggle = true,
|
||||
-- dir = vim.loop.cwd(),
|
||||
-- })
|
||||
-- end,
|
||||
-- desc = "Explorer NeoTree (cwd)",
|
||||
-- },
|
||||
-- {
|
||||
-- "<leader>E",
|
||||
-- "<leader>fE",
|
||||
-- desc = "Explorer NeoTree (root dir)",
|
||||
-- remap = true,
|
||||
-- },
|
||||
-- {
|
||||
-- "<leader>e",
|
||||
-- "<leader>fe",
|
||||
-- desc = "Explorer NeoTree (cwd)",
|
||||
-- remap = true,
|
||||
-- },
|
||||
-- },
|
||||
-- deactivate = function()
|
||||
-- vim.cmd([[Neotree close]])
|
||||
-- end,
|
||||
-- init = function()
|
||||
-- -- if vim.fn.argc() == 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,
|
||||
-- opts = {
|
||||
-- sources = { "filesystem", "buffers", "git_status", "document_symbols" },
|
||||
-- open_files_do_not_replace_types = {
|
||||
-- "terminal",
|
||||
-- "Trouble",
|
||||
-- "qf",
|
||||
-- "Outline",
|
||||
-- },
|
||||
-- filesystem = {
|
||||
-- bind_to_cwd = false,
|
||||
-- follow_current_file = { enabled = true },
|
||||
-- use_libuv_file_watcher = true,
|
||||
-- },
|
||||
-- window = {
|
||||
-- mappings = {
|
||||
-- ["<space>"] = "none",
|
||||
-- },
|
||||
-- },
|
||||
-- default_component_configs = {
|
||||
-- indent = {
|
||||
-- with_expanders = true, -- if nil and file nesting is enabled, will enable expanders
|
||||
-- expander_collapsed = "",
|
||||
-- expander_expanded = "",
|
||||
-- expander_highlight = "NeoTreeExpander",
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- config = function(_, opts)
|
||||
-- require("neo-tree").setup(opts)
|
||||
-- vim.api.nvim_create_autocmd("TermClose", {
|
||||
-- pattern = "*lazygit",
|
||||
-- callback = function()
|
||||
-- if package.loaded["neo-tree.sources.git_status"] then
|
||||
-- require("neo-tree.sources.git_status").refresh()
|
||||
-- end
|
||||
-- end
|
||||
end,
|
||||
opts = {
|
||||
sources = { "filesystem", "buffers", "git_status", "document_symbols" },
|
||||
open_files_do_not_replace_types = {
|
||||
"terminal",
|
||||
"Trouble",
|
||||
"qf",
|
||||
"Outline",
|
||||
},
|
||||
filesystem = {
|
||||
bind_to_cwd = false,
|
||||
follow_current_file = { enabled = true },
|
||||
use_libuv_file_watcher = true,
|
||||
},
|
||||
window = {
|
||||
mappings = {
|
||||
["<space>"] = "none",
|
||||
},
|
||||
},
|
||||
default_component_configs = {
|
||||
indent = {
|
||||
with_expanders = true, -- if nil and file nesting is enabled, will enable expanders
|
||||
expander_collapsed = "",
|
||||
expander_expanded = "",
|
||||
expander_highlight = "NeoTreeExpander",
|
||||
},
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("neo-tree").setup(opts)
|
||||
vim.api.nvim_create_autocmd("TermClose", {
|
||||
pattern = "*lazygit",
|
||||
callback = function()
|
||||
if package.loaded["neo-tree.sources.git_status"] then
|
||||
require("neo-tree.sources.git_status").refresh()
|
||||
end
|
||||
end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
-- end,
|
||||
-- })
|
||||
-- end,
|
||||
-- },
|
||||
|
||||
-- search/replace in multiple files
|
||||
{
|
||||
|
|
@ -434,42 +460,42 @@ return {
|
|||
},
|
||||
|
||||
-- buffer line
|
||||
{
|
||||
"akinsho/bufferline.nvim",
|
||||
event = "VeryLazy",
|
||||
keys = {
|
||||
{ "<leader>bp", "<Cmd>BufferLineTogglePin<CR>", desc = "Toggle pin" },
|
||||
{
|
||||
"<leader>bP",
|
||||
"<Cmd>BufferLineGroupClose ungrouped<CR>",
|
||||
desc = "Delete non-pinned buffers",
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
options = {
|
||||
-- stylua: ignore
|
||||
close_command = function(n) require("mini.bufremove").delete(n, false) end,
|
||||
-- stylua: ignore
|
||||
right_mouse_command = function(n) require("mini.bufremove").delete(n, false) end,
|
||||
diagnostics = "nvim_lsp",
|
||||
always_show_bufferline = false,
|
||||
diagnostics_indicator = function(_, _, diag)
|
||||
local icons = require("rayandrew.theme").icons.diagnostics
|
||||
local ret = (diag.error and icons.Error .. diag.error .. " " or "")
|
||||
.. (diag.warning and icons.Warn .. diag.warning or "")
|
||||
return vim.trim(ret)
|
||||
end,
|
||||
offsets = {
|
||||
{
|
||||
filetype = "neo-tree",
|
||||
text = "Neo-tree",
|
||||
highlight = "Directory",
|
||||
text_align = "left",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
-- {
|
||||
-- "akinsho/bufferline.nvim",
|
||||
-- event = "VeryLazy",
|
||||
-- keys = {
|
||||
-- { "<leader>bp", "<Cmd>BufferLineTogglePin<CR>", desc = "Toggle pin" },
|
||||
-- {
|
||||
-- "<leader>bP",
|
||||
-- "<Cmd>BufferLineGroupClose ungrouped<CR>",
|
||||
-- desc = "Delete non-pinned buffers",
|
||||
-- },
|
||||
-- },
|
||||
-- opts = {
|
||||
-- options = {
|
||||
-- -- stylua: ignore
|
||||
-- close_command = function(n) require("mini.bufremove").delete(n, false) end,
|
||||
-- -- stylua: ignore
|
||||
-- right_mouse_command = function(n) require("mini.bufremove").delete(n, false) end,
|
||||
-- diagnostics = "nvim_lsp",
|
||||
-- always_show_bufferline = false,
|
||||
-- diagnostics_indicator = function(_, _, diag)
|
||||
-- local icons = require("rayandrew.theme").icons.diagnostics
|
||||
-- local ret = (diag.error and icons.Error .. diag.error .. " " or "")
|
||||
-- .. (diag.warning and icons.Warn .. diag.warning or "")
|
||||
-- return vim.trim(ret)
|
||||
-- end,
|
||||
-- offsets = {
|
||||
-- {
|
||||
-- filetype = "neo-tree",
|
||||
-- text = "Neo-tree",
|
||||
-- highlight = "Directory",
|
||||
-- text_align = "left",
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
|
||||
{
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
|
|
|
|||
|
|
@ -132,3 +132,8 @@ Util.map("t", "<c-_>", "<cmd>close<cr>", { desc = "which_key_ignore" })
|
|||
|
||||
-- lazy
|
||||
Util.map("n", "<leader>l", "<cmd>Lazy<cr>", { desc = "Lazy" })
|
||||
|
||||
-- source file
|
||||
Util.map("n", "<leader><leader>", function()
|
||||
vim.cmd("so")
|
||||
end)
|
||||
|
|
|
|||
|
|
@ -1,8 +1,14 @@
|
|||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = "\\"
|
||||
|
||||
vim.g.netrw_browse_split = 0
|
||||
vim.g.netrw_banner = 0
|
||||
vim.g.netrw_winsize = 25
|
||||
|
||||
local opt = vim.opt
|
||||
|
||||
opt.guicursor = ""
|
||||
|
||||
opt.autowrite = true -- Enable auto write
|
||||
opt.backup = false
|
||||
opt.clipboard = "unnamedplus" -- Sync with system clipboard
|
||||
|
|
|
|||
Loading…
Reference in a new issue