-
Notifications
You must be signed in to change notification settings - Fork 9
feat: remove overflow warning #68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This commit remove the highlight of the overflow node in gitcommit syntax introduced [by this PR](nvim-treesitter#6222). This node will be removed when [this PR](gbprod/tree-sitter-gitcommit#68) will be merge.
This commit remove the highlight of the overflow node in gitcommit syntax introduced [by this PR](nvim-treesitter#6222). This node will be removed when [this PR](gbprod/tree-sitter-gitcommit#68) will be merge.
This commit remove the highlight of the overflow node in gitcommit syntax introduced [by this PR](#6222). This node will be removed when [this PR](gbprod/tree-sitter-gitcommit#68) will be merge.
Even though I miss the old behaviour, I agree with this decision. I think your reasoning is sound. Thank you for introducing me to
|
The "overflow" node type was removed in this PR: gbprod/tree-sitter-gitcommit#68
- Fix monitor and mouse annoyances in i3wm - Fix i3lock setup - Get cmp-git working in markdown files created by `gh`. - Disable cmp-git in markdown files not created by `gh`. - Resolve treesitter-text-objects lazy loading issue - Add back the treesitter query for line length in git commit buffers - Various other small improvements diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index eae3dcbd..1948ec58 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "CopilotChat.nvim": { "branch": "canary", "commit": "92bc7b5e564c23b12b2ed41dd7657fdafe39d95f" }, "LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, - "SchemaStore.nvim": { "branch": "main", "commit": "623df28bf9a2661d9d5a0f391bf30bdd8f8de62b" }, + "SchemaStore.nvim": { "branch": "main", "commit": "4abc1ab13ad5031049864cba0bfaec06a908e7e5" }, "cellular-automaton.nvim": { "branch": "main", "commit": "11aea08aa084f9d523b0142c2cd9441b8ede09ed" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-dictionary": { "branch": "main", "commit": "7144ce4bb2abc61a474cfdb3bb652a9ae82079e4" }, @@ -18,7 +18,7 @@ "fidget.nvim": { "branch": "main", "commit": "d855eed8a06531a7e8fd0684889b2943f373c469" }, "friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" }, "gitsigns.nvim": { "branch": "main", "commit": "f4928ba14eb6c667786ac7d69927f6aee6719f1e" }, - "gp.nvim": { "branch": "main", "commit": "25ef1e5839669c3cf4c15b12646c54afbaff1aea" }, + "gp.nvim": { "branch": "main", "commit": "827d5e32ff7b7108cf8e476b4d7d16a72ec5f293" }, "harpoon": { "branch": "harpoon2", "commit": "e76cb03c420bb74a5900a5b3e1dde776156af45f" }, "lazy.nvim": { "branch": "main", "commit": "839f9e78e78dc935b1188fb16583365991739c51" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, @@ -38,7 +38,7 @@ "nvim-lspconfig": { "branch": "master", "commit": "fa6c2a64100c6f692bbec29bbbc8ec2663c9e869" }, "nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" }, "nvim-rulebook": { "branch": "main", "commit": "a962cc98bf1a5ba564358396b386f1d938b53366" }, - "nvim-treesitter": { "branch": "master", "commit": "debf5816eee21b7d51025ef17ba0647386226cb5" }, + "nvim-treesitter": { "branch": "master", "commit": "9d252d00210ed8d43197ef048daa94e6dc821bd6" }, "nvim-treesitter-context": { "branch": "master", "commit": "8198ad4b01ca64b6f5c7a7253f52df3fe329be46" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, "nvim-web-devicons": { "branch": "master", "commit": "e612de3d3a41a6b7be47f51e956dddabcbf419d9" }, @@ -51,7 +51,7 @@ "telescope.nvim": { "branch": "master", "commit": "79552ef8488cb492e0f9d2bf3b4e808f57515e35" }, "treesj": { "branch": "main", "commit": "275f83c81a5a1f5ae23c1eac30c4ac28beebbca2" }, "trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" }, - "ts-comments.nvim": { "branch": "main", "commit": "8c21ae09c34ef8b82f2c6d2a87f57c3da33bb5e5" }, + "ts-comments.nvim": { "branch": "main", "commit": "0090cacf89bc52e4eddb911bc6c33b12411b95f7" }, "typescript-tools.nvim": { "branch": "master", "commit": "f8c2e0b36b651c85f52ad5c5373ff8b07adc15a7" }, "vim-dirtytalk": { "branch": "master", "commit": "aa57ba902b04341a04ff97214360f56856493583" }, "vim-flog": { "branch": "master", "commit": "36c60cbdb69c169ee44c085ce8d3f2f035a8658e" }, diff --git a/.config/nvim/lua/jamin/plugins/completion.lua b/.config/nvim/lua/jamin/plugins/completion.lua index 83585fab..26de4611 100644 --- a/.config/nvim/lua/jamin/plugins/completion.lua +++ b/.config/nvim/lua/jamin/plugins/completion.lua @@ -30,10 +30,21 @@ return { { "petertriho/cmp-git", ft = { "markdown", "gitcommit", "octo" }, - opts = { - filetypes = { "markdown", "gitcommit", "octo" }, - github = { issues = { state = "all" }, pull_requests = { state = "all" } }, - }, + opts = { filetypes = { "markdown", "gitcommit", "octo" } }, + config = function(_, opts) + require("cmp_git").setup(opts) + + -- The gh cli creates markdown files in `/tmp` when creating/editing issues/prs/comments. Not + -- sure why, but cwd ends up being `/tmp` when gh opens the editor. That prevents cmp-git from + -- working, since it doesn't know the repo to query for completion items. + vim.api.nvim_create_autocmd("FileType", { + pattern = { "markdown" }, + group = vim.api.nvim_create_augroup("jamin_git_cmp_gh_hack", {}), + callback = function(ev) + if string.match(ev.file, "/tmp/%d+%.md") then vim.cmd.cd("-") end + end, + }) + end, }, ----------------------------------------------------------------------------- @@ -228,7 +239,16 @@ return { { name = "luasnip", group_index = 1 }, { name = "nvim_lsp", group_index = 1 }, { name = "path", group_index = 1 }, - { name = "git", group_index = 1 }, + { + name = "git", + entry_filter = function(_, ctx) + return not ( + ctx.filetype == "markdown" + and not string.match(vim.api.nvim_buf_get_name(ctx.bufnr), "/tmp/%d+%.md") + ) + end, + group_index = 1, + }, { name = "buffer", group_index = 1, keyword_length = 2 }, { name = "tmux", group_index = 1, keyword_length = 2 }, -- only show ripgrep/spell/dictionary if there are no results from other sources diff --git a/.config/nvim/lua/jamin/plugins/git.lua b/.config/nvim/lua/jamin/plugins/git.lua index 6243cf12..301157b7 100644 --- a/.config/nvim/lua/jamin/plugins/git.lua +++ b/.config/nvim/lua/jamin/plugins/git.lua @@ -231,6 +231,11 @@ return { function() require("gitsigns").blame_line({ full = true }) end, desc = "Git blame line (gitsigns)", }, + { + "<leader>hB", + function() require("gitsigns").blame() end, + desc = "Git blame buffer (gitsigns)", + }, { "<leader>htb", function() require("gitsigns").toggle_current_line_blame() end, diff --git a/.config/nvim/lua/jamin/plugins/notes.lua b/.config/nvim/lua/jamin/plugins/notes.lua index 7cd5522e..d409dd5e 100644 --- a/.config/nvim/lua/jamin/plugins/notes.lua +++ b/.config/nvim/lua/jamin/plugins/notes.lua @@ -27,6 +27,7 @@ return { return { filetypes = { md = true, rmd = true, mdx = true, markdown = true }, to_do = { symbols = { " ", "x" } }, + silent = true, links = { style = link_style, transform_explicit = function(text) return text:gsub(" ", "-"):lower() end, @@ -45,7 +46,7 @@ return { MkdnCreateLinkFromClipboard = { { "n", "v" }, "<leader>P" }, MkdnToggleToDo = { { "n", "v" }, "<leader>m<Tab>" }, MkdnUpdateNumbering = { "n", "<leader>mn" }, - MkdnMoveSource = { "n", "<leader>mR" }, + MkdnMoveSource = { "n", "<leader>mrn" }, MkdnTableNewRowBelow = { "n", "<leader>mir" }, MkdnTableNewRowAbove = { "n", "<leader>miR" }, MkdnTableNewColAfter = { "n", "<leader>mic" }, diff --git a/.config/nvim/lua/jamin/plugins/treesitter.lua b/.config/nvim/lua/jamin/plugins/treesitter.lua index 71534a28..5929d82b 100644 --- a/.config/nvim/lua/jamin/plugins/treesitter.lua +++ b/.config/nvim/lua/jamin/plugins/treesitter.lua @@ -10,10 +10,6 @@ return { opts = { use_default_keymaps = false, max_join_length = 500 }, }, - ----------------------------------------------------------------------------- - -- more text objects - { "nvim-treesitter/nvim-treesitter-textobjects", lazy = true }, - ----------------------------------------------------------------------------- -- set commentstring based on treesitter node { "folke/ts-comments.nvim", event = "VeryLazy", opts = {} }, @@ -29,8 +25,6 @@ return { opts = { multiline_threshold = 1, max_lines = 6, - mode = "cursor", - -- separator = "─", }, config = function(_, opts) @@ -58,6 +52,9 @@ return { -- syntax tree parser/highlighter engine { "nvim-treesitter/nvim-treesitter", + dependencies = { + "nvim-treesitter/nvim-treesitter-textobjects", -- more text objects + }, build = ":TSUpdate", cmd = { "TSUpdateSync", "TSUpdate", "TSInstall" }, event = "BufReadPost", @@ -89,7 +86,6 @@ return { return { ensure_installed = res.treesitter_parsers, indent = { enable = true }, - autotag = { enable = true }, query_linter = { enable = true }, highlight = { @@ -185,13 +181,7 @@ return { config = function(_, opts) require("nvim-treesitter.configs").setup(opts) - vim.schedule( - function() - require("lazy").load({ - plugins = { "nvim-treesitter-textobjects", "nvim-treesitter-context" }, - }) - end - ) + vim.schedule(function() require("lazy").load({ plugins = { "nvim-treesitter-context" } }) end) end, }, } diff --git a/.config/nvim/lua/jamin/resources.lua b/.config/nvim/lua/jamin/resources.lua index 192e8539..8bbc00d0 100644 --- a/.config/nvim/lua/jamin/resources.lua +++ b/.config/nvim/lua/jamin/resources.lua @@ -123,7 +123,9 @@ M.mason_packages = { M.treesitter_parsers = { "astro", "bash", + "comment", "css", + -- "csv", "diff", "dockerfile", "git_rebase", @@ -134,13 +136,14 @@ M.treesitter_parsers = { -- "gowork", "graphql", "html", - "http", + -- "http", -- "ini", "javascript", "jsdoc", "json", "json5", "jsonc", + -- "jq", -- "latex", "lua", "luadoc", diff --git a/.config/nvim/queries/gitcommit/highlights.scm b/.config/nvim/queries/gitcommit/highlights.scm new file mode 100644 index 00000000..fdc5247a --- /dev/null +++ b/.config/nvim/queries/gitcommit/highlights.scm @@ -0,0 +1,10 @@ +; extends +; gbprod/tree-sitter-gitcommit#68 + +((subject) @comment.warning + (#vim-match? @comment.warning ".\{50,}") + (#offset! @comment.warning 0 50 0 0)) + +((message_line) @comment.warning + (#vim-match? @comment.warning ".\{72,}") + (#offset! @comment.warning 0 72 0 0)) diff --git a/.dotfiles/shell/exports.sh b/.dotfiles/shell/exports.sh index 26a5bd14..d41ca39e 100644 --- a/.dotfiles/shell/exports.sh +++ b/.dotfiles/shell/exports.sh @@ -210,13 +210,14 @@ if supports fff; then fi # https://github.com/meiji163/gh-notify -export GH_NOTIFY_MARK_READ_KEY="alt-backspace" -export GH_NOTIFY_MARK_ALL_READ_KEY="ctrl-delete" -export GH_NOTIFY_OPEN_BROWSER_KEY="ctrl-o" export GH_NOTIFY_COMMENT_KEY="alt-c" export GH_NOTIFY_VIEW_DIFF_KEY="alt-d" export GH_NOTIFY_VIEW_PATCH_KEY="alt-D" +export GH_NOTIFY_TOGGLE_PREVIEW_KEY="alt-p" export GH_NOTIFY_RESIZE_PREVIEW_KEY="alt-P" +export GH_NOTIFY_MARK_READ_KEY="alt-x" +export GH_NOTIFY_MARK_ALL_READ_KEY="alt-backspace" +export GH_NOTIFY_OPEN_BROWSER_KEY="ctrl-o" # my tools {{{1 supports matpat && export MATPAT_OPEN_CMD="$BROWSER"
Could you share how to use the above? I can paste it into Thanks! |
You should use
|
What's your highlight for |
:hi @comment.error
@comment.error xxx guifg=#db4b4b I'm using |
Figured it out, it's
Thanks for the help! |
Hi, I really miss this behavior, the PR mentions it's easy to add it back individually with:
But where would this go to have it always applied and not have to think about it? I ran Edit, it's working: Ok that's fun, the original PR message does NOT include
I'm using LazyVim if it helps. This is what my current Treesitter plugin config looks like: return {
{
"nvim-treesitter/nvim-treesitter",
opts = function(_, opts)
-- Add custom treesitters not present by default in LazyVim.
vim.list_extend(opts.ensure_installed, {
"csv",
"dockerfile",
"go",
"helm",
"liquid",
"nginx",
"ruby",
"terraform",
"toml",
})
end,
}, |
I think you did the right thing. Maybe you can adds
If it stills not work, can your share an |
1. Update Tree-sitter highlights to color Git commit summary and body overflow, see gbprod/tree-sitter-gitcommit#68 2. Update Vim color scheme to use blue, not red for the 'Title' highlight group. The Git commit summary line is linked to this highlight group and if it uses red as its color, then the error highlighting is indistinguishable from the normal text.
This PR removes the detection of lines not following the 50/72 rule.
After a lot of discussions and thinking, I've decided that this rule should not be bundled with the tree-sitter parser.
Main reasons are:
References: