update settings

This commit is contained in:
Ray Andrew 2023-08-02 20:14:44 -05:00
parent 068a0f3f93
commit 184d288776
No known key found for this signature in database
GPG key ID: E2E8D63137DD489E
4 changed files with 183 additions and 138 deletions

View file

@ -5,14 +5,16 @@ local function augroup(name)
return vim.api.nvim_create_augroup("lazyvim_" .. name, { clear = true }) return vim.api.nvim_create_augroup("lazyvim_" .. name, { clear = true })
end end
local autocmd = vim.api.nvim_create_autocmd
-- Check if we need to reload the file when it changed -- 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"), group = augroup("checktime"),
command = "checktime", command = "checktime",
}) })
-- Highlight on yank -- Highlight on yank
vim.api.nvim_create_autocmd("TextYankPost", { autocmd("TextYankPost", {
group = augroup("highlight_yank"), group = augroup("highlight_yank"),
callback = function() callback = function()
vim.highlight.on_yank() vim.highlight.on_yank()
@ -20,7 +22,7 @@ vim.api.nvim_create_autocmd("TextYankPost", {
}) })
-- resize splits if window got resized -- resize splits if window got resized
vim.api.nvim_create_autocmd({ "VimResized" }, { autocmd({ "VimResized" }, {
group = augroup("resize_splits"), group = augroup("resize_splits"),
callback = function() callback = function()
vim.cmd("tabdo wincmd =") vim.cmd("tabdo wincmd =")
@ -28,7 +30,7 @@ vim.api.nvim_create_autocmd({ "VimResized" }, {
}) })
-- go to last loc when opening a buffer -- go to last loc when opening a buffer
vim.api.nvim_create_autocmd("BufReadPost", { autocmd("BufReadPost", {
group = augroup("last_loc"), group = augroup("last_loc"),
callback = function() callback = function()
local exclude = { "gitcommit" } local exclude = { "gitcommit" }
@ -45,7 +47,7 @@ vim.api.nvim_create_autocmd("BufReadPost", {
}) })
-- close some filetypes with <q> -- close some filetypes with <q>
vim.api.nvim_create_autocmd("FileType", { autocmd("FileType", {
group = augroup("close_with_q"), group = augroup("close_with_q"),
pattern = { pattern = {
"PlenaryTestPopup", "PlenaryTestPopup",
@ -69,7 +71,7 @@ vim.api.nvim_create_autocmd("FileType", {
}) })
-- wrap and check for spell in text filetypes -- wrap and check for spell in text filetypes
vim.api.nvim_create_autocmd("FileType", { autocmd("FileType", {
group = augroup("wrap_spell"), group = augroup("wrap_spell"),
pattern = { "gitcommit", "markdown" }, pattern = { "gitcommit", "markdown" },
callback = function() 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 -- 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"), group = augroup("auto_create_dir"),
callback = function(event) callback = function(event)
if event.match:match("^%w%w+://") then 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") vim.fn.mkdir(vim.fn.fnamemodify(file, ":p:h"), "p")
end, end,
}) })
autocmd({ "BufWritePre" }, {
group = augroup("remove_trailing_whitespace"),
pattern = "*",
command = [[%s/\s\+$//e]],
})

View file

@ -143,6 +143,7 @@ return {
"luap", "luap",
"markdown", "markdown",
"markdown_inline", "markdown_inline",
"nix",
"python", "python",
"query", "query",
"regex", "regex",
@ -220,6 +221,7 @@ return {
{ {
"stevearc/oil.nvim", "stevearc/oil.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
cmd = { "Oil" }, cmd = { "Oil" },
keys = { keys = {
{ {
@ -229,109 +231,133 @@ return {
end, end,
desc = "Open parent directory", 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 = { opts = {
default_file_explorer = true, default_file_explorer = true,
restore_win_options = true, restore_win_options = true,
}, },
-- Optional dependencies init = function()
dependencies = { "nvim-tree/nvim-web-devicons" }, 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 -- file explorer
{ -- {
"nvim-neo-tree/neo-tree.nvim", -- "nvim-neo-tree/neo-tree.nvim",
branch = "v3.x", -- branch = "v3.x",
cmd = "Neotree", -- cmd = "Neotree",
dependencies = { -- dependencies = {
"nvim-lua/plenary.nvim", -- "nvim-lua/plenary.nvim",
"MunifTanjim/nui.nvim", -- "MunifTanjim/nui.nvim",
}, -- },
keys = { -- keys = {
{ -- {
"<leader>fE", -- "<leader>fE",
function() -- function()
local Util = require("rayandrew.util") -- local Util = require("rayandrew.util")
require("neo-tree.command").execute({ -- require("neo-tree.command").execute({
toggle = true, -- toggle = true,
dir = Util.get_root(), -- dir = Util.get_root(),
}) -- })
end, -- end,
desc = "Explorer NeoTree (root dir)", -- desc = "Explorer NeoTree (root dir)",
}, -- },
{ -- {
"<leader>fe", -- "<leader>fe",
function() -- function()
require("neo-tree.command").execute({ -- require("neo-tree.command").execute({
toggle = true, -- toggle = true,
dir = vim.loop.cwd(), -- dir = vim.loop.cwd(),
}) -- })
end, -- end,
desc = "Explorer NeoTree (cwd)", -- desc = "Explorer NeoTree (cwd)",
}, -- },
{ -- {
"<leader>E", -- "<leader>E",
"<leader>fE", -- "<leader>fE",
desc = "Explorer NeoTree (root dir)", -- desc = "Explorer NeoTree (root dir)",
remap = true, -- remap = true,
}, -- },
{ -- {
"<leader>e", -- "<leader>e",
"<leader>fe", -- "<leader>fe",
desc = "Explorer NeoTree (cwd)", -- desc = "Explorer NeoTree (cwd)",
remap = true, -- remap = true,
}, -- },
}, -- },
deactivate = function() -- deactivate = function()
vim.cmd([[Neotree close]]) -- vim.cmd([[Neotree close]])
end, -- end,
init = function() -- init = function()
-- if vim.fn.argc() == 1 then -- -- if vim.fn.argc() == 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,
opts = { -- opts = {
sources = { "filesystem", "buffers", "git_status", "document_symbols" }, -- sources = { "filesystem", "buffers", "git_status", "document_symbols" },
open_files_do_not_replace_types = { -- open_files_do_not_replace_types = {
"terminal", -- "terminal",
"Trouble", -- "Trouble",
"qf", -- "qf",
"Outline", -- "Outline",
}, -- },
filesystem = { -- filesystem = {
bind_to_cwd = false, -- bind_to_cwd = false,
follow_current_file = { enabled = true }, -- follow_current_file = { enabled = true },
use_libuv_file_watcher = true, -- use_libuv_file_watcher = true,
}, -- },
window = { -- window = {
mappings = { -- mappings = {
["<space>"] = "none", -- ["<space>"] = "none",
}, -- },
}, -- },
default_component_configs = { -- default_component_configs = {
indent = { -- indent = {
with_expanders = true, -- if nil and file nesting is enabled, will enable expanders -- with_expanders = true, -- if nil and file nesting is enabled, will enable expanders
expander_collapsed = "", -- expander_collapsed = "",
expander_expanded = "", -- expander_expanded = "",
expander_highlight = "NeoTreeExpander", -- expander_highlight = "NeoTreeExpander",
}, -- },
}, -- },
}, -- },
config = function(_, opts) -- config = function(_, opts)
require("neo-tree").setup(opts) -- require("neo-tree").setup(opts)
vim.api.nvim_create_autocmd("TermClose", { -- vim.api.nvim_create_autocmd("TermClose", {
pattern = "*lazygit", -- pattern = "*lazygit",
callback = function() -- callback = function()
if package.loaded["neo-tree.sources.git_status"] then -- if package.loaded["neo-tree.sources.git_status"] then
require("neo-tree.sources.git_status").refresh() -- require("neo-tree.sources.git_status").refresh()
end -- end
end, -- end,
}) -- })
end, -- end,
}, -- },
-- search/replace in multiple files -- search/replace in multiple files
{ {
@ -434,42 +460,42 @@ return {
}, },
-- buffer line -- buffer line
{ -- {
"akinsho/bufferline.nvim", -- "akinsho/bufferline.nvim",
event = "VeryLazy", -- event = "VeryLazy",
keys = { -- keys = {
{ "<leader>bp", "<Cmd>BufferLineTogglePin<CR>", desc = "Toggle pin" }, -- { "<leader>bp", "<Cmd>BufferLineTogglePin<CR>", desc = "Toggle pin" },
{ -- {
"<leader>bP", -- "<leader>bP",
"<Cmd>BufferLineGroupClose ungrouped<CR>", -- "<Cmd>BufferLineGroupClose ungrouped<CR>",
desc = "Delete non-pinned buffers", -- desc = "Delete non-pinned buffers",
}, -- },
}, -- },
opts = { -- opts = {
options = { -- options = {
-- stylua: ignore -- -- stylua: ignore
close_command = function(n) require("mini.bufremove").delete(n, false) end, -- close_command = function(n) require("mini.bufremove").delete(n, false) end,
-- stylua: ignore -- -- stylua: ignore
right_mouse_command = function(n) require("mini.bufremove").delete(n, false) end, -- right_mouse_command = function(n) require("mini.bufremove").delete(n, false) end,
diagnostics = "nvim_lsp", -- diagnostics = "nvim_lsp",
always_show_bufferline = false, -- always_show_bufferline = false,
diagnostics_indicator = function(_, _, diag) -- diagnostics_indicator = function(_, _, diag)
local icons = require("rayandrew.theme").icons.diagnostics -- local icons = require("rayandrew.theme").icons.diagnostics
local ret = (diag.error and icons.Error .. diag.error .. " " or "") -- local ret = (diag.error and icons.Error .. diag.error .. " " or "")
.. (diag.warning and icons.Warn .. diag.warning or "") -- .. (diag.warning and icons.Warn .. diag.warning or "")
return vim.trim(ret) -- return vim.trim(ret)
end, -- end,
offsets = { -- offsets = {
{ -- {
filetype = "neo-tree", -- filetype = "neo-tree",
text = "Neo-tree", -- text = "Neo-tree",
highlight = "Directory", -- highlight = "Directory",
text_align = "left", -- text_align = "left",
}, -- },
}, -- },
}, -- },
}, -- },
}, -- },
{ {
"lukas-reineke/indent-blankline.nvim", "lukas-reineke/indent-blankline.nvim",

View file

@ -132,3 +132,8 @@ Util.map("t", "<c-_>", "<cmd>close<cr>", { desc = "which_key_ignore" })
-- lazy -- lazy
Util.map("n", "<leader>l", "<cmd>Lazy<cr>", { desc = "Lazy" }) Util.map("n", "<leader>l", "<cmd>Lazy<cr>", { desc = "Lazy" })
-- source file
Util.map("n", "<leader><leader>", function()
vim.cmd("so")
end)

View file

@ -1,8 +1,14 @@
vim.g.mapleader = " " vim.g.mapleader = " "
vim.g.maplocalleader = "\\" vim.g.maplocalleader = "\\"
vim.g.netrw_browse_split = 0
vim.g.netrw_banner = 0
vim.g.netrw_winsize = 25
local opt = vim.opt local opt = vim.opt
opt.guicursor = ""
opt.autowrite = true -- Enable auto write opt.autowrite = true -- Enable auto write
opt.backup = false opt.backup = false
opt.clipboard = "unnamedplus" -- Sync with system clipboard opt.clipboard = "unnamedplus" -- Sync with system clipboard