From 4b8cc0b9a9d92636b5c5b84595e6302900f5dfce Mon Sep 17 00:00:00 2001 From: venomade Date: Fri, 13 Feb 2026 18:09:22 +0000 Subject: ZK, NVIM and Misc Add ZK config, template and script. Add various Neovim plugins, and some markdown specific settings. Add Neovim aliases. Fix 100% in alsa luastatus plugin. --- .config/nvim/lua/plugins/cmp.lua | 10 ++- .config/nvim/lua/plugins/colorizer.lua | 15 ++++ .config/nvim/lua/plugins/image.lua | 20 +++++ .config/nvim/lua/plugins/render-markdown.lua | 114 +++++++++++++++++++++++++-- .config/nvim/lua/plugins/ui.lua | 18 +++++ .config/nvim/lua/plugins/zk.lua | 26 ++++++ 6 files changed, 194 insertions(+), 9 deletions(-) create mode 100644 .config/nvim/lua/plugins/colorizer.lua create mode 100644 .config/nvim/lua/plugins/image.lua create mode 100644 .config/nvim/lua/plugins/ui.lua create mode 100644 .config/nvim/lua/plugins/zk.lua (limited to '.config/nvim/lua/plugins') diff --git a/.config/nvim/lua/plugins/cmp.lua b/.config/nvim/lua/plugins/cmp.lua index 541e62c..7728d19 100644 --- a/.config/nvim/lua/plugins/cmp.lua +++ b/.config/nvim/lua/plugins/cmp.lua @@ -15,6 +15,8 @@ return { -- preselect = cmp.PreselectMode.None, completion = { completeopt = "menu,menuone,noinsert", + callSnippet = "Replace", + keywordSnippet = "Replace", }, window = { completion = cmp.config.window.bordered({}), @@ -37,11 +39,11 @@ return { }, { { name = 'path' }, - }, - { - { name = 'buffer' }, - { name = 'rg', keyword_length = 3 } } + -- { + -- { name = 'buffer' }, + -- { name = 'rg', keyword_length = 3 } + -- } ), formatting = { format = lspkind.cmp_format({ diff --git a/.config/nvim/lua/plugins/colorizer.lua b/.config/nvim/lua/plugins/colorizer.lua new file mode 100644 index 0000000..460eb5c --- /dev/null +++ b/.config/nvim/lua/plugins/colorizer.lua @@ -0,0 +1,15 @@ +return { + 'norcalli/nvim-colorizer.lua', + config = function() + require("colorizer").setup({ "*" }, { + RGB = true, + RRGGBB = true, + names = false, + RRGGBBAA = true, + rgb_fn = true, + hsl_fn = true, + css = false, + css_fn = false, + }) + end +} diff --git a/.config/nvim/lua/plugins/image.lua b/.config/nvim/lua/plugins/image.lua new file mode 100644 index 0000000..32c3540 --- /dev/null +++ b/.config/nvim/lua/plugins/image.lua @@ -0,0 +1,20 @@ +return { + '3rd/image.nvim', + config = function() + require("image").setup({ + backend = "sixel", + processor = "magick_cli", + integrations = { + markdown = { + enabled = true, + only_render_image_at_cursor = true, + only_render_image_at_cursor_mode = "popup", -- or "inline" + floating_windows = true, -- if true, images will be rendered in floating markdown windows + }, + }, + window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs" }, + editor_only_render_when_focused = true, -- auto show/hide images when the editor gains/looses focus + }) + end + +} diff --git a/.config/nvim/lua/plugins/render-markdown.lua b/.config/nvim/lua/plugins/render-markdown.lua index 65408bc..9d52c5b 100644 --- a/.config/nvim/lua/plugins/render-markdown.lua +++ b/.config/nvim/lua/plugins/render-markdown.lua @@ -1,7 +1,111 @@ return { - 'MeanderingProgrammer/render-markdown.nvim', - dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons - ---@module 'render-markdown' - ---@type render.md.UserConfig - opts = {}, + 'MeanderingProgrammer/render-markdown.nvim', + dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, + config = function() + require('render-markdown').setup({ + link = { + enabled = true, + render_modes = false, + footnote = { + enabled = true, + superscript = true, + prefix = '', + suffix = '', + }, + image = '󰥶 ', + email = '󰀓 ', + hyperlink = '󰌹 ', + highlight = 'RenderMarkdownLink', + wiki = { + icon = '󱗖 ', + body = function() + return nil + end, + highlight = 'RenderMarkdownWikiLink', + }, + custom = { + web = { pattern = '^http', icon = '󰖟 ' }, + github = { pattern = 'github%.com', icon = '󰊤 ' }, + stackoverflow = { pattern = 'stackoverflow%.com', icon = '󰓌 ' }, + wikipedia = { pattern = 'wikipedia%.org', icon = '󰖬 ' }, + youtube = { pattern = 'youtube%.com', icon = '󰗃 ' }, + reddit = { pattern = 'reddit%.com', icon = '󰑍 ' }, + old_reddit = { pattern = 'old.reddit%.com', icon = '󰑍 ' }, + gvc = { pattern = 'git%.venomade%.com', icon = '󰊢 ' }, + catechism = { pattern = 'ccc%.directory', icon = '󰅄 ' }, + bible = { pattern = 'biblenow%.net', icon = '󰂢 ' }, + luarocks = { pattern = 'luarocks%.org', icon = '󰢱 ' }, + }, + }, + callout = { + note = { raw = '[!NOTE]', rendered = '󰋽 Note', highlight = 'RenderMarkdownInfo' }, + tip = { raw = '[!TIP]', rendered = '󰌶 Tip', highlight = 'RenderMarkdownSuccess' }, + important = { raw = '[!IMPORTANT]', rendered = '󰅾 Important', highlight = 'RenderMarkdownHint' }, + warning = { raw = '[!WARNING]', rendered = '󰀪 Warning', highlight = 'RenderMarkdownWarn' }, + caution = { raw = '[!CAUTION]', rendered = '󰳦 Caution', highlight = 'RenderMarkdownError' }, + abstract = { raw = '[!ABSTRACT]', rendered = '󰨸 Abstract', highlight = 'RenderMarkdownInfo' }, + summary = { raw = '[!SUMMARY]', rendered = '󰨸 Summary', highlight = 'RenderMarkdownInfo' }, + tldr = { raw = '[!TLDR]', rendered = '󰨸 Tldr', highlight = 'RenderMarkdownInfo' }, + info = { raw = '[!INFO]', rendered = '󰋽 Info', highlight = 'RenderMarkdownInfo' }, + todo = { raw = '[!TODO]', rendered = '󰗡 Todo', highlight = 'RenderMarkdownInfo' }, + hint = { raw = '[!HINT]', rendered = '󰌶 Hint', highlight = 'RenderMarkdownSuccess' }, + success = { raw = '[!SUCCESS]', rendered = '󰄬 Success', highlight = 'RenderMarkdownSuccess' }, + check = { raw = '[!CHECK]', rendered = '󰄬 Check', highlight = 'RenderMarkdownSuccess' }, + done = { raw = '[!DONE]', rendered = '󰄬 Done', highlight = 'RenderMarkdownSuccess' }, + question = { raw = '[!QUESTION]', rendered = '󰘥 Question', highlight = 'RenderMarkdownWarn' }, + help = { raw = '[!HELP]', rendered = '󰘥 Help', highlight = 'RenderMarkdownWarn' }, + faq = { raw = '[!FAQ]', rendered = '󰘥 Faq', highlight = 'RenderMarkdownWarn' }, + attention = { raw = '[!ATTENTION]', rendered = '󰀪 Attention', highlight = 'RenderMarkdownWarn' }, + failure = { raw = '[!FAILURE]', rendered = '󰅖 Failure', highlight = 'RenderMarkdownError' }, + fail = { raw = '[!FAIL]', rendered = '󰅖 Fail', highlight = 'RenderMarkdownError' }, + missing = { raw = '[!MISSING]', rendered = '󰅖 Missing', highlight = 'RenderMarkdownError' }, + danger = { raw = '[!DANGER]', rendered = '󱐌 Danger', highlight = 'RenderMarkdownError' }, + error = { raw = '[!ERROR]', rendered = '󱐌 Error', highlight = 'RenderMarkdownError' }, + bug = { raw = '[!BUG]', rendered = '󰨰 Bug', highlight = 'RenderMarkdownError' }, + example = { raw = '[!EXAMPLE]', rendered = '󰉹 Example', highlight = 'RenderMarkdownHint' }, + quote = { raw = '[!QUOTE]', rendered = '󱆨 Quote', highlight = 'RenderMarkdownQuote' }, + cite = { raw = '[!CITE]', rendered = '󱆨 Cite', highlight = 'RenderMarkdownQuote' }, + }, + checkbox = { + enabled = true, + render_modes = false, + bullet = false, + right_pad = 1, + unchecked = { + icon = '󰄱 ', + highlight = 'RenderMarkdownUnchecked', + scope_highlight = nil, + }, + checked = { + icon = '󰱒 ', + highlight = 'RenderMarkdownChecked', + scope_highlight = nil, + }, + custom = { + todo = { raw = '[-]', rendered = '󰥔 ', highlight = 'RenderMarkdownTodo', scope_highlight = nil }, + }, + }, + bullet = { + enabled = true, + render_modes = false, + icons = { '●', '○', '◆', '◇' }, + ordered_icons = function(ctx) + local value = vim.trim(ctx.value) + local index = tonumber(value:sub(1, #value - 1)) + return ('%d.'):format(index > 1 and index or ctx.index) + end, + left_pad = 0, + right_pad = 0, + highlight = 'RenderMarkdownBullet', + scope_highlight = {}, + }, + quote = { icon = '▋' }, + anti_conceal = { + enabled = false, + }, + heading = { + width = 'block', + } + }) + end } diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua new file mode 100644 index 0000000..96e9404 --- /dev/null +++ b/.config/nvim/lua/plugins/ui.lua @@ -0,0 +1,18 @@ +return { + "OXY2DEV/ui.nvim", + lazy = false, + config = function() + require("ui").setup({ + cmdline = { + enable = true, + row_offset = 0, + }, + messages = { + enable = true, + }, + popupmenu = { + enable = false, + }, + }); + end, +}; diff --git a/.config/nvim/lua/plugins/zk.lua b/.config/nvim/lua/plugins/zk.lua new file mode 100644 index 0000000..ce2e11a --- /dev/null +++ b/.config/nvim/lua/plugins/zk.lua @@ -0,0 +1,26 @@ +return { + "zk-org/zk-nvim", + lazy = false, + config = function() + require("zk").setup({ + picker = "telescope", + lsp = { + config = { + name = "zk", + cmd = { "zk", "lsp" }, + filetypes = { "markdown" }, + }, + auto_attach = { + enabled = true, + }, + }, + }) + end, + keys = { + { "zz", "ZkNotes", desc = "Notes" }, + { "zl", "ZkLinks", desc = "Links" }, + { "zb", "ZkBacklinks", desc = "Backlinks" }, + { "zi", "ZkInsertLink", desc = "Insert Link" }, + { "zd", "ZkCd", desc = "Enter Directory" }, + } +} -- cgit 1.4.1-2-gfad0