From 758afadb6f9d73561643a923b8ef130238c666de Mon Sep 17 00:00:00 2001 From: Christian Nieves Date: Fri, 14 Mar 2025 13:45:12 +0000 Subject: [PATCH] signify cmds for git --- vim/.vim/lua/plugins/bigfile.lua | 25 ++++++--- vim/.vim/lua/plugins/signify.lua | 90 ++++++++++++++++---------------- 2 files changed, 63 insertions(+), 52 deletions(-) diff --git a/vim/.vim/lua/plugins/bigfile.lua b/vim/.vim/lua/plugins/bigfile.lua index 54c052c..ea2fb6f 100644 --- a/vim/.vim/lua/plugins/bigfile.lua +++ b/vim/.vim/lua/plugins/bigfile.lua @@ -1,16 +1,27 @@ return { "LunarVim/bigfile.nvim", opts = { - filesize = 2, -- size of the file in MiB, the plugin round file sizes to the closest MiB - pattern = { "*" }, -- autocmd pattern or function see <### Overriding the detection of big files> - features = { -- features to disable + filesize = 2, -- size of the file in MiB, the plugin round file sizes to the closest MiB + pattern = function(bufnr, filesize_mib) + vim.cmd(":NoAutoFormatBuffer") + vim.cmd(":FormatDisable") + -- you can't use `nvim_buf_line_count` because this runs on BufReadPre + local file_contents = vim.fn.readfile(vim.api.nvim_buf_get_name(bufnr)) + local file_lines = #file_contents + local filetype = vim.filetype.match({ buf = bufnr }) + if file_lines > 1000 and (filetype == "c" or filetype == "cpp") then + return true + end + return filesize_mib > 1 + end, + features = { -- features to disable "indent_blankline", - "illuminate", + -- "illuminate", "lsp", "treesitter", - "syntax", - "matchparen", - "vimopts", + -- "syntax", + -- "matchparen", + -- "vimopts", "filetype", }, } diff --git a/vim/.vim/lua/plugins/signify.lua b/vim/.vim/lua/plugins/signify.lua index 56b65dc..5503212 100644 --- a/vim/.vim/lua/plugins/signify.lua +++ b/vim/.vim/lua/plugins/signify.lua @@ -1,14 +1,14 @@ local use_google = require("utils").use_google -local function setup_mercurial(hg_revision) - local git_cmd = "git diff --no-color --no-ext-diff -U0 -- %f" - local rcs_cmd = "rcsdiff -U0 %f 2>%n" - local svn_cmd = "svn diff --diff-cmd %d -x -U0 -- %f" - local hg_diff = hg_revision .. " --color=never config aliases.diff= --nodates -U0 -- %f" - local hg_cat = hg_revision .. " -- %f" +local function change_diffbase(hg_revision, git_revision) + local git_cmd = "git diff --no-color --no-ext-diff -U0" .. git_revision .. " -- %f" + local rcs_cmd = "rcsdiff -U0 %f 2>%n" + local svn_cmd = "svn diff --diff-cmd %d -x -U0 -- %f" + local hg_diff = hg_revision .. " --color=never config aliases.diff= --nodates -U0 -- %f" + local hg_cat = hg_revision .. " -- %f" - vim.cmd(string.format( - [[ + vim.cmd(string.format( + [[ let g:signify_vcs_cmds = { \ 'git': '%s', \ 'rcs': '%s', @@ -19,40 +19,40 @@ let g:signify_vcs_cmds_diffmode = { \ 'hg': 'chg cat %s', \ } ]], - git_cmd, - rcs_cmd, - svn_cmd, - hg_diff, - hg_cat - )) + git_cmd, + rcs_cmd, + svn_cmd, + hg_diff, + hg_cat + )) end _G.signify_dtup = function() - setup_mercurial('-r ".^"') - vim.cmd([[:SignifyEnable]]) - vim.cmd([[:SignifyRefresh]]) + change_diffbase('-r ".^"', 'HEAD^') + vim.cmd([[:SignifyEnable]]) + vim.cmd([[:SignifyRefresh]]) end _G.signify_normal = function() - setup_mercurial("-r .") - vim.cmd([[:SignifyEnable]]) - vim.cmd([[:SignifyRefresh]]) + change_diffbase("-r .", "") + vim.cmd([[:SignifyEnable]]) + vim.cmd([[:SignifyRefresh]]) end _G.signify_dtp4 = function() - setup_mercurial("-r p4head") - vim.cmd([[:SignifyEnable]]) - vim.cmd([[:SignifyRefresh]]) + change_diffbase("-r p4head", "HEAD^") + vim.cmd([[:SignifyEnable]]) + vim.cmd([[:SignifyRefresh]]) end _G.signify_dtex = function() - setup_mercurial("-r exported(.)") - vim.cmd([[:SignifyEnable]]) - vim.cmd([[:SignifyRefresh]]) + change_diffbase("-r exported(.)", "origin/main") + vim.cmd([[:SignifyEnable]]) + vim.cmd([[:SignifyRefresh]]) end return { - "mhinz/vim-signify", - event = "VimEnter", + "mhinz/vim-signify", + event = "VimEnter", -- stylua: ignore keys = { { "]d", "(signify-next-hunk)" }, @@ -63,22 +63,22 @@ return { { "sex", ":lua signify_dtex()" }, { "sp4", ":lua signify_dtp4()" }, }, - config = function() - vim.g.signify_vcs_list = { "hg", "git" } - vim.g.signify_disable_by_default = 0 - -- vim.g.signify_number_highlight = 1 - vim.g.signify_sign_show_count = 0 - local s = "▕" - vim.g.signify_sign_add = s - vim.g.signify_sign_delete = s - vim.g.signify_sign_change = s - vim.api.nvim_set_hl(0, "SignifySignAdd", { fg = "#9cd9b8" }) - vim.api.nvim_set_hl(0, "SignifySignChange", { fg = "#849ee3" }) + config = function() + vim.g.signify_vcs_list = { "hg", "git" } + vim.g.signify_disable_by_default = 0 + -- vim.g.signify_number_highlight = 1 + vim.g.signify_sign_show_count = 0 + local s = "▕" + vim.g.signify_sign_add = s + vim.g.signify_sign_delete = s + vim.g.signify_sign_change = s + vim.api.nvim_set_hl(0, "SignifySignAdd", { fg = "#9cd9b8" }) + vim.api.nvim_set_hl(0, "SignifySignChange", { fg = "#849ee3" }) - local myred = "#f296a0" - vim.api.nvim_set_hl(0, "SignifySignChangeDelete", { fg = myred }) - vim.api.nvim_set_hl(0, "SignifySignDelete", { fg = myred }) - vim.api.nvim_set_hl(0, "SignifyLineDelete", { fg = myred }) - vim.api.nvim_set_hl(0, "SignifySignDeleteDeleteFirstLine", { fg = myred }) - end, + local myred = "#f296a0" + vim.api.nvim_set_hl(0, "SignifySignChangeDelete", { fg = myred }) + vim.api.nvim_set_hl(0, "SignifySignDelete", { fg = myred }) + vim.api.nvim_set_hl(0, "SignifyLineDelete", { fg = myred }) + vim.api.nvim_set_hl(0, "SignifySignDeleteDeleteFirstLine", { fg = myred }) + end, }