From f09908a26573e8d1ad3bf7693b51ef7f6c5edaad Mon Sep 17 00:00:00 2001 From: José Juan Loeza Sierra Date: Sun, 2 Nov 2025 21:15:56 -0800 Subject: add wordcount for markdown to lualine --- dot-config/nvim/lua/plugins/lualine.lua | 16 ++++++++++++++++ dot-config/nvim/lua/wordcount.lua | 27 +++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 dot-config/nvim/lua/plugins/lualine.lua create mode 100644 dot-config/nvim/lua/wordcount.lua (limited to 'dot-config/nvim/lua') diff --git a/dot-config/nvim/lua/plugins/lualine.lua b/dot-config/nvim/lua/plugins/lualine.lua new file mode 100644 index 0000000..d71612a --- /dev/null +++ b/dot-config/nvim/lua/plugins/lualine.lua @@ -0,0 +1,16 @@ +local wc = require("wordcount") + +return { + "nvim-lualine/lualine.nvim", + opts = { + sections = { + lualine_y = { + -- Add wordcount + { wc.wordcount, cond = wc.is_available }, + -- Existing conf + { "progress", separator = " ", padding = { left = 1, right = 0 } }, + { "location", padding = { left = 0, right = 1 } }, + }, + }, + }, +} diff --git a/dot-config/nvim/lua/wordcount.lua b/dot-config/nvim/lua/wordcount.lua new file mode 100644 index 0000000..b61a4ee --- /dev/null +++ b/dot-config/nvim/lua/wordcount.lua @@ -0,0 +1,27 @@ +-- Wordcount in markdown +-- +-- Credits +-- https://github.com/nvim-lualine/lualine.nvim/issues/328#issuecomment-982672253 +-- https://github.com/skwee357/nvim-prose + +local M = {} + +function M.wordcount() + local wc = vim.fn.wordcount() + + if not (wc.visual_words == nil) then + return tostring(wc.visual_words) .. " words" + end + + return tostring(wc.words) .. " words" +end + +function M.is_available() + if vim.bo.filetype == "markdown" then + return true + end + + return false +end + +return M -- cgit v1.3