8000 mini.nvim/lua/mini/icons.lua at main · TheLeoP/mini.nvim · GitHub
[go: up one dir, main page]

Skip to content

Latest commit

 

History

History
2180 lines (2091 loc) · 119 KB

icons.lua

File metadata and controls

2180 lines (2091 loc) · 119 KB
CODE_OF_CONDUCT = { glyph = '󱃱', hl = 'MiniIconsRed' },
['CODE_OF_CONDUCT.md'] = { glyph = '󱃱', hl = 'MiniIconsRed' },
CODEOWNERS = { glyph = '󰜻', hl = 'MiniIconsPurple' },
CONTRIBUTING = { glyph = '󰺾', hl = 'MiniIconsAzure' },
['CONTRIBUTING.md'] = { glyph = '󰺾', hl = 'MiniIconsAzure' },
['FUNDING.yml'] = { glyph = '󰇁', hl = 'MiniIconsGreen' },
LICENSE = { glyph = '', hl = 'MiniIconsCyan' },
['LICENSE.md'] = { glyph = '', hl = 'MiniIconsCyan' },
['LICENSE.txt'] = { glyph = '', hl = 'MiniIconsCyan' },
NEWS = { glyph = '󰎕', hl = 'MiniIconsBlue' },
['NEWS.md'] = { glyph = '󰎕', hl = 'MiniIconsBlue' },
PKGBUILD = { glyph = '󱁤', hl = 'MiniIconsPurple' },
README = { glyph = '', hl = 'MiniIconsYellow' },
['README.md'] = { glyph = '', hl = 'MiniIconsYellow' },
['README.txt'] = { glyph = '', hl = 'MiniIconsYellow' },
TODO = { glyph = '󰝖', hl = 'MiniIconsPurple' },
['TODO.md'] = { glyph = '󰝖', hl = 'MiniIconsPurple' },
['init.lua'] = { glyph = '', hl = 'MiniIconsGreen' },
-- Supported by `vim.filetype.match` but conflict with using extension first
['build.xml'] = 'ant',
['GNUmakefile.am'] = 'automake',
['Makefile.am'] = 'automake',
['makefile.am'] = 'automake',
['CMakeLists.txt'] = 'cmake',
['CMakeCache.txt'] = 'cmakecache',
['auto.master'] = 'conf',
['.oelint.cfg'] = 'dosini',
['.wakatime.cfg'] = 'dosini',
['pudb.cfg'] = 'dosini',
['setup.cfg'] = 'dosini',
['lltxxxxx.txt'] = 'gedcom',
['go.sum'] = 'gosum',
['go.work.sum'] = 'gosum',
['.indent.pro'] = 'indent',
['indent.pro'] = 'indent',
['ipf.rules'] = 'ipfilter',
['config.ld'] = 'lua',
['lynx.cfg'] = 'lynx',
['cm3.cfg'] = 'm3quake',
['maxima-init.mac'] = 'maxima',
['meson_options.txt'] = 'meson',
['.gitolite.rc'] = 'perl',
['example.gitolite.rc'] = 'perl',
['gitolite.rc'] = 'perl',
['main.cf.proto'] = 'pfmain',
['constraints.txt'] = 'requirements',
['requirements.txt'] = 'requirements',
['robots.txt'] = 'robots',
['tclsh.rc'] = 'tcl',
-- Supported by `vim.filetype.match` but result in confusing glyph
['.containerignore'] = { glyph = '󰒓', hl = 'MiniIconsGrey' },
['.dockerignore'] = { glyph = '󰡨', hl = 'MiniIconsOrange' },
['.fdignore'] = { glyph = '󰒓', hl = 'MiniIconsYellow' },
['.ignore'] = { glyph = '󰒓', hl = 'MiniIconsGrey' },
['.npmignore'] = { glyph = '󰒓', hl = 'MiniIconsGrey' },
['.prettierignore'] = { glyph = '', hl = 'MiniIconsOrange' },
['.rgignore'] = { glyph = '󰒓', hl = 'MiniIconsYellow' },
['.vscodeignore'] = { glyph = '', hl = 'MiniIconsAzure' },
}
-- Filetype icons. Keys are filetypes explicitly supported by Neovim core
-- (i.e. present in `getcompletion('', 'filetype')` except technical ones)
-- and filetypes from some popular plugins.
-- Rough process of how glyphs and icons are chosen:
-- - Try to balance usage of highlight groups.
-- - Prefer using the following Nerd Fonts classes (from best to worst):
-- - `nf-md-*` (UTF codes seem to be more thought through). It also has
-- correct double width in Kitty.
-- - `nf-dev-*` (more supported devicons).
-- - `nf-seti-*` (more up to date extensions).
-- - `nf-custom-*` (niche Nerd Fonts only glyphs).
-- - If filetype is present in 'nvim-web-devicons', use highlight group with
-- most similar hue (based on OKLCH color space with equally spaced grid as
-- in 'mini.hues' and chroma=3 for grey cutoff; adjust manually if needed).
-- - Sets that have same/close glyphs but maybe different highlights:
-- - Generic configuration filetypes (".*conf.*", ".*rc", if stated in
-- filetype file description, etc.) have same glyph.
-- - Similar language: assembly ("asm"), SQL, Perl, HTML, CSV, shell.
-- - Log files.
-- - Make / build system.
-- - Related to Internet/Web.
-- - For newly assigned icons use semantically close (first by filetype origin,
-- then by name) abstract icons with `nf-md-*` Nerd Fonts class.
-- - If no semantically close abstract icon present, use plain letter/digit
-- icon (based on the first filetype character) with highlight groups picked
-- randomly to achieve overall balance (trying to minimize maximum number of
-- glyph-hl duplicates).
--stylua: ignore
H.filetype_icons = {
-- Neovim filetype plugins (i.e. recognized with vanilla Neovim)
['8th'] = { glyph = '󰭁', hl = 'MiniIconsYellow' },
a2ps = { glyph = '󰒓', hl = 'MiniIconsCyan' },
a65 = { glyph = '', hl = 'MiniIconsRed' },
aap = { glyph = '󰫮', hl = 'MiniIconsOrange' },
abap = { glyph = '󰫮', hl = 'MiniIconsGreen' },
abaqus = { glyph = '󰫮', hl = 'MiniIconsGreen' },
abc = { glyph = '󰝚', hl = 'MiniIconsAzure' },
abel = { glyph = '󰫮', hl = 'MiniIconsAzure' },
acedb = { glyph = '󰆼', hl = 'MiniIconsGrey' },
ada = { glyph = '󱁷', hl = 'MiniIconsAzure' },
aflex = { glyph = '󰫮', hl = 'MiniIconsCyan' },
ahdl = { glyph = '󰫮', hl = 'MiniIconsRed' },
aidl = { glyph = '󰫮', hl = 'MiniIconsYellow' },
alsaconf = { glyph = '󰒓', hl = 'MiniIconsPurple' },
amiga = { glyph = '󰫮', hl = 'MiniIconsCyan' },
aml = { glyph = '󰫮', hl = 'MiniIconsPurple' },
ampl = { glyph = '󰫮', hl = 'MiniIconsOrange' },
ant = { glyph = '󰫮', hl = 'MiniIconsRed' },
antlr = { glyph = '󰫮', hl = 'MiniIconsCyan' },
antlr4 = { glyph = '󰫮', hl = 'MiniIconsYellow' },
apache = { glyph = '󰒓', hl = 'MiniIconsGreen' },
apachestyle = { glyph = '󰒓', hl = 'MiniIconsGrey' },
applescript = { glyph = '󰀵', hl = 'MiniIconsYellow' },
aptconf = { glyph = '󰒓', hl = 'MiniIconsOrange' },
arch = { glyph = '󰣇', hl = 'MiniIconsBlue' },
arduino = { glyph = '', hl = 'MiniIconsAzure' },
art = { glyph = '󰫮', hl = 'MiniIconsPurple' },
asciidoc = { glyph = '󰪶', hl = 'MiniIconsYellow' },
asm = { glyph = '', hl = 'MiniIconsPurple' },
asm68k = { glyph = '', hl = 'MiniIconsRed' },
asmh8300 = { glyph = '', hl = 'MiniIconsOrange' },
asn = { glyph = '󰫮', hl = 'MiniIconsBlue' },
aspperl = { glyph = '', hl = 'MiniIconsBlue' },
aspvbs = { glyph = '󰫮', hl = 'MiniIconsGreen' },
0