From 184d2887765ae2df11c50f83dcd852a1ced6534f Mon Sep 17 00:00:00 2001 From: Ray Andrew <4437323+rayandrew@users.noreply.github.com> Date: Wed, 2 Aug 2023 20:14:44 -0500 Subject: [PATCH] update settings --- lua/rayandrew/autocmds.lua | 22 ++- lua/rayandrew/plugins.lua | 288 ++++++++++++++++++++----------------- lua/rayandrew/remap.lua | 5 + lua/rayandrew/set.lua | 6 + 4 files changed, 183 insertions(+), 138 deletions(-) diff --git a/lua/rayandrew/autocmds.lua b/lua/rayandrew/autocmds.lua index d5ecc83..f8dbf81 100644 --- a/lua/rayandrew/autocmds.lua +++ b/lua/rayandrew/autocmds.lua @@ -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 -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]], +}) diff --git a/lua/rayandrew/plugins.lua b/lua/rayandrew/plugins.lua index 69039e0..4c300ce 100644 --- a/lua/rayandrew/plugins.lua +++ b/lua/rayandrew/plugins.lua @@ -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", }, + { + "e", + function() + -- split window then open oil + -- vim.cmd.vsplit() + require("oil").open() + end, + desc = "Open current directory", + }, + { + "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 = { - { - "fE", - function() - local Util = require("rayandrew.util") - require("neo-tree.command").execute({ - toggle = true, - dir = Util.get_root(), - }) - end, - desc = "Explorer NeoTree (root dir)", - }, - { - "fe", - function() - require("neo-tree.command").execute({ - toggle = true, - dir = vim.loop.cwd(), - }) - end, - desc = "Explorer NeoTree (cwd)", - }, - { - "E", - "fE", - desc = "Explorer NeoTree (root dir)", - remap = true, - }, - { - "e", - "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 = { - [""] = "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, - }, + -- { + -- "nvim-neo-tree/neo-tree.nvim", + -- branch = "v3.x", + -- cmd = "Neotree", + -- dependencies = { + -- "nvim-lua/plenary.nvim", + -- "MunifTanjim/nui.nvim", + -- }, + -- keys = { + -- { + -- "fE", + -- function() + -- local Util = require("rayandrew.util") + -- require("neo-tree.command").execute({ + -- toggle = true, + -- dir = Util.get_root(), + -- }) + -- end, + -- desc = "Explorer NeoTree (root dir)", + -- }, + -- { + -- "fe", + -- function() + -- require("neo-tree.command").execute({ + -- toggle = true, + -- dir = vim.loop.cwd(), + -- }) + -- end, + -- desc = "Explorer NeoTree (cwd)", + -- }, + -- { + -- "E", + -- "fE", + -- desc = "Explorer NeoTree (root dir)", + -- remap = true, + -- }, + -- { + -- "e", + -- "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 = { + -- [""] = "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, + -- }, -- search/replace in multiple files { @@ -434,42 +460,42 @@ return { }, -- buffer line - { - "akinsho/bufferline.nvim", - event = "VeryLazy", - keys = { - { "bp", "BufferLineTogglePin", desc = "Toggle pin" }, - { - "bP", - "BufferLineGroupClose ungrouped", - 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 = { + -- { "bp", "BufferLineTogglePin", desc = "Toggle pin" }, + -- { + -- "bP", + -- "BufferLineGroupClose ungrouped", + -- 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", diff --git a/lua/rayandrew/remap.lua b/lua/rayandrew/remap.lua index 9dc69b0..bee5ca8 100644 --- a/lua/rayandrew/remap.lua +++ b/lua/rayandrew/remap.lua @@ -132,3 +132,8 @@ Util.map("t", "", "close", { desc = "which_key_ignore" }) -- lazy Util.map("n", "l", "Lazy", { desc = "Lazy" }) + +-- source file +Util.map("n", "", function() + vim.cmd("so") +end) diff --git a/lua/rayandrew/set.lua b/lua/rayandrew/set.lua index 0a45dcb..3b2023c 100644 --- a/lua/rayandrew/set.lua +++ b/lua/rayandrew/set.lua @@ -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