retrovim 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.conda/retrovim.yaml +259 -0
- package/.conda/terax.icns +0 -0
- package/.conda/terax.ico +0 -0
- package/.conda/terax.png +0 -0
- package/.github/workflows/release.yml +95 -0
- package/.gitmodules +3 -0
- package/.npm/kanata_touchcursor.js +28 -0
- package/.npm/nvim.js +26 -0
- package/.npm/yazi.js +26 -0
- package/.npm/zsh.js +17 -0
- package/.pip/kanata_touchcursor/__init__.py +28 -0
- package/.pip/nvim/__init__.py +31 -0
- package/.pip/yazi/__init__.py +31 -0
- package/.pip/zsh/__init__.py +22 -0
- package/CHANGELOG.md +26 -0
- package/LICENSE +674 -0
- package/README.md +336 -0
- package/kanata/touchcursor.kbd +164 -0
- package/nvim/init.lua +813 -0
- package/nvim/plugins/mini.nvim/.github/DISCUSSION_TEMPLATE/q-a.yml +72 -0
- package/nvim/plugins/mini.nvim/.github/ISSUE_TEMPLATE/bug-report.yml +136 -0
- package/nvim/plugins/mini.nvim/.github/ISSUE_TEMPLATE/config.yml +5 -0
- package/nvim/plugins/mini.nvim/.github/ISSUE_TEMPLATE/feature-request.yml +75 -0
- package/nvim/plugins/mini.nvim/.github/PULL_REQUEST_TEMPLATE.md +2 -0
- package/nvim/plugins/mini.nvim/.github/workflows/quality-control.yml +150 -0
- package/nvim/plugins/mini.nvim/.pre-commit-config.yaml +20 -0
- package/nvim/plugins/mini.nvim/.stylua.toml +7 -0
- package/nvim/plugins/mini.nvim/.styluaignore +1 -0
- package/nvim/plugins/mini.nvim/CHANGELOG.md +1894 -0
- package/nvim/plugins/mini.nvim/CODE_OF_CONDUCT.md +132 -0
- package/nvim/plugins/mini.nvim/CONTRIBUTING.md +331 -0
- package/nvim/plugins/mini.nvim/LICENSE +21 -0
- package/nvim/plugins/mini.nvim/MAINTAINING.md +330 -0
- package/nvim/plugins/mini.nvim/Makefile +51 -0
- package/nvim/plugins/mini.nvim/README.md +261 -0
- package/nvim/plugins/mini.nvim/TESTING.md +1011 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/README.md +35 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/benchmark.sh +56 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_dashboard-alpha.lua +21 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_dashboard-original.lua +17 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_dashboard-starter.lua +18 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_empty.lua +4 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_starter-default.lua +7 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_startify-alpha.lua +10 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_startify-original.lua +7 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/init-files/init_startify-starter.lua +20 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/install.sh +10 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/make_summary.py +68 -0
- package/nvim/plugins/mini.nvim/benchmarks/starter/startup-summary.md +10 -0
- package/nvim/plugins/mini.nvim/colors/miniautumn.lua +55 -0
- package/nvim/plugins/mini.nvim/colors/minicyan.lua +95 -0
- package/nvim/plugins/mini.nvim/colors/minischeme.lua +95 -0
- package/nvim/plugins/mini.nvim/colors/minispring.lua +53 -0
- package/nvim/plugins/mini.nvim/colors/minisummer.lua +49 -0
- package/nvim/plugins/mini.nvim/colors/miniwinter.lua +51 -0
- package/nvim/plugins/mini.nvim/colors/randomhue.lua +16 -0
- package/nvim/plugins/mini.nvim/doc/mini-ai.txt +889 -0
- package/nvim/plugins/mini.nvim/doc/mini-align.txt +923 -0
- package/nvim/plugins/mini.nvim/doc/mini-animate.txt +937 -0
- package/nvim/plugins/mini.nvim/doc/mini-base16.txt +285 -0
- package/nvim/plugins/mini.nvim/doc/mini-basics.txt +359 -0
- package/nvim/plugins/mini.nvim/doc/mini-bracketed.txt +622 -0
- package/nvim/plugins/mini.nvim/doc/mini-bufremove.txt +123 -0
- package/nvim/plugins/mini.nvim/doc/mini-clue.txt +760 -0
- package/nvim/plugins/mini.nvim/doc/mini-cmdline.txt +392 -0
- package/nvim/plugins/mini.nvim/doc/mini-colors.txt +880 -0
- package/nvim/plugins/mini.nvim/doc/mini-comment.txt +230 -0
- package/nvim/plugins/mini.nvim/doc/mini-completion.txt +477 -0
- package/nvim/plugins/mini.nvim/doc/mini-cursorword.txt +105 -0
- package/nvim/plugins/mini.nvim/doc/mini-deps.txt +590 -0
- package/nvim/plugins/mini.nvim/doc/mini-diff.txt +661 -0
- package/nvim/plugins/mini.nvim/doc/mini-doc.txt +434 -0
- package/nvim/plugins/mini.nvim/doc/mini-extra.txt +856 -0
- package/nvim/plugins/mini.nvim/doc/mini-files.txt +1018 -0
- package/nvim/plugins/mini.nvim/doc/mini-fuzzy.txt +160 -0
- package/nvim/plugins/mini.nvim/doc/mini-git.txt +425 -0
- package/nvim/plugins/mini.nvim/doc/mini-hipatterns.txt +489 -0
- package/nvim/plugins/mini.nvim/doc/mini-hues.txt +420 -0
- package/nvim/plugins/mini.nvim/doc/mini-icons.txt +508 -0
- package/nvim/plugins/mini.nvim/doc/mini-indentscope.txt +485 -0
- package/nvim/plugins/mini.nvim/doc/mini-input.txt +932 -0
- package/nvim/plugins/mini.nvim/doc/mini-jump.txt +202 -0
- package/nvim/plugins/mini.nvim/doc/mini-jump2d.txt +525 -0
- package/nvim/plugins/mini.nvim/doc/mini-keymap.txt +449 -0
- package/nvim/plugins/mini.nvim/doc/mini-map.txt +717 -0
- package/nvim/plugins/mini.nvim/doc/mini-misc.txt +431 -0
- package/nvim/plugins/mini.nvim/doc/mini-move.txt +181 -0
- package/nvim/plugins/mini.nvim/doc/mini-notify.txt +434 -0
- package/nvim/plugins/mini.nvim/doc/mini-nvim.txt +431 -0
- package/nvim/plugins/mini.nvim/doc/mini-operators.txt +472 -0
- package/nvim/plugins/mini.nvim/doc/mini-pairs.txt +346 -0
- package/nvim/plugins/mini.nvim/doc/mini-pick.txt +1535 -0
- package/nvim/plugins/mini.nvim/doc/mini-sessions.txt +239 -0
- package/nvim/plugins/mini.nvim/doc/mini-snippets.txt +1291 -0
- package/nvim/plugins/mini.nvim/doc/mini-splitjoin.txt +536 -0
- package/nvim/plugins/mini.nvim/doc/mini-starter.txt +618 -0
- package/nvim/plugins/mini.nvim/doc/mini-statusline.txt +361 -0
- package/nvim/plugins/mini.nvim/doc/mini-surround.txt +863 -0
- package/nvim/plugins/mini.nvim/doc/mini-tabline.txt +151 -0
- package/nvim/plugins/mini.nvim/doc/mini-test.txt +966 -0
- package/nvim/plugins/mini.nvim/doc/mini-trailspace.txt +91 -0
- package/nvim/plugins/mini.nvim/doc/mini-visits.txt +937 -0
- package/nvim/plugins/mini.nvim/logo.png +0 -0
- package/nvim/plugins/mini.nvim/lua/mini/ai.lua +2244 -0
- package/nvim/plugins/mini.nvim/lua/mini/align.lua +2076 -0
- package/nvim/plugins/mini.nvim/lua/mini/animate.lua +2127 -0
- package/nvim/plugins/mini.nvim/lua/mini/base16.lua +1752 -0
- package/nvim/plugins/mini.nvim/lua/mini/basics.lua +772 -0
- package/nvim/plugins/mini.nvim/lua/mini/bracketed.lua +2013 -0
- package/nvim/plugins/mini.nvim/lua/mini/bufremove.lua +283 -0
- package/nvim/plugins/mini.nvim/lua/mini/clue.lua +2096 -0
- package/nvim/plugins/mini.nvim/lua/mini/cmdline.lua +1182 -0
- package/nvim/plugins/mini.nvim/lua/mini/colors.lua +2483 -0
- package/nvim/plugins/mini.nvim/lua/mini/comment.lua +586 -0
- package/nvim/plugins/mini.nvim/lua/mini/completion.lua +2094 -0
- package/nvim/plugins/mini.nvim/lua/mini/cursorword.lua +311 -0
- package/nvim/plugins/mini.nvim/lua/mini/deps.lua +1660 -0
- package/nvim/plugins/mini.nvim/lua/mini/diff.lua +1938 -0
- package/nvim/plugins/mini.nvim/lua/mini/doc.lua +1371 -0
- package/nvim/plugins/mini.nvim/lua/mini/extra.lua +2290 -0
- package/nvim/plugins/mini.nvim/lua/mini/files.lua +3145 -0
- package/nvim/plugins/mini.nvim/lua/mini/fuzzy.lua +356 -0
- package/nvim/plugins/mini.nvim/lua/mini/git.lua +1737 -0
- package/nvim/plugins/mini.nvim/lua/mini/hipatterns.lua +1042 -0
- package/nvim/plugins/mini.nvim/lua/mini/hues.lua +2088 -0
- package/nvim/plugins/mini.nvim/lua/mini/icons.lua +2254 -0
- package/nvim/plugins/mini.nvim/lua/mini/indentscope.lua +1158 -0
- package/nvim/plugins/mini.nvim/lua/mini/init.lua +427 -0
- package/nvim/plugins/mini.nvim/lua/mini/input.lua +2183 -0
- package/nvim/plugins/mini.nvim/lua/mini/jump.lua +609 -0
- package/nvim/plugins/mini.nvim/lua/mini/jump2d.lua +1244 -0
- package/nvim/plugins/mini.nvim/lua/mini/keymap.lua +880 -0
- package/nvim/plugins/mini.nvim/lua/mini/map.lua +1709 -0
- package/nvim/plugins/mini.nvim/lua/mini/misc.lua +969 -0
- package/nvim/plugins/mini.nvim/lua/mini/move.lua +509 -0
- package/nvim/plugins/mini.nvim/lua/mini/notify.lua +938 -0
- package/nvim/plugins/mini.nvim/lua/mini/operators.lua +1349 -0
- package/nvim/plugins/mini.nvim/lua/mini/pairs.lua +657 -0
- package/nvim/plugins/mini.nvim/lua/mini/pick.lua +3876 -0
- package/nvim/plugins/mini.nvim/lua/mini/sessions.lua +689 -0
- package/nvim/plugins/mini.nvim/lua/mini/snippets.lua +2828 -0
- package/nvim/plugins/mini.nvim/lua/mini/splitjoin.lua +1132 -0
- package/nvim/plugins/mini.nvim/lua/mini/starter.lua +1599 -0
- package/nvim/plugins/mini.nvim/lua/mini/statusline.lua +686 -0
- package/nvim/plugins/mini.nvim/lua/mini/surround.lua +2388 -0
- package/nvim/plugins/mini.nvim/lua/mini/tabline.lua +564 -0
- package/nvim/plugins/mini.nvim/lua/mini/test.lua +2516 -0
- package/nvim/plugins/mini.nvim/lua/mini/trailspace.lua +215 -0
- package/nvim/plugins/mini.nvim/lua/mini/visits.lua +1577 -0
- package/nvim/plugins/mini.nvim/readmes/mini-ai.md +190 -0
- package/nvim/plugins/mini.nvim/readmes/mini-align.md +203 -0
- package/nvim/plugins/mini.nvim/readmes/mini-animate.md +214 -0
- package/nvim/plugins/mini.nvim/readmes/mini-base16.md +198 -0
- package/nvim/plugins/mini.nvim/readmes/mini-basics.md +184 -0
- package/nvim/plugins/mini.nvim/readmes/mini-bracketed.md +193 -0
- package/nvim/plugins/mini.nvim/readmes/mini-bufremove.md +139 -0
- package/nvim/plugins/mini.nvim/readmes/mini-clue.md +260 -0
- package/nvim/plugins/mini.nvim/readmes/mini-cmdline.md +183 -0
- package/nvim/plugins/mini.nvim/readmes/mini-colors.md +169 -0
- package/nvim/plugins/mini.nvim/readmes/mini-comment.md +183 -0
- package/nvim/plugins/mini.nvim/readmes/mini-completion.md +217 -0
- package/nvim/plugins/mini.nvim/readmes/mini-cursorword.md +137 -0
- package/nvim/plugins/mini.nvim/readmes/mini-deps.md +271 -0
- package/nvim/plugins/mini.nvim/readmes/mini-diff.md +289 -0
- package/nvim/plugins/mini.nvim/readmes/mini-doc.md +198 -0
- package/nvim/plugins/mini.nvim/readmes/mini-extra.md +158 -0
- package/nvim/plugins/mini.nvim/readmes/mini-files.md +247 -0
- package/nvim/plugins/mini.nvim/readmes/mini-fuzzy.md +134 -0
- package/nvim/plugins/mini.nvim/readmes/mini-git.md +168 -0
- package/nvim/plugins/mini.nvim/readmes/mini-hipatterns.md +176 -0
- package/nvim/plugins/mini.nvim/readmes/mini-hues.md +285 -0
- package/nvim/plugins/mini.nvim/readmes/mini-icons.md +183 -0
- package/nvim/plugins/mini.nvim/readmes/mini-indentscope.md +191 -0
- package/nvim/plugins/mini.nvim/readmes/mini-input.md +163 -0
- package/nvim/plugins/mini.nvim/readmes/mini-jump.md +161 -0
- package/nvim/plugins/mini.nvim/readmes/mini-jump2d.md +197 -0
- package/nvim/plugins/mini.nvim/readmes/mini-keymap.md +205 -0
- package/nvim/plugins/mini.nvim/readmes/mini-map.md +191 -0
- package/nvim/plugins/mini.nvim/readmes/mini-misc.md +145 -0
- package/nvim/plugins/mini.nvim/readmes/mini-move.md +163 -0
- package/nvim/plugins/mini.nvim/readmes/mini-notify.md +175 -0
- package/nvim/plugins/mini.nvim/readmes/mini-operators.md +193 -0
- package/nvim/plugins/mini.nvim/readmes/mini-pairs.md +158 -0
- package/nvim/plugins/mini.nvim/readmes/mini-pick.md +340 -0
- package/nvim/plugins/mini.nvim/readmes/mini-sessions.md +164 -0
- package/nvim/plugins/mini.nvim/readmes/mini-snippets.md +373 -0
- package/nvim/plugins/mini.nvim/readmes/mini-splitjoin.md +194 -0
- package/nvim/plugins/mini.nvim/readmes/mini-starter.md +176 -0
- package/nvim/plugins/mini.nvim/readmes/mini-statusline.md +155 -0
- package/nvim/plugins/mini.nvim/readmes/mini-surround.md +190 -0
- package/nvim/plugins/mini.nvim/readmes/mini-tabline.md +156 -0
- package/nvim/plugins/mini.nvim/readmes/mini-test.md +175 -0
- package/nvim/plugins/mini.nvim/readmes/mini-trailspace.md +137 -0
- package/nvim/plugins/mini.nvim/readmes/mini-visits.md +243 -0
- package/nvim/plugins/mini.nvim/scripts/dual_log.sh +13 -0
- package/nvim/plugins/mini.nvim/scripts/dual_push.sh +15 -0
- package/nvim/plugins/mini.nvim/scripts/dual_release.sh +102 -0
- package/nvim/plugins/mini.nvim/scripts/dual_sync.sh +115 -0
- package/nvim/plugins/mini.nvim/scripts/init-deps-example.lua +59 -0
- package/nvim/plugins/mini.nvim/scripts/lint-filename-length.sh +16 -0
- package/nvim/plugins/mini.nvim/scripts/lintcommit-ci.sh +18 -0
- package/nvim/plugins/mini.nvim/scripts/lintcommit.lua +393 -0
- package/nvim/plugins/mini.nvim/scripts/minidoc.lua +57 -0
- package/nvim/plugins/mini.nvim/scripts/minimal_init.lua +28 -0
- package/nvim/plugins/mini.nvim/scripts/minitest.lua +4 -0
- package/package.json +16 -0
- package/pyproject.toml +43 -0
- package/yazi/init.lua +12 -0
- package/yazi/keymap.toml +114 -0
- package/yazi/lesskey +5 -0
- package/yazi/plugins/bookmarks.yazi/main.lua +86 -0
- package/yazi/plugins/cd-git-root.yazi/main.lua +31 -0
- package/yazi/plugins/smart-enter.yazi/main.lua +11 -0
- package/yazi/theme.toml +26 -0
- package/yazi/yazi.toml +15 -0
- package/zsh/.zshrc +145 -0
- package/zsh/starship.toml +20 -0
- package/zsh/zsh-patina.toml +2 -0
|
@@ -0,0 +1,2254 @@
|
|
|
1
|
+
--- *mini.icons* Icon provider
|
|
2
|
+
---
|
|
3
|
+
--- MIT License Copyright (c) 2024 Evgeni Chasnovski
|
|
4
|
+
|
|
5
|
+
--- Features:
|
|
6
|
+
---
|
|
7
|
+
--- - Provide icons with their highlighting via a single |MiniIcons.get()| for
|
|
8
|
+
--- various categories: filetype, file/directory path, extension, operating
|
|
9
|
+
--- system, LSP kind values. Icons and category defaults can be overridden.
|
|
10
|
+
---
|
|
11
|
+
--- - Configurable styles: "glyph" (icon glyphs) or "ascii" (non-glyph fallback).
|
|
12
|
+
---
|
|
13
|
+
--- - Fixed set of highlight groups (linked to built-in groups by default) for
|
|
14
|
+
--- better blend with color scheme.
|
|
15
|
+
---
|
|
16
|
+
--- - Caching for maximum performance.
|
|
17
|
+
---
|
|
18
|
+
--- - Integration with |vim.filetype.add()| and |vim.filetype.match()|.
|
|
19
|
+
---
|
|
20
|
+
--- - Mocking methods of `nvim-tree/nvim-web-devicons` for better integrations
|
|
21
|
+
--- with plugins outside |mini.nvim|. See |MiniIcons.mock_nvim_web_devicons()|.
|
|
22
|
+
---
|
|
23
|
+
--- - Tweaking built-in maps for "LSP kind" to include icons. In particular, this
|
|
24
|
+
--- makes |mini.completion| use icons in LSP step. See |MiniIcons.tweak_lsp_kind()|.
|
|
25
|
+
---
|
|
26
|
+
--- Notes:
|
|
27
|
+
---
|
|
28
|
+
--- - It is not a goal to become a collection of icons for as much use cases as
|
|
29
|
+
--- possible. There are specific criteria for icon data to be included as
|
|
30
|
+
--- built-in in each category (see |MiniIcons.get()|).
|
|
31
|
+
--- The main supported category is "filetype".
|
|
32
|
+
---
|
|
33
|
+
--- Sources with more details:
|
|
34
|
+
--- - |MiniIcons-in-other-plugins| (for plugin authors)
|
|
35
|
+
---
|
|
36
|
+
--- # Dependencies ~
|
|
37
|
+
---
|
|
38
|
+
--- Suggested dependencies:
|
|
39
|
+
---
|
|
40
|
+
--- - Terminal emulator that supports showing special utf8 glyphs, possibly with
|
|
41
|
+
--- "overflow" view (displaying is done not in one but two visual cells).
|
|
42
|
+
--- Most modern feature-rich terminal emulators support this out of the box:
|
|
43
|
+
--- WezTerm, Kitty, Alacritty, iTerm2, Ghostty.
|
|
44
|
+
--- Not having "overflow" feature only results into smaller icons.
|
|
45
|
+
--- Not having support for special utf8 glyphs will result into seemingly
|
|
46
|
+
--- random symbols (or question mark squares) instead of icon glyphs.
|
|
47
|
+
---
|
|
48
|
+
--- - Font that supports Nerd Fonts (https://www.nerdfonts.com) icons from
|
|
49
|
+
--- version 3.0.0+ (in particular `nf-md-*` class).
|
|
50
|
+
--- This should be configured on terminal emulator level either by using font
|
|
51
|
+
--- patched with Nerd Fonts icons or using `NerdFontsSymbolsOnly` font as
|
|
52
|
+
--- a fallback for glyphs that are not supported in main font.
|
|
53
|
+
---
|
|
54
|
+
--- If using terminal emulator and/or font with icon support is impossible, use
|
|
55
|
+
--- `config.style = 'ascii'`. It will use a (less visually appealing) set of
|
|
56
|
+
--- non-glyph icons.
|
|
57
|
+
---
|
|
58
|
+
--- # Setup ~
|
|
59
|
+
---
|
|
60
|
+
--- This module needs a setup with `require('mini.icons').setup({})` (replace `{}`
|
|
61
|
+
--- with your `config` table). It will create global Lua table `MiniIcons` which you
|
|
62
|
+
--- can use for scripting or manually (with `:lua MiniIcons.*`).
|
|
63
|
+
---
|
|
64
|
+
--- See |MiniIcons.config| for `config` structure and default values.
|
|
65
|
+
---
|
|
66
|
+
--- # Comparisons ~
|
|
67
|
+
---
|
|
68
|
+
--- - [nvim-tree/nvim-web-devicons](https://github.com/nvim-tree/nvim-web-devicons) (for users):
|
|
69
|
+
--- - Sets individual colors to each icon with separate specific highlight
|
|
70
|
+
--- groups, while this modules uses fixed set of highlight groups.
|
|
71
|
+
--- This makes it easier to customize in bulk and actually blend with any
|
|
72
|
+
--- color scheme.
|
|
73
|
+
---
|
|
74
|
+
--- - This module prefers richer set of `nf-md-*` (from "Material design" set)
|
|
75
|
+
--- Nerd Fonts icons while `nvim-web-devicons` mostly prefers `nf-dev-*`
|
|
76
|
+
--- (from "devicons" set).
|
|
77
|
+
---
|
|
78
|
+
--- - Supported categories are slightly different (with much overlap).
|
|
79
|
+
---
|
|
80
|
+
--- - Both support customization of any icon. Only this module supports
|
|
81
|
+
--- customization of default ones per supported category.
|
|
82
|
+
---
|
|
83
|
+
--- - Using this module can occasionally result in small delays when used
|
|
84
|
+
--- synchronously for many times to get icons for not typical files (like
|
|
85
|
+
--- in |mini.files|). This is due to using |vim.filetype.match()| fallback and
|
|
86
|
+
--- is present only during first call, as value is cached for later uses.
|
|
87
|
+
---
|
|
88
|
+
--- - This module supports different icon styles (like "ascii" for when using
|
|
89
|
+
--- glyphs is not possible), while `nvim-web-devicons` does not.
|
|
90
|
+
---
|
|
91
|
+
--- - This module provides |MiniIcons.mock_nvim_web_devicons()| function which
|
|
92
|
+
--- when called imitates installed `nvim-web-devicons` plugin to support
|
|
93
|
+
--- other plugins which do not provide |mini.icons| yet.
|
|
94
|
+
---
|
|
95
|
+
--- - [nvim-tree/nvim-web-devicons](https://github.com/nvim-tree/nvim-web-devicons) (for plugin developers):
|
|
96
|
+
--- - Both have main "get icon" type of function:
|
|
97
|
+
--- - Both return tuple of icon and highlight group strings.
|
|
98
|
+
---
|
|
99
|
+
--- - This module always returns icon data possibly falling back to
|
|
100
|
+
--- user's configured default, while `nvim-web-devicons` is able to
|
|
101
|
+
--- return `nil`. This module's approach is more aligned with the most
|
|
102
|
+
--- common use case of always showing an icon instead or near some data.
|
|
103
|
+
--- There is a third returned value indicating if output is a result of
|
|
104
|
+
--- a fallback (see |MiniIcons.get()|).
|
|
105
|
+
---
|
|
106
|
+
--- - This module uses |vim.filetype.match()| as a fallback for "file"
|
|
107
|
+
--- and "extension" categories, while `nvim-web-devicons` completely
|
|
108
|
+
--- relies on the manually maintained tables of supported filenames
|
|
109
|
+
--- and extensions.
|
|
110
|
+
--- Using fallback results in a wider support and deeper integration
|
|
111
|
+
--- with Neovim's filetype detection at the cost of occasional slower
|
|
112
|
+
--- first call. The difference is reduced as much as is reasonable by
|
|
113
|
+
--- preferring faster file extension resolution over filetype matching.
|
|
114
|
+
---
|
|
115
|
+
--- - This module caches all its return values resulting in really fast
|
|
116
|
+
--- next same argument calls, while `nvim-web-devicons` doesn't do that.
|
|
117
|
+
---
|
|
118
|
+
--- - This module works with full file/directory paths as input.
|
|
119
|
+
---
|
|
120
|
+
--- - Different sets of supported categories (see |MiniIcons.config|):
|
|
121
|
+
--- - Both support "file", "extension", "filetype", "operating system".
|
|
122
|
+
--- Albeit in different volumes: `nvim-web-devicons` covers more
|
|
123
|
+
--- cases for "operating system", while this module has better eventual
|
|
124
|
+
--- coverage for other cases.
|
|
125
|
+
---
|
|
126
|
+
--- - This module supports "directory" and "lsp" categories.
|
|
127
|
+
---
|
|
128
|
+
--- - `nvim-web-devicons` covers "desktop environment" and "window
|
|
129
|
+
--- management" categories. This modules does not include them due to
|
|
130
|
+
--- relatively low demand.
|
|
131
|
+
---
|
|
132
|
+
--- - [onsails/lspkind.nvim](https://github.com/onsails/lspkind.nvim):
|
|
133
|
+
--- - Provides icons only for `CompletionItemKind`, while this module also has
|
|
134
|
+
--- icons for `SymbolKind` and other non-LSP categories.
|
|
135
|
+
--- - Provides dedicated formatting function for `hrsh7th/nvim-cmp` while this
|
|
136
|
+
--- module intentionally does not (adding icons should be straightforward
|
|
137
|
+
--- to manually implement while anything else is out of scope).
|
|
138
|
+
---
|
|
139
|
+
--- # Highlight groups ~
|
|
140
|
+
--- *MiniIcons-hl-groups*
|
|
141
|
+
---
|
|
142
|
+
--- Only the following set of highlight groups is used as icon highlight.
|
|
143
|
+
--- It is recommended that they all only define colored foreground:
|
|
144
|
+
---
|
|
145
|
+
--- - `MiniIconsAzure` - azure.
|
|
146
|
+
--- - `MiniIconsBlue` - blue.
|
|
147
|
+
--- - `MiniIconsCyan` - cyan.
|
|
148
|
+
--- - `MiniIconsGreen` - green.
|
|
149
|
+
--- - `MiniIconsGrey` - grey.
|
|
150
|
+
--- - `MiniIconsOrange` - orange.
|
|
151
|
+
--- - `MiniIconsPurple` - purple.
|
|
152
|
+
--- - `MiniIconsRed` - red.
|
|
153
|
+
--- - `MiniIconsYellow` - yellow.
|
|
154
|
+
---
|
|
155
|
+
--- To change any highlight group, set it directly with |nvim_set_hl()|.
|
|
156
|
+
---
|
|
157
|
+
--- # Using in other plugins ~
|
|
158
|
+
--- *MiniIcons-in-other-plugins*
|
|
159
|
+
---
|
|
160
|
+
--- - Perform a `_G.MiniIcons ~= nil` check before using any feature. This ensures
|
|
161
|
+
--- that user explicitly set up the module.
|
|
162
|
+
---
|
|
163
|
+
--- - Use |MiniIcons.get()| function to get icon string and more data about it.
|
|
164
|
+
---
|
|
165
|
+
--- - For file icons prefer using full path instead of relative or only basename.
|
|
166
|
+
--- It makes a difference if path matches pattern that uses parent directories.
|
|
167
|
+
--- The |MiniIcons.config| has an example of that.
|
|
168
|
+
---@tag MiniIcons
|
|
169
|
+
|
|
170
|
+
---@diagnostic disable:undefined-field
|
|
171
|
+
---@diagnostic disable:discard-returns
|
|
172
|
+
---@diagnostic disable:unused-local
|
|
173
|
+
---@diagnostic disable:cast-local-type
|
|
174
|
+
---@diagnostic disable:undefined-doc-name
|
|
175
|
+
---@diagnostic disable:luadoc-miss-type-name
|
|
176
|
+
|
|
177
|
+
-- Module definition ==========================================================
|
|
178
|
+
local MiniIcons = {}
|
|
179
|
+
local H = {}
|
|
180
|
+
|
|
181
|
+
--- Module setup
|
|
182
|
+
---
|
|
183
|
+
---@param config table|nil Module config table. See |MiniIcons.config|.
|
|
184
|
+
---
|
|
185
|
+
---@usage >lua
|
|
186
|
+
--- require('mini.icons').setup() -- use default config
|
|
187
|
+
--- -- OR
|
|
188
|
+
--- require('mini.icons').setup({}) -- replace {} with your config table
|
|
189
|
+
--- <
|
|
190
|
+
MiniIcons.setup = function(config)
|
|
191
|
+
-- TODO: Remove after Neovim=0.9 support is dropped
|
|
192
|
+
if vim.fn.has('nvim-0.10') == 0 then
|
|
193
|
+
vim.notify(
|
|
194
|
+
'(mini.icons) Neovim<0.10 is soft deprecated (module works but is not supported).'
|
|
195
|
+
.. " It will be deprecated after the next 'mini.nvim' release (module might not work)."
|
|
196
|
+
.. ' Please update your Neovim version.'
|
|
197
|
+
)
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
-- Export module
|
|
201
|
+
_G.MiniIcons = MiniIcons
|
|
202
|
+
|
|
203
|
+
-- Setup config
|
|
204
|
+
config = H.setup_config(config)
|
|
205
|
+
|
|
206
|
+
-- Apply config
|
|
207
|
+
H.apply_config(config)
|
|
208
|
+
|
|
209
|
+
-- Define behavior
|
|
210
|
+
H.create_autocommands()
|
|
211
|
+
|
|
212
|
+
-- Create default highlighting
|
|
213
|
+
H.create_default_hl()
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
--stylua: ignore
|
|
217
|
+
--- Defaults ~
|
|
218
|
+
---@eval return MiniDoc.afterlines_to_code(MiniDoc.current.eval_section)
|
|
219
|
+
---@text # Style ~
|
|
220
|
+
---
|
|
221
|
+
--- `config.style` is a string defining which icon style to use. It can be:
|
|
222
|
+
--- - `'glyph'` (default) - use glyph icons (like and ).
|
|
223
|
+
--- - `'ascii'` - use fallback ASCII-compatible icons. Those are computed as
|
|
224
|
+
--- an upper first character of the icon's resolved name inside its category.
|
|
225
|
+
--- Examples: >lua
|
|
226
|
+
---
|
|
227
|
+
--- MiniIcons.get('file', 'Makefile') -- Has `'M'` as icon
|
|
228
|
+
--- MiniIcons.get('extension', 'lua') -- Has `'L'` as icon
|
|
229
|
+
--- MiniIcons.get('file', 'file.lua') -- Has `'L'` as icon; it is resolved to
|
|
230
|
+
--- -- come from 'lua' 'extension' category
|
|
231
|
+
--- MiniIcons.get('file', 'myfile') -- Has `'F'` as icon; it is resolved to
|
|
232
|
+
--- -- come from 'file' 'default' category
|
|
233
|
+
--- <
|
|
234
|
+
--- # Customization per category ~
|
|
235
|
+
---
|
|
236
|
+
--- The following entries can be used to customize icons for supported categories:
|
|
237
|
+
--- - `config.default`
|
|
238
|
+
--- - `config.directory`
|
|
239
|
+
--- - `config.extension`
|
|
240
|
+
--- - `config.file`
|
|
241
|
+
--- - `config.filetype`
|
|
242
|
+
--- - `config.lsp`
|
|
243
|
+
--- - `config.os`
|
|
244
|
+
---
|
|
245
|
+
--- Customization should be done by supplying a table with <glyph> (icon glyph)
|
|
246
|
+
--- and/or <hl> (name of highlight group) string fields as a value for an icon
|
|
247
|
+
--- name entry. Example: >lua
|
|
248
|
+
---
|
|
249
|
+
--- require('mini.icons').setup({
|
|
250
|
+
--- default = {
|
|
251
|
+
--- -- Override default glyph for "file" category (reuse highlight group)
|
|
252
|
+
--- file = { glyph = '' },
|
|
253
|
+
--- },
|
|
254
|
+
--- extension = {
|
|
255
|
+
--- -- Override highlight group (not necessarily from 'mini.icons')
|
|
256
|
+
--- lua = { hl = 'Special' },
|
|
257
|
+
---
|
|
258
|
+
--- -- Add icons for custom extension. This will also be used in
|
|
259
|
+
--- -- 'file' category for input like 'file.my.ext'.
|
|
260
|
+
--- ['my.ext'] = { glyph = '', hl = 'MiniIconsRed' },
|
|
261
|
+
--- },
|
|
262
|
+
--- })
|
|
263
|
+
--- <
|
|
264
|
+
--- Notes:
|
|
265
|
+
--- - These customizations only take effect inside |MiniIcons.setup()| call.
|
|
266
|
+
--- Changing interactively via `:lua MiniIcons.config.xxx = { ... }` does not work
|
|
267
|
+
--- for performance reasons.
|
|
268
|
+
--- - Use lower case names for categories which are matched ignoring case.
|
|
269
|
+
--- See |MiniIcons.get()| for more details.
|
|
270
|
+
---
|
|
271
|
+
--- # Using extension during file resolution ~
|
|
272
|
+
---
|
|
273
|
+
--- `config.use_file_extension` is a function which can be used to control which
|
|
274
|
+
--- extensions will be considered as a source of icon data during "file" category
|
|
275
|
+
--- resolution (see |MiniIcons.get()| for more details).
|
|
276
|
+
--- Default: function which always returns `true` (i.e. consider all extensions).
|
|
277
|
+
---
|
|
278
|
+
--- Will be called once for the biggest suffix after dot found in the file name.
|
|
279
|
+
--- The arguments will be `ext` (found extension; lowercase) and `file` (input for
|
|
280
|
+
--- which icon is computed; as is). Should explicitly return `true` if `ext` is to
|
|
281
|
+
--- be considered (i.e. call `MiniIcons.get('extension', ext)` and use its
|
|
282
|
+
--- output if it is not default). Otherwise extension won't be even considered.
|
|
283
|
+
---
|
|
284
|
+
--- The primary use case for this setting is to ensure that some extensions are
|
|
285
|
+
--- ignored in order for resolution to reach |vim.filetype.match()| stage. This
|
|
286
|
+
--- is needed if filetype detection has been setup for files with recognizable
|
|
287
|
+
--- extension and conflicting icons (which you want to use). Note: if problematic
|
|
288
|
+
--- filetype detection only involves file names that are known in advance, prefer
|
|
289
|
+
--- using `config.file` customization.
|
|
290
|
+
---
|
|
291
|
+
--- Example: >lua
|
|
292
|
+
---
|
|
293
|
+
--- -- Built-in filetype detection recognizes files like "queries/.*%.scm"
|
|
294
|
+
--- -- as "query" filetype. However, without special setup, 'mini.icons' will
|
|
295
|
+
--- -- use "scm" extension to resolve as Scheme file. Here is a setup to ignore
|
|
296
|
+
--- -- "scm" extension and completely rely on `vim.filetype.match()` fallback.
|
|
297
|
+
--- require('mini.icons').setup({
|
|
298
|
+
--- -- Check last letters explicitly to account for dots in file name
|
|
299
|
+
--- use_file_extension = function(ext) return ext:sub(-3) ~= 'scm' end
|
|
300
|
+
--- })
|
|
301
|
+
---
|
|
302
|
+
--- -- Other common choices for extensions to ignore: "yml", "json", "txt".
|
|
303
|
+
--- <
|
|
304
|
+
MiniIcons.config = {
|
|
305
|
+
-- Icon style: 'glyph' or 'ascii'
|
|
306
|
+
style = 'glyph',
|
|
307
|
+
|
|
308
|
+
-- Customize per category. See `:h MiniIcons.config` for details.
|
|
309
|
+
default = {},
|
|
310
|
+
directory = {},
|
|
311
|
+
extension = {},
|
|
312
|
+
file = {},
|
|
313
|
+
filetype = {},
|
|
314
|
+
lsp = {},
|
|
315
|
+
os = {},
|
|
316
|
+
|
|
317
|
+
-- Control which extensions will be considered during "file" resolution
|
|
318
|
+
use_file_extension = function(ext, file) return true end,
|
|
319
|
+
}
|
|
320
|
+
--minidoc_afterlines_end
|
|
321
|
+
|
|
322
|
+
--- Get icon data
|
|
323
|
+
---
|
|
324
|
+
--- Usage example: >lua
|
|
325
|
+
---
|
|
326
|
+
--- -- Results into `icon=''`, `hl='MiniIconsAzure'`, `is_default=false`
|
|
327
|
+
--- local icon, hl, is_default = MiniIcons.get('file', 'file.lua')
|
|
328
|
+
--- <
|
|
329
|
+
--- Notes:
|
|
330
|
+
--- - Always returns some data, even if icon name is not explicitly supported
|
|
331
|
+
--- within target category. Category "default" is used as a fallback. Use third
|
|
332
|
+
--- output value to check if this particular case is a result of a fallback.
|
|
333
|
+
---
|
|
334
|
+
--- - Glyphs are explicitly preferred (when reasonable) from a richer set of
|
|
335
|
+
--- `nf-md-*` class ("Material design" set) of Nerd Fonts icons.
|
|
336
|
+
---
|
|
337
|
+
--- - Output is cached after the first call to increase performance of next calls
|
|
338
|
+
--- with same arguments. To reset cache, call |MiniIcons.setup()|.
|
|
339
|
+
---
|
|
340
|
+
--- - To increase first call performance for "extension" and "file" categories,
|
|
341
|
+
--- add frequently used values in |MiniIcons.config|. They will be preferred
|
|
342
|
+
--- over executing |vim.filetype.match()|.
|
|
343
|
+
---
|
|
344
|
+
--- - Matching icon name for "file" and "directory" categories is done exactly
|
|
345
|
+
--- and respecting case. Others are done ignoring case.
|
|
346
|
+
---
|
|
347
|
+
---@param category string Category name. Supported categories:
|
|
348
|
+
--- - `'default'` - icon data used as fallback for any category.
|
|
349
|
+
--- Icon names:
|
|
350
|
+
--- - <Input>: any supported category name.
|
|
351
|
+
--- - <Built-in>: only supported category names.
|
|
352
|
+
---
|
|
353
|
+
--- Examples: >lua
|
|
354
|
+
---
|
|
355
|
+
--- MiniIcons.get('default', 'file')
|
|
356
|
+
--- <
|
|
357
|
+
--- - `'directory'` - icon data for directory path.
|
|
358
|
+
--- Icon names:
|
|
359
|
+
--- - <Input>: any string, but only basename is used. Works with not present
|
|
360
|
+
--- paths (no check is done).
|
|
361
|
+
--- - <Built-in>: popular directory names not tied to language/software
|
|
362
|
+
--- (with few notable exceptions like Neovim, Git, etc.).
|
|
363
|
+
---
|
|
364
|
+
--- Examples: >lua
|
|
365
|
+
---
|
|
366
|
+
--- -- All of these will result in the same output
|
|
367
|
+
--- MiniIcons.get('directory', '.config')
|
|
368
|
+
--- MiniIcons.get('directory', '~/.config')
|
|
369
|
+
--- MiniIcons.get('directory', '/home/user/.config')
|
|
370
|
+
---
|
|
371
|
+
--- -- Results in different output
|
|
372
|
+
--- MiniIcons.get('directory', '.Config')
|
|
373
|
+
--- <
|
|
374
|
+
--- - `'extension'` - icon data for extension.
|
|
375
|
+
--- Icon names:
|
|
376
|
+
--- - <Input>: any string (without extra dot prefix).
|
|
377
|
+
--- - <Built-in>: popular extensions without associated filetype plus a set
|
|
378
|
+
--- for which filetype detection gives not good enough result.
|
|
379
|
+
---
|
|
380
|
+
--- Icon data is attempted to be resolved in the following order:
|
|
381
|
+
--- - List of user configured and built-in extensions (for better results).
|
|
382
|
+
--- Run `:=MiniIcons.list('extension')` to see them.
|
|
383
|
+
--- Used also if present as suffix after the dot (widest one preferred).
|
|
384
|
+
--- - Filetype as a result of |vim.filetype.match()| with placeholder
|
|
385
|
+
--- file name. Uses icon data from "filetype" category.
|
|
386
|
+
---
|
|
387
|
+
--- Examples: >lua
|
|
388
|
+
---
|
|
389
|
+
--- -- All of these will result in the same output
|
|
390
|
+
--- MiniIcons.get('extension', 'lua')
|
|
391
|
+
--- MiniIcons.get('extension', 'LUA')
|
|
392
|
+
--- MiniIcons.get('extension', 'my.lua')
|
|
393
|
+
--- <
|
|
394
|
+
--- - `'file'` - icon data for file path.
|
|
395
|
+
--- Icon names:
|
|
396
|
+
--- - <Input>: any string. Works with not present paths (no check is done).
|
|
397
|
+
--- - <Built-in>: popular file names not tied to language/software
|
|
398
|
+
--- (with few notable exceptions like Neovim, Git, etc.) plus a set which
|
|
399
|
+
--- has recognizable extension but has special detectable filetype.
|
|
400
|
+
---
|
|
401
|
+
--- Icon data is attempted to be resolved in the following order:
|
|
402
|
+
--- - List of user configured and built-in file names (matched to basename
|
|
403
|
+
--- of the input exactly). Run `:=MiniIcons.list('file')` to see them.
|
|
404
|
+
--- - Basename extension:
|
|
405
|
+
--- - Matched directly as `get('extension', ext)`, where `ext` is the
|
|
406
|
+
--- widest suffix after the dot.
|
|
407
|
+
--- - Considered only if `config.use_file_extension` returned `true`.
|
|
408
|
+
--- - Only recognizable extensions (i.e. not default fallback) are used.
|
|
409
|
+
--- - Filetype as a result of |vim.filetype.match()| with full input (not
|
|
410
|
+
--- basename) as `filename`. Uses icon data from "filetype" category.
|
|
411
|
+
---
|
|
412
|
+
--- Examples: >lua
|
|
413
|
+
---
|
|
414
|
+
--- -- All of these will result in the same output
|
|
415
|
+
--- MiniIcons.get('file', 'init.lua')
|
|
416
|
+
--- MiniIcons.get('file', '~/.config/nvim/init.lua')
|
|
417
|
+
--- MiniIcons.get('file', '/home/user/.config/nvim/init.lua')
|
|
418
|
+
---
|
|
419
|
+
--- -- Results in different output
|
|
420
|
+
--- MiniIcons.get('file', 'Init.lua')
|
|
421
|
+
--- MiniIcons.get('file', 'init.LUA')
|
|
422
|
+
---
|
|
423
|
+
--- -- Respects full path input in `vim.filetype.match()`
|
|
424
|
+
--- MiniIcons.get('file', '.git/info/attributes')
|
|
425
|
+
--- <
|
|
426
|
+
--- - `'filetype'` - icon data for |'filetype'| values.
|
|
427
|
+
--- Icon names:
|
|
428
|
+
--- - <Input>: any string.
|
|
429
|
+
--- - <Built-in>: any filetype that is reasonably used in Neovim ecosystem.
|
|
430
|
+
--- This category is intended as a widest net for supporting use cases.
|
|
431
|
+
--- Users are encouraged to have a specific filetype detection set up.
|
|
432
|
+
---
|
|
433
|
+
--- Examples: >lua
|
|
434
|
+
---
|
|
435
|
+
--- MiniIcons.get('filetype', 'lua')
|
|
436
|
+
--- MiniIcons.get('filetype', 'help')
|
|
437
|
+
--- MiniIcons.get('filetype', 'minifiles')
|
|
438
|
+
--- <
|
|
439
|
+
--- - `'lsp'` - icon data for various "LSP kind" values.
|
|
440
|
+
--- Icon names:
|
|
441
|
+
--- - <Input>: any string.
|
|
442
|
+
--- - <Built-in>: only namespace entries from LSP specification that can
|
|
443
|
+
--- be displayed to the user. Like `CompletionItemKind`, `SymbolKind`, etc.
|
|
444
|
+
---
|
|
445
|
+
--- Examples: >lua
|
|
446
|
+
---
|
|
447
|
+
--- MiniIcons.get('lsp', 'array')
|
|
448
|
+
--- MiniIcons.get('lsp', 'keyword')
|
|
449
|
+
--- <
|
|
450
|
+
--- - `'os'` - icon data for popular operating systems.
|
|
451
|
+
--- Icon names:
|
|
452
|
+
--- - <Input>: any string.
|
|
453
|
+
--- - <Built-in>: only operating systems which have `nf-md-*` class icon.
|
|
454
|
+
---
|
|
455
|
+
--- Examples: >lua
|
|
456
|
+
---
|
|
457
|
+
--- MiniIcons.get('os', 'linux')
|
|
458
|
+
--- MiniIcons.get('os', 'arch')
|
|
459
|
+
--- MiniIcons.get('os', 'macos')
|
|
460
|
+
--- <
|
|
461
|
+
---@param name string Icon name within category. Use |MiniIcons.list()| to get icon
|
|
462
|
+
--- names which are explicitly supported for specific category.
|
|
463
|
+
---
|
|
464
|
+
---@return ... Tuple of icon string, highlight group name it is suggested to be
|
|
465
|
+
--- highlighted with, and boolean indicating whether this icon was returned
|
|
466
|
+
--- as a result of fallback to default. Example: >lua
|
|
467
|
+
---
|
|
468
|
+
--- -- Results into `icon=''`, `hl='MiniIconsAzure'`, `is_default=false`
|
|
469
|
+
--- local icon, hl, is_default = MiniIcons.get('file', 'file.lua')
|
|
470
|
+
---
|
|
471
|
+
--- -- Results into `icon=''`, `hl='MiniIconsGrey'`, `is_default=true`
|
|
472
|
+
--- local icon, hl, is_default = MiniIcons.get('file', 'not-supported')
|
|
473
|
+
--- <
|
|
474
|
+
MiniIcons.get = function(category, name)
|
|
475
|
+
if not (type(category) == 'string' and type(name) == 'string') then
|
|
476
|
+
H.error('Both `category` and `name` should be string.')
|
|
477
|
+
end
|
|
478
|
+
|
|
479
|
+
-- Get "get" implementation now to show informative message for bad category
|
|
480
|
+
local getter = H.get_impl[category]
|
|
481
|
+
if getter == nil then H.error(vim.inspect(category) .. ' is not a supported category.') end
|
|
482
|
+
|
|
483
|
+
-- Try cache first
|
|
484
|
+
name = category == 'file' and name or (category == 'directory' and H.fs_basename(name) or name:lower())
|
|
485
|
+
local cached = H.cache_get(category, name)
|
|
486
|
+
if cached ~= nil then return cached[1], cached[2], cached[3] == true end
|
|
487
|
+
|
|
488
|
+
-- Get icon. Assume `nil` value to mean "fall back to category default".
|
|
489
|
+
local icon, hl = getter(name)
|
|
490
|
+
if type(icon) == 'table' then
|
|
491
|
+
icon, hl = H.style_icon(icon.glyph, name), icon.hl
|
|
492
|
+
end
|
|
493
|
+
|
|
494
|
+
-- Save to cache and return
|
|
495
|
+
return H.cache_set(category, name, icon, hl)
|
|
496
|
+
end
|
|
497
|
+
|
|
498
|
+
--- List explicitly supported icon names
|
|
499
|
+
---
|
|
500
|
+
---@param category string Category name supported by |MiniIcons.get()|.
|
|
501
|
+
---
|
|
502
|
+
---@return table Array of icon names which are explicitly supported for category.
|
|
503
|
+
--- Note, that `'file'` and `'extension'` categories support much more icon names
|
|
504
|
+
--- via their fallback to using |vim.filetype.match()| with `'filetype'` category.
|
|
505
|
+
MiniIcons.list = function(category)
|
|
506
|
+
local category_icons = H[category .. '_icons']
|
|
507
|
+
if category_icons == nil then H.error(vim.inspect(category) .. ' is not a supported category.') end
|
|
508
|
+
|
|
509
|
+
-- Output is a union of explicit built-in and custom icons
|
|
510
|
+
local res_map = {}
|
|
511
|
+
for k, _ in pairs(category_icons) do
|
|
512
|
+
res_map[k] = true
|
|
513
|
+
end
|
|
514
|
+
for k, _ in pairs(MiniIcons.config[category]) do
|
|
515
|
+
res_map[k] = true
|
|
516
|
+
end
|
|
517
|
+
|
|
518
|
+
local res = vim.tbl_keys(res_map)
|
|
519
|
+
table.sort(res)
|
|
520
|
+
return res
|
|
521
|
+
end
|
|
522
|
+
|
|
523
|
+
--- Mock `nvim-web-devicons` module
|
|
524
|
+
---
|
|
525
|
+
--- Call this function to mock exported functions of `nvim-tree/nvim-web-devicons`
|
|
526
|
+
--- plugin. It will mock all its functions which return icon data by
|
|
527
|
+
--- using |MiniIcons.get()| equivalent.
|
|
528
|
+
---
|
|
529
|
+
--- This function is useful if any plugins relevant to you depend solely on
|
|
530
|
+
--- `nvim-web-devicons` and have not yet added an integration with |mini.icons|.
|
|
531
|
+
---
|
|
532
|
+
--- Full example of usage: >lua
|
|
533
|
+
---
|
|
534
|
+
--- require('mini.icons').setup()
|
|
535
|
+
--- MiniIcons.mock_nvim_web_devicons()
|
|
536
|
+
--- <
|
|
537
|
+
--- Works without installed `nvim-web-devicons` and even with it installed (needs
|
|
538
|
+
--- to be called after `nvim-web-devicons` is set up).
|
|
539
|
+
MiniIcons.mock_nvim_web_devicons = function()
|
|
540
|
+
local M = {}
|
|
541
|
+
|
|
542
|
+
-- Main functions which get icon and highlight group
|
|
543
|
+
M.get_icon = function(name, ext, opts)
|
|
544
|
+
-- Preferring 'name' first leads to a slightly different behavior compared to
|
|
545
|
+
-- the original in case both `name` and `ext` is supplied:
|
|
546
|
+
-- - Original: try exact `name`, then `ext`, then extensions in `name`.
|
|
547
|
+
-- - This: use 'file' category and ignore `ext` completely.
|
|
548
|
+
-- In practice this seems like a better choice because it accounts for
|
|
549
|
+
-- special file names at the cost of ignoring `ext` if it conflicts with
|
|
550
|
+
-- `name` (which rarely happens) and very small overhead of recomputing
|
|
551
|
+
-- extension (which assumed to already be computed by the caller).
|
|
552
|
+
local is_file = type(name) == 'string'
|
|
553
|
+
local category = is_file and 'file' or 'extension'
|
|
554
|
+
local icon, hl, is_default = MiniIcons.get(category, is_file and name or ext)
|
|
555
|
+
if is_default and not (opts or {}).default then return nil, nil end
|
|
556
|
+
return icon, hl
|
|
557
|
+
end
|
|
558
|
+
|
|
559
|
+
M.get_icon_by_filetype = function(ft, opts)
|
|
560
|
+
local icon, hl, is_default = MiniIcons.get('filetype', ft)
|
|
561
|
+
if is_default and not (opts or {}).default then return nil, nil end
|
|
562
|
+
return icon, hl
|
|
563
|
+
end
|
|
564
|
+
|
|
565
|
+
-- Use default colors of default icon (#6d8086 and 66) by default
|
|
566
|
+
local get_hl_data = function(...) return vim.api.nvim_get_hl_by_name(...) end
|
|
567
|
+
local get_hex = function(hl)
|
|
568
|
+
if hl == nil then return nil end
|
|
569
|
+
return string.format('#%06x', get_hl_data(hl, true).foreground or 7176326)
|
|
570
|
+
end
|
|
571
|
+
local get_cterm = function(hl)
|
|
572
|
+
if hl == nil then return nil end
|
|
573
|
+
return get_hl_data(hl, false).foreground or 66
|
|
574
|
+
end
|
|
575
|
+
local with_hex = function(icon, hl) return icon, get_hex(hl) end
|
|
576
|
+
local with_cterm = function(icon, hl) return icon, get_cterm(hl) end
|
|
577
|
+
local with_hex_cterm = function(icon, hl) return icon, get_hex(hl), get_cterm(hl) end
|
|
578
|
+
|
|
579
|
+
M.get_icon_color = function(...) return with_hex(M.get_icon(...)) end
|
|
580
|
+
M.get_icon_cterm_color = function(...) return with_cterm(M.get_icon(...)) end
|
|
581
|
+
M.get_icon_colors = function(...) return with_hex_cterm(M.get_icon(...)) end
|
|
582
|
+
|
|
583
|
+
M.get_icon_color_by_filetype = function(...) return with_hex(M.get_icon_by_filetype(...)) end
|
|
584
|
+
M.get_icon_cterm_color_by_filetype = function(...) return with_cterm(M.get_icon_by_filetype(...)) end
|
|
585
|
+
M.get_icon_colors_by_filetype = function(...) return with_hex_cterm(M.get_icon_by_filetype(...)) end
|
|
586
|
+
|
|
587
|
+
M.get_icon_name_by_filetype = function(ft) return ft end
|
|
588
|
+
|
|
589
|
+
-- Mock `get_icons_*()` to the extent they are compatible with this module
|
|
590
|
+
local make_icon_tbl = function(category, name, output_name)
|
|
591
|
+
local icon, hl = MiniIcons.get(category, name)
|
|
592
|
+
return { icon = icon, color = get_hex(hl), cterm_color = tostring(get_cterm(hl)), name = output_name }
|
|
593
|
+
end
|
|
594
|
+
local make_category_tbl = function(category)
|
|
595
|
+
local res = {}
|
|
596
|
+
-- This won't list all supported names (due to fallback), but at least some
|
|
597
|
+
for _, name in ipairs(MiniIcons.list(category)) do
|
|
598
|
+
res[name] = make_icon_tbl(category, name, name)
|
|
599
|
+
end
|
|
600
|
+
return res
|
|
601
|
+
end
|
|
602
|
+
|
|
603
|
+
M.get_default_icon = function() return make_icon_tbl('default', 'file', 'Default') end
|
|
604
|
+
|
|
605
|
+
M.get_icons = function()
|
|
606
|
+
return vim.tbl_deep_extend(
|
|
607
|
+
'force',
|
|
608
|
+
{ [1] = M.get_default_icon() },
|
|
609
|
+
make_category_tbl('os'),
|
|
610
|
+
make_category_tbl('file'),
|
|
611
|
+
make_category_tbl('extension')
|
|
612
|
+
)
|
|
613
|
+
end
|
|
614
|
+
M.get_icons_by_desktop_environment = function() return {} end
|
|
615
|
+
M.get_icons_by_extension = function() return make_category_tbl('extension') end
|
|
616
|
+
M.get_icons_by_filename = function() return make_category_tbl('file') end
|
|
617
|
+
M.get_icons_by_operating_system = function() return make_category_tbl('os') end
|
|
618
|
+
M.get_icons_by_window_manager = function() return {} end
|
|
619
|
+
|
|
620
|
+
-- Should be no need in the these. Suggest using `MiniIcons.setup()`.
|
|
621
|
+
M.has_loaded = function() return true end
|
|
622
|
+
M.refresh = function() end
|
|
623
|
+
M.set_default_icon = function() end
|
|
624
|
+
M.set_icon = function() end
|
|
625
|
+
M.set_icon_by_filetype = function() end
|
|
626
|
+
M.set_up_highlights = function() end
|
|
627
|
+
M.setup = function() end
|
|
628
|
+
|
|
629
|
+
-- Mock. Prefer `package.preload` as it seems to be a better practice.
|
|
630
|
+
local modname = 'nvim-web-devicons'
|
|
631
|
+
if package.loaded[modname] == nil then
|
|
632
|
+
package.preload[modname] = function() return M end
|
|
633
|
+
else
|
|
634
|
+
package.loaded[modname] = M
|
|
635
|
+
end
|
|
636
|
+
vim.g.nvim_web_devicons = 1
|
|
637
|
+
end
|
|
638
|
+
|
|
639
|
+
--- Tweak built-in LSP kind names
|
|
640
|
+
---
|
|
641
|
+
--- Update in place appropriate maps in |vim.lsp.protocol| (`CompletionItemKind`
|
|
642
|
+
--- and `SymbolKind`) by using icon strings from "lsp" category. Only "numeric
|
|
643
|
+
--- id to kind name" part is updated (to preserve data from original map).
|
|
644
|
+
---
|
|
645
|
+
--- Updating is done in one of these modes:
|
|
646
|
+
--- - Append: add icon after text.
|
|
647
|
+
--- - Prepend: add icon before text (default).
|
|
648
|
+
--- - Replace: use icon instead of text.
|
|
649
|
+
---
|
|
650
|
+
--- Notes:
|
|
651
|
+
--- - Makes |mini.completion| show icons, as it uses built-in protocol map.
|
|
652
|
+
--- - Results in loading whole `vim.lsp` module, so might add significant amount
|
|
653
|
+
--- of time on startup. Call it lazily. For example, with |MiniDeps.later()|: >lua
|
|
654
|
+
---
|
|
655
|
+
--- require('mini.icons').setup()
|
|
656
|
+
--- MiniDeps.later(MiniIcons.tweak_lsp_kind)
|
|
657
|
+
--- <
|
|
658
|
+
---@param mode string|nil One of "prepend" (default), "append", "replace".
|
|
659
|
+
MiniIcons.tweak_lsp_kind = function(mode)
|
|
660
|
+
mode = mode or 'prepend'
|
|
661
|
+
local format
|
|
662
|
+
if mode == 'append' then format = function(kind) return kind .. ' ' .. MiniIcons.get('lsp', kind) end end
|
|
663
|
+
if mode == 'prepend' then format = function(kind) return MiniIcons.get('lsp', kind) .. ' ' .. kind end end
|
|
664
|
+
if mode == 'replace' then format = function(kind) return MiniIcons.get('lsp', kind) end end
|
|
665
|
+
if format == nil then H.error('`mode` should be one of "append", "prepend", "replace".') end
|
|
666
|
+
|
|
667
|
+
local protocol = vim.lsp.protocol
|
|
668
|
+
for i, kind in ipairs(protocol.CompletionItemKind) do
|
|
669
|
+
protocol.CompletionItemKind[i] = format(kind)
|
|
670
|
+
end
|
|
671
|
+
for i, kind in ipairs(protocol.SymbolKind) do
|
|
672
|
+
protocol.SymbolKind[i] = format(kind)
|
|
673
|
+
end
|
|
674
|
+
end
|
|
675
|
+
|
|
676
|
+
-- Helper data ================================================================
|
|
677
|
+
-- Module default config
|
|
678
|
+
H.default_config = MiniIcons.config
|
|
679
|
+
|
|
680
|
+
-- Cache tables organized to reduce memory footprint by reducing duplication:
|
|
681
|
+
-- - `cache` is nested and indexed by `category-name` pair with values being
|
|
682
|
+
-- number id in `cache_index`. Its purpose is to quickly get cache. Special
|
|
683
|
+
-- field `true` in each `category` table is made to contain an id of category
|
|
684
|
+
-- fallback icon data.
|
|
685
|
+
-- - `cache_index` is an array of "icon-hl-is_default" unique tables. Its
|
|
686
|
+
-- purpose is to store all unique return tuples per category.
|
|
687
|
+
-- - `cache_index_lookup` is nested and indexed by `hl-icon` with values being
|
|
688
|
+
-- number id in `cache_index`. Its purpose is to quickly add new "icon-hl"
|
|
689
|
+
-- tuple to cache.
|
|
690
|
+
H.cache = {}
|
|
691
|
+
H.cache_index = {}
|
|
692
|
+
H.cache_index_lookup = {}
|
|
693
|
+
|
|
694
|
+
-- Default icons per supported category
|
|
695
|
+
--stylua: ignore
|
|
696
|
+
H.default_icons = {
|
|
697
|
+
default = { glyph = '', hl = 'MiniIconsGrey' },
|
|
698
|
+
directory = { glyph = '', hl = 'MiniIconsAzure' },
|
|
699
|
+
extension = { glyph = '', hl = 'MiniIconsGrey' },
|
|
700
|
+
file = { glyph = '', hl = 'MiniIconsGrey' },
|
|
701
|
+
filetype = { glyph = '', hl = 'MiniIconsGrey' },
|
|
702
|
+
lsp = { glyph = '', hl = 'MiniIconsRed' },
|
|
703
|
+
os = { glyph = '', hl = 'MiniIconsPurple' },
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
-- Directory icons. Keys are some popular *language-agnostic* directory
|
|
707
|
+
-- basenames. Use only "folder-shaped" glyphs while preferring `nf-md-folder-*`
|
|
708
|
+
-- classes (unless glyph is designed specifically for the directory name)
|
|
709
|
+
-- Common sets:
|
|
710
|
+
-- - Use `MiniIconsOrange` for typical HOME directories.
|
|
711
|
+
-- - Use green '' for Neovim runtime directories (if name isn't too general).
|
|
712
|
+
-- - Use `MiniIconsRed` only for 'mini.nvim' directory.
|
|
713
|
+
--stylua: ignore
|
|
714
|
+
H.directory_icons = {
|
|
715
|
+
['.cache'] = { glyph = '', hl = 'MiniIconsCyan' },
|
|
716
|
+
['.config'] = { glyph = '', hl = 'MiniIconsCyan' },
|
|
717
|
+
['.git'] = { glyph = '', hl = 'MiniIconsOrange' },
|
|
718
|
+
['.github'] = { glyph = '', hl = 'MiniIconsAzure' },
|
|
719
|
+
['.local'] = { glyph = '', hl = 'MiniIconsCyan' },
|
|
720
|
+
['.vim'] = { glyph = '', hl = 'MiniIconsGreen' },
|
|
721
|
+
AppData = { glyph = '', hl = 'MiniIconsOrange' },
|
|
722
|
+
Applications = { glyph = '', hl = 'MiniIconsOrange' },
|
|
723
|
+
Desktop = { glyph = '', hl = 'MiniIconsOrange' },
|
|
724
|
+
Documents = { glyph = '', hl = 'MiniIconsOrange' },
|
|
725
|
+
Downloads = { glyph = '', hl = 'MiniIconsOrange' },
|
|
726
|
+
Favorites = { glyph = '', hl = 'MiniIconsOrange' },
|
|
727
|
+
Library = { glyph = '', hl = 'MiniIconsOrange' },
|
|
728
|
+
Music = { glyph = '', hl = 'MiniIconsOrange' },
|
|
729
|
+
Network = { glyph = '', hl = 'MiniIconsOrange' },
|
|
730
|
+
Pictures = { glyph = '', hl = 'MiniIconsOrange' },
|
|
731
|
+
ProgramData = { glyph = '', hl = 'MiniIconsOrange' },
|
|
732
|
+
Public = { glyph = '', hl = 'MiniIconsOrange' },
|
|
733
|
+
System = { glyph = '', hl = 'MiniIconsOrange' },
|
|
734
|
+
Templates = { glyph = '', hl = 'MiniIconsOrange' },
|
|
735
|
+
Trash = { glyph = '', hl = 'MiniIconsOrange' },
|
|
736
|
+
Users = { glyph = '', hl = 'MiniIconsOrange' },
|
|
737
|
+
Videos = { glyph = '', hl = 'MiniIconsOrange' },
|
|
738
|
+
Volumes = { glyph = '', hl = 'MiniIconsOrange' },
|
|
739
|
+
autoload = { glyph = '', hl = 'MiniIconsGreen' },
|
|
740
|
+
bin = { glyph = '', hl = 'MiniIconsYellow' },
|
|
741
|
+
build = { glyph = '', hl = 'MiniIconsGrey' },
|
|
742
|
+
boot = { glyph = '', hl = 'MiniIconsYellow' },
|
|
743
|
+
colors = { glyph = '', hl = 'MiniIconsGreen' },
|
|
744
|
+
compiler = { glyph = '', hl = 'MiniIconsGreen' },
|
|
745
|
+
dev = { glyph = '', hl = 'MiniIconsYellow' },
|
|
746
|
+
doc = { glyph = '', hl = 'MiniIconsPurple' },
|
|
747
|
+
docs = { glyph = '', hl = 'MiniIconsPurple' },
|
|
748
|
+
etc = { glyph = '', hl = 'MiniIconsYellow' },
|
|
749
|
+
ftdetect = { glyph = '', hl = 'MiniIconsGreen' },
|
|
750
|
+
ftplugin = { glyph = '', hl = 'MiniIconsGreen' },
|
|
751
|
+
home = { glyph = '', hl = 'MiniIconsYellow' },
|
|
752
|
+
indent = { glyph = '', hl = 'MiniIconsGreen' },
|
|
753
|
+
keymap = { glyph = '', hl = 'MiniIconsGreen' },
|
|
754
|
+
lang = { glyph = '', hl = 'MiniIconsGreen' },
|
|
755
|
+
lib = { glyph = '', hl = 'MiniIconsYellow' },
|
|
756
|
+
lsp = { glyph = '', hl = 'MiniIconsGreen' },
|
|
757
|
+
lua = { glyph = '', hl = 'MiniIconsBlue' },
|
|
758
|
+
media = { glyph = '', hl = 'MiniIconsYellow' },
|
|
759
|
+
mnt = { glyph = '', hl = 'MiniIconsYellow' },
|
|
760
|
+
['mini.nvim'] = { glyph = '', hl = 'MiniIconsRed' },
|
|
761
|
+
node_modules = { glyph = '', hl = 'MiniIconsGreen' },
|
|
762
|
+
nvim = { glyph = '', hl = 'MiniIconsGreen' },
|
|
763
|
+
opt = { glyph = '', hl = 'MiniIconsYellow' },
|
|
764
|
+
pack = { glyph = '', hl = 'MiniIconsGreen' },
|
|
765
|
+
parser = { glyph = '', hl = 'MiniIconsGreen' },
|
|
766
|
+
plugin = { glyph = '', hl = 'MiniIconsGreen' },
|
|
767
|
+
proc = { glyph = '', hl = 'MiniIconsYellow' },
|
|
768
|
+
queries = { glyph = '', hl = 'MiniIconsGreen' },
|
|
769
|
+
rplugin = { glyph = '', hl = 'MiniIconsGreen' },
|
|
770
|
+
root = { glyph = '', hl = 'MiniIconsYellow' },
|
|
771
|
+
sbin = { glyph = '', hl = 'MiniIconsYellow' },
|
|
772
|
+
spell = { glyph = '', hl = 'MiniIconsGreen' },
|
|
773
|
+
src = { glyph = '', hl = 'MiniIconsPurple' },
|
|
774
|
+
srv = { glyph = '', hl = 'MiniIconsYellow' },
|
|
775
|
+
snippets = { glyph = '', hl = 'MiniIconsYellow' },
|
|
776
|
+
syntax = { glyph = '', hl = 'MiniIconsGreen' },
|
|
777
|
+
tmp = { glyph = '', hl = 'MiniIconsYellow' },
|
|
778
|
+
test = { glyph = '', hl = 'MiniIconsBlue' },
|
|
779
|
+
tests = { glyph = '', hl = 'MiniIconsBlue' },
|
|
780
|
+
tutor = { glyph = '', hl = 'MiniIconsGreen' },
|
|
781
|
+
usr = { glyph = '', hl = 'MiniIconsYellow' },
|
|
782
|
+
var = { glyph = '', hl = 'MiniIconsYellow' },
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
-- Extension icons
|
|
786
|
+
-- Value may be string with filetype's name to inherit from its icon data
|
|
787
|
+
--stylua: ignore
|
|
788
|
+
H.extension_icons = {
|
|
789
|
+
-- Extensions for which `vim.filetype.match()` mismatches or doesn't work.
|
|
790
|
+
-- Usually because matching depends on an actual buffer content.
|
|
791
|
+
h = { glyph = '', hl = 'MiniIconsPurple' },
|
|
792
|
+
ipynb = { glyph = '', hl = 'MiniIconsOrange' },
|
|
793
|
+
exs = { glyph = '', hl = 'MiniIconsPurple' },
|
|
794
|
+
purs = 'purescript',
|
|
795
|
+
tf = 'terraform',
|
|
796
|
+
|
|
797
|
+
-- Video
|
|
798
|
+
['3gp'] = { glyph = '', hl = 'MiniIconsYellow' },
|
|
799
|
+
avi = { glyph = '', hl = 'MiniIconsGrey' },
|
|
800
|
+
cast = { glyph = '', hl = 'MiniIconsRed' },
|
|
801
|
+
m4v = { glyph = '', hl = 'MiniIconsOrange' },
|
|
802
|
+
mkv = { glyph = '', hl = 'MiniIconsGreen' },
|
|
803
|
+
mov = { glyph = '', hl = 'MiniIconsCyan' },
|
|
804
|
+
mp4 = { glyph = '', hl = 'MiniIconsAzure' },
|
|
805
|
+
mpeg = { glyph = '', hl = 'MiniIconsPurple' },
|
|
806
|
+
mpg = { glyph = '', hl = 'MiniIconsPurple' },
|
|
807
|
+
webm = { glyph = '', hl = 'MiniIconsGrey' },
|
|
808
|
+
wmv = { glyph = '', hl = 'MiniIconsBlue' },
|
|
809
|
+
|
|
810
|
+
-- Audio
|
|
811
|
+
aac = { glyph = '', hl = 'MiniIconsYellow' },
|
|
812
|
+
aif = { glyph = '', hl = 'MiniIconsCyan' },
|
|
813
|
+
flac = { glyph = '', hl = 'MiniIconsOrange' },
|
|
814
|
+
m4a = { glyph = '', hl = 'MiniIconsPurple' },
|
|
815
|
+
mp3 = { glyph = '', hl = 'MiniIconsAzure' },
|
|
816
|
+
ogg = { glyph = '', hl = 'MiniIconsGrey' },
|
|
817
|
+
snd = { glyph = '', hl = 'MiniIconsRed' },
|
|
818
|
+
wav = { glyph = '', hl = 'MiniIconsGreen' },
|
|
819
|
+
wma = { glyph = '', hl = 'MiniIconsBlue' },
|
|
820
|
+
|
|
821
|
+
-- Image
|
|
822
|
+
bmp = { glyph = '', hl = 'MiniIconsGreen' },
|
|
823
|
+
eps = { glyph = '', hl = 'MiniIconsRed' },
|
|
824
|
+
gif = { glyph = '', hl = 'MiniIconsAzure' },
|
|
825
|
+
jpeg = { glyph = '', hl = 'MiniIconsOrange' },
|
|
826
|
+
jpg = { glyph = '', hl = 'MiniIconsOrange' },
|
|
827
|
+
png = { glyph = '', hl = 'MiniIconsPurple' },
|
|
828
|
+
tif = { glyph = '', hl = 'MiniIconsYellow' },
|
|
829
|
+
tiff = { glyph = '', hl = 'MiniIconsYellow' },
|
|
830
|
+
webp = { glyph = '', hl = 'MiniIconsBlue' },
|
|
831
|
+
|
|
832
|
+
-- Archives
|
|
833
|
+
['7z'] = { glyph = '', hl = 'MiniIconsBlue' },
|
|
834
|
+
bz = { glyph = '', hl = 'MiniIconsOrange' },
|
|
835
|
+
bz2 = { glyph = '', hl = 'MiniIconsOrange' },
|
|
836
|
+
bz3 = { glyph = '', hl = 'MiniIconsOrange' },
|
|
837
|
+
gz = { glyph = '', hl = 'MiniIconsGrey' },
|
|
838
|
+
rar = { glyph = '', hl = 'MiniIconsGreen' },
|
|
839
|
+
rpm = { glyph = '', hl = 'MiniIconsRed' },
|
|
840
|
+
sit = { glyph = '', hl = 'MiniIconsRed' },
|
|
841
|
+
tar = { glyph = '', hl = 'MiniIconsCyan' },
|
|
842
|
+
tgz = { glyph = '', hl = 'MiniIconsGrey' },
|
|
843
|
+
txz = { glyph = '', hl = 'MiniIconsPurple' },
|
|
844
|
+
xz = { glyph = '', hl = 'MiniIconsGreen' },
|
|
845
|
+
z = { glyph = '', hl = 'MiniIconsGrey' },
|
|
846
|
+
zip = { glyph = '', hl = 'MiniIconsAzure' },
|
|
847
|
+
zst = { glyph = '', hl = 'MiniIconsYellow' },
|
|
848
|
+
|
|
849
|
+
-- Software
|
|
850
|
+
doc = { glyph = '', hl = 'MiniIconsAzure' },
|
|
851
|
+
docm = { glyph = '', hl = 'MiniIconsAzure' },
|
|
852
|
+
docx = { glyph = '', hl = 'MiniIconsAzure' },
|
|
853
|
+
dot = { glyph = '', hl = 'MiniIconsAzure' },
|
|
854
|
+
dotx = { glyph = '', hl = 'MiniIconsAzure' },
|
|
855
|
+
exe = { glyph = '', hl = 'MiniIconsRed' },
|
|
856
|
+
pps = { glyph = '', hl = 'MiniIconsRed' },
|
|
857
|
+
ppsm = { glyph = '', hl = 'MiniIconsRed' },
|
|
858
|
+
ppsx = { glyph = '', hl = 'MiniIconsRed' },
|
|
859
|
+
ppt = { glyph = '', hl = 'MiniIconsRed' },
|
|
860
|
+
pptm = { glyph = '', hl = 'MiniIconsRed' },
|
|
861
|
+
pptx = { glyph = '', hl = 'MiniIconsRed' },
|
|
862
|
+
xls = { glyph = '', hl = 'MiniIconsGreen' },
|
|
863
|
+
xlsm = { glyph = '', hl = 'MiniIconsGreen' },
|
|
864
|
+
xlsx = { glyph = '', hl = 'MiniIconsGreen' },
|
|
865
|
+
xlt = { glyph = '', hl = 'MiniIconsGreen' },
|
|
866
|
+
xltm = { glyph = '', hl = 'MiniIconsGreen' },
|
|
867
|
+
xltx = { glyph = '', hl = 'MiniIconsGreen' },
|
|
868
|
+
|
|
869
|
+
['code-snippets'] = 'json',
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
-- File icons
|
|
873
|
+
-- Value may be string with filetype's name to inherit from its icon data
|
|
874
|
+
--stylua: ignore
|
|
875
|
+
H.file_icons = {
|
|
876
|
+
-- Popular special (mostly) language-agnostic file basenames
|
|
877
|
+
['.DS_Store'] = { glyph = '', hl = 'MiniIconsRed' },
|
|
878
|
+
['.bash_profile'] = { glyph = '', hl = 'MiniIconsGreen' },
|
|
879
|
+
['.bashrc'] = { glyph = '', hl = 'MiniIconsGreen' },
|
|
880
|
+
['.git'] = { glyph = '', hl = 'MiniIconsOrange' },
|
|
881
|
+
['.gitlab-ci.yml'] = { glyph = '', hl = 'MiniIconsOrange' },
|
|
882
|
+
['.gitkeep'] = { glyph = '', hl = 'MiniIconsRed' },
|
|
883
|
+
['.mailmap'] = { glyph = '', hl = 'MiniIconsCyan' },
|
|
884
|
+
['.nvmrc'] = { glyph = '', hl = 'MiniIconsGreen' },
|
|
885
|
+
['.xinitrc'] = { glyph = '', hl = 'MiniIconsBlue' },
|
|
886
|
+
['.zshrc'] = { glyph = '', hl = 'MiniIconsGreen' },
|
|
887
|
+
CHANGELOG = { glyph = '', hl = 'MiniIconsBlue' },
|
|
888
|
+
['CHANGELOG.md'] = { glyph = '', hl = 'MiniIconsBlue' },
|
|
889
|
+
CODE_OF_CONDUCT = { glyph = '', hl = 'MiniIconsRed' },
|
|
890
|
+
['CODE_OF_CONDUCT.md'] = { glyph = '', hl = 'MiniIconsRed' },
|
|
891
|
+
CODEOWNERS = { glyph = '', hl = 'MiniIconsPurple' },
|
|
892
|
+
CONTRIBUTING = { glyph = '', hl = 'MiniIconsAzure' },
|
|
893
|
+
['CONTRIBUTING.md'] = { glyph = '', hl = 'MiniIconsAzure' },
|
|
894
|
+
['FUNDING.yml'] = { glyph = '', hl = 'MiniIconsGreen' },
|
|
895
|
+
LICENSE = { glyph = '', hl = 'MiniIconsCyan' },
|
|
896
|
+
['LICENSE.md'] = { glyph = '', hl = 'MiniIconsCyan' },
|
|
897
|
+
['LICENSE.txt'] = { glyph = '', hl = 'MiniIconsCyan' },
|
|
898
|
+
NEWS = { glyph = '', hl = 'MiniIconsBlue' },
|
|
899
|
+
['NEWS.md'] = { glyph = '', hl = 'MiniIconsBlue' },
|
|
900
|
+
PKGBUILD = { glyph = '', hl = 'MiniIconsPurple' },
|
|
901
|
+
README = { glyph = '', hl = 'MiniIconsYellow' },
|
|
902
|
+
['README.md'] = { glyph = '', hl = 'MiniIconsYellow' },
|
|
903
|
+
['README.txt'] = { glyph = '', hl = 'MiniIconsYellow' },
|
|
904
|
+
TODO = { glyph = '', hl = 'MiniIconsPurple' },
|
|
905
|
+
['TODO.md'] = { glyph = '', hl = 'MiniIconsPurple' },
|
|
906
|
+
['init.lua'] = { glyph = '', hl = 'MiniIconsGreen' },
|
|
907
|
+
|
|
908
|
+
-- Supported by `vim.filetype.match` but conflict with using extension first
|
|
909
|
+
['build.xml'] = 'ant',
|
|
910
|
+
['GNUmakefile.am'] = 'automake',
|
|
911
|
+
['Makefile.am'] = 'automake',
|
|
912
|
+
['makefile.am'] = 'automake',
|
|
913
|
+
['CMakeLists.txt'] = 'cmake',
|
|
914
|
+
['CMakeCache.txt'] = 'cmakecache',
|
|
915
|
+
['auto.master'] = 'conf',
|
|
916
|
+
['.oelint.cfg'] = 'dosini',
|
|
917
|
+
['.wakatime.cfg'] = 'dosini',
|
|
918
|
+
['pudb.cfg'] = 'dosini',
|
|
919
|
+
['setup.cfg'] = 'dosini',
|
|
920
|
+
['lltxxxxx.txt'] = 'gedcom',
|
|
921
|
+
['go.sum'] = 'gosum',
|
|
922
|
+
['go.work.sum'] = 'gosum',
|
|
923
|
+
['.indent.pro'] = 'indent',
|
|
924
|
+
['indent.pro'] = 'indent',
|
|
925
|
+
['ipf.rules'] = 'ipfilter',
|
|
926
|
+
['config.ld'] = 'lua',
|
|
927
|
+
['lynx.cfg'] = 'lynx',
|
|
928
|
+
['cm3.cfg'] = 'm3quake',
|
|
929
|
+
['maxima-init.mac'] = 'maxima',
|
|
930
|
+
['meson_options.txt'] = 'meson',
|
|
931
|
+
['.gitolite.rc'] = 'perl',
|
|
932
|
+
['example.gitolite.rc'] = 'perl',
|
|
933
|
+
['gitolite.rc'] = 'perl',
|
|
934
|
+
['main.cf.proto'] = 'pfmain',
|
|
935
|
+
['constraints.txt'] = 'requirements',
|
|
936
|
+
['requirements.txt'] = 'requirements',
|
|
937
|
+
['robots.txt'] = 'robots',
|
|
938
|
+
['tclsh.rc'] = 'tcl',
|
|
939
|
+
|
|
940
|
+
-- Supported by `vim.filetype.match` but result in confusing glyph
|
|
941
|
+
['.containerignore'] = { glyph = '', hl = 'MiniIconsGrey' },
|
|
942
|
+
['.dockerignore'] = { glyph = '', hl = 'MiniIconsOrange' },
|
|
943
|
+
['.fdignore'] = { glyph = '', hl = 'MiniIconsYellow' },
|
|
944
|
+
['.ignore'] = { glyph = '', hl = 'MiniIconsGrey' },
|
|
945
|
+
['.npmignore'] = { glyph = '', hl = 'MiniIconsGrey' },
|
|
946
|
+
['.prettierignore'] = { glyph = '', hl = 'MiniIconsOrange' },
|
|
947
|
+
['.rgignore'] = { glyph = '', hl = 'MiniIconsYellow' },
|
|
948
|
+
['.vscodeignore'] = { glyph = '', hl = 'MiniIconsAzure' },
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
-- Filetype icons. Keys are filetypes explicitly supported by Neovim core
|
|
952
|
+
-- (i.e. present in `getcompletion('', 'filetype')` except technical ones)
|
|
953
|
+
-- and filetypes from some popular plugins.
|
|
954
|
+
-- Track filetypes that are newly added to Neovim core by looking at changes of
|
|
955
|
+
-- 'runtime/lua/vim/filetype.lua' and 'runtime/lua/vim/filetype/detect.lua'.
|
|
956
|
+
-- Latest date of sync: 2026-02-13.
|
|
957
|
+
-- Rough process of how glyphs and icons are chosen:
|
|
958
|
+
-- - Try to balance usage of highlight groups.
|
|
959
|
+
-- - Prefer using the following Nerd Fonts classes (from best to worst):
|
|
960
|
+
-- - `nf-md-*` (UTF codes seem to be more thought through). It also has
|
|
961
|
+
-- correct double width in Kitty.
|
|
962
|
+
-- - `nf-dev-*` (more supported devicons).
|
|
963
|
+
-- - `nf-seti-*` (more up to date extensions).
|
|
964
|
+
-- - `nf-custom-*` (niche Nerd Fonts only glyphs).
|
|
965
|
+
-- - If filetype is present in 'nvim-web-devicons', use highlight group with
|
|
966
|
+
-- most similar hue (based on OKLCH color space with equally spaced grid as
|
|
967
|
+
-- in 'mini.hues' and chroma=3 for grey cutoff; adjust manually if needed).
|
|
968
|
+
-- - Sets that have same/close glyphs but maybe different highlights:
|
|
969
|
+
-- - Generic configuration filetypes (".*conf.*", ".*rc", if stated in
|
|
970
|
+
-- filetype file description, etc.) have same glyph.
|
|
971
|
+
-- - Similar language: assembly ("asm"), SQL, Perl, HTML, CSV, shell.
|
|
972
|
+
-- - Log files.
|
|
973
|
+
-- - Make / build system.
|
|
974
|
+
-- - Related to Internet/Web.
|
|
975
|
+
-- - For newly assigned icons use semantically close (first by filetype origin,
|
|
976
|
+
-- then by name) abstract icons with `nf-md-*` Nerd Fonts class.
|
|
977
|
+
-- - If no semantically close abstract icon present, use plain letter/digit
|
|
978
|
+
-- icon (based on the first filetype character) with highlight groups picked
|
|
979
|
+
-- randomly to achieve overall balance (trying to minimize maximum number of
|
|
980
|
+
-- glyph-hl duplicates).
|
|
981
|
+
--stylua: ignore
|
|
982
|
+
H.filetype_icons = {
|
|
983
|
+
-- Neovim filetype plugins (i.e. recognized with vanilla Neovim)
|
|
984
|
+
['8th'] = { glyph = '', hl = 'MiniIconsYellow' },
|
|
985
|
+
a2ps = { glyph = '', hl = 'MiniIconsCyan' },
|
|
986
|
+
a65 = { glyph = '', hl = 'MiniIconsRed' },
|
|
987
|
+
aap = { glyph = '', hl = 'MiniIconsOrange' },
|
|
988
|
+
abap = { glyph = '', hl = 'MiniIconsGreen' },
|
|
989
|
+
abaqus = { glyph = '', hl = 'MiniIconsGreen' },
|
|
990
|
+
abc = { glyph = '', hl = 'MiniIconsAzure' },
|
|
991
|
+
abel = { glyph = '', hl = 'MiniIconsAzure' },
|
|
992
|
+
abnf = { glyph = '', hl = 'MiniIconsYellow' },
|
|
993
|
+
acedb = { glyph = '', hl = 'MiniIconsGrey' },
|
|
994
|
+
ada = { glyph = '', hl = 'MiniIconsAzure' },
|
|
995
|
+
aflex = { glyph = '', hl = 'MiniIconsCyan' },
|
|
996
|
+
ahdl = { glyph = '', hl = 'MiniIconsRed' },
|
|
997
|
+
aidl = { glyph = '', hl = 'MiniIconsYellow' },
|
|
998
|
+
alsaconf = { glyph = '', hl = 'MiniIconsPurple' },
|
|
999
|
+
amiga = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1000
|
+
aml = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1001
|
+
ampl = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1002
|
+
ant = { glyph = '', hl = 'MiniIconsRed' },
|
|
1003
|
+
antlr = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1004
|
+
antlr4 = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1005
|
+
apache = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1006
|
+
apachestyle = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1007
|
+
apkbuild = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1008
|
+
applescript = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1009
|
+
aptconf = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1010
|
+
arch = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1011
|
+
arduino = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1012
|
+
art = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1013
|
+
asciidoc = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1014
|
+
asm = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1015
|
+
asm68k = { glyph = '', hl = 'MiniIconsRed' },
|
|
1016
|
+
asmh8300 = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1017
|
+
asn = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1018
|
+
aspperl = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1019
|
+
aspvbs = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1020
|
+
asterisk = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1021
|
+
asteriskvm = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1022
|
+
astro = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1023
|
+
asy = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1024
|
+
atlas = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1025
|
+
authzed = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1026
|
+
autodoc = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1027
|
+
autohotkey = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1028
|
+
autoit = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1029
|
+
automake = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1030
|
+
autopkgtest = { glyph = '', hl = 'MiniIconsRed' },
|
|
1031
|
+
ave = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1032
|
+
avra = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1033
|
+
awk = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1034
|
+
ayacc = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1035
|
+
b = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1036
|
+
baan = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1037
|
+
bash = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1038
|
+
basic = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1039
|
+
bass = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1040
|
+
bat = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1041
|
+
bc = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1042
|
+
bdf = { glyph = '', hl = 'MiniIconsRed' },
|
|
1043
|
+
beancount = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1044
|
+
bib = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1045
|
+
bicep = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1046
|
+
['bicep-params'] = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1047
|
+
bindzone = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1048
|
+
bitbake = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1049
|
+
blade = { glyph = '', hl = 'MiniIconsRed' },
|
|
1050
|
+
blank = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1051
|
+
blueprint = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1052
|
+
bp = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1053
|
+
bpftrace = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1054
|
+
brighterscript = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1055
|
+
brightscript = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1056
|
+
bsdl = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1057
|
+
bst = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1058
|
+
btm = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1059
|
+
bzl = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1060
|
+
bzr = { glyph = '', hl = 'MiniIconsRed' },
|
|
1061
|
+
c = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1062
|
+
c3 = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1063
|
+
cabal = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1064
|
+
cabalconfig = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1065
|
+
cabalproject = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1066
|
+
cairo = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1067
|
+
calendar = { glyph = '', hl = 'MiniIconsRed' },
|
|
1068
|
+
cangjie = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1069
|
+
capnp = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1070
|
+
catalog = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1071
|
+
cdc = { glyph = '', hl = 'MiniIconsRed' },
|
|
1072
|
+
cdl = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1073
|
+
cdrdaoconf = { glyph = '', hl = 'MiniIconsRed' },
|
|
1074
|
+
cdrtoc = { glyph = '', hl = 'MiniIconsRed' },
|
|
1075
|
+
cedar = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1076
|
+
cf = { glyph = '', hl = 'MiniIconsRed' },
|
|
1077
|
+
cfengine = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1078
|
+
cfg = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1079
|
+
cgdbrc = { glyph = '', hl = 'MiniIconsRed' },
|
|
1080
|
+
ch = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1081
|
+
chaiscript = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1082
|
+
change = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1083
|
+
changelog = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1084
|
+
chaskell = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1085
|
+
chatito = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1086
|
+
checkhealth = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1087
|
+
cheetah = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1088
|
+
chicken = { glyph = '', hl = 'MiniIconsRed' },
|
|
1089
|
+
chill = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1090
|
+
chordpro = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1091
|
+
chuck = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1092
|
+
cl = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1093
|
+
clean = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1094
|
+
clipper = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1095
|
+
clojure = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1096
|
+
cmake = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1097
|
+
cmakecache = { glyph = '', hl = 'MiniIconsRed' },
|
|
1098
|
+
cmod = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1099
|
+
cmusrc = { glyph = '', hl = 'MiniIconsRed' },
|
|
1100
|
+
cobol = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1101
|
+
coco = { glyph = '', hl = 'MiniIconsRed' },
|
|
1102
|
+
codeowners = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1103
|
+
conaryrecipe = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1104
|
+
conf = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1105
|
+
config = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1106
|
+
confini = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1107
|
+
context = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1108
|
+
cook = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1109
|
+
coq = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1110
|
+
corn = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1111
|
+
cpon = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1112
|
+
cpp = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1113
|
+
cqlang = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1114
|
+
crm = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1115
|
+
crontab = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1116
|
+
crystal = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1117
|
+
cs = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1118
|
+
csc = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1119
|
+
csdl = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1120
|
+
csh = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1121
|
+
csp = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1122
|
+
css = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1123
|
+
csv = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1124
|
+
csv_pipe = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1125
|
+
csv_semicolon = { glyph = '', hl = 'MiniIconsRed' },
|
|
1126
|
+
csv_whitespace = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1127
|
+
cterm = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1128
|
+
ctrlh = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1129
|
+
cucumber = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1130
|
+
cuda = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1131
|
+
cue = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1132
|
+
cupl = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1133
|
+
cuplsim = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1134
|
+
cvs = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1135
|
+
cvsrc = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1136
|
+
cweb = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1137
|
+
cynlib = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1138
|
+
cynpp = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1139
|
+
cypher = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1140
|
+
d = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1141
|
+
dafny = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1142
|
+
dart = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1143
|
+
datascript = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1144
|
+
dax = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1145
|
+
dcd = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1146
|
+
dcl = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1147
|
+
deb822sources = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1148
|
+
debchangelog = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1149
|
+
debcontrol = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1150
|
+
debcopyright = { glyph = '', hl = 'MiniIconsRed' },
|
|
1151
|
+
debsources = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1152
|
+
def = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1153
|
+
denyhosts = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1154
|
+
dep3patch = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1155
|
+
desc = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1156
|
+
desktop = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1157
|
+
dhall = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1158
|
+
dictconf = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1159
|
+
dictdconf = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1160
|
+
diff = { glyph = '', hl = 'MiniIconsRed' },
|
|
1161
|
+
dircolors = { glyph = '', hl = 'MiniIconsRed' },
|
|
1162
|
+
dirpager = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1163
|
+
diva = { glyph = '', hl = 'MiniIconsRed' },
|
|
1164
|
+
django = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1165
|
+
djot = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1166
|
+
dns = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1167
|
+
dnsmasq = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1168
|
+
docbk = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1169
|
+
docbksgml = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1170
|
+
docbkxml = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1171
|
+
dockerfile = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1172
|
+
dosbatch = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1173
|
+
dosini = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1174
|
+
dot = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1175
|
+
doxygen = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1176
|
+
dracula = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1177
|
+
dsl = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1178
|
+
dtd = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1179
|
+
dtml = { glyph = '', hl = 'MiniIconsRed' },
|
|
1180
|
+
dtrace = { glyph = '', hl = 'MiniIconsRed' },
|
|
1181
|
+
dts = { glyph = '', hl = 'MiniIconsRed' },
|
|
1182
|
+
dune = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1183
|
+
dylan = { glyph = '', hl = 'MiniIconsRed' },
|
|
1184
|
+
dylanintr = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1185
|
+
dylanlid = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1186
|
+
earthfile = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1187
|
+
ecd = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1188
|
+
edif = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1189
|
+
editorconfig = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1190
|
+
eelixir = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1191
|
+
eiffel = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1192
|
+
elf = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1193
|
+
elinks = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1194
|
+
elixir = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1195
|
+
elm = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1196
|
+
elmfilt = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1197
|
+
elsa = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1198
|
+
elvish = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1199
|
+
epuppet = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1200
|
+
erlang = { glyph = '', hl = 'MiniIconsRed' },
|
|
1201
|
+
eruby = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1202
|
+
esdl = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1203
|
+
esmtprc = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1204
|
+
esqlc = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1205
|
+
esterel = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1206
|
+
eterm = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1207
|
+
euphoria3 = { glyph = '', hl = 'MiniIconsRed' },
|
|
1208
|
+
euphoria4 = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1209
|
+
eviews = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1210
|
+
execline = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1211
|
+
exim = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1212
|
+
expect = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1213
|
+
exports = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1214
|
+
factor = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1215
|
+
falcon = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1216
|
+
fan = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1217
|
+
fasm = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1218
|
+
faust = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1219
|
+
fdcc = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1220
|
+
fennel = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1221
|
+
fetchmail = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1222
|
+
fgl = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1223
|
+
firrtl = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1224
|
+
fish = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1225
|
+
flexwiki = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1226
|
+
flix = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1227
|
+
fluent = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1228
|
+
foam = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1229
|
+
focexec = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1230
|
+
form = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1231
|
+
forth = { glyph = '', hl = 'MiniIconsRed' },
|
|
1232
|
+
fortran = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1233
|
+
foxpro = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1234
|
+
fpcmake = { glyph = '', hl = 'MiniIconsRed' },
|
|
1235
|
+
framescript = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1236
|
+
freebasic = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1237
|
+
fsh = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1238
|
+
fsharp = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1239
|
+
fstab = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1240
|
+
func = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1241
|
+
fusion = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1242
|
+
fvwm = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1243
|
+
fvwm2m4 = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1244
|
+
gdb = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1245
|
+
gdmo = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1246
|
+
gdresource = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1247
|
+
gdscript = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1248
|
+
gdshader = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1249
|
+
gedcom = { glyph = '', hl = 'MiniIconsRed' },
|
|
1250
|
+
gel = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1251
|
+
gemtext = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1252
|
+
gift = { glyph = '', hl = 'MiniIconsRed' },
|
|
1253
|
+
git = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1254
|
+
gitattributes = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1255
|
+
gitcommit = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1256
|
+
gitconfig = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1257
|
+
gitignore = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1258
|
+
gitolite = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1259
|
+
gitrebase = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1260
|
+
gitsendemail = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1261
|
+
gkrellmrc = { glyph = '', hl = 'MiniIconsRed' },
|
|
1262
|
+
gleam = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1263
|
+
glsl = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1264
|
+
gn = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1265
|
+
gnash = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1266
|
+
gnuplot = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1267
|
+
go = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1268
|
+
goaccess = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1269
|
+
godoc = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1270
|
+
gomod = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1271
|
+
gosum = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1272
|
+
gowork = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1273
|
+
gp = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1274
|
+
gpg = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1275
|
+
gprof = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1276
|
+
grads = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1277
|
+
graphql = { glyph = '', hl = 'MiniIconsRed' },
|
|
1278
|
+
gretl = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1279
|
+
groff = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1280
|
+
groovy = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1281
|
+
group = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1282
|
+
grub = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1283
|
+
gsp = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1284
|
+
gtkrc = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1285
|
+
gvpr = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1286
|
+
gyp = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1287
|
+
hack = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1288
|
+
haml = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1289
|
+
hamster = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1290
|
+
handlebars = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1291
|
+
hare = { glyph = '', hl = 'MiniIconsRed' },
|
|
1292
|
+
haredoc = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1293
|
+
haskell = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1294
|
+
haskellpersistent = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1295
|
+
haste = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1296
|
+
hastepreproc = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1297
|
+
haxe = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1298
|
+
hb = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1299
|
+
hcl = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1300
|
+
heex = { glyph = '', hl = 'MiniIconsRed' },
|
|
1301
|
+
help = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1302
|
+
hercules = { glyph = '', hl = 'MiniIconsRed' },
|
|
1303
|
+
hex = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1304
|
+
hgcommit = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1305
|
+
hjson = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1306
|
+
hlsplaylist = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1307
|
+
hog = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1308
|
+
hollywood = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1309
|
+
hoon = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1310
|
+
hostconf = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1311
|
+
hostsaccess = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1312
|
+
html = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1313
|
+
htmlangular = { glyph = '', hl = 'MiniIconsRed' },
|
|
1314
|
+
htmlcheetah = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1315
|
+
htmldjango = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1316
|
+
htmlm4 = { glyph = '', hl = 'MiniIconsRed' },
|
|
1317
|
+
htmlos = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1318
|
+
httest = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1319
|
+
http = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1320
|
+
hurl = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1321
|
+
hy = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1322
|
+
hylo = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1323
|
+
hyprlang = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1324
|
+
i3config = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1325
|
+
ia64 = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1326
|
+
ibasic = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1327
|
+
icemenu = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1328
|
+
icon = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1329
|
+
idl = { glyph = '', hl = 'MiniIconsRed' },
|
|
1330
|
+
idlang = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1331
|
+
idris2 = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1332
|
+
indent = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1333
|
+
info = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1334
|
+
inform = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1335
|
+
initex = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1336
|
+
initng = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1337
|
+
inittab = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1338
|
+
inko = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1339
|
+
ipfilter = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1340
|
+
ipkg = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1341
|
+
ishd = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1342
|
+
iss = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1343
|
+
ist = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1344
|
+
j = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1345
|
+
jal = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1346
|
+
jam = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1347
|
+
janet = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1348
|
+
jargon = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1349
|
+
java = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1350
|
+
javacc = { glyph = '', hl = 'MiniIconsRed' },
|
|
1351
|
+
javascript = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1352
|
+
['javascript.glimmer'] = { glyph = '', hl = 'MiniIconsRed' },
|
|
1353
|
+
javascriptreact = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1354
|
+
jess = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1355
|
+
jgraph = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1356
|
+
jinja = { glyph = '', hl = 'MiniIconsRed' },
|
|
1357
|
+
jjdescription = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1358
|
+
jovial = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1359
|
+
jproperties = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1360
|
+
jq = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1361
|
+
json = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1362
|
+
json5 = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1363
|
+
jsonc = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1364
|
+
jsonl = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1365
|
+
jsonnet = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1366
|
+
jsp = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1367
|
+
julia = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1368
|
+
just = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1369
|
+
karel = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1370
|
+
kconfig = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1371
|
+
kdl = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1372
|
+
kerml = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1373
|
+
kitty = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1374
|
+
kivy = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1375
|
+
kix = { glyph = '', hl = 'MiniIconsRed' },
|
|
1376
|
+
koka = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1377
|
+
kos = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1378
|
+
kotlin = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1379
|
+
krl = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1380
|
+
kscript = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1381
|
+
kwt = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1382
|
+
lace = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1383
|
+
lalrpop = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1384
|
+
larch = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1385
|
+
latte = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1386
|
+
lc = { glyph = '', hl = 'MiniIconsRed' },
|
|
1387
|
+
ld = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1388
|
+
ldapconf = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1389
|
+
ldif = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1390
|
+
lean = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1391
|
+
ledger = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1392
|
+
leex = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1393
|
+
leo = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1394
|
+
less = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1395
|
+
lex = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1396
|
+
lf = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1397
|
+
lftp = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1398
|
+
lhaskell = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1399
|
+
libao = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1400
|
+
lidris2 = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1401
|
+
lifelines = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1402
|
+
lilo = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1403
|
+
lilypond = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1404
|
+
limits = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1405
|
+
liquid = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1406
|
+
liquidsoap = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1407
|
+
lisp = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1408
|
+
lite = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1409
|
+
litestep = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1410
|
+
livebook = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1411
|
+
llvm = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1412
|
+
lnk = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1413
|
+
lnkmap = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1414
|
+
logcheck = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1415
|
+
loginaccess = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1416
|
+
logindefs = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1417
|
+
logtalk = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1418
|
+
lotos = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1419
|
+
lout = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1420
|
+
lpc = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1421
|
+
lprolog = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1422
|
+
lscript = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1423
|
+
lsl = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1424
|
+
lsp_markdown = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1425
|
+
lss = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1426
|
+
lua = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1427
|
+
luau = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1428
|
+
lynx = { glyph = '', hl = 'MiniIconsRed' },
|
|
1429
|
+
lyrics = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1430
|
+
m17ndb = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1431
|
+
m3build = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1432
|
+
m3quake = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1433
|
+
m4 = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1434
|
+
mail = { glyph = '', hl = 'MiniIconsRed' },
|
|
1435
|
+
mailaliases = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1436
|
+
mailcap = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1437
|
+
make = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1438
|
+
mallard = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1439
|
+
man = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1440
|
+
manconf = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1441
|
+
manual = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1442
|
+
map = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1443
|
+
maple = { glyph = '', hl = 'MiniIconsRed' },
|
|
1444
|
+
markdown = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1445
|
+
masm = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1446
|
+
master = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1447
|
+
matlab = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1448
|
+
maxima = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1449
|
+
mbsyncrc = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1450
|
+
mediawiki = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1451
|
+
mel = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1452
|
+
mermaid = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1453
|
+
meson = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1454
|
+
messages = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1455
|
+
mf = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1456
|
+
mgl = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1457
|
+
mgp = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1458
|
+
mib = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1459
|
+
mix = { glyph = '', hl = 'MiniIconsRed' },
|
|
1460
|
+
mlir = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1461
|
+
mma = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1462
|
+
mmix = { glyph = '', hl = 'MiniIconsRed' },
|
|
1463
|
+
mmp = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1464
|
+
modconf = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1465
|
+
model = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1466
|
+
modsim3 = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1467
|
+
modula2 = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1468
|
+
modula3 = { glyph = '', hl = 'MiniIconsRed' },
|
|
1469
|
+
mojo = { glyph = '', hl = 'MiniIconsRed' },
|
|
1470
|
+
monk = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1471
|
+
moo = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1472
|
+
moonscript = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1473
|
+
move = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1474
|
+
mp = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1475
|
+
mplayerconf = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1476
|
+
mrxvtrc = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1477
|
+
msidl = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1478
|
+
msmessages = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1479
|
+
msmtp = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1480
|
+
msql = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1481
|
+
mss = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1482
|
+
mupad = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1483
|
+
murphi = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1484
|
+
mush = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1485
|
+
mustache = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1486
|
+
muttrc = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1487
|
+
mysql = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1488
|
+
n1ql = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1489
|
+
named = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1490
|
+
nanorc = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1491
|
+
nasm = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1492
|
+
nastran = { glyph = '', hl = 'MiniIconsRed' },
|
|
1493
|
+
natural = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1494
|
+
ncf = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1495
|
+
neomuttlog = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1496
|
+
neomuttrc = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1497
|
+
netlinx = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1498
|
+
netrc = { glyph = '', hl = 'MiniIconsRed' },
|
|
1499
|
+
netrw = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1500
|
+
nginx = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1501
|
+
nickel = { glyph = '', hl = 'MiniIconsRed' },
|
|
1502
|
+
nim = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1503
|
+
ninja = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1504
|
+
nix = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1505
|
+
norg = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1506
|
+
nq = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1507
|
+
nqc = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1508
|
+
nroff = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1509
|
+
nsis = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1510
|
+
ntriples = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1511
|
+
nu = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1512
|
+
numbat = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1513
|
+
obj = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1514
|
+
objc = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1515
|
+
objcpp = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1516
|
+
objdump = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1517
|
+
obse = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1518
|
+
ocaml = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1519
|
+
occam = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1520
|
+
octave = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1521
|
+
odin = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1522
|
+
omnimark = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1523
|
+
ondir = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1524
|
+
opam = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1525
|
+
opencl = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1526
|
+
openroad = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1527
|
+
openscad = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1528
|
+
openvpn = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1529
|
+
opl = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1530
|
+
ora = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1531
|
+
org = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1532
|
+
pacmanlog = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1533
|
+
pamconf = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1534
|
+
pamenv = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1535
|
+
pandoc = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1536
|
+
papp = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1537
|
+
pascal = { glyph = '', hl = 'MiniIconsRed' },
|
|
1538
|
+
passwd = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1539
|
+
pbtxt = { glyph = '', hl = 'MiniIconsRed' },
|
|
1540
|
+
pcap = { glyph = '', hl = 'MiniIconsRed' },
|
|
1541
|
+
pccts = { glyph = '', hl = 'MiniIconsRed' },
|
|
1542
|
+
pcmk = { glyph = '', hl = 'MiniIconsRed' },
|
|
1543
|
+
pdf = { glyph = '', hl = 'MiniIconsRed' },
|
|
1544
|
+
pem = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1545
|
+
perl = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1546
|
+
pf = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1547
|
+
pfmain = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1548
|
+
php = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1549
|
+
phtml = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1550
|
+
pic = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1551
|
+
pike = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1552
|
+
pilrc = { glyph = '', hl = 'MiniIconsRed' },
|
|
1553
|
+
pine = { glyph = '', hl = 'MiniIconsRed' },
|
|
1554
|
+
pinfo = { glyph = '', hl = 'MiniIconsRed' },
|
|
1555
|
+
pkl = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1556
|
+
plaintex = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1557
|
+
pli = { glyph = '', hl = 'MiniIconsRed' },
|
|
1558
|
+
plm = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1559
|
+
plp = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1560
|
+
plsql = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1561
|
+
po = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1562
|
+
pod = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1563
|
+
poefilter = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1564
|
+
poke = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1565
|
+
pony = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1566
|
+
postscr = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1567
|
+
pov = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1568
|
+
povini = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1569
|
+
ppd = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1570
|
+
ppwiz = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1571
|
+
pq = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1572
|
+
prescribe = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1573
|
+
prisma = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1574
|
+
privoxy = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1575
|
+
proc = { glyph = '', hl = 'MiniIconsRed' },
|
|
1576
|
+
procmail = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1577
|
+
progress = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1578
|
+
prolog = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1579
|
+
promela = { glyph = '', hl = 'MiniIconsRed' },
|
|
1580
|
+
proto = { glyph = '', hl = 'MiniIconsRed' },
|
|
1581
|
+
protocols = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1582
|
+
prql = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1583
|
+
ps1 = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1584
|
+
ps1xml = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1585
|
+
psf = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1586
|
+
psl = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1587
|
+
ptcap = { glyph = '', hl = 'MiniIconsRed' },
|
|
1588
|
+
ptx = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1589
|
+
pug = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1590
|
+
puppet = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1591
|
+
purescript = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1592
|
+
purifylog = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1593
|
+
pymanifest = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1594
|
+
pyret = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1595
|
+
pyrex = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1596
|
+
python = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1597
|
+
python2 = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1598
|
+
qb64 = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1599
|
+
qf = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1600
|
+
ql = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1601
|
+
qml = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1602
|
+
qmldir = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1603
|
+
quake = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1604
|
+
quarto = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1605
|
+
query = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1606
|
+
quickbms = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1607
|
+
r = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1608
|
+
racc = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1609
|
+
racket = { glyph = '', hl = 'MiniIconsRed' },
|
|
1610
|
+
radiance = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1611
|
+
raku = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1612
|
+
raml = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1613
|
+
rapid = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1614
|
+
rasi = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1615
|
+
ratpoison = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1616
|
+
rbs = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1617
|
+
rc = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1618
|
+
rcs = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1619
|
+
rcslog = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1620
|
+
readline = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1621
|
+
rebol = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1622
|
+
redif = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1623
|
+
registry = { glyph = '', hl = 'MiniIconsRed' },
|
|
1624
|
+
rego = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1625
|
+
remind = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1626
|
+
requirements = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1627
|
+
rescript = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1628
|
+
resolv = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1629
|
+
reva = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1630
|
+
rexx = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1631
|
+
rfc_csv = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1632
|
+
rfc_semicolon = { glyph = '', hl = 'MiniIconsRed' },
|
|
1633
|
+
rhelp = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1634
|
+
rib = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1635
|
+
rmarkdown = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1636
|
+
rmd = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1637
|
+
rnc = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1638
|
+
rng = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1639
|
+
rnoweb = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1640
|
+
robot = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1641
|
+
robots = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1642
|
+
roc = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1643
|
+
ron = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1644
|
+
routeros = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1645
|
+
rpcgen = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1646
|
+
rpgle = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1647
|
+
rpl = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1648
|
+
rrst = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1649
|
+
rst = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1650
|
+
rtf = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1651
|
+
ruby = { glyph = '', hl = 'MiniIconsRed' },
|
|
1652
|
+
rust = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1653
|
+
sage = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1654
|
+
salt = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1655
|
+
samba = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1656
|
+
sas = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1657
|
+
sass = { glyph = '', hl = 'MiniIconsRed' },
|
|
1658
|
+
sather = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1659
|
+
sbt = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1660
|
+
scala = { glyph = '', hl = 'MiniIconsRed' },
|
|
1661
|
+
scdoc = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1662
|
+
scheme = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1663
|
+
scilab = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1664
|
+
screen = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1665
|
+
scss = { glyph = '', hl = 'MiniIconsRed' },
|
|
1666
|
+
sd = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1667
|
+
sdc = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1668
|
+
sdl = { glyph = '', hl = 'MiniIconsRed' },
|
|
1669
|
+
sed = { glyph = '', hl = 'MiniIconsRed' },
|
|
1670
|
+
sendpr = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1671
|
+
sensors = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1672
|
+
services = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1673
|
+
setserial = { glyph = '', hl = 'MiniIconsRed' },
|
|
1674
|
+
sexplib = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1675
|
+
sgml = { glyph = '', hl = 'MiniIconsRed' },
|
|
1676
|
+
sgmldecl = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1677
|
+
sgmllnx = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1678
|
+
sh = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1679
|
+
shada = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1680
|
+
shaderslang = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1681
|
+
sicad = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1682
|
+
sieve = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1683
|
+
sil = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1684
|
+
sile = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1685
|
+
simula = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1686
|
+
sinda = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1687
|
+
sindacmp = { glyph = '', hl = 'MiniIconsRed' },
|
|
1688
|
+
sindaout = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1689
|
+
sisu = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1690
|
+
skhd = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1691
|
+
skill = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1692
|
+
sl = { glyph = '', hl = 'MiniIconsRed' },
|
|
1693
|
+
slang = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1694
|
+
slice = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1695
|
+
slint = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1696
|
+
slpconf = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1697
|
+
slpreg = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1698
|
+
slpspi = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1699
|
+
slrnrc = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1700
|
+
slrnsc = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1701
|
+
sm = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1702
|
+
smali = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1703
|
+
smarty = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1704
|
+
smcl = { glyph = '', hl = 'MiniIconsRed' },
|
|
1705
|
+
smil = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1706
|
+
smith = { glyph = '', hl = 'MiniIconsRed' },
|
|
1707
|
+
smithy = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1708
|
+
sml = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1709
|
+
snakemake = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1710
|
+
snnsnet = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1711
|
+
snnspat = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1712
|
+
snnsres = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1713
|
+
snobol4 = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1714
|
+
solidity = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1715
|
+
solution = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1716
|
+
soy = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1717
|
+
spajson = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1718
|
+
sparql = { glyph = '', hl = 'MiniIconsRed' },
|
|
1719
|
+
spec = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1720
|
+
specman = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1721
|
+
spice = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1722
|
+
splint = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1723
|
+
spup = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1724
|
+
spyce = { glyph = '', hl = 'MiniIconsRed' },
|
|
1725
|
+
sql = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1726
|
+
sqlanywhere = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1727
|
+
sqlforms = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1728
|
+
sqlhana = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1729
|
+
sqlinformix = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1730
|
+
sqlj = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1731
|
+
sqloracle = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1732
|
+
sqr = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1733
|
+
squid = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1734
|
+
squirrel = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1735
|
+
srec = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1736
|
+
srt = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1737
|
+
ssa = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1738
|
+
sshconfig = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1739
|
+
sshdconfig = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1740
|
+
st = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1741
|
+
starlark = { glyph = '', hl = 'MiniIconsRed' },
|
|
1742
|
+
stata = { glyph = '', hl = 'MiniIconsRed' },
|
|
1743
|
+
stp = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1744
|
+
strace = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1745
|
+
structurizr = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1746
|
+
stylus = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1747
|
+
sudoers = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1748
|
+
supercollider = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1749
|
+
superhtml = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1750
|
+
surface = { glyph = '', hl = 'MiniIconsRed' },
|
|
1751
|
+
svelte = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1752
|
+
svg = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1753
|
+
svn = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1754
|
+
sway = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1755
|
+
swayconfig = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1756
|
+
swift = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1757
|
+
swiftgyb = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1758
|
+
swig = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1759
|
+
sysctl = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1760
|
+
sysml = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1761
|
+
systemd = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1762
|
+
systemverilog = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1763
|
+
tablegen = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1764
|
+
tads = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1765
|
+
tags = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1766
|
+
tak = { glyph = '', hl = 'MiniIconsRed' },
|
|
1767
|
+
takcmp = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1768
|
+
takout = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1769
|
+
tal = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1770
|
+
tap = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1771
|
+
tar = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1772
|
+
taskdata = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1773
|
+
taskedit = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1774
|
+
tasm = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1775
|
+
tcl = { glyph = '', hl = 'MiniIconsRed' },
|
|
1776
|
+
tcsh = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1777
|
+
teal = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1778
|
+
templ = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1779
|
+
template = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1780
|
+
tera = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1781
|
+
teraterm = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1782
|
+
terminfo = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1783
|
+
terraform = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1784
|
+
['terraform-vars'] = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1785
|
+
tex = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1786
|
+
texinfo = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1787
|
+
texmf = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1788
|
+
text = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1789
|
+
tf = { glyph = '', hl = 'MiniIconsRed' },
|
|
1790
|
+
thrift = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1791
|
+
tiasm = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1792
|
+
tidy = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1793
|
+
tiger = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1794
|
+
tilde = { glyph = '', hl = 'MiniIconsRed' },
|
|
1795
|
+
tiltfile = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1796
|
+
tla = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1797
|
+
tli = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1798
|
+
tmux = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1799
|
+
toml = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1800
|
+
tpp = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1801
|
+
trace32 = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1802
|
+
trasys = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1803
|
+
treetop = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1804
|
+
trig = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1805
|
+
trustees = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1806
|
+
tsalt = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1807
|
+
tsscl = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1808
|
+
tssgm = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1809
|
+
tssop = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1810
|
+
tsv = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1811
|
+
tt2 = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1812
|
+
tt2html = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1813
|
+
tt2js = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1814
|
+
turtle = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1815
|
+
tutor = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1816
|
+
twig = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1817
|
+
typescript = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1818
|
+
['typescript.glimmer'] = { glyph = '', hl = 'MiniIconsRed' },
|
|
1819
|
+
typescriptreact = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1820
|
+
typespec = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1821
|
+
typst = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1822
|
+
uc = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1823
|
+
uci = { glyph = '', hl = 'MiniIconsRed' },
|
|
1824
|
+
udevconf = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1825
|
+
udevperm = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1826
|
+
udevrules = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1827
|
+
uil = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1828
|
+
ungrammar = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1829
|
+
unison = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1830
|
+
updatedb = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1831
|
+
upstart = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1832
|
+
upstreamdat = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1833
|
+
upstreaminstalllog = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1834
|
+
upstreamlog = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1835
|
+
upstreamrpt = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1836
|
+
urlshortcut = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1837
|
+
usd = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1838
|
+
usserverlog = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1839
|
+
usw2kagtlog = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1840
|
+
v = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1841
|
+
vala = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1842
|
+
valgrind = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1843
|
+
vb = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1844
|
+
vdf = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1845
|
+
vdmpp = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1846
|
+
vdmrt = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1847
|
+
vdmsl = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1848
|
+
vento = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1849
|
+
vera = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1850
|
+
verilog = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1851
|
+
verilogams = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1852
|
+
vgrindefs = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1853
|
+
vhdl = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1854
|
+
vhs = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1855
|
+
vim = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1856
|
+
viminfo = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1857
|
+
virata = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1858
|
+
vmasm = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1859
|
+
voscm = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1860
|
+
vrml = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1861
|
+
vroom = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1862
|
+
vsejcl = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1863
|
+
vue = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1864
|
+
wat = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1865
|
+
wdiff = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1866
|
+
wdl = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1867
|
+
web = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1868
|
+
webmacro = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1869
|
+
wget = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1870
|
+
wget2 = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1871
|
+
wgsl = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1872
|
+
winbatch = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1873
|
+
wit = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1874
|
+
wml = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1875
|
+
wsh = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1876
|
+
wsml = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1877
|
+
wvdial = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1878
|
+
xbl = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1879
|
+
xcompose = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1880
|
+
xdefaults = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1881
|
+
xf86conf = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1882
|
+
xhtml = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1883
|
+
xinetd = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1884
|
+
xkb = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1885
|
+
xmath = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1886
|
+
xml = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1887
|
+
xmodmap = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1888
|
+
xpm = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1889
|
+
xpm2 = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1890
|
+
xquery = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1891
|
+
xs = { glyph = '', hl = 'MiniIconsRed' },
|
|
1892
|
+
xsd = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1893
|
+
xslt = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1894
|
+
xxd = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1895
|
+
yacc = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1896
|
+
yaml = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1897
|
+
yang = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1898
|
+
yuck = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1899
|
+
z8a = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1900
|
+
zathurarc = { glyph = '', hl = 'MiniIconsRed' },
|
|
1901
|
+
zig = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1902
|
+
ziggy = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1903
|
+
ziggy_schema = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1904
|
+
zimbu = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1905
|
+
zimbutempl = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1906
|
+
zip = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1907
|
+
zir = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1908
|
+
zserio = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1909
|
+
zsh = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1910
|
+
|
|
1911
|
+
-- Popular filetype which require user configuration
|
|
1912
|
+
helm = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1913
|
+
['yaml.ansible'] = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1914
|
+
['yaml.docker-compose'] = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1915
|
+
|
|
1916
|
+
-- 'mini.nvim'
|
|
1917
|
+
['minideps-confirm'] = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1918
|
+
minifiles = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1919
|
+
['minifiles-help'] = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1920
|
+
mininotify = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1921
|
+
['mininotify-history'] = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1922
|
+
minipick = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1923
|
+
ministarter = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1924
|
+
|
|
1925
|
+
-- Popular Lua plugins which have a dedicated "current window" workflow (i.e.
|
|
1926
|
+
-- when displaying filetype might make sense, especially with 'laststatus=3')
|
|
1927
|
+
aerial = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1928
|
+
alpha = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1929
|
+
dapui_breakpoints = { glyph = '', hl = 'MiniIconsRed' },
|
|
1930
|
+
dapui_console = { glyph = '', hl = 'MiniIconsRed' },
|
|
1931
|
+
dapui_hover = { glyph = '', hl = 'MiniIconsRed' },
|
|
1932
|
+
dapui_scopes = { glyph = '', hl = 'MiniIconsRed' },
|
|
1933
|
+
dapui_stacks = { glyph = '', hl = 'MiniIconsRed' },
|
|
1934
|
+
dapui_watches = { glyph = '', hl = 'MiniIconsRed' },
|
|
1935
|
+
dashboard = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1936
|
+
edgy = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1937
|
+
fzf = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1938
|
+
harpoon = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1939
|
+
lazy = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1940
|
+
mason = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1941
|
+
['neo-tree'] = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1942
|
+
['neo-tree-popup'] = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1943
|
+
neogitcommitselectview = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1944
|
+
neogitcommitview = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1945
|
+
neogitconsole = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1946
|
+
neogitdiffview = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1947
|
+
neogitgitcommandhistory = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1948
|
+
neogitlogview = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1949
|
+
neogitpopup = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1950
|
+
neogitrebasetodo = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1951
|
+
neogitreflogview = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1952
|
+
neogitrefsview = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1953
|
+
neogitstatus = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1954
|
+
['neotest-output-panel'] = { glyph = '', hl = 'MiniIconsRed' },
|
|
1955
|
+
['neotest-summary'] = { glyph = '', hl = 'MiniIconsRed' },
|
|
1956
|
+
nvimtree = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1957
|
+
oil = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1958
|
+
overseerform = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1959
|
+
overseerlist = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1960
|
+
telescopeprompt = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1961
|
+
trouble = { glyph = '', hl = 'MiniIconsRed' },
|
|
1962
|
+
}
|
|
1963
|
+
|
|
1964
|
+
-- LSP kind values (completion item, symbol, etc.) icons.
|
|
1965
|
+
-- Use only `nf-cod-*` classes with "outline" look. Balance colors.
|
|
1966
|
+
--stylua: ignore
|
|
1967
|
+
H.lsp_icons = {
|
|
1968
|
+
array = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1969
|
+
boolean = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1970
|
+
class = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1971
|
+
color = { glyph = '', hl = 'MiniIconsRed' },
|
|
1972
|
+
constant = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1973
|
+
constructor = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1974
|
+
enum = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1975
|
+
enummember = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1976
|
+
event = { glyph = '', hl = 'MiniIconsRed' },
|
|
1977
|
+
field = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1978
|
+
file = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1979
|
+
folder = { glyph = '', hl = 'MiniIconsBlue' },
|
|
1980
|
+
['function'] = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1981
|
+
interface = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1982
|
+
key = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1983
|
+
keyword = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1984
|
+
method = { glyph = '', hl = 'MiniIconsAzure' },
|
|
1985
|
+
module = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1986
|
+
namespace = { glyph = '', hl = 'MiniIconsRed' },
|
|
1987
|
+
null = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1988
|
+
number = { glyph = '', hl = 'MiniIconsOrange' },
|
|
1989
|
+
object = { glyph = '', hl = 'MiniIconsGrey' },
|
|
1990
|
+
operator = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1991
|
+
package = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1992
|
+
property = { glyph = '', hl = 'MiniIconsYellow' },
|
|
1993
|
+
reference = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1994
|
+
snippet = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1995
|
+
string = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1996
|
+
struct = { glyph = '', hl = 'MiniIconsPurple' },
|
|
1997
|
+
text = { glyph = '', hl = 'MiniIconsGreen' },
|
|
1998
|
+
typeparameter = { glyph = '', hl = 'MiniIconsCyan' },
|
|
1999
|
+
unit = { glyph = '', hl = 'MiniIconsCyan' },
|
|
2000
|
+
value = { glyph = '', hl = 'MiniIconsBlue' },
|
|
2001
|
+
variable = { glyph = '', hl = 'MiniIconsCyan' },
|
|
2002
|
+
}
|
|
2003
|
+
|
|
2004
|
+
-- OS icons. Keys are for operating systems present as `md-*` class icons, as
|
|
2005
|
+
-- this feels representative of "popular" operating systems.
|
|
2006
|
+
--stylua: ignore
|
|
2007
|
+
H.os_icons = {
|
|
2008
|
+
android = { glyph = '', hl = 'MiniIconsGreen' },
|
|
2009
|
+
arch = { glyph = '', hl = 'MiniIconsAzure' },
|
|
2010
|
+
centos = { glyph = '', hl = 'MiniIconsRed' },
|
|
2011
|
+
debian = { glyph = '', hl = 'MiniIconsRed' },
|
|
2012
|
+
fedora = { glyph = '', hl = 'MiniIconsBlue' },
|
|
2013
|
+
freebsd = { glyph = '', hl = 'MiniIconsRed' },
|
|
2014
|
+
gentoo = { glyph = '', hl = 'MiniIconsPurple' },
|
|
2015
|
+
ios = { glyph = '', hl = 'MiniIconsYellow' },
|
|
2016
|
+
linux = { glyph = '', hl = 'MiniIconsCyan' },
|
|
2017
|
+
macos = { glyph = '', hl = 'MiniIconsGrey' },
|
|
2018
|
+
manjaro = { glyph = '', hl = 'MiniIconsGreen' },
|
|
2019
|
+
mint = { glyph = '', hl = 'MiniIconsGreen' },
|
|
2020
|
+
nixos = { glyph = '', hl = 'MiniIconsAzure' },
|
|
2021
|
+
raspberry_pi = { glyph = '', hl = 'MiniIconsRed' },
|
|
2022
|
+
redhat = { glyph = '', hl = 'MiniIconsRed' },
|
|
2023
|
+
ubuntu = { glyph = '', hl = 'MiniIconsOrange' },
|
|
2024
|
+
windows = { glyph = '', hl = 'MiniIconsBlue' },
|
|
2025
|
+
}
|
|
2026
|
+
|
|
2027
|
+
-- Helper functionality =======================================================
|
|
2028
|
+
-- Settings -------------------------------------------------------------------
|
|
2029
|
+
H.setup_config = function(config)
|
|
2030
|
+
H.check_type('config', config, 'table', true)
|
|
2031
|
+
config = vim.tbl_deep_extend('force', vim.deepcopy(H.default_config), config or {})
|
|
2032
|
+
|
|
2033
|
+
H.check_type('style', config.style, 'string')
|
|
2034
|
+
H.check_type('default', config.default, 'table')
|
|
2035
|
+
H.check_type('directory', config.directory, 'table')
|
|
2036
|
+
H.check_type('extension', config.extension, 'table')
|
|
2037
|
+
H.check_type('file', config.file, 'table')
|
|
2038
|
+
H.check_type('filetype', config.filetype, 'table')
|
|
2039
|
+
H.check_type('lsp', config.lsp, 'table')
|
|
2040
|
+
H.check_type('os', config.os, 'table')
|
|
2041
|
+
H.check_type('use_file_extension', config.use_file_extension, 'function')
|
|
2042
|
+
|
|
2043
|
+
return config
|
|
2044
|
+
end
|
|
2045
|
+
|
|
2046
|
+
H.apply_config = function(config)
|
|
2047
|
+
MiniIcons.config = config
|
|
2048
|
+
|
|
2049
|
+
-- Initialize cache for quicker `get()`
|
|
2050
|
+
H.init_cache(config)
|
|
2051
|
+
end
|
|
2052
|
+
|
|
2053
|
+
H.create_autocommands = function()
|
|
2054
|
+
local gr = vim.api.nvim_create_augroup('MiniIcons', {})
|
|
2055
|
+
vim.api.nvim_create_autocmd('ColorScheme', { group = gr, callback = H.create_default_hl, desc = 'Ensure colors' })
|
|
2056
|
+
end
|
|
2057
|
+
|
|
2058
|
+
--stylua: ignore
|
|
2059
|
+
H.create_default_hl = function()
|
|
2060
|
+
local hi = function(name, opts)
|
|
2061
|
+
opts.default = true
|
|
2062
|
+
vim.api.nvim_set_hl(0, name, opts)
|
|
2063
|
+
end
|
|
2064
|
+
|
|
2065
|
+
hi('MiniIconsAzure', { link = 'Function' })
|
|
2066
|
+
hi('MiniIconsBlue', { link = 'DiagnosticInfo' })
|
|
2067
|
+
hi('MiniIconsCyan', { link = 'DiagnosticHint' })
|
|
2068
|
+
hi('MiniIconsGreen', { link = 'DiagnosticOk' })
|
|
2069
|
+
hi('MiniIconsGrey', {})
|
|
2070
|
+
hi('MiniIconsOrange', { link = 'DiagnosticWarn' })
|
|
2071
|
+
hi('MiniIconsPurple', { link = 'Constant' })
|
|
2072
|
+
hi('MiniIconsRed', { link = 'DiagnosticError' })
|
|
2073
|
+
hi('MiniIconsYellow', { link = 'DiagnosticWarn' })
|
|
2074
|
+
end
|
|
2075
|
+
|
|
2076
|
+
-- Cache ----------------------------------------------------------------------
|
|
2077
|
+
H.init_cache = function(config)
|
|
2078
|
+
-- NOTE: process in 'filetype' - 'extension' - 'file' order because previous
|
|
2079
|
+
-- might be used to infer missing data in the next
|
|
2080
|
+
local categories = { 'directory', 'filetype', 'extension', 'file', 'lsp', 'os' }
|
|
2081
|
+
|
|
2082
|
+
H.cache, H.cache_index, H.cache_index_lookup = { default = {} }, {}, {}
|
|
2083
|
+
for _, cat in ipairs(categories) do
|
|
2084
|
+
-- Set "default" category
|
|
2085
|
+
local icon_def, hl_def = H.resolve_icon_data('default', cat, config.default[cat])
|
|
2086
|
+
H.cache_set('default', cat, icon_def, hl_def)
|
|
2087
|
+
|
|
2088
|
+
-- Set custom icons while ensuring proper "fallback" category index entry
|
|
2089
|
+
table.insert(H.cache_index, { icon_def, hl_def, true })
|
|
2090
|
+
H.cache[cat] = { [true] = #H.cache_index }
|
|
2091
|
+
for name, icon_data in pairs(config[cat]) do
|
|
2092
|
+
local icon, hl = H.resolve_icon_data(cat, name, icon_data)
|
|
2093
|
+
H.cache_set(cat, name, icon, hl)
|
|
2094
|
+
end
|
|
2095
|
+
end
|
|
2096
|
+
local icon_def_def, hl_def_def = H.resolve_icon_data('default', 'default', config.default.default)
|
|
2097
|
+
H.cache_set('default', 'default', icon_def_def, hl_def_def)
|
|
2098
|
+
end
|
|
2099
|
+
|
|
2100
|
+
H.resolve_icon_data = function(category, name, icon_data)
|
|
2101
|
+
if type(name) ~= 'string' then return nil end
|
|
2102
|
+
|
|
2103
|
+
icon_data = type(icon_data) == 'table' and icon_data or {}
|
|
2104
|
+
local glyph, hl = icon_data.glyph, icon_data.hl
|
|
2105
|
+
|
|
2106
|
+
-- Allow customizing only one characteristic with proper fallback
|
|
2107
|
+
local has_glyph, has_hl = type(glyph) == 'string', type(hl) == 'string'
|
|
2108
|
+
local builtin_glyph, builtin_hl = '', ''
|
|
2109
|
+
if not (has_glyph and has_hl) then
|
|
2110
|
+
if category == 'default' then
|
|
2111
|
+
builtin_glyph, builtin_hl = H.default_icons[name].glyph, H.default_icons[name].hl
|
|
2112
|
+
else
|
|
2113
|
+
builtin_glyph, builtin_hl = MiniIcons.get(category, name)
|
|
2114
|
+
end
|
|
2115
|
+
end
|
|
2116
|
+
return H.style_icon(has_glyph and glyph or builtin_glyph, name), has_hl and hl or builtin_hl
|
|
2117
|
+
end
|
|
2118
|
+
|
|
2119
|
+
H.cache_get = function(cat, name) return H.cache_index[H.cache[cat][name]] end
|
|
2120
|
+
|
|
2121
|
+
H.cache_set = function(cat, name, icon, hl)
|
|
2122
|
+
-- Process category fallback icon separately
|
|
2123
|
+
if icon == nil then
|
|
2124
|
+
local fallback_id = H.cache[cat][true]
|
|
2125
|
+
H.cache[cat][name] = fallback_id
|
|
2126
|
+
local t = H.cache_index[fallback_id]
|
|
2127
|
+
return t[1], t[2], true
|
|
2128
|
+
end
|
|
2129
|
+
|
|
2130
|
+
-- Compute/ensure cache index
|
|
2131
|
+
local id = (H.cache_index_lookup[hl] or {})[icon]
|
|
2132
|
+
if id == nil then
|
|
2133
|
+
-- Add new unique 'icon-hl'
|
|
2134
|
+
table.insert(H.cache_index, { icon, hl })
|
|
2135
|
+
id = #H.cache_index
|
|
2136
|
+
|
|
2137
|
+
-- Add corresponding lookup entry
|
|
2138
|
+
local hl_icons = H.cache_index_lookup[hl] or {}
|
|
2139
|
+
hl_icons[icon] = id
|
|
2140
|
+
H.cache_index_lookup[hl] = hl_icons
|
|
2141
|
+
end
|
|
2142
|
+
|
|
2143
|
+
-- Add to cache and return result tuple
|
|
2144
|
+
H.cache[cat][name] = id
|
|
2145
|
+
return icon, hl, false
|
|
2146
|
+
end
|
|
2147
|
+
|
|
2148
|
+
-- Getters --------------------------------------------------------------------
|
|
2149
|
+
H.get_impl = {
|
|
2150
|
+
default = function(name) H.error(vim.inspect(name) .. ' is not a supported category.') end,
|
|
2151
|
+
directory = function(name) return H.directory_icons[name] end,
|
|
2152
|
+
extension = function(name)
|
|
2153
|
+
-- Built-in extensions
|
|
2154
|
+
local icon_data = H.extension_icons[name]
|
|
2155
|
+
if type(icon_data) == 'string' then return MiniIcons.get('filetype', icon_data) end
|
|
2156
|
+
if icon_data ~= nil then return icon_data end
|
|
2157
|
+
|
|
2158
|
+
-- Parts of complex extension (if can be recognized)
|
|
2159
|
+
local dot = string.find(name, '%..')
|
|
2160
|
+
while dot ~= nil do
|
|
2161
|
+
local ext = name:sub(dot + 1)
|
|
2162
|
+
if H.extension_icons[ext] or MiniIcons.config.extension[ext] then return MiniIcons.get('extension', ext) end
|
|
2163
|
+
dot = string.find(name, '%..', dot + 1)
|
|
2164
|
+
end
|
|
2165
|
+
|
|
2166
|
+
-- Fall back to built-in filetype matching using generic filename
|
|
2167
|
+
local ft = H.filetype_match('aaa.' .. name)
|
|
2168
|
+
if ft ~= nil then return MiniIcons.get('filetype', ft) end
|
|
2169
|
+
end,
|
|
2170
|
+
file = function(name)
|
|
2171
|
+
local basename = H.fs_basename(name)
|
|
2172
|
+
|
|
2173
|
+
-- User configured file names
|
|
2174
|
+
if MiniIcons.config.file[basename] ~= nil and name ~= basename then return MiniIcons.get('file', basename) end
|
|
2175
|
+
|
|
2176
|
+
-- Built-in file names
|
|
2177
|
+
local icon_data = H.file_icons[basename]
|
|
2178
|
+
if type(icon_data) == 'string' then return MiniIcons.get('filetype', icon_data) end
|
|
2179
|
+
-- - Style icon based on the basename and not full name
|
|
2180
|
+
if icon_data ~= nil then return H.style_icon(icon_data.glyph, basename), icon_data.hl end
|
|
2181
|
+
|
|
2182
|
+
-- Basename extensions. Prefer this before `vim.filetype.match()` for speed
|
|
2183
|
+
-- (as the latter is slow-ish; like 0.1 ms in Neovim<0.11)
|
|
2184
|
+
local dot = string.find(basename, '%..', 2)
|
|
2185
|
+
if dot ~= nil then
|
|
2186
|
+
local ext = basename:sub(dot + 1):lower()
|
|
2187
|
+
if MiniIcons.config.use_file_extension(ext, name) == true then
|
|
2188
|
+
local icon, hl, is_default = MiniIcons.get('extension', ext)
|
|
2189
|
+
if not is_default then return icon, hl end
|
|
2190
|
+
end
|
|
2191
|
+
end
|
|
2192
|
+
|
|
2193
|
+
-- Fall back to built-in filetype matching with full supplied name (matters
|
|
2194
|
+
-- when full path is supplied to match complex filetype patterns)
|
|
2195
|
+
local ft = H.filetype_match(name)
|
|
2196
|
+
if ft ~= nil then return MiniIcons.get('filetype', ft) end
|
|
2197
|
+
end,
|
|
2198
|
+
filetype = function(name) return H.filetype_icons[name] end,
|
|
2199
|
+
lsp = function(name) return H.lsp_icons[name] end,
|
|
2200
|
+
os = function(name) return H.os_icons[name] end,
|
|
2201
|
+
}
|
|
2202
|
+
|
|
2203
|
+
H.str_byteindex = function(s, i) return vim.str_byteindex(s, 'utf-32', i) end
|
|
2204
|
+
if vim.fn.has('nvim-0.11') == 0 then H.str_byteindex = function(s, i) return vim.str_byteindex(s, i) end end
|
|
2205
|
+
|
|
2206
|
+
H.style_icon = function(glyph, name)
|
|
2207
|
+
if MiniIcons.config.style ~= 'ascii' then return glyph end
|
|
2208
|
+
-- Use `vim.str_byteindex()` and `vim.fn.toupper()` for multibyte characters
|
|
2209
|
+
return vim.fn.toupper(name:sub(1, H.str_byteindex(name, 1)))
|
|
2210
|
+
end
|
|
2211
|
+
|
|
2212
|
+
H.filetype_match = function(filename)
|
|
2213
|
+
-- Ensure always present scratch buffer to be used in `vim.filetype.match()`
|
|
2214
|
+
-- (needed because the function in many ambiguous cases prefers to return
|
|
2215
|
+
-- nothing if there is no buffer supplied)
|
|
2216
|
+
local buf_id = H.scratch_buf_id
|
|
2217
|
+
if buf_id == nil or not vim.api.nvim_buf_is_loaded(buf_id) then
|
|
2218
|
+
pcall(vim.api.nvim_buf_delete, buf_id, { force = true })
|
|
2219
|
+
buf_id = vim.api.nvim_create_buf(false, true)
|
|
2220
|
+
H.set_buf_name(buf_id, 'filetype-match-scratch')
|
|
2221
|
+
H.scratch_buf_id = buf_id
|
|
2222
|
+
end
|
|
2223
|
+
|
|
2224
|
+
-- `vim.filetype.match` can error for relative path when cwd does not exist
|
|
2225
|
+
local ok, ft = pcall(vim.filetype.match, { filename = filename, buf = H.scratch_buf_id })
|
|
2226
|
+
if ok then return ft end
|
|
2227
|
+
ok, ft = pcall(vim.filetype.match, { filename = '~/' .. filename, buf = H.scratch_buf_id })
|
|
2228
|
+
return ok and ft or nil
|
|
2229
|
+
end
|
|
2230
|
+
|
|
2231
|
+
-- Utilities ------------------------------------------------------------------
|
|
2232
|
+
H.error = function(msg) error('(mini.icons) ' .. msg, 0) end
|
|
2233
|
+
|
|
2234
|
+
H.check_type = function(name, val, ref, allow_nil)
|
|
2235
|
+
if type(val) == ref or (ref == 'callable' and vim.is_callable(val)) or (allow_nil and val == nil) then return end
|
|
2236
|
+
H.error(string.format('`%s` should be %s, not %s', name, ref, type(val)))
|
|
2237
|
+
end
|
|
2238
|
+
|
|
2239
|
+
H.set_buf_name = function(buf_id, name) vim.api.nvim_buf_set_name(buf_id, 'miniicons://' .. buf_id .. '/' .. name) end
|
|
2240
|
+
|
|
2241
|
+
H.notify = function(msg, level_name) vim.notify('(mini.icons) ' .. msg, vim.log.levels[level_name]) end
|
|
2242
|
+
|
|
2243
|
+
H.fs_basename = function(x) return vim.fn.fnamemodify(x:sub(-1, -1) == '/' and x:sub(1, -2) or x, ':t') end
|
|
2244
|
+
if vim.loop.os_uname().sysname == 'Windows_NT' then
|
|
2245
|
+
H.fs_basename = function(x)
|
|
2246
|
+
local last = x:sub(-1, -1)
|
|
2247
|
+
return vim.fn.fnamemodify((last == '/' or last == '\\') and x:sub(1, -2) or x, ':t')
|
|
2248
|
+
end
|
|
2249
|
+
end
|
|
2250
|
+
|
|
2251
|
+
-- Initialize cache right away to allow using `get()` without `setup()`
|
|
2252
|
+
H.init_cache(MiniIcons.config)
|
|
2253
|
+
|
|
2254
|
+
return MiniIcons
|