setup: add icons

additionally set `which-key` to have `helix` look.
This commit is contained in:
Abdulrahman Sheikho 2026-03-12 10:52:09 +03:00
parent 564c30de26
commit dc8156c52c
5 changed files with 78 additions and 19 deletions

View File

@ -6,7 +6,7 @@ vim.g.mapleader = ' '
vim.g.maplocalleader = ' ' vim.g.maplocalleader = ' '
-- Set to true if you have a Nerd Font installed and selected in the terminal -- Set to true if you have a Nerd Font installed and selected in the terminal
vim.g.have_nerd_font = false vim.g.have_nerd_font = true
-- Configs for Programming Languages -- Configs for Programming Languages
-- like LSPs, Tree-sitters, Linters, Fromatters, Debuggers, etc. -- like LSPs, Tree-sitters, Linters, Fromatters, Debuggers, etc.
@ -82,3 +82,73 @@ Langs = {
}, },
}, },
} }
-- My set of defined icons, I still don't know if its inclusive or not.
-- I named it Glyphs to avoid misinterpreting it with something else.
Glyphs = {
ui = {
prompt = '',
},
lazy = {
cmd = '',
config = '',
debug = '',
event = '',
favorite = '',
ft = '',
init = '',
import = '',
keys = '',
lazy = '󰒲 ',
loaded = '',
not_loaded = '',
plugin = '',
runtime = '',
require = '',
source = '',
start = '',
task = '',
list = { '', '', '', '' },
},
kinds = {
-- taken from:
-- - [Completion.Kind (LSP APIs)](https://bits.netbeans.org/29/javadoc/org-netbeans-api-lsp/org/netbeans/api/lsp/Completion.Kind.html)
-- - [StructureElement.Kind (LSP APIs)](https://bits.netbeans.org/29/javadoc/org-netbeans-api-lsp/org/netbeans/api/lsp/StructureElement.Kind.html)
Array = '',
Boolean = '',
Class = '󰒕',
Color = '󰏘',
Constant = '󰏿',
Constructor = '󱌣',
Copilot = '', -- for AI indication
Enum = '', -- or  
EnumMember = '', -- or  
Event = '',
Field = '󰿨',
File = '󰈙',
Folder = '󰉋',
Function = '󰊕',
Interface = '󰩦', -- or 󱖡
Key = '',
Keyword = '',
Method = 'ɱ', -- or ꬺ, I can't decide
Module = '󰅩',
Namespace = '󰦮',
Null = '',
Number = '󰎠',
Object = '󰮄', -- would more appropriate
Operator = '',
Package = '󰏗',
Property = '󰆦',
Reference = '󰬲',
Snippet = '󱄽',
String = '󱀍', -- or  󰀬
Struct = '󰓸', -- or 󰙅 󰆩
Text = '󰉿',
TypeParameter = '',
Unit = '󰑭',
Unknown = '', -- for Unknown values
Value = '󰼢',
Variable = '󰀫',
},
}

View File

@ -85,20 +85,6 @@ require('lazy').setup({
ui = { ui = {
-- If you are using a Nerd Font: set icons to an empty table which will use the -- If you are using a Nerd Font: set icons to an empty table which will use the
-- default lazy.nvim defined Nerd Font icons, otherwise define a unicode icons table -- default lazy.nvim defined Nerd Font icons, otherwise define a unicode icons table
icons = vim.g.have_nerd_font and {} or { icons = Glyphs.lazy,
cmd = '',
config = '🛠',
event = '📅',
ft = '📂',
init = '',
keys = '🗝',
plugin = '🔌',
runtime = '💻',
require = '🌙',
source = '📄',
start = '🚀',
task = '📌',
lazy = '💤 ',
},
}, },
}) })

View File

@ -118,6 +118,7 @@ return {
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font' -- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
-- Adjusts spacing to ensure icons are aligned -- Adjusts spacing to ensure icons are aligned
nerd_font_variant = 'mono', nerd_font_variant = 'mono',
kind_icons = Glyphs.kinds,
}, },
completion = { completion = {

View File

@ -59,8 +59,8 @@ return {
-- All the info you're looking for is in `:help telescope.setup()` -- All the info you're looking for is in `:help telescope.setup()`
-- --
defaults = { defaults = {
prompt_prefix = ' ', prompt_prefix = Glyphs.ui.prompt .. ' ',
selection_caret = ' ', selection_caret = Glyphs.ui.prompt .. ' ',
sorting_strategy = 'ascending', sorting_strategy = 'ascending',
layout_strategy = 'flex', layout_strategy = 'flex',
layout_config = { layout_config = {

View File

@ -6,9 +6,11 @@ return {
---@type wk.Opts ---@type wk.Opts
---@diagnostic disable-next-line: missing-fields ---@diagnostic disable-next-line: missing-fields
opts = { opts = {
-- set which-key layout to look like 'helix'
preset = 'helix',
-- delay between pressing a key and opening which-key (milliseconds) -- delay between pressing a key and opening which-key (milliseconds)
delay = 0, delay = 0,
icons = { mappings = vim.g.have_nerd_font }, icons = { mappings = false },
-- Document existing key chains -- Document existing key chains
spec = { spec = {