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 })
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]],
})

View file

@ -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",

View file

@ -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)

View file

@ -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