nvim: use icons consistently

This commit is contained in:
Fernando Schauenburg 2024-07-21 21:30:16 +02:00
parent 0f6e9fc070
commit 80a3ba49ef
25 changed files with 145 additions and 89 deletions

View file

@ -1,7 +1,5 @@
local M = {}
local icons = require("fschauen.util.icons")
-- Show/navigate warning and errors by default.
M.severity = vim.diagnostic.severity.WARN
@ -77,6 +75,8 @@ M.select_virtual_text_severity = function()
)
end
local icons = require("fschauen.util.icons")
---Customize nvim's diagnostics display.
M.setup = function()
vim.diagnostic.config {

View file

@ -1,3 +1,5 @@
local icon = require("fschauen.util.icons").ui.Comment
return {
"tpope/vim-commentary",
@ -5,9 +7,9 @@ return {
keys = {
-- stylua: ignore start
{ "gc", "<Plug>Commentary", mode = {"n", "x", "o"}, desc = "Comment in/out" },
{ "gcc", "<Plug>CommentaryLine", desc = "Comment in/out line" },
{ "gcu", "<Plug>Commentary<Plug>Commentary", desc = "Undo comment in/out" },
{ "gc", "<Plug>Commentary", mode = {"n", "x", "o"}, desc = icon.." Comment in/out" },
{ "gcc", "<Plug>CommentaryLine", desc = icon.." Comment in/out line" },
{ "gcu", "<Plug>Commentary<Plug>Commentary", desc = icon.." Undo comment in/out" },
-- stylua: ignore end
},
}

View file

@ -1,5 +1,3 @@
local icons = require("fschauen.util.icons")
local make_keymap = function(cmp)
local if_visible = function(yes, no)
no = no or function(fallback)
@ -90,7 +88,7 @@ return {
formatting = {
format = require("lspkind").cmp_format {
mode = "symbol_text",
symbol_map = icons.kind,
symbol_map = require("fschauen.util.icons").kind,
menu = {
buffer = "buf",
nvim_lsp = "LSP",

View file

@ -9,7 +9,7 @@ local dial_cmd = function(cmd, suffix)
end
end
---Make a new augent that cycles over the given elements.
---Make a new augend that cycles over the given elements.
---@param elements string[]: the elements to cycle.
---@return table: @see `dial.types.Augend`
local cyclic_augend = function(elements)
@ -34,19 +34,22 @@ local weekdays_short = vim.tbl_map(function(s)
return s:sub(1, 3)
end, weekdays)
local ui = require("fschauen.util.icons").ui
local inc, dec = ui.Increment, ui.Decrement
return {
"monaqa/dial.nvim",
keys = {
-- stylua: ignore start
{ "<c-a>", dial_cmd("inc_normal"), expr = true, desc = " Increment" },
{ "<c-x>", dial_cmd("dec_normal"), expr = true, desc = " Decrement" },
{ "<c-a>", dial_cmd("inc_normal"), expr = true, desc = inc.." Increment" },
{ "<c-x>", dial_cmd("dec_normal"), expr = true, desc = dec.." Decrement" },
{ "<c-a>", dial_cmd("inc_visual", "gv"), expr = true, desc = " Increment", mode = "v" },
{ "<c-x>", dial_cmd("dec_visual", "gv"), expr = true, desc = " Decrement", mode = "v" },
{ "<c-a>", dial_cmd("inc_visual", "gv"), expr = true, desc = inc.." Increment", mode = "v" },
{ "<c-x>", dial_cmd("dec_visual", "gv"), expr = true, desc = dec.." Decrement", mode = "v" },
{ "g<c-a>", dial_cmd("inc_gvisual", "gv"), expr = true, desc = " Increment", mode = "v" },
{ "g<c-x>", dial_cmd("dec_gvisual", "gv"), expr = true, desc = " Decrement", mode = "v" },
{ "g<c-a>", dial_cmd("inc_gvisual", "gv"), expr = true, desc = inc.." Increment", mode = "v" },
{ "g<c-x>", dial_cmd("dec_gvisual", "gv"), expr = true, desc = dec.." Decrement", mode = "v" },
-- stylua: ignore end
},

View file

@ -41,6 +41,8 @@ local toggle_format_on_write = (function()
end
end)()
local icon = require("fschauen.util.icons").ui.Format
return {
"mhartington/formatter.nvim",
@ -53,9 +55,9 @@ return {
keys = {
-- stylua: ignore start
{ "<leader>FT", toggle_format_on_write, desc = "󰉼 [F]ormat on write [T]oggle" },
{ "<leader>FF", "<cmd>Format<cr>", desc = "󰉼 [F]ormat [F]ile" },
{ "<c-f>", "<cmd>Format<cr>", mode = "i", desc = "󰉼 [f]ormat file" },
{ "<leader>FT", toggle_format_on_write, desc = icon.." [F]ormat on write [T]oggle" },
{ "<leader>FF", "<cmd>Format<cr>", desc = icon.." [F]ormat [F]ile" },
{ "<c-f>", "<cmd>Format<cr>", mode = "i", desc = icon.." [f]ormat file" },
-- stylua: ignore end
},

View file

@ -1,3 +1,5 @@
local icon = require("fschauen.util.icons").ui.Git
return {
"tpope/vim-fugitive",
@ -5,8 +7,8 @@ return {
keys = {
-- stylua: ignore start
{ "<leader>gS", "<cmd>tab Git<cr>", desc = " [S]status with fugitive" },
{ "<leader>gb", "<cmd>Git blame<cr>", desc = " [b]lame" },
{ "<leader>gS", "<cmd>tab Git<cr>", desc = icon.." [S]status (fugitive)" },
{ "<leader>gb", "<cmd>Git blame<cr>", desc = icon.." [b]lame (fugitive)" },
-- stylua: ignore end
},
}

View file

@ -1,3 +1,4 @@
local icon = require("fschauen.util.icons").ui.Git
return {
"rhysd/git-messenger.vim",
@ -5,7 +6,7 @@ return {
keys = {
-- stylua: ignore start
{ "<leader>gm", "<cmd>GitMessenger<cr>", desc = " open [m]essenger" },
{ "<leader>gm", "<cmd>GitMessenger<cr>", desc = icon.." [g]it [m]essenger" },
-- stylua: ignore end
},

View file

@ -20,6 +20,8 @@ local clipboard = function(mode)
end
end
local icon = require("fschauen.util.icons").ui.Git
return {
"ruifm/gitlinker.nvim",
@ -27,11 +29,11 @@ return {
keys = {
-- stylua: ignore start
{ "<leader>gr", open_repo, desc = " open [r]epository in browser" },
{ "<leader>gl", clipboard("n"), desc = " copy perma[l]ink to clipboard" },
{ "<leader>gl", clipboard("v"), desc = " copy perma[l]ink to clipboard", mode = "v" },
{ "<leader>gL", browser("n"), desc = " open perma[L]ink in browser" },
{ "<leader>gL", browser("v"), desc = " open perma[L]ink in browser", mode = "v" },
{ "<leader>gr", open_repo, desc = icon.." open [r]epository in browser" },
{ "<leader>gl", clipboard("n"), desc = icon.." copy perma[l]ink to clipboard" },
{ "<leader>gl", clipboard("v"), desc = icon.." copy perma[l]ink to clipboard", mode = "v" },
{ "<leader>gL", browser("n"), desc = icon.." open perma[L]ink in browser" },
{ "<leader>gL", browser("v"), desc = icon.." open perma[L]ink in browser", mode = "v" },
-- stylua: ignore end
},

View file

@ -1,4 +1,4 @@
local icons = require("fschauen.util.icons")
local ui = require("fschauen.util.icons").ui
return {
"lukas-reineke/indent-blankline.nvim",
@ -14,8 +14,8 @@ return {
keys = {
-- stylua: ignore start
{ "<leader>si", "<cmd>IBLToggle<cr>", desc = icons.ui.Toggle .. " toggle indent lines" },
{ "<leader>so", "<cmd>IBLToggleScope<cr>", desc = icons.ui.Toggle .. " toggle indent line scope" },
{ "<leader>si", "<cmd>IBLToggle<cr>", desc = ui.Toggle.." toggle indent lines" },
{ "<leader>so", "<cmd>IBLToggleScope<cr>", desc = ui.Toggle.." toggle indent line scope" },
-- stylua: ignore end
},
@ -24,9 +24,9 @@ return {
opts = function(_, opts)
return vim.tbl_deep_extend("force", opts or {}, {
enabled = false,
indent = { char = icons.ui.LineLeft },
indent = { char = ui.LineLeft },
scope = {
char = icons.ui.LineLeftBold,
char = ui.LineLeftBold,
enabled = false,
show_start = false,
show_end = false,

View file

@ -1,6 +1,8 @@
local M = { 'nvim-lualine/lualine.nvim' }
local icons = require('fschauen.util.icons')
local ui = icons.ui
local orange = '#d65d0e'
local bright = '#ffffff' -- alternative: '#f9f5d7'
@ -70,7 +72,7 @@ M.config = function(--[[plugin]]_, --[[opts]]_)
}
function C:update_status(is_focused)
if not is_focused then return ' ' .. icons.ui.Sleep end
if not is_focused then return ' ' .. ui.Sleep end
local code = vim.api.nvim_get_mode().mode:lower()
local symbol = C.map[code:sub(1, 2)] or C.map[code:sub(1, 1)] or code
@ -101,7 +103,7 @@ M.config = function(--[[plugin]]_, --[[opts]]_)
if next(count) == nil then return '' end
local denominator = count.total > count.maxcount and '' or string.format('%d', count.total)
return string.format(icons.ui.Search .. '%d/%s', count.current, denominator)
return string.format(ui.Search .. '%d/%s', count.current, denominator)
end
return C
@ -141,7 +143,7 @@ M.config = function(--[[plugin]]_, --[[opts]]_)
local lineno = vim.fn.search(trailing, 'nwc')
if lineno == 0 then return '' end
local result = icons.ui.Attention .. lineno
local result = ui.Attention .. lineno
local total = vim.fn.searchcount({ pattern = trailing }).total
if total > 1 then result = result .. string.format(' (%d total)', total) end
@ -157,7 +159,7 @@ M.config = function(--[[plugin]]_, --[[opts]]_)
}
local paste = {
colored_if_focused(function(has_focus) return has_focus and icons.ui.Paste or ' ' end),
colored_if_focused(function(has_focus) return has_focus and ui.Paste or ' ' end),
color = {
bg = orange,
},
@ -167,8 +169,8 @@ M.config = function(--[[plugin]]_, --[[opts]]_)
local status = {
colored_if_focused(function(_)
local status = ''
if vim.bo.modified then status = status .. icons.ui.Modified end
if vim.bo.readonly or not vim.bo.modifiable then status = status .. icons.ui.ReadOnly end
if vim.bo.modified then status = status .. ui.Modified end
if vim.bo.readonly or not vim.bo.modifiable then status = status .. ui.ReadOnly end
return status
end),
color = {

View file

@ -24,13 +24,18 @@ return {
end,
config = function()
local group = vim.api.nvim_create_augroup("fschauen.markdown", { clear = true })
local icon = require("fschauen.util.icons").ui.Markdown
vim.api.nvim_create_autocmd("FileType", {
desc = "Create key map to toggle markdown preview.",
group = group,
group = vim.api.nvim_create_augroup("fschauen.markdown", { clear = true }),
pattern = "markdown",
callback = function()
vim.keymap.set("n", "<leader>P", "<cmd>MarkdownPreviewToggle<cr>", { buffer = true })
vim.keymap.set(
"n",
"<leader>P",
"<cmd>MarkdownPreviewToggle<cr>",
{ buffer = true, desc = icon .. " toggle [P]review" }
)
end,
})
end,

View file

@ -1,4 +1,4 @@
local icons = require("fschauen.util.icons")
local ui = require("fschauen.util.icons").ui
return {
"NeogitOrg/neogit",
@ -8,7 +8,7 @@ return {
dependencies = "nvim-lua/plenary.nvim",
keys = {
{ "<leader>gs", "<cmd>Neogit<cr>", desc = " [s]tatus with neogit" },
{ "<leader>gs", "<cmd>Neogit<cr>", desc = ui.Git .. " [s]tatus (Neogit)" },
},
opts = function(_, opts)
@ -17,16 +17,16 @@ return {
disable_hint = true,
signs = {
section = {
icons.ui.Folder,
icons.ui.EmptyFolderOpen,
ui.Folder,
ui.EmptyFolderOpen,
},
item = {
icons.ui.ChevronRight,
icons.ui.ChevronDown,
ui.ChevronRight,
ui.ChevronDown,
},
hunk = {
icons.ui.ChevronSmallRight,
icons.ui.ChevronSmallDown,
ui.ChevronSmallRight,
ui.ChevronSmallDown,
},
},
mappings = {

View file

@ -1,3 +1,5 @@
local icon = require("fschauen.util.icons").ui.Lint
return {
"mfussenegger/nvim-lint",
@ -7,7 +9,7 @@ return {
function()
require("lint").try_lint()
end,
desc = " [L]int file",
desc = icon .. " [L]int file",
},
},

View file

@ -22,6 +22,8 @@ local on_attach = function(buffer)
-- stylua: ignore end
end
local icon = require("fschauen.util.icons").ui.FileTree
return {
"nvim-tree/nvim-tree.lua",
@ -29,8 +31,8 @@ return {
keys = {
-- stylua: ignore start
{ "<leader>tt", "<cmd>NvimTreeToggle<cr>", desc = "󰙅 [t]oggle [t]ree" },
{ "<leader>tf", "<cmd>NvimTreeFindFile<cr>", desc = "󰙅 Open [t]ree to current [f]ile " },
{ "<leader>tt", "<cmd>NvimTreeToggle<cr>", desc = icon.." [t]oggle [t]ree" },
{ "<leader>tf", "<cmd>NvimTreeFindFile<cr>", desc = icon.." Open [t]ree to current [f]ile " },
-- stylua: ignore end
},

View file

@ -1,3 +1,5 @@
local icon = require("fschauen.util.icons").ui.Web
return {
"tyru/open-browser.vim",
@ -11,7 +13,7 @@ return {
{
"<leader>o",
"<Plug>(openbrowser-smart-search)",
desc = "󰖟 [o]pen URL under cursor or search the web",
desc = icon .. " [o]pen URL under cursor or search the web",
mode = { "n", "v" },
},
},

View file

@ -1,3 +1,5 @@
local icon = require("fschauen.util.icons").ui.Graph
return {
"weirongxu/plantuml-previewer.vim",
@ -31,7 +33,12 @@ return {
group = group,
pattern = "plantuml",
callback = function()
vim.keymap.set("n", "<leader>P", "<cmd>PlantumlToggle<cr>", { buffer = true })
vim.keymap.set(
"n",
"<leader>P",
"<cmd>PlantumlToggle<cr>",
{ buffer = true, desc = icon .. " toggle PlantUML [P]review" }
)
end,
})
end,

View file

@ -1,5 +1,4 @@
local util = require("fschauen.util")
local icons = require("fschauen.util.icons")
local ui = require("fschauen.util.icons").ui
---Create the left hand side for a Telescope keymap.
local lhs = function(keys)
@ -8,7 +7,7 @@ end
---Create the description for a Telescope keymap.
local desc = function(text)
return icons.ui.Telescope .. " Telescope " .. text
return ui.Telescope .. " Telescope " .. text
end
local builtin_picker = function(name, opts)
@ -33,7 +32,7 @@ local pickers = setmetatable({
dotfiles = builtin_picker("find_files", { cwd = "~/.dotfiles", hidden = true }),
selection = function(title)
return function()
local text = util.get_selected_text()
local text = require("fschauen.util").get_selected_text()
return require("telescope.builtin").grep_string {
prompt_title = string.format(title .. ": %s ", text),
search = text,
@ -146,10 +145,10 @@ return {
defaults = {
mappings = { i = mappings, n = mappings },
prompt_prefix = " " .. icons.ui.Telescope .. " ",
selection_caret = icons.ui.Play .. " ",
prompt_prefix = " " .. ui.Telescope .. " ",
selection_caret = ui.Play .. " ",
multi_icon = icons.ui.Checkbox .. " ",
multi_icon = ui.Checkbox .. " ",
scroll_strategy = "limit", -- Don't wrap around in results.
dynamic_preview_title = true,

View file

@ -1,4 +1,6 @@
local description = "󰬴 [c]hange text [c]ase"
local icon = require("fschauen.util.icons").ui.Text
local description = icon .." [c]hange text [c]ase"
local theme = function()
return require("telescope.themes").get_cursor()
end

View file

@ -1,3 +1,5 @@
local icon = require("fschauen.util.icons").ui.Tree
return {
"nvim-treesitter/nvim-treesitter",
@ -15,9 +17,9 @@ return {
keys = {
-- stylua: ignore start
{ "<leader>Tp", "<cmd>TSPlaygroundToggle<cr>", desc = " [T]reesitter [p]layground (toggle)" },
{ "<leader>Th", "<cmd>TSHighlightCapturesUnderCursor<cr>", desc = " [T]reesitter [h]ighlights" },
{ "<leader>Tn", "<cmd>TSNodeUnderCursor<cr>", desc = " [T]reesitter [n]ode under cursor" },
{ "<leader>Tp", "<cmd>TSPlaygroundToggle<cr>", desc = icon.." [T]reesitter [p]layground (toggle)" },
{ "<leader>Th", "<cmd>TSHighlightCapturesUnderCursor<cr>", desc = icon.." [T]reesitter [h]ighlights" },
{ "<leader>Tn", "<cmd>TSNodeUnderCursor<cr>", desc = icon.." [T]reesitter [n]ode under cursor" },
-- stylua: ignore end
},

View file

@ -1,3 +1,4 @@
local icon = require("fschauen.util.icons").ui.TrafficLight
return {
"folke/trouble.nvim",
@ -5,9 +6,9 @@ return {
keys = {
-- stylua: ignore start
{ "<leader>lt", "<cmd>TroubleToggle<cr>", desc = "󱠪 trouble [t]toggle" },
{ "<leader>lw", "<cmd>TroubleToggle workspace_diagnostics<cr>", desc = "󱠪 trouble [w]orkspace" },
{ "<leader>ld", "<cmd>TroubleToggle document_diagnostics<cr>", desc = "󱠪 trouble [d]ocument" },
{ "<leader>lt", "<cmd>TroubleToggle<cr>", desc = icon.." trouble [t]toggle" },
{ "<leader>lw", "<cmd>TroubleToggle workspace_diagnostics<cr>", desc = icon.." trouble [w]orkspace" },
{ "<leader>ld", "<cmd>TroubleToggle document_diagnostics<cr>", desc = icon.." trouble [d]ocument" },
-- stylua: ignore end
},

View file

@ -1,3 +1,5 @@
local icon = require("fschauen.util.icons").ui.Undo
return {
"mbbill/undotree",
@ -12,6 +14,6 @@ return {
end,
keys = {
{ "<leader>u", "<cmd>UndotreeToggle<cr>" },
{ "<leader>u", "<cmd>UndotreeToggle<cr>", desc = icon .. " toggle [u]ndo tree" },
},
}

View file

@ -6,7 +6,7 @@ local toggle_colorcolumn = function()
end
end
local icons = require("fschauen.util.icons")
local ui = require("fschauen.util.icons").ui
return {
"lukas-reineke/virt-column.nvim",
@ -14,12 +14,12 @@ return {
event = { "BufReadPost", "BufNewFile" },
keys = {
{ "<leader>sc", toggle_colorcolumn, desc = icons.ui.Toggle .. " toggle virtual colunn" },
{ "<leader>sc", toggle_colorcolumn, desc = ui.Toggle .. " toggle virtual colunn" },
},
opts = function(_, opts)
return vim.tbl_deep_extend("force", opts or {}, {
char = icons.ui.LineMiddle,
char = ui.LineMiddle,
})
end,
}

View file

@ -1,3 +1,5 @@
local icon = require("fschauen.util.icons").ui.Whitespace
return {
"ntpeters/vim-better-whitespace",
@ -14,9 +16,11 @@ return {
end,
keys = {
{ "<leader>ww", "<cmd>ToggleWhitespace<cr>" },
{ "<leader>wj", "<cmd>NextTrailingWhitespace<cr>" },
{ "<leader>wk", "<cmd>PrevTrailingWhitespace<cr>" },
{ "<leader>W", "<cmd>StripWhitespace<cr>" },
-- stylua: ignore start
{ "<leader>ww", "<cmd>ToggleWhitespace<cr>", desc = icon.." toggle whitespace" },
{ "<leader>wj", "<cmd>NextTrailingWhitespace<cr>", desc = icon.." next whitespace" },
{ "<leader>wk", "<cmd>PrevTrailingWhitespace<cr>", desc = icon.." previous whitespace" },
{ "<leader>W", "<cmd>StripWhitespace<cr>", desc = icon.." strip whitespace" },
-- stylua: ignore end
},
}

View file

@ -99,27 +99,37 @@ M.ui = {
ChevronDown = "", -- 
ChevronLeft = "", -- 
ChevronRight = "", -- 
ChevronUp = "", -- 
ChevronSmallDown = "",
ChevronSmallLeft = "",
ChevronSmallRight = "",
ChevronSmallUp = "",
ChevronUp = "", -- 
Circle = "",
Comment = "",
Comments = "",
Decrement = "",
Diagnostic = "",
EmptyFolder = "",
EmptyFolderOpen = "",
File = "", -- 
FileSymlink = "", -- 
FileTree = "󰙅",
Files = "",
Fire = "", -- 
Folder = "󰉋",
FolderOpen = "",
FolderSymlink = "",
Format = "󰉼",
Gauge = "󰓅", -- 
Git = "",
Graph = "󱁊",
Increment = "",
LineLeft = "",
LineLeftBold = "",
LineMiddle = "",
LineMiddleBold = "",
Lint = "",
Markdown = "",
Modified = "",
Note = "", -- 
Paste = "",
@ -129,8 +139,14 @@ M.ui = {
Sleep = "󰒲",
Telescope = "",
TestTube = "󰙨", -- 󰤑
Text = "󰬴",
Toggle = "󰨚",
TrafficLight = "󱠪",
Tree = "",
Undo = "󰕌",
Warning = "",
Web = "󰖟",
Whitespace = "󱁐",
}
-- stylua: ignore end