├── .editorconfig ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ └── feature_request.md └── workflows │ ├── ci.yml │ ├── pre-commit-autoupdate.yml │ ├── release.yml │ └── semantic-pr-subject.yml ├── .gitignore ├── .luacheckrc ├── .luarc.json ├── .pre-commit-config.yaml ├── .stylua.toml ├── .styluaignore ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── lua ├── nvim-web-devicons.lua └── nvim-web-devicons │ ├── default │ ├── icons_by_desktop_environment.lua │ ├── icons_by_file_extension.lua │ ├── icons_by_filename.lua │ ├── icons_by_operating_system.lua │ └── icons_by_window_manager.lua │ ├── filetypes.lua │ ├── hi-test.lua │ ├── icons-default.lua │ ├── icons-light.lua │ └── light │ ├── icons_by_desktop_environment.lua │ ├── icons_by_file_extension.lua │ ├── icons_by_filename.lua │ ├── icons_by_operating_system.lua │ └── icons_by_window_manager.lua ├── plugin └── nvim-web-devicons.vim └── scripts ├── align.lua ├── filetypes.sh ├── generate.lua └── sort_filetypes.lua /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | insert_final_newline = true 5 | end_of_line = lf 6 | 7 | [*.lua] 8 | indent_style = space 9 | indent_size = 2 10 | 11 | [*.sh] 12 | indent_style = space 13 | indent_size = 2 14 | 15 | [.luarc.json] 16 | indent_style = tab 17 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | lua/nvim-web-devicons/light/* linguist-generated=true 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- 1 | name: Bug report 2 | description: Report a problem 3 | type: bug 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Before reporting: 9 | * search [existing issues](https://github.com/nvim-tree/nvim-web-devicons/issues) 10 | * ensure that nvim-web-devicons is updated to the latest version 11 | * please ensure that you are running the latest version of a [Nerd Font](https://www.nerdfonts.com/) 12 | * windows users please see [Windows and WSL not rendering icons properly on some terminals](https://github.com/nvim-tree/nvim-web-devicons?tab=readme-ov-file#windows-and-wsl-not-rendering-icons-properly-on-some-terminals) 13 | 14 | Please submit a Pull Request to add an icon, see [CONTRIBUTING.md](https://github.com/nvim-tree/nvim-web-devicons/blob/master/CONTRIBUTING.md) 15 | - type: textarea 16 | attributes: 17 | label: "Description" 18 | description: "A short description of the problem you are reporting." 19 | validations: 20 | required: true 21 | - type: textarea 22 | attributes: 23 | label: "Neovim version" 24 | description: "Output of `nvim --version`" 25 | placeholder: | 26 | NVIM v0.10.3 27 | Build type: RelWithDebInfo 28 | LuaJIT 2.1.1731601260 29 | render: text 30 | validations: 31 | required: true 32 | - type: input 33 | attributes: 34 | label: "nvim-web-devicons version" 35 | description: "`cd /nvim-web-devicons.lua ; git log --format='%h' -n 1`" 36 | placeholder: | 37 | commit hash 38 | validations: 39 | required: true 40 | - type: input 41 | attributes: 42 | label: "Operating system and version" 43 | placeholder: "Linux 5.16.11-arch1-1, macOS 11.5, Windows 10" 44 | validations: 45 | required: true 46 | - type: input 47 | attributes: 48 | label: "Windows variant" 49 | placeholder: "WSL, PowerShell, cygwin, msys" 50 | validations: 51 | required: false 52 | - type: textarea 53 | attributes: 54 | label: "Expected behavior" 55 | description: "A description of the behavior you expected:" 56 | - type: textarea 57 | attributes: 58 | label: "Actual behavior" 59 | description: "Observed behavior (may optionally include images, videos or a screencast)." 60 | 61 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for nvim-web-devicons 4 | title: '' 5 | type: feature 6 | assignees: '' 7 | 8 | --- 9 | **Is this a request for a new icon?** 10 | Please submit a Pull Request to add an icon, see [CONTRIBUTING.md](https://github.com/nvim-tree/nvim-web-devicons/blob/master/CONTRIBUTING.md) 11 | 12 | **Is your feature request related to a problem? Please describe.** 13 | A clear and concise description of what the problem is. 14 | 15 | **Describe the solution you'd like** 16 | A clear and concise description of what you want to happen. 17 | 18 | **Describe alternatives you've considered** 19 | A clear and concise description of any alternative solutions or features you've considered. 20 | 21 | **Additional context** 22 | Add any other context or screenshots about the feature request here. 23 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | pull_request: 5 | branches: 6 | - '*' 7 | push: 8 | branches: 9 | - master 10 | 11 | permissions: 12 | contents: read 13 | 14 | jobs: 15 | lint: 16 | runs-on: ubuntu-latest 17 | steps: 18 | - uses: actions/checkout@v3 19 | 20 | - uses: leafo/gh-actions-lua@v10 21 | with: 22 | luaVersion: "5.1" 23 | 24 | - uses: leafo/gh-actions-luarocks@v4 25 | 26 | - name: luacheck 27 | run: | 28 | luarocks install luacheck 1.1.1 29 | make lint 30 | 31 | style: 32 | runs-on: ubuntu-latest 33 | steps: 34 | - uses: actions/checkout@v3 35 | 36 | - name: stylua 37 | uses: JohnnyMorganz/stylua-action@v4 38 | with: 39 | token: ${{ secrets.GITHUB_TOKEN }} 40 | version: "v2.0.2" 41 | args: --check lua scripts 42 | 43 | colors: 44 | runs-on: ubuntu-latest 45 | steps: 46 | - uses: actions/checkout@v3 47 | 48 | - uses: rhysd/action-setup-vim@v1 49 | with: 50 | neovim: true 51 | 52 | - name: make colors-check 53 | run: make colors-check 54 | 55 | filetypes: 56 | runs-on: ubuntu-latest 57 | steps: 58 | - uses: actions/checkout@v3 59 | 60 | - uses: rhysd/action-setup-vim@v1 61 | with: 62 | neovim: true 63 | 64 | - name: make filetypes 65 | env: 66 | VIMRUNTIME: /home/runner/nvim-stable/share/nvim/runtime 67 | run: make filetypes 68 | -------------------------------------------------------------------------------- /.github/workflows/pre-commit-autoupdate.yml: -------------------------------------------------------------------------------- 1 | name: Pre-commit autoupdate 2 | on: 3 | schedule: 4 | - cron: "0 0 * * *" 5 | workflow_dispatch: 6 | permissions: 7 | contents: write 8 | pull-requests: write 9 | jobs: 10 | auto-update: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v4 14 | - uses: actions/setup-python@v5 15 | - run: pip install pre-commit 16 | - run: pre-commit autoupdate 17 | - uses: peter-evans/create-pull-request@v7 18 | with: 19 | token: ${{ secrets.GITHUB_TOKEN }} 20 | branch: update/pre-commit-hooks 21 | title: "chore: update pre-commit hooks" 22 | commit-message: "chore: update pre-commit hooks" 23 | body: Update versions of pre-commit hooks to latest version. 24 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: 4 | push: 5 | tags: 6 | - 'v*' 7 | 8 | workflow_dispatch: 9 | 10 | jobs: 11 | luarocks-upload: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v3 15 | - name: LuaRocks Upload 16 | uses: nvim-neorocks/luarocks-tag-release@v5 17 | env: 18 | LUAROCKS_API_KEY: ${{ secrets.LUAROCKS_API_KEY }} 19 | with: 20 | summary: Nerd Font icons for neovim 21 | detailed_description: | 22 | Coloured Nerd Font file icons for neovim. 23 | 24 | Dark and light background variants. 25 | 26 | https://www.nerdfonts.com/ 27 | license: MIT 28 | labels: neovim 29 | -------------------------------------------------------------------------------- /.github/workflows/semantic-pr-subject.yml: -------------------------------------------------------------------------------- 1 | name: Semantic Pull Request Subject 2 | on: 3 | pull_request: 4 | types: 5 | - opened 6 | - reopened 7 | - edited 8 | - synchronize 9 | jobs: 10 | semantic-pr-subject: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: amannn/action-semantic-pull-request@v4.5.0 14 | env: 15 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .lua 2 | .luarocks 3 | /vim-colortemplate/ 4 | mini-align/ 5 | -------------------------------------------------------------------------------- /.luacheckrc: -------------------------------------------------------------------------------- 1 | max_line_length = 120 2 | 3 | globals = { 4 | "vim", 5 | "jit", 6 | "bit", 7 | } 8 | 9 | read_globals = { 10 | "MiniAlign", 11 | } 12 | 13 | files["lua/nvim-web-devicons/*/icons_*.lua"].max_line_length = 200 14 | -------------------------------------------------------------------------------- /.luarc.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://raw.githubusercontent.com/sumneko/vscode-lua/master/setting/schema.json", 3 | "runtime.version" : "Lua 5.1", 4 | "diagnostics": { 5 | "globals": [ 6 | "vim", 7 | "jit", 8 | "bit", 9 | "MiniAlign" 10 | ] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | repos: 2 | - repo: https://github.com/johnnymorganz/stylua 3 | rev: v2.1.0 4 | hooks: 5 | - id: stylua-github 6 | fail_fast: true 7 | verbose: true 8 | types: [lua] 9 | - repo: local 10 | hooks: 11 | - id: luacheck 12 | name: Luacheck 13 | description: Lints Lua files using Luacheck. 14 | entry: luacheck -- 15 | language: system 16 | fail_fast: true 17 | verbose: true 18 | types: [lua] 19 | - repo: local 20 | hooks: 21 | - id: colors 22 | name: colors 23 | description: Ensures Light Color Scheme version has been generated. 24 | entry: make colors-check 25 | language: system 26 | require_serial: true 27 | pass_filenames: false 28 | verbose: true 29 | 30 | -------------------------------------------------------------------------------- /.stylua.toml: -------------------------------------------------------------------------------- 1 | column_width = 120 2 | line_endings = "Unix" 3 | indent_type = "Spaces" 4 | indent_width = 2 5 | quote_style = "AutoPreferDouble" 6 | call_parentheses = "None" 7 | -------------------------------------------------------------------------------- /.styluaignore: -------------------------------------------------------------------------------- 1 | lua/nvim-web-devicons/*/icons_*.lua 2 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to `nvim-web-devicons` 2 | 3 | Thank you for your contribution! 4 | 5 | ## Prerequisites 6 | 7 | Code is formatted using *stylua* and linted using *luacheck*. 8 | 9 | You can install these with: 10 | 11 | ```sh 12 | cargo install stylua 13 | luarocks install luacheck 14 | ``` 15 | 16 | or via your OS package manager e.g. *Arch Linux*: 17 | 18 | ```sh 19 | pacman -S stylua luacheck 20 | ``` 21 | 22 | ## Adding icons 23 | 24 | Add or update icons in `lua/nvim-web-devicons/default/` directory 25 | 26 | There are five files where icons can be added: 27 | 28 | 1. `icons_by_filename.lua` 29 | 2. `icons_by_file_extension.lua` 30 | 3. `icons_by_operating_system.lua` 31 | 4. `icons_by_desktop_environment.lua` 32 | 5. `icons_by_window_manager.lua` 33 | 34 | Add the icon to table in file **1.** if the icon is for a file that is always named that way, for example `.gitconfig`. 35 | Add the icon to table in file **2.** if the icon is for all files with an extension, for example `vim`. 36 | Add the icon to table in files **3.**, **4.** and **5.** if the icon is from an OS, DE or WM. 37 | 38 | Each icon must have the following structure (this is an example): 39 | 40 | ```lua 41 | [".gitconfig"] = { icon = "", color = "#41535b", cterm_color = "0", name = "GitConfig" }, 42 | ``` 43 | 44 | > [!IMPORTANT] 45 | > Make sure each icon association occupies exactly one line. 46 | 47 | ***All of the following keys are required:*** 48 | 49 | - `icon` glyph 50 | - `color` must contain a color in the html notation 51 | - `cterm_color` must contain a number (any number) 52 | - the correct value for `cterm_color` will be generated by the script in next step 53 | - `name` must only contain alphanumeric characters (don't use `/`, `-`, `_`) 54 | 55 | ## Building 56 | 57 | Note: Ensure your current working directory is the repo root. 58 | 59 | Following your changes, please run: 60 | 61 | ```sh 62 | make 63 | ``` 64 | 65 | This will: 66 | 67 | 1. Install required plugins: [vim-colortemplate](https://github.com/lifepillar/vim-colortemplate.git) and [mini.align](https://github.com/echasnovski/mini.align) if necessary 68 | 2. Generate cterm colors 69 | 3. Generate light color variants 70 | 4. Check style 71 | 5. Lint 72 | 6. Find missing filetypes 73 | 74 | You can automatically fix any style issues via: 75 | 76 | ```sh 77 | make style-fix 78 | ``` 79 | 80 | Please commit all files from `lua/nvim-web-devicons/default/`, `lua/nvim-web-devicons/light/` end `lua/nvim-web-devicons/filetypes.lua` 81 | 82 | ## Test 83 | 84 | Run `:NvimWebDeviconsHiTest` to view the icons and their highlighting. 85 | 86 | Start *Neovim* with `TERM=xterm-256color nvim ...` to test cterm. 87 | 88 | Check with `&background` `dark` and `light` 89 | 90 | ## Documentation 91 | 92 | When modifying or adding API, please update [Usage](README.md#Usage) 93 | 94 | ## Pull Request 95 | 96 | Please reference any issues in the description e.g. "resolves #1234", which will be closed upon merge. 97 | 98 | Please check "allow edits by maintainers" to allow *nvim-web-devicons* maintainers to make small changes 99 | such as documentation tweaks. 100 | 101 | ## Subject 102 | 103 | The merge commit message will be the subject of the PR. 104 | 105 | A [Conventional Commits] subject will be validated by the Semantic Pull Request Subject CI job. 106 | Reference the issue to be used in the release notes e.g. 107 | 108 | ```txt 109 | feat: add gradle icons 110 | fix: update rust icon 111 | feat(#192): :NvimWebDeviconsHiTest 112 | ``` 113 | 114 | Available types: 115 | 116 | - feat: A new feature 117 | - fix: A bug fix 118 | - docs: Documentation only changes 119 | - style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) 120 | - refactor: A code change that neither fixes a bug nor adds a feature 121 | - perf: A code change that improves performance 122 | - test: Adding missing tests or correcting existing tests 123 | - build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) 124 | - ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) 125 | - chore: Other changes that don't modify src or test files 126 | - revert: Reverts a previous commit 127 | 128 | If in doubt, look at previous commits. 129 | 130 | See also [The Conventional Commits ultimate cheatsheet](https://gist.github.com/gabrielecanepa/fa6cca1a8ae96f77896fe70ddee65527) 131 | 132 | ## Browser Font 133 | 134 | It is useful to see the actual glyphs in the pull request. That can be done by setting the browser font to your nerd font. 135 | 136 | Using firefox: 137 | 138 | - Settings -> General 139 | - Fonts -> Advanced 140 | - Change Monospace to "Hack Nerd Font Mono" or similar 141 | - Uncheck "Allow pages to choose their own fonts, instead of your selections above" 142 | 143 | [Conventional Commits]: 144 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 nvim-tree 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | VIM_COLORTEMPLATE_VERSION = 2.2.3 2 | VIM_MINI_ALIGN_VERSION = 0.14.0 3 | 4 | all: generate style-check lint filetypes 5 | 6 | generate: vim-colortemplate mini-align 7 | rm -f lua/nvim-web-devicons/light/icons_by_*.lua 8 | cp lua/nvim-web-devicons/default/icons_by_*.lua lua/nvim-web-devicons/light/ 9 | nvim \ 10 | --clean \ 11 | --headless \ 12 | --cmd "set rtp^=vim-colortemplate" \ 13 | --cmd "set rtp^=mini-align" \ 14 | -c 'source scripts/generate.lua' \ 15 | -c 'source scripts/align.lua' \ 16 | -c 'source scripts/sort_filetypes.lua' \ 17 | -c 'qall' 18 | 19 | colors-check: generate 20 | git diff --exit-code lua/nvim-web-devicons/default/ 21 | git diff --exit-code lua/nvim-web-devicons/light/ 22 | git diff --exit-code lua/nvim-web-devicons/filetypes.lua 23 | 24 | vim-colortemplate: 25 | mkdir -p vim-colortemplate 26 | curl -L https://github.com/lifepillar/vim-colortemplate/archive/refs/tags/v$(VIM_COLORTEMPLATE_VERSION).tar.gz | tar zx --directory vim-colortemplate --strip-components=1 27 | 28 | mini-align: 29 | mkdir -p mini-align 30 | curl -L https://github.com/echasnovski/mini.align/archive/refs/tags/v$(VIM_MINI_ALIGN_VERSION).tar.gz | tar zx --directory mini-align --strip-components=1 31 | 32 | style-check: 33 | stylua . --check 34 | 35 | style-fix: 36 | stylua . 37 | 38 | lint: 39 | luacheck lua scripts 40 | 41 | filetypes: 42 | ./scripts/filetypes.sh 43 | 44 | clean: 45 | rm -rf vim-colortemplate 46 | rm -rf mini-align 47 | 48 | .PHONY: all clean generate colors-check style-check style-fix lint filetypes 49 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Nvim-web-devicons 2 | 3 | Provides [Nerd Font](https://www.nerdfonts.com/) [^1] icons (glyphs) for use by *Neovim* plugins: 4 | 5 | - Icons by: 6 | - Extension 7 | - Full name 8 | - Colours 9 | - Light and dark variants 10 | - API to modify/add icons 11 | 12 | A `lua` fork of [vim-devicons](https://github.com/ryanoasis/vim-devicons). 13 | 14 | > [!TIP] 15 | > nvim-web-devicons adds new icons as they are introduced to Nerd Fonts. Please ensure that you are using the latest version of the font as newly introduced icons may display incorrectly or as an "unknown character". 16 | 17 | > [!IMPORTANT] 18 | > Nerd fonts moved some symbols with version 3.0. Version 2.3 is meant for transition, 19 | > supporting both version 2 and version 3 icons. 20 | > Nvim-web-devicons requires version 2.3 or above to work properly. If you are unable to update 21 | > please use your plugin manager to pin version of nvim-web-dev icons to `nerd-v2-compat` tag. 22 | 23 | [^1]: Not limited to Nerd Font icons: unicode and other fonts may be used. 24 | 25 | ## Requirements 26 | 27 | - [neovim >=0.7.0](https://github.com/neovim/neovim/wiki/Installing-Neovim) 28 | - [A Patched Nerd Font](https://www.nerdfonts.com/) 29 | 30 | ## Installation 31 | 32 | ```vim 33 | Plug 'nvim-tree/nvim-web-devicons' 34 | ``` 35 | 36 | or with [packer.nvim](https://github.com/wbthomason/packer.nvim) 37 | 38 | ```lua 39 | use 'nvim-tree/nvim-web-devicons' 40 | ``` 41 | 42 | or with [lazy.nvim](https://github.com/folke/lazy.nvim) 43 | 44 | ```lua 45 | { "nvim-tree/nvim-web-devicons", opts = {} }, 46 | ``` 47 | 48 | [![LuaRocks](https://img.shields.io/luarocks/v/nvim-tree/nvim-web-devicons?logo=lua&color=purple)](https://luarocks.org/modules/nvim-tree/nvim-web-devicons) 49 | 50 | ## Additional Icons 51 | 52 | Additional icons may be added for icons that are present in Nerd Fonts: use the [Cheat Sheet](https://www.nerdfonts.com/cheat-sheet) search for available icons. 53 | 54 | PRs are always welcome! Please see [CONTRIBUTING](CONTRIBUTING.md) 55 | 56 | > [!IMPORTANT] 57 | > If the icon you need is not available on Nerd Fonts you first need to make a 58 | > PR to a project that feeds glyphs to Nerd Fonts. Probably the most adequate 59 | > project to contribute is . 60 | > Take into account that **months** can pass before the icon is available on the 61 | > Nerd Fonts project, once there feel free to open a PR on this project, see 62 | > [CONTRIBUTING](CONTRIBUTING.md) 63 | 64 | ## Usage 65 | 66 | ### Viewing 67 | 68 | Run `:NvimWebDeviconsHiTest` to see all icons and their highlighting. 69 | 70 | ### Variants 71 | 72 | Light or dark color variants of the icons depend on `&background`. 73 | The variant can also be set manually in `setup` with the `variant` option. 74 | 75 | The variant is updated: 76 | 77 | - on `OptionSet` event for `background`, or 78 | - after explicitly calling `require("nvim-web-devicons").refresh()`. 79 | 80 | However, be advised that the plugin using nvim-web-devicons may have cached the icons. 81 | 82 | ### Case Sensitivity 83 | 84 | Filename icons e.g. `"Dockerfile"` are case insensitively matched. 85 | 86 | Extension icons e.g. `"lua"` are case sensitive. 87 | 88 | ### Setup 89 | 90 | This adds all the highlight groups for the devicons 91 | i.e. it calls `vim.api.nvim_set_hl` for all icons 92 | this might need to be re-called in a `Colorscheme` to re-apply cleared highlights 93 | if the color scheme changes 94 | 95 | ```lua 96 | require'nvim-web-devicons'.setup { 97 | -- your personal icons can go here (to override) 98 | -- you can specify color or cterm_color instead of specifying both of them 99 | -- DevIcon will be appended to `name` 100 | override = { 101 | zsh = { 102 | icon = "", 103 | color = "#428850", 104 | cterm_color = "65", 105 | name = "Zsh" 106 | } 107 | }; 108 | -- globally enable different highlight colors per icon (default to true) 109 | -- if set to false all icons will have the default icon's color 110 | color_icons = true; 111 | -- globally enable default icons (default to false) 112 | -- will get overriden by `get_icons` option 113 | default = true; 114 | -- globally enable "strict" selection of icons - icon will be looked up in 115 | -- different tables, first by filename, and if not found by extension; this 116 | -- prevents cases when file doesn't have any extension but still gets some icon 117 | -- because its name happened to match some extension (default to false) 118 | strict = true; 119 | -- set the light or dark variant manually, instead of relying on `background` 120 | -- (default to nil) 121 | variant = "light|dark"; 122 | -- same as `override` but specifically for overrides by filename 123 | -- takes effect when `strict` is true 124 | override_by_filename = { 125 | [".gitignore"] = { 126 | icon = "", 127 | color = "#f1502f", 128 | name = "Gitignore" 129 | } 130 | }; 131 | -- same as `override` but specifically for overrides by extension 132 | -- takes effect when `strict` is true 133 | override_by_extension = { 134 | ["log"] = { 135 | icon = "", 136 | color = "#81e043", 137 | name = "Log" 138 | } 139 | }; 140 | -- same as `override` but specifically for operating system 141 | -- takes effect when `strict` is true 142 | override_by_operating_system = { 143 | ["apple"] = { 144 | icon = "", 145 | color = "#A2AAAD", 146 | cterm_color = "248", 147 | name = "Apple", 148 | }, 149 | }; 150 | } 151 | ``` 152 | 153 | ### Get Icon 154 | 155 | Get the icon for a given file by passing in the `name`, the `extension` and an *optional* options `table`. 156 | The name is passed in to check for an exact match e.g. `.bashrc` if there is no exact name match the extension 157 | is used. Calls `.setup()` if it hasn't already ran. 158 | 159 | ```lua 160 | require'nvim-web-devicons'.get_icon(filename, extension, options) 161 | ``` 162 | 163 | The optional `options` argument can used to change how the plugin works the keys include 164 | `default = ` and `strict = `. If the default key is set to true this 165 | function will return a default if there is no matching icon. If the strict key is set 166 | to true this function will lookup icon specifically by filename, and if not found then 167 | specifically by extension, and fallback to default icon if default key is set to true. 168 | e.g. 169 | 170 | ```lua 171 | require'nvim-web-devicons'.get_icon(filename, extension, { default = true }) 172 | ``` 173 | 174 | You can check if the setup function was already called with: 175 | 176 | ```lua 177 | require'nvim-web-devicons'.has_loaded() 178 | ``` 179 | 180 | ### Get icon and color code 181 | 182 | `get_icon_color` differs from `get_icon` only in the second return value. 183 | `get_icon_cterm_color` returns cterm color instead of gui color 184 | `get_icon` returns icon and highlight name. 185 | If you want to get color code, you can use this function. 186 | 187 | ```lua 188 | local icon, color = require'nvim-web-devicons'.get_icon_color("init.lua", "lua") 189 | assert(icon == "") 190 | assert(color == "#51a0cf") 191 | ``` 192 | 193 | ### Get all icons 194 | 195 | It is possible to get all of the registered icons with the `get_icons()` function: 196 | 197 | ```lua 198 | require'nvim-web-devicons'.get_icons() 199 | ``` 200 | 201 | This can be useful for debugging purposes or for creating custom highlights for each icon. 202 | 203 | Mapped categories can be fetched via: 204 | 205 | ```lua 206 | require'nvim-web-devicons'.get_icons_by_filename() 207 | require'nvim-web-devicons'.get_icons_by_extension() 208 | require'nvim-web-devicons'.get_icons_by_operating_system() 209 | require'nvim-web-devicons'.get_icons_by_desktop_environment() 210 | require'nvim-web-devicons'.get_icons_by_window_manager() 211 | ``` 212 | 213 | ### Set an icon 214 | 215 | You can override individual icons with the `set_icon({...})` function: 216 | 217 | ```lua 218 | require("nvim-web-devicons").set_icon { 219 | zsh = { 220 | icon = "", 221 | color = "#428850", 222 | cterm_color = "65", 223 | name = "Zsh" 224 | } 225 | } 226 | ``` 227 | 228 | You can override the default icon with the `set_default_icon(icon, color, cterm_color)` function: 229 | 230 | ```lua 231 | require("nvim-web-devicons").set_default_icon('', '#6d8086', 65) 232 | ``` 233 | 234 | ### Getting and setting icons by filetype 235 | 236 | You can get the icon and colors associated with a filetype using the `by_filetype` functions: 237 | 238 | ```lua 239 | require("nvim-web-devicons").get_icon_by_filetype(filetype, opts) 240 | require("nvim-web-devicons").get_icon_colors_by_filetype(filetype, opts) 241 | require("nvim-web-devicons").get_icon_color_by_filetype(filetype, opts) 242 | require("nvim-web-devicons").get_icon_cterm_color_by_filetype(filetype, opts) 243 | ``` 244 | 245 | or set the icon to use for a filetype with: 246 | 247 | ```lua 248 | require("nvim-web-devicons").set_icon_by_filetype { cpp = "c", pandoc = "md", } 249 | ``` 250 | 251 | These functions are the same as their counterparts without the `_by_filetype` suffix, 252 | but they take a filetype instead of a name/extension. 253 | 254 | You can also use `get_icon_name_by_filetype(filetype)` to get the icon name associated with the filetype. 255 | 256 | ## Known Issues 257 | 258 | ### My `setup` Overrides Are Not Applied 259 | 260 | *Cause:* A plugin may be calling nvim-web-devicons `setup` before you do. Your `setup` call will be ignored. 261 | 262 | *Workaround:* Call nvim-web-devicons `setup` before the plugin's own `setup`. 263 | 264 | ### Windows and WSL not rendering icons properly on some terminals 265 | 266 | On Windows and WSL, it is possible that the icons are not rendered properly when 267 | using a terminal that relies on Windows' default system libraries. An example 268 | of this is Alacritty ([#271](https://github.com/nvim-tree/nvim-web-devicons/issues/271#issuecomment-2081280928)). 269 | Other terminals (e.g. Windows Terminal, and WezTerm) do no have this issue, as 270 | they ship newer versions of these libraries. More precisely, they use newer 271 | versions of `conpty.dll` and `OpenConsole.exe`. So, as a workaround to the 272 | rendering issue, you need to make your terminal use these newer files. Whether 273 | this is possible depends on the terminal you are using. Please refer to the 274 | terminal's documentation for this. 275 | 276 | In the specific case of Alacritty, you need to place up-to-date `conpty.dll` and 277 | `OpenConsole.exe` files in your `PATH`. Microsoft does not provide these files 278 | directly, but you can get them from other terminal emulators that ship them. 279 | 280 | ## Contributing 281 | 282 | PRs are always welcome! Please see [CONTRIBUTING](CONTRIBUTING.md) 283 | -------------------------------------------------------------------------------- /lua/nvim-web-devicons.lua: -------------------------------------------------------------------------------- 1 | local M = {} 2 | 3 | ---@alias iconName string Name of the icon 4 | 5 | ---@class Icon 6 | ---@field icon string Nerd-font glyph 7 | ---@field color string Hex color code 8 | ---@field cterm_color string cterm color code 9 | ---@field name iconName 10 | 11 | -- NOTE: When adding new icons, remember to add an entry to the `filetypes` table, if applicable. 12 | local icons, icons_by_filename, icons_by_file_extension, icons_by_operating_system 13 | local icons_by_desktop_environment, icons_by_window_manager 14 | local user_icons 15 | 16 | local filetypes = require "nvim-web-devicons.filetypes" 17 | 18 | ---@type Icon 19 | local default_icon = { 20 | icon = "", 21 | color = "#6d8086", 22 | cterm_color = "66", 23 | name = "Default", 24 | } 25 | 26 | function M.get_icons() 27 | return icons 28 | end 29 | 30 | function M.get_icons_by_filename() 31 | return icons_by_filename 32 | end 33 | 34 | function M.get_icons_by_extension() 35 | return icons_by_file_extension 36 | end 37 | 38 | function M.get_icons_by_operating_system() 39 | return icons_by_operating_system 40 | end 41 | 42 | function M.get_icons_by_desktop_environment() 43 | return icons_by_desktop_environment 44 | end 45 | 46 | function M.get_icons_by_window_manager() 47 | return icons_by_window_manager 48 | end 49 | 50 | local global_opts = { 51 | override = {}, 52 | strict = false, 53 | default = false, 54 | color_icons = true, 55 | variant = nil, 56 | } 57 | 58 | ---Change all keys in a table to lowercase 59 | ---Remove entry when lowercase entry already exists 60 | ---@param t table 61 | local function lowercase_keys(t) 62 | if not t then 63 | return 64 | end 65 | 66 | for k, v in pairs(t) do 67 | if type(k) == "string" then 68 | local lower_k = k:lower() 69 | if lower_k ~= k then 70 | if not t[lower_k] then 71 | t[lower_k] = v 72 | end 73 | t[k] = nil 74 | end 75 | end 76 | end 77 | end 78 | 79 | -- Set the current icons tables, depending on variant option, then &background 80 | local function refresh_icons() 81 | local theme 82 | if global_opts.variant == "light" then 83 | theme = require "nvim-web-devicons.icons-light" 84 | elseif global_opts.variant == "dark" then 85 | theme = require "nvim-web-devicons.icons-default" 86 | else 87 | if vim.o.background == "light" then 88 | theme = require "nvim-web-devicons.icons-light" 89 | else 90 | theme = require "nvim-web-devicons.icons-default" 91 | end 92 | end 93 | 94 | icons_by_filename = theme.icons_by_filename 95 | icons_by_file_extension = theme.icons_by_file_extension 96 | icons_by_operating_system = theme.icons_by_operating_system 97 | icons_by_desktop_environment = theme.icons_by_desktop_environment 98 | icons_by_window_manager = theme.icons_by_window_manager 99 | 100 | -- filename matches are case insensitive 101 | lowercase_keys(icons_by_filename) 102 | 103 | icons = vim.tbl_extend( 104 | "keep", 105 | {}, 106 | icons_by_filename, 107 | icons_by_file_extension, 108 | icons_by_operating_system, 109 | icons_by_desktop_environment, 110 | icons_by_window_manager 111 | ) 112 | icons = vim.tbl_extend("force", icons, global_opts.override) 113 | icons[1] = default_icon 114 | end 115 | 116 | local function get_highlight_name(data) 117 | if not global_opts.color_icons then 118 | data = default_icon 119 | end 120 | 121 | return data.name and "DevIcon" .. data.name 122 | end 123 | 124 | local nvim_set_hl = vim.api.nvim_set_hl 125 | local function set_up_highlight(icon_data) 126 | if not global_opts.color_icons then 127 | icon_data = default_icon 128 | end 129 | 130 | local hl_group = get_highlight_name(icon_data) 131 | if hl_group and (icon_data.color or icon_data.cterm_color) then 132 | nvim_set_hl(0, get_highlight_name(icon_data), { 133 | fg = icon_data.color, 134 | ctermfg = tonumber(icon_data.cterm_color), 135 | }) 136 | end 137 | end 138 | 139 | local function highlight_exists(group) 140 | if not group then 141 | return 142 | end 143 | 144 | if vim.fn.has "nvim-0.9" == 1 then 145 | local hl = vim.api.nvim_get_hl(0, { name = group, link = false }) 146 | return not vim.tbl_isempty(hl) 147 | else 148 | local ok, hl = pcall(vim.api.nvim_get_hl_by_name, group, true) ---@diagnostic disable-line: deprecated 149 | return ok and not (hl or {})[true] 150 | end 151 | end 152 | 153 | function M.set_up_highlights(allow_override) 154 | if not global_opts.color_icons then 155 | set_up_highlight(default_icon) 156 | return 157 | end 158 | 159 | for _, icon_data in pairs(icons) do 160 | local has_color = icon_data.color or icon_data.cterm_color 161 | local name_valid = icon_data.name 162 | local defined_before = highlight_exists(get_highlight_name(icon_data)) 163 | if has_color and name_valid and (allow_override or not defined_before) then 164 | set_up_highlight(icon_data) 165 | end 166 | end 167 | end 168 | 169 | local function get_highlight_foreground(icon_data) 170 | if not global_opts.color_icons then 171 | icon_data = default_icon 172 | end 173 | 174 | local higroup = get_highlight_name(icon_data) 175 | 176 | local fg 177 | if vim.fn.has "nvim-0.9" == 1 then 178 | fg = vim.api.nvim_get_hl(0, { name = higroup, link = false }).fg 179 | else 180 | fg = vim.api.nvim_get_hl_by_name(higroup, true).foreground ---@diagnostic disable-line: deprecated 181 | end 182 | 183 | return string.format("#%06x", fg) 184 | end 185 | 186 | local function get_highlight_ctermfg(icon_data) 187 | if not global_opts.color_icons then 188 | icon_data = default_icon 189 | end 190 | 191 | local higroup = get_highlight_name(icon_data) 192 | 193 | if vim.fn.has "nvim-0.9" == 1 then 194 | --- @type string 195 | --- @diagnostic disable-next-line: undefined-field vim.api.keyset.hl_info specifies cterm, not ctermfg 196 | return vim.api.nvim_get_hl(0, { name = higroup, link = false }).ctermfg 197 | else 198 | return vim.api.nvim_get_hl_by_name(higroup, false).foreground ---@diagnostic disable-line: deprecated 199 | end 200 | end 201 | 202 | local function apply_user_icons() 203 | if type(user_icons) ~= "table" then 204 | return 205 | end 206 | 207 | if user_icons.override and user_icons.override.default_icon then 208 | default_icon = user_icons.override.default_icon 209 | end 210 | 211 | local user_filename_icons = user_icons.override_by_filename 212 | local user_file_ext_icons = user_icons.override_by_extension 213 | local user_operating_system_icons = user_icons.override_by_operating_system 214 | local user_desktop_environment_icons = user_icons.override_by_desktop_environment 215 | local user_window_manager_icons = user_icons.override_by_window_manager 216 | 217 | -- filename matches are case insensitive 218 | lowercase_keys(icons_by_filename) 219 | lowercase_keys(user_icons.override) 220 | lowercase_keys(user_icons.override_by_filename) 221 | 222 | icons = vim.tbl_extend( 223 | "force", 224 | icons, 225 | user_icons.override or {}, 226 | user_filename_icons or {}, 227 | user_file_ext_icons or {}, 228 | user_operating_system_icons or {}, 229 | user_desktop_environment_icons or {}, 230 | user_window_manager_icons or {} 231 | ) 232 | global_opts.override = vim.tbl_extend( 233 | "force", 234 | global_opts.override, 235 | user_icons.override or {}, 236 | user_filename_icons or {}, 237 | user_file_ext_icons or {}, 238 | user_operating_system_icons or {}, 239 | user_desktop_environment_icons or {}, 240 | user_window_manager_icons or {} 241 | ) 242 | 243 | if user_filename_icons then 244 | icons_by_filename = vim.tbl_extend("force", icons_by_filename, user_filename_icons) 245 | end 246 | if user_file_ext_icons then 247 | icons_by_file_extension = vim.tbl_extend("force", icons_by_file_extension, user_file_ext_icons) 248 | end 249 | if user_operating_system_icons then 250 | icons_by_operating_system = vim.tbl_extend("force", icons_by_operating_system, user_operating_system_icons) 251 | end 252 | if user_desktop_environment_icons then 253 | icons_by_desktop_environment = vim.tbl_extend("force", icons_by_desktop_environment, user_desktop_environment_icons) 254 | end 255 | if user_window_manager_icons then 256 | icons_by_window_manager = vim.tbl_extend("force", icons_by_window_manager, user_window_manager_icons) 257 | end 258 | 259 | icons[1] = default_icon 260 | end 261 | 262 | local loaded = false 263 | 264 | function M.has_loaded() 265 | return loaded 266 | end 267 | 268 | local if_nil = vim.F.if_nil 269 | function M.setup(opts) 270 | if loaded then 271 | return 272 | end 273 | 274 | loaded = true 275 | 276 | user_icons = opts or {} 277 | 278 | if user_icons.default then 279 | global_opts.default = true 280 | end 281 | 282 | if user_icons.strict then 283 | global_opts.strict = true 284 | end 285 | 286 | global_opts.color_icons = if_nil(user_icons.color_icons, global_opts.color_icons) 287 | 288 | if user_icons.variant == "light" or user_icons.variant == "dark" then 289 | global_opts.variant = user_icons.variant 290 | 291 | -- Reload the icons after setting variant option 292 | refresh_icons() 293 | end 294 | 295 | apply_user_icons() 296 | 297 | M.set_up_highlights() 298 | 299 | vim.api.nvim_create_autocmd("ColorScheme", { 300 | desc = "Re-apply icon colors after changing colorschemes", 301 | group = vim.api.nvim_create_augroup("NvimWebDevicons", { clear = true }), 302 | callback = M.set_up_highlights, 303 | }) 304 | 305 | -- highlight test command 306 | vim.api.nvim_create_user_command("NvimWebDeviconsHiTest", function() 307 | require "nvim-web-devicons.hi-test"( 308 | default_icon, 309 | global_opts.override, 310 | icons_by_filename, 311 | icons_by_file_extension, 312 | icons_by_operating_system, 313 | icons_by_desktop_environment, 314 | icons_by_window_manager 315 | ) 316 | end, { 317 | desc = "nvim-web-devicons: highlight test", 318 | }) 319 | end 320 | 321 | function M.get_default_icon() 322 | return default_icon 323 | end 324 | 325 | -- recursively iterate over each segment separated by '.' to parse extension with multiple dots in filename 326 | local function iterate_multi_dotted_extension(name, icon_table) 327 | if name == nil then 328 | return nil 329 | end 330 | 331 | local compound_ext = name:match "%.(.*)" 332 | local icon = icon_table[compound_ext] 333 | if icon then 334 | return icon 335 | end 336 | 337 | return iterate_multi_dotted_extension(compound_ext, icon_table) 338 | end 339 | 340 | local function get_icon_by_extension(name, ext, opts) 341 | local is_strict = if_nil(opts and opts.strict, global_opts.strict) 342 | local icon_table = is_strict and icons_by_file_extension or icons 343 | 344 | if ext ~= nil then 345 | return icon_table[ext] 346 | end 347 | 348 | return iterate_multi_dotted_extension(name, icon_table) 349 | end 350 | 351 | local function get_icon_data(name, ext, opts) 352 | if type(name) == "string" then 353 | name = name:lower() 354 | end 355 | 356 | if not loaded then 357 | M.setup() 358 | end 359 | 360 | local has_default = if_nil(opts and opts.default, global_opts.default) 361 | local is_strict = if_nil(opts and opts.strict, global_opts.strict) 362 | local icon_data 363 | if is_strict then 364 | icon_data = icons_by_filename[name] or get_icon_by_extension(name, ext, opts) or (has_default and default_icon) 365 | else 366 | icon_data = icons[name] or get_icon_by_extension(name, ext, opts) or (has_default and default_icon) 367 | end 368 | 369 | return icon_data 370 | end 371 | 372 | function M.get_icon(name, ext, opts) 373 | local icon_data = get_icon_data(name, ext, opts) 374 | 375 | if icon_data then 376 | return icon_data.icon, get_highlight_name(icon_data) 377 | end 378 | end 379 | 380 | function M.get_icon_name_by_filetype(ft) 381 | return filetypes[ft] 382 | end 383 | 384 | function M.get_icon_by_filetype(ft, opts) 385 | local name = M.get_icon_name_by_filetype(ft) 386 | opts = opts or {} 387 | opts.strict = false 388 | return M.get_icon(name or "", nil, opts) 389 | end 390 | 391 | function M.get_icon_colors(name, ext, opts) 392 | local icon_data = get_icon_data(name, ext, opts) 393 | 394 | if icon_data then 395 | local color = icon_data.color 396 | local cterm_color = icon_data.cterm_color 397 | if icon_data.name and highlight_exists(get_highlight_name(icon_data)) then 398 | color = get_highlight_foreground(icon_data) or color 399 | cterm_color = get_highlight_ctermfg(icon_data) or cterm_color 400 | end 401 | return icon_data.icon, color, cterm_color 402 | end 403 | end 404 | 405 | function M.get_icon_colors_by_filetype(ft, opts) 406 | local name = M.get_icon_name_by_filetype(ft) 407 | return M.get_icon_colors(name or "", nil, opts) 408 | end 409 | 410 | function M.get_icon_color(name, ext, opts) 411 | local data = { M.get_icon_colors(name, ext, opts) } 412 | return data[1], data[2] 413 | end 414 | 415 | function M.get_icon_color_by_filetype(ft, opts) 416 | local name = M.get_icon_name_by_filetype(ft) 417 | opts = opts or {} 418 | opts.strict = false 419 | return M.get_icon_color(name or "", nil, opts) 420 | end 421 | 422 | function M.get_icon_cterm_color(name, ext, opts) 423 | local data = { M.get_icon_colors(name, ext, opts) } 424 | return data[1], data[3] 425 | end 426 | 427 | function M.get_icon_cterm_color_by_filetype(ft, opts) 428 | local name = M.get_icon_name_by_filetype(ft) 429 | return M.get_icon_cterm_color(name or "", nil, opts) 430 | end 431 | 432 | function M.set_icon(user_icons_opts) 433 | icons = vim.tbl_extend("force", icons, user_icons_opts or {}) 434 | global_opts.override = vim.tbl_extend("force", global_opts.override, user_icons_opts or {}) 435 | if not global_opts.color_icons then 436 | return 437 | end 438 | 439 | for _, icon_data in pairs(user_icons_opts) do 440 | set_up_highlight(icon_data) 441 | end 442 | end 443 | 444 | function M.set_icon_by_filetype(user_filetypes) 445 | filetypes = vim.tbl_extend("force", filetypes, user_filetypes or {}) 446 | end 447 | 448 | function M.set_default_icon(icon, color, cterm_color) 449 | default_icon.icon = icon 450 | default_icon.color = color 451 | default_icon.cterm_color = cterm_color 452 | set_up_highlight(default_icon) 453 | end 454 | 455 | -- Load the icons already, the loaded tables depend on the 'background' setting. 456 | refresh_icons() 457 | 458 | function M.refresh() 459 | refresh_icons() 460 | apply_user_icons() 461 | M.set_up_highlights(true) 462 | end 463 | 464 | -- Change icon set on background change 465 | vim.api.nvim_create_autocmd("OptionSet", { 466 | pattern = "background", 467 | callback = M.refresh, 468 | }) 469 | 470 | return M 471 | -------------------------------------------------------------------------------- /lua/nvim-web-devicons/default/icons_by_desktop_environment.lua: -------------------------------------------------------------------------------- 1 | return { 2 | ["budgie"] = { icon = "", color = "#4E5361", cterm_color = "240", name = "Budgie" }, 3 | ["cinnamon"] = { icon = "", color = "#DC682E", cterm_color = "166", name = "Cinnamon" }, 4 | ["gnome"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "GNOME" }, 5 | ["lxde"] = { icon = "", color = "#A4A4A4", cterm_color = "248", name = "LXDE" }, 6 | ["lxqt"] = { icon = "", color = "#0191D2", cterm_color = "32", name = "LXQt" }, 7 | ["mate"] = { icon = "", color = "#9BDA5C", cterm_color = "113", name = "MATE" }, 8 | ["plasma"] = { icon = "", color = "#1B89F4", cterm_color = "33", name = "KDEPlasma" }, 9 | ["xfce"] = { icon = "", color = "#00AADF", cterm_color = "74", name = "Xfce" }, 10 | } --[[@as table]] 11 | -------------------------------------------------------------------------------- /lua/nvim-web-devicons/default/icons_by_file_extension.lua: -------------------------------------------------------------------------------- 1 | return { 2 | ["3gp"] = { icon = "", color = "#FD971F", cterm_color = "208", name = "3gp" }, 3 | ["3mf"] = { icon = "󰆧", color = "#888888", cterm_color = "102", name = "3DObjectFile" }, 4 | ["7z"] = { icon = "", color = "#ECA517", cterm_color = "214", name = "7z" }, 5 | ["Dockerfile"] = { icon = "󰡨", color = "#458EE6", cterm_color = "68", name = "Dockerfile" }, 6 | ["R"] = { icon = "󰟔", color = "#2266BA", cterm_color = "25", name = "R" }, 7 | ["a"] = { icon = "", color = "#DCDDD6", cterm_color = "253", name = "StaticLibraryArchive" }, 8 | ["aac"] = { icon = "", color = "#00AFFF", cterm_color = "39", name = "AdvancedAudioCoding" }, 9 | ["ada"] = { icon = "", color = "#599EFF", cterm_color = "111", name = "AdaFile" }, 10 | ["adb"] = { icon = "", color = "#599EFF", cterm_color = "111", name = "AdaBody" }, 11 | ["ads"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "AdaSpecification" }, 12 | ["ai"] = { icon = "", color = "#CBCB41", cterm_color = "185", name = "Ai" }, 13 | ["aif"] = { icon = "", color = "#00AFFF", cterm_color = "39", name = "AudioInterchangeFileFormat" }, 14 | ["aiff"] = { icon = "", color = "#00AFFF", cterm_color = "39", name = "AudioInterchangeFileFormat" }, 15 | ["android"] = { icon = "", color = "#34A853", cterm_color = "35", name = "Android" }, 16 | ["ape"] = { icon = "", color = "#00AFFF", cterm_color = "39", name = "MonkeysAudio" }, 17 | ["apk"] = { icon = "", color = "#34A853", cterm_color = "35", name = "apk" }, 18 | ["apl"] = { icon = "", color = "#24A148", cterm_color = "35", name = "APL" }, 19 | ["app"] = { icon = "", color = "#9F0500", cterm_color = "124", name = "App" }, 20 | ["applescript"] = { icon = "", color = "#6D8085", cterm_color = "66", name = "AppleScript" }, 21 | ["asc"] = { icon = "󰦝", color = "#576D7F", cterm_color = "242", name = "Asc" }, 22 | ["asm"] = { icon = "", color = "#0091BD", cterm_color = "31", name = "ASM" }, 23 | ["ass"] = { icon = "󰨖", color = "#FFB713", cterm_color = "214", name = "Ass" }, 24 | ["astro"] = { icon = "", color = "#E23F67", cterm_color = "197", name = "Astro" }, 25 | ["avif"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Avif" }, 26 | ["awk"] = { icon = "", color = "#4D5A5E", cterm_color = "240", name = "Awk" }, 27 | ["azcli"] = { icon = "", color = "#0078D4", cterm_color = "32", name = "AzureCli" }, 28 | ["bak"] = { icon = "󰁯", color = "#6D8086", cterm_color = "66", name = "Backup" }, 29 | ["bash"] = { icon = "", color = "#89E051", cterm_color = "113", name = "Bash" }, 30 | ["bat"] = { icon = "", color = "#C1F12E", cterm_color = "191", name = "Bat" }, 31 | ["bazel"] = { icon = "", color = "#89E051", cterm_color = "113", name = "Bazel" }, 32 | ["bib"] = { icon = "󱉟", color = "#CBCB41", cterm_color = "185", name = "BibTeX" }, 33 | ["bicep"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Bicep" }, 34 | ["bicepparam"] = { icon = "", color = "#9F74B3", cterm_color = "133", name = "BicepParameters" }, 35 | ["bin"] = { icon = "", color = "#9F0500", cterm_color = "124", name = "Bin" }, 36 | ["blade.php"] = { icon = "", color = "#F05340", cterm_color = "203", name = "Blade" }, 37 | ["blend"] = { icon = "󰂫", color = "#EA7600", cterm_color = "208", name = "Blender" }, 38 | ["blp"] = { icon = "󰺾", color = "#5796E2", cterm_color = "68", name = "Blueprint" }, 39 | ["bmp"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Bmp" }, 40 | ["bqn"] = { icon = "", color = "#24A148", cterm_color = "35", name = "APL" }, 41 | ["brep"] = { icon = "󰻫", color = "#839463", cterm_color = "101", name = "BoundaryRepresentation" }, 42 | ["bz"] = { icon = "", color = "#ECA517", cterm_color = "214", name = "Bz" }, 43 | ["bz2"] = { icon = "", color = "#ECA517", cterm_color = "214", name = "Bz2" }, 44 | ["bz3"] = { icon = "", color = "#ECA517", cterm_color = "214", name = "Bz3" }, 45 | ["bzl"] = { icon = "", color = "#89E051", cterm_color = "113", name = "Bzl" }, 46 | ["c"] = { icon = "", color = "#599EFF", cterm_color = "111", name = "C" }, 47 | ["c++"] = { icon = "", color = "#F34B7D", cterm_color = "204", name = "CPlusPlus" }, 48 | ["cache"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "Cache" }, 49 | ["cast"] = { icon = "", color = "#FD971F", cterm_color = "208", name = "Asciinema" }, 50 | ["cbl"] = { icon = "", color = "#005CA5", cterm_color = "25", name = "Cobol" }, 51 | ["cc"] = { icon = "", color = "#F34B7D", cterm_color = "204", name = "CPlusPlus" }, 52 | ["ccm"] = { icon = "", color = "#F34B7D", cterm_color = "204", name = "CPlusPlusModule" }, 53 | ["cfg"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "Configuration" }, 54 | ["cjs"] = { icon = "", color = "#CBCB41", cterm_color = "185", name = "Cjs" }, 55 | ["clj"] = { icon = "", color = "#8DC149", cterm_color = "113", name = "Clojure" }, 56 | ["cljc"] = { icon = "", color = "#8DC149", cterm_color = "113", name = "ClojureC" }, 57 | ["cljd"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "ClojureDart" }, 58 | ["cljs"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "ClojureJS" }, 59 | ["cmake"] = { icon = "", color = "#DCE3EB", cterm_color = "254", name = "CMake" }, 60 | ["cob"] = { icon = "", color = "#005CA5", cterm_color = "25", name = "Cobol" }, 61 | ["cobol"] = { icon = "", color = "#005CA5", cterm_color = "25", name = "Cobol" }, 62 | ["coffee"] = { icon = "", color = "#CBCB41", cterm_color = "185", name = "Coffee" }, 63 | ["conda"] = { icon = "", color = "#43B02A", cterm_color = "34", name = "Conda" }, 64 | ["conf"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "Conf" }, 65 | ["config.ru"] = { icon = "", color = "#701516", cterm_color = "52", name = "ConfigRu" }, 66 | ["cow"] = { icon = "󰆚", color = "#965824", cterm_color = "130", name = "CowsayFile" }, 67 | ["cp"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Cp" }, 68 | ["cpp"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Cpp" }, 69 | ["cppm"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Cppm" }, 70 | ["cpy"] = { icon = "", color = "#005CA5", cterm_color = "25", name = "Cobol" }, 71 | ["cr"] = { icon = "", color = "#C8C8C8", cterm_color = "251", name = "Crystal" }, 72 | ["crdownload"] = { icon = "", color = "#44CDA8", cterm_color = "43", name = "Crdownload" }, 73 | ["cs"] = { icon = "󰌛", color = "#596706", cterm_color = "58", name = "Cs" }, 74 | ["csh"] = { icon = "", color = "#4D5A5E", cterm_color = "240", name = "Csh" }, 75 | ["cshtml"] = { icon = "󱦗", color = "#512BD4", cterm_color = "56", name = "RazorPage" }, 76 | ["cson"] = { icon = "", color = "#CBCB41", cterm_color = "185", name = "Cson" }, 77 | ["csproj"] = { icon = "󰪮", color = "#512BD4", cterm_color = "56", name = "CSharpProject" }, 78 | ["css"] = { icon = "", color = "#663399", cterm_color = "91", name = "Css" }, 79 | ["csv"] = { icon = "", color = "#89E051", cterm_color = "113", name = "Csv" }, 80 | ["cts"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Cts" }, 81 | ["cu"] = { icon = "", color = "#89E051", cterm_color = "113", name = "cuda" }, 82 | ["cue"] = { icon = "󰲹", color = "#ED95AE", cterm_color = "211", name = "Cue" }, 83 | ["cuh"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "cudah" }, 84 | ["cxx"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Cxx" }, 85 | ["cxxm"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Cxxm" }, 86 | ["d"] = { icon = "", color = "#B03931", cterm_color = "124", name = "D" }, 87 | ["d.ts"] = { icon = "", color = "#D59855", cterm_color = "172", name = "TypeScriptDeclaration" }, 88 | ["dart"] = { icon = "", color = "#03589C", cterm_color = "25", name = "Dart" }, 89 | ["db"] = { icon = "", color = "#DAD8D8", cterm_color = "188", name = "Db" }, 90 | ["dconf"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "Dconf" }, 91 | ["desktop"] = { icon = "", color = "#563D7C", cterm_color = "54", name = "DesktopEntry" }, 92 | ["diff"] = { icon = "", color = "#41535B", cterm_color = "239", name = "Diff" }, 93 | ["dll"] = { icon = "", color = "#4D2C0B", cterm_color = "52", name = "Dll" }, 94 | ["doc"] = { icon = "󰈬", color = "#185ABD", cterm_color = "26", name = "Doc" }, 95 | ["dockerignore"] = { icon = "󰡨", color = "#458EE6", cterm_color = "68", name = "DockerIgnore" }, 96 | ["docx"] = { icon = "󰈬", color = "#185ABD", cterm_color = "26", name = "Docx" }, 97 | ["dot"] = { icon = "󱁉", color = "#30638E", cterm_color = "24", name = "Dot" }, 98 | ["download"] = { icon = "", color = "#44CDA8", cterm_color = "43", name = "Download" }, 99 | ["drl"] = { icon = "", color = "#FFAFAF", cterm_color = "217", name = "Drools" }, 100 | ["dropbox"] = { icon = "", color = "#0061FE", cterm_color = "27", name = "Dropbox" }, 101 | ["dump"] = { icon = "", color = "#DAD8D8", cterm_color = "188", name = "Dump" }, 102 | ["dwg"] = { icon = "󰻫", color = "#839463", cterm_color = "101", name = "AutoCADDwg" }, 103 | ["dxf"] = { icon = "󰻫", color = "#839463", cterm_color = "101", name = "AutoCADDxf" }, 104 | ["ebook"] = { icon = "", color = "#EAB16D", cterm_color = "215", name = "Ebook" }, 105 | ["ebuild"] = { icon = "", color = "#4C416E", cterm_color = "60", name = "GentooBuild" }, 106 | ["edn"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Edn" }, 107 | ["eex"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Eex" }, 108 | ["ejs"] = { icon = "", color = "#CBCB41", cterm_color = "185", name = "Ejs" }, 109 | ["el"] = { icon = "", color = "#8172BE", cterm_color = "97", name = "Elisp" }, 110 | ["elc"] = { icon = "", color = "#8172BE", cterm_color = "97", name = "Elisp" }, 111 | ["elf"] = { icon = "", color = "#9F0500", cterm_color = "124", name = "Elf" }, 112 | ["elm"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Elm" }, 113 | ["eln"] = { icon = "", color = "#8172BE", cterm_color = "97", name = "Elisp" }, 114 | ["env"] = { icon = "", color = "#FAF743", cterm_color = "227", name = "Env" }, 115 | ["eot"] = { icon = "", color = "#ECECEC", cterm_color = "255", name = "EmbeddedOpenTypeFont" }, 116 | ["epp"] = { icon = "", color = "#FFA61A", cterm_color = "214", name = "Epp" }, 117 | ["epub"] = { icon = "", color = "#EAB16D", cterm_color = "215", name = "Epub" }, 118 | ["erb"] = { icon = "", color = "#701516", cterm_color = "52", name = "Erb" }, 119 | ["erl"] = { icon = "", color = "#B83998", cterm_color = "163", name = "Erl" }, 120 | ["ex"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Ex" }, 121 | ["exe"] = { icon = "", color = "#9F0500", cterm_color = "124", name = "Exe" }, 122 | ["exs"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Exs" }, 123 | ["f#"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Fsharp" }, 124 | ["f3d"] = { icon = "󰻫", color = "#839463", cterm_color = "101", name = "Fusion360" }, 125 | ["f90"] = { icon = "󱈚", color = "#734F96", cterm_color = "97", name = "Fortran" }, 126 | ["fbx"] = { icon = "󰆧", color = "#888888", cterm_color = "102", name = "3DObjectFile" }, 127 | ["fcbak"] = { icon = "", color = "#CB333B", cterm_color = "160", name = "FreeCAD" }, 128 | ["fcmacro"] = { icon = "", color = "#CB333B", cterm_color = "160", name = "FreeCAD" }, 129 | ["fcmat"] = { icon = "", color = "#CB333B", cterm_color = "160", name = "FreeCAD" }, 130 | ["fcparam"] = { icon = "", color = "#CB333B", cterm_color = "160", name = "FreeCAD" }, 131 | ["fcscript"] = { icon = "", color = "#CB333B", cterm_color = "160", name = "FreeCAD" }, 132 | ["fcstd"] = { icon = "", color = "#CB333B", cterm_color = "160", name = "FreeCAD" }, 133 | ["fcstd1"] = { icon = "", color = "#CB333B", cterm_color = "160", name = "FreeCAD" }, 134 | ["fctb"] = { icon = "", color = "#CB333B", cterm_color = "160", name = "FreeCAD" }, 135 | ["fctl"] = { icon = "", color = "#CB333B", cterm_color = "160", name = "FreeCAD" }, 136 | ["fdmdownload"] = { icon = "", color = "#44CDA8", cterm_color = "43", name = "Fdmdownload" }, 137 | ["feature"] = { icon = "", color = "#00A818", cterm_color = "34", name = "Feature" }, 138 | ["fish"] = { icon = "", color = "#4D5A5E", cterm_color = "240", name = "Fish" }, 139 | ["flac"] = { icon = "", color = "#0075AA", cterm_color = "24", name = "FreeLosslessAudioCodec" }, 140 | ["flc"] = { icon = "", color = "#ECECEC", cterm_color = "255", name = "FIGletFontControl" }, 141 | ["flf"] = { icon = "", color = "#ECECEC", cterm_color = "255", name = "FIGletFontFormat" }, 142 | ["fnl"] = { icon = "", color = "#FFF3D7", cterm_color = "230", name = "Fennel" }, 143 | ["fodg"] = { icon = "", color = "#FFFB57", cterm_color = "227", name = "LibreOfficeGraphics" }, 144 | ["fodp"] = { icon = "", color = "#FE9C45", cterm_color = "215", name = "LibreOfficeImpress" }, 145 | ["fods"] = { icon = "", color = "#78FC4E", cterm_color = "119", name = "LibreOfficeCalc" }, 146 | ["fodt"] = { icon = "", color = "#2DCBFD", cterm_color = "81", name = "LibreOfficeWriter" }, 147 | ["fs"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Fs" }, 148 | ["fsi"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Fsi" }, 149 | ["fsscript"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Fsscript" }, 150 | ["fsx"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Fsx" }, 151 | ["gcode"] = { icon = "󰐫", color = "#1471AD", cterm_color = "32", name = "GCode" }, 152 | ["gd"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "GDScript" }, 153 | ["gemspec"] = { icon = "", color = "#701516", cterm_color = "52", name = "Gemspec" }, 154 | ["gif"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Gif" }, 155 | ["git"] = { icon = "", color = "#F14C28", cterm_color = "196", name = "GitLogo" }, 156 | ["glb"] = { icon = "", color = "#FFB13B", cterm_color = "214", name = "BinaryGLTF" }, 157 | ["gleam"] = { icon = "", color = "#FFAFF3", cterm_color = "219", name = "Gleam" }, 158 | ["gnumakefile"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "Makefile" }, 159 | ["go"] = { icon = "", color = "#00ADD8", cterm_color = "38", name = "Go" }, 160 | ["godot"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "GodotProject" }, 161 | ["gpr"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "GPRBuildProject" }, 162 | ["gql"] = { icon = "", color = "#E535AB", cterm_color = "199", name = "GraphQL" }, 163 | ["gradle"] = { icon = "", color = "#005F87", cterm_color = "24", name = "Gradle" }, 164 | ["graphql"] = { icon = "", color = "#E535AB", cterm_color = "199", name = "GraphQL" }, 165 | ["gresource"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "GTK" }, 166 | ["gv"] = { icon = "󱁉", color = "#30638E", cterm_color = "24", name = "Gv" }, 167 | ["gz"] = { icon = "", color = "#ECA517", cterm_color = "214", name = "Gz" }, 168 | ["h"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "H" }, 169 | ["haml"] = { icon = "", color = "#EAEAE1", cterm_color = "255", name = "Haml" }, 170 | ["hbs"] = { icon = "", color = "#F0772B", cterm_color = "202", name = "Hbs" }, 171 | ["heex"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Heex" }, 172 | ["hex"] = { icon = "", color = "#2E63FF", cterm_color = "27", name = "Hexadecimal" }, 173 | ["hh"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Hh" }, 174 | ["hpp"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Hpp" }, 175 | ["hrl"] = { icon = "", color = "#B83998", cterm_color = "163", name = "Hrl" }, 176 | ["hs"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Hs" }, 177 | ["htm"] = { icon = "", color = "#E34C26", cterm_color = "196", name = "Htm" }, 178 | ["html"] = { icon = "", color = "#E44D26", cterm_color = "196", name = "Html" }, 179 | ["http"] = { icon = "", color = "#008EC7", cterm_color = "31", name = "HTTP" }, 180 | ["huff"] = { icon = "󰡘", color = "#4242C7", cterm_color = "56", name = "Huff" }, 181 | ["hurl"] = { icon = "", color = "#FF0288", cterm_color = "198", name = "Hurl" }, 182 | ["hx"] = { icon = "", color = "#EA8220", cterm_color = "208", name = "Haxe" }, 183 | ["hxx"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Hxx" }, 184 | ["ical"] = { icon = "", color = "#2B2E83", cterm_color = "18", name = "Ical" }, 185 | ["icalendar"] = { icon = "", color = "#2B2E83", cterm_color = "18", name = "Icalendar" }, 186 | ["ico"] = { icon = "", color = "#CBCB41", cterm_color = "185", name = "Ico" }, 187 | ["ics"] = { icon = "", color = "#2B2E83", cterm_color = "18", name = "Ics" }, 188 | ["ifb"] = { icon = "", color = "#2B2E83", cterm_color = "18", name = "Ifb" }, 189 | ["ifc"] = { icon = "󰻫", color = "#839463", cterm_color = "101", name = "Ifc" }, 190 | ["ige"] = { icon = "󰻫", color = "#839463", cterm_color = "101", name = "Ige" }, 191 | ["iges"] = { icon = "󰻫", color = "#839463", cterm_color = "101", name = "Iges" }, 192 | ["igs"] = { icon = "󰻫", color = "#839463", cterm_color = "101", name = "Igs" }, 193 | ["image"] = { icon = "", color = "#D0BEC8", cterm_color = "181", name = "Image" }, 194 | ["img"] = { icon = "", color = "#D0BEC8", cterm_color = "181", name = "Img" }, 195 | ["import"] = { icon = "", color = "#ECECEC", cterm_color = "255", name = "ImportConfiguration" }, 196 | ["info"] = { icon = "", color = "#FFFFCD", cterm_color = "230", name = "Info" }, 197 | ["ini"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "Ini" }, 198 | ["ino"] = { icon = "", color = "#56B6C2", cterm_color = "73", name = "Arduino" }, 199 | ["ipynb"] = { icon = "", color = "#F57D01", cterm_color = "208", name = "Notebook" }, 200 | ["iso"] = { icon = "", color = "#D0BEC8", cterm_color = "181", name = "Iso" }, 201 | ["ixx"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Ixx" }, 202 | ["java"] = { icon = "", color = "#CC3E44", cterm_color = "167", name = "Java" }, 203 | ["jl"] = { icon = "", color = "#A270BA", cterm_color = "133", name = "Jl" }, 204 | ["jpeg"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Jpeg" }, 205 | ["jpg"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Jpg" }, 206 | ["js"] = { icon = "", color = "#CBCB41", cterm_color = "185", name = "Js" }, 207 | ["json"] = { icon = "", color = "#CBCB41", cterm_color = "185", name = "Json" }, 208 | ["json5"] = { icon = "", color = "#CBCB41", cterm_color = "185", name = "Json5" }, 209 | ["jsonc"] = { icon = "", color = "#CBCB41", cterm_color = "185", name = "Jsonc" }, 210 | ["jsx"] = { icon = "", color = "#20C2E3", cterm_color = "45", name = "Jsx" }, 211 | ["jwmrc"] = { icon = "", color = "#0078CD", cterm_color = "32", name = "JWM" }, 212 | ["jxl"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "JpegXl" }, 213 | ["kbx"] = { icon = "󰯄", color = "#737672", cterm_color = "243", name = "Kbx" }, 214 | ["kdb"] = { icon = "", color = "#529B34", cterm_color = "71", name = "Kdb" }, 215 | ["kdbx"] = { icon = "", color = "#529B34", cterm_color = "71", name = "Kdbx" }, 216 | ["kdenlive"] = { icon = "", color = "#83B8F2", cterm_color = "110", name = "Kdenlive" }, 217 | ["kdenlivetitle"] = { icon = "", color = "#83B8F2", cterm_color = "110", name = "Kdenlive" }, 218 | ["kicad_dru"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "KiCad" }, 219 | ["kicad_mod"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "KiCad" }, 220 | ["kicad_pcb"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "KiCad" }, 221 | ["kicad_prl"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "KiCad" }, 222 | ["kicad_pro"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "KiCad" }, 223 | ["kicad_sch"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "KiCad" }, 224 | ["kicad_sym"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "KiCad" }, 225 | ["kicad_wks"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "KiCad" }, 226 | ["ko"] = { icon = "", color = "#DCDDD6", cterm_color = "253", name = "LinuxKernelObject" }, 227 | ["kpp"] = { icon = "", color = "#F245FB", cterm_color = "201", name = "Krita" }, 228 | ["kra"] = { icon = "", color = "#F245FB", cterm_color = "201", name = "Krita" }, 229 | ["krz"] = { icon = "", color = "#F245FB", cterm_color = "201", name = "Krita" }, 230 | ["ksh"] = { icon = "", color = "#4D5A5E", cterm_color = "240", name = "Ksh" }, 231 | ["kt"] = { icon = "", color = "#7F52FF", cterm_color = "99", name = "Kotlin" }, 232 | ["kts"] = { icon = "", color = "#7F52FF", cterm_color = "99", name = "KotlinScript" }, 233 | ["lck"] = { icon = "", color = "#BBBBBB", cterm_color = "250", name = "Lock" }, 234 | ["leex"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Leex" }, 235 | ["less"] = { icon = "", color = "#563D7C", cterm_color = "54", name = "Less" }, 236 | ["lff"] = { icon = "", color = "#ECECEC", cterm_color = "255", name = "LibrecadFontFile" }, 237 | ["lhs"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Lhs" }, 238 | ["lib"] = { icon = "", color = "#4D2C0B", cterm_color = "52", name = "Lib" }, 239 | ["license"] = { icon = "", color = "#CBCB41", cterm_color = "185", name = "License" }, 240 | ["liquid"] = { icon = "", color = "#95BF47", cterm_color = "106", name = "Liquid" }, 241 | ["lock"] = { icon = "", color = "#BBBBBB", cterm_color = "250", name = "Lock" }, 242 | ["log"] = { icon = "󰌱", color = "#DDDDDD", cterm_color = "253", name = "Log" }, 243 | ["lrc"] = { icon = "󰨖", color = "#FFB713", cterm_color = "214", name = "Lrc" }, 244 | ["lua"] = { icon = "", color = "#51A0CF", cterm_color = "74", name = "Lua" }, 245 | ["luac"] = { icon = "", color = "#51A0CF", cterm_color = "74", name = "Lua" }, 246 | ["luau"] = { icon = "", color = "#00A2FF", cterm_color = "75", name = "Luau" }, 247 | ["m"] = { icon = "", color = "#599EFF", cterm_color = "111", name = "ObjectiveC" }, 248 | ["m3u"] = { icon = "󰲹", color = "#ED95AE", cterm_color = "211", name = "M3u" }, 249 | ["m3u8"] = { icon = "󰲹", color = "#ED95AE", cterm_color = "211", name = "M3u8" }, 250 | ["m4a"] = { icon = "", color = "#00AFFF", cterm_color = "39", name = "MPEG4" }, 251 | ["m4v"] = { icon = "", color = "#FD971F", cterm_color = "208", name = "M4V" }, 252 | ["magnet"] = { icon = "", color = "#A51B16", cterm_color = "124", name = "Magnet" }, 253 | ["makefile"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "Makefile" }, 254 | ["markdown"] = { icon = "", color = "#DDDDDD", cterm_color = "253", name = "Markdown" }, 255 | ["material"] = { icon = "", color = "#B83998", cterm_color = "163", name = "Material" }, 256 | ["md"] = { icon = "", color = "#DDDDDD", cterm_color = "253", name = "Md" }, 257 | ["md5"] = { icon = "󰕥", color = "#8C86AF", cterm_color = "103", name = "Md5" }, 258 | ["mdx"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Mdx" }, 259 | ["mint"] = { icon = "󰌪", color = "#87C095", cterm_color = "108", name = "Mint" }, 260 | ["mjs"] = { icon = "", color = "#F1E05A", cterm_color = "185", name = "Mjs" }, 261 | ["mk"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "Makefile" }, 262 | ["mkv"] = { icon = "", color = "#FD971F", cterm_color = "208", name = "Mkv" }, 263 | ["ml"] = { icon = "", color = "#E37933", cterm_color = "166", name = "Ml" }, 264 | ["mli"] = { icon = "", color = "#E37933", cterm_color = "166", name = "Mli" }, 265 | ["mm"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "ObjectiveCPlusPlus" }, 266 | ["mo"] = { icon = "", color = "#9772FB", cterm_color = "135", name = "Motoko" }, 267 | ["mobi"] = { icon = "", color = "#EAB16D", cterm_color = "215", name = "Mobi" }, 268 | ["mojo"] = { icon = "", color = "#FF4C1F", cterm_color = "196", name = "Mojo" }, 269 | ["mov"] = { icon = "", color = "#FD971F", cterm_color = "208", name = "MOV" }, 270 | ["mp3"] = { icon = "", color = "#00AFFF", cterm_color = "39", name = "MPEGAudioLayerIII" }, 271 | ["mp4"] = { icon = "", color = "#FD971F", cterm_color = "208", name = "Mp4" }, 272 | ["mpp"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Mpp" }, 273 | ["msf"] = { icon = "", color = "#137BE1", cterm_color = "33", name = "Thunderbird" }, 274 | ["mts"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Mts" }, 275 | ["mustache"] = { icon = "", color = "#E37933", cterm_color = "166", name = "Mustache" }, 276 | ["nfo"] = { icon = "", color = "#FFFFCD", cterm_color = "230", name = "Nfo" }, 277 | ["nim"] = { icon = "", color = "#F3D400", cterm_color = "220", name = "Nim" }, 278 | ["nix"] = { icon = "", color = "#7EBAE4", cterm_color = "110", name = "Nix" }, 279 | ["norg"] = { icon = "", color = "#4878BE", cterm_color = "32", name = "Norg" }, 280 | ["nswag"] = { icon = "", color = "#85EA2D", cterm_color = "112", name = "Nswag" }, 281 | ["nu"] = { icon = "", color = "#3AA675", cterm_color = "36", name = "Nushell" }, 282 | ["o"] = { icon = "", color = "#9F0500", cterm_color = "124", name = "ObjectFile" }, 283 | ["obj"] = { icon = "󰆧", color = "#888888", cterm_color = "102", name = "3DObjectFile" }, 284 | ["odf"] = { icon = "", color = "#FF5A96", cterm_color = "204", name = "LibreOfficeFormula" }, 285 | ["odg"] = { icon = "", color = "#FFFB57", cterm_color = "227", name = "LibreOfficeGraphics" }, 286 | ["odin"] = { icon = "󰟢", color = "#3882D2", cterm_color = "32", name = "Odin" }, 287 | ["odp"] = { icon = "", color = "#FE9C45", cterm_color = "215", name = "LibreOfficeImpress" }, 288 | ["ods"] = { icon = "", color = "#78FC4E", cterm_color = "119", name = "LibreOfficeCalc" }, 289 | ["odt"] = { icon = "", color = "#2DCBFD", cterm_color = "81", name = "LibreOfficeWriter" }, 290 | ["oga"] = { icon = "", color = "#0075AA", cterm_color = "24", name = "OggVorbis" }, 291 | ["ogg"] = { icon = "", color = "#0075AA", cterm_color = "24", name = "OggVorbis" }, 292 | ["ogv"] = { icon = "", color = "#FD971F", cterm_color = "208", name = "OggVideo" }, 293 | ["ogx"] = { icon = "", color = "#FD971F", cterm_color = "208", name = "OggMultiplex" }, 294 | ["opus"] = { icon = "", color = "#0075AA", cterm_color = "24", name = "OpusAudioFile" }, 295 | ["org"] = { icon = "", color = "#77AA99", cterm_color = "73", name = "OrgMode" }, 296 | ["otf"] = { icon = "", color = "#ECECEC", cterm_color = "255", name = "OpenTypeFont" }, 297 | ["out"] = { icon = "", color = "#9F0500", cterm_color = "124", name = "Out" }, 298 | ["part"] = { icon = "", color = "#44CDA8", cterm_color = "43", name = "Part" }, 299 | ["patch"] = { icon = "", color = "#41535B", cterm_color = "239", name = "Patch" }, 300 | ["pck"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "PackedResource" }, 301 | ["pcm"] = { icon = "", color = "#0075AA", cterm_color = "24", name = "PulseCodeModulation" }, 302 | ["pdf"] = { icon = "", color = "#B30B00", cterm_color = "124", name = "Pdf" }, 303 | ["php"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Php" }, 304 | ["pl"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Pl" }, 305 | ["pls"] = { icon = "󰲹", color = "#ED95AE", cterm_color = "211", name = "Pls" }, 306 | ["ply"] = { icon = "󰆧", color = "#888888", cterm_color = "102", name = "3DObjectFile" }, 307 | ["pm"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Pm" }, 308 | ["png"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Png" }, 309 | ["po"] = { icon = "", color = "#2596BE", cterm_color = "31", name = "Localization" }, 310 | ["pot"] = { icon = "", color = "#2596BE", cterm_color = "31", name = "Localization" }, 311 | ["pp"] = { icon = "", color = "#FFA61A", cterm_color = "214", name = "Pp" }, 312 | ["ppt"] = { icon = "󰈧", color = "#CB4A32", cterm_color = "160", name = "Ppt" }, 313 | ["pptx"] = { icon = "󰈧", color = "#CB4A32", cterm_color = "160", name = "Pptx" }, 314 | ["prisma"] = { icon = "", color = "#5A67D8", cterm_color = "62", name = "Prisma" }, 315 | ["pro"] = { icon = "", color = "#E4B854", cterm_color = "179", name = "Prolog" }, 316 | ["ps1"] = { icon = "󰨊", color = "#4273CA", cterm_color = "68", name = "PsScriptfile" }, 317 | ["psb"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Psb" }, 318 | ["psd"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Psd" }, 319 | ["psd1"] = { icon = "󰨊", color = "#6975C4", cterm_color = "68", name = "PsManifestfile" }, 320 | ["psm1"] = { icon = "󰨊", color = "#6975C4", cterm_color = "68", name = "PsScriptModulefile" }, 321 | ["pub"] = { icon = "󰷖", color = "#E3C58E", cterm_color = "222", name = "Pub" }, 322 | ["pxd"] = { icon = "", color = "#5AA7E4", cterm_color = "39", name = "Pxd" }, 323 | ["pxi"] = { icon = "", color = "#5AA7E4", cterm_color = "39", name = "Pxi" }, 324 | ["py"] = { icon = "", color = "#FFBC03", cterm_color = "214", name = "Py" }, 325 | ["pyc"] = { icon = "", color = "#FFE291", cterm_color = "222", name = "Pyc" }, 326 | ["pyd"] = { icon = "", color = "#FFE291", cterm_color = "222", name = "Pyd" }, 327 | ["pyi"] = { icon = "", color = "#FFBC03", cterm_color = "214", name = "Pyi" }, 328 | ["pyo"] = { icon = "", color = "#FFE291", cterm_color = "222", name = "Pyo" }, 329 | ["pyw"] = { icon = "", color = "#5AA7E4", cterm_color = "39", name = "Pyw" }, 330 | ["pyx"] = { icon = "", color = "#5AA7E4", cterm_color = "39", name = "Pyx" }, 331 | ["qm"] = { icon = "", color = "#2596BE", cterm_color = "31", name = "Localization" }, 332 | ["qml"] = { icon = "", color = "#40CD52", cterm_color = "77", name = "Qt" }, 333 | ["qrc"] = { icon = "", color = "#40CD52", cterm_color = "77", name = "Qt" }, 334 | ["qss"] = { icon = "", color = "#40CD52", cterm_color = "77", name = "Qt" }, 335 | ["query"] = { icon = "", color = "#90A850", cterm_color = "107", name = "Query" }, 336 | ["r"] = { icon = "󰟔", color = "#2266BA", cterm_color = "25", name = "R" }, 337 | ["rake"] = { icon = "", color = "#701516", cterm_color = "52", name = "Rake" }, 338 | ["rar"] = { icon = "", color = "#ECA517", cterm_color = "214", name = "Rar" }, 339 | ["razor"] = { icon = "󱦘", color = "#512BD4", cterm_color = "56", name = "RazorPage" }, 340 | ["rb"] = { icon = "", color = "#701516", cterm_color = "52", name = "Rb" }, 341 | ["res"] = { icon = "", color = "#CC3E44", cterm_color = "167", name = "ReScript" }, 342 | ["resi"] = { icon = "", color = "#F55385", cterm_color = "204", name = "ReScriptInterface" }, 343 | ["rlib"] = { icon = "", color = "#DEA584", cterm_color = "216", name = "Rlib" }, 344 | ["rmd"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Rmd" }, 345 | ["rproj"] = { icon = "󰗆", color = "#358A5B", cterm_color = "29", name = "Rproj" }, 346 | ["rs"] = { icon = "", color = "#DEA584", cterm_color = "216", name = "Rs" }, 347 | ["rss"] = { icon = "", color = "#FB9D3B", cterm_color = "215", name = "Rss" }, 348 | ["s"] = { icon = "", color = "#0071C5", cterm_color = "25", name = "ASM" }, 349 | ["sass"] = { icon = "", color = "#F55385", cterm_color = "204", name = "Sass" }, 350 | ["sbt"] = { icon = "", color = "#CC3E44", cterm_color = "167", name = "sbt" }, 351 | ["sc"] = { icon = "", color = "#CC3E44", cterm_color = "167", name = "ScalaScript" }, 352 | ["scad"] = { icon = "", color = "#F9D72C", cterm_color = "220", name = "OpenSCAD" }, 353 | ["scala"] = { icon = "", color = "#CC3E44", cterm_color = "167", name = "Scala" }, 354 | ["scm"] = { icon = "󰘧", color = "#EEEEEE", cterm_color = "255", name = "Scheme" }, 355 | ["scss"] = { icon = "", color = "#F55385", cterm_color = "204", name = "Scss" }, 356 | ["sh"] = { icon = "", color = "#4D5A5E", cterm_color = "240", name = "Sh" }, 357 | ["sha1"] = { icon = "󰕥", color = "#8C86AF", cterm_color = "103", name = "Sha1" }, 358 | ["sha224"] = { icon = "󰕥", color = "#8C86AF", cterm_color = "103", name = "Sha224" }, 359 | ["sha256"] = { icon = "󰕥", color = "#8C86AF", cterm_color = "103", name = "Sha256" }, 360 | ["sha384"] = { icon = "󰕥", color = "#8C86AF", cterm_color = "103", name = "Sha384" }, 361 | ["sha512"] = { icon = "󰕥", color = "#8C86AF", cterm_color = "103", name = "Sha512" }, 362 | ["sig"] = { icon = "󰘧", color = "#E37933", cterm_color = "166", name = "Sig" }, 363 | ["signature"] = { icon = "󰘧", color = "#E37933", cterm_color = "166", name = "Signature" }, 364 | ["skp"] = { icon = "󰻫", color = "#839463", cterm_color = "101", name = "SketchUp" }, 365 | ["sldasm"] = { icon = "󰻫", color = "#839463", cterm_color = "101", name = "SolidWorksAsm" }, 366 | ["sldprt"] = { icon = "󰻫", color = "#839463", cterm_color = "101", name = "SolidWorksPrt" }, 367 | ["slim"] = { icon = "", color = "#E34C26", cterm_color = "196", name = "Slim" }, 368 | ["sln"] = { icon = "", color = "#854CC7", cterm_color = "98", name = "Sln" }, 369 | ["slnx"] = { icon = "", color = "#854CC7", cterm_color = "98", name = "Slnx" }, 370 | ["slvs"] = { icon = "󰻫", color = "#839463", cterm_color = "101", name = "SolveSpace" }, 371 | ["sml"] = { icon = "󰘧", color = "#E37933", cterm_color = "166", name = "Sml" }, 372 | ["so"] = { icon = "", color = "#DCDDD6", cterm_color = "253", name = "SharedObject" }, 373 | ["sol"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Solidity" }, 374 | ["spec.js"] = { icon = "", color = "#CBCB41", cterm_color = "185", name = "SpecJs" }, 375 | ["spec.jsx"] = { icon = "", color = "#20C2E3", cterm_color = "45", name = "JavaScriptReactSpec" }, 376 | ["spec.ts"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "SpecTs" }, 377 | ["spec.tsx"] = { icon = "", color = "#1354BF", cterm_color = "26", name = "TypeScriptReactSpec" }, 378 | ["spx"] = { icon = "", color = "#0075AA", cterm_color = "24", name = "OggSpeexAudio" }, 379 | ["sql"] = { icon = "", color = "#DAD8D8", cterm_color = "188", name = "Sql" }, 380 | ["sqlite"] = { icon = "", color = "#DAD8D8", cterm_color = "188", name = "Sql" }, 381 | ["sqlite3"] = { icon = "", color = "#DAD8D8", cterm_color = "188", name = "Sql" }, 382 | ["srt"] = { icon = "󰨖", color = "#FFB713", cterm_color = "214", name = "Srt" }, 383 | ["ssa"] = { icon = "󰨖", color = "#FFB713", cterm_color = "214", name = "Ssa" }, 384 | ["ste"] = { icon = "󰻫", color = "#839463", cterm_color = "101", name = "Ste" }, 385 | ["step"] = { icon = "󰻫", color = "#839463", cterm_color = "101", name = "Step" }, 386 | ["stl"] = { icon = "󰆧", color = "#888888", cterm_color = "102", name = "3DObjectFile" }, 387 | ["stories.js"] = { icon = "", color = "#FF4785", cterm_color = "204", name = "StorybookJavaScript" }, 388 | ["stories.jsx"] = { icon = "", color = "#FF4785", cterm_color = "204", name = "StorybookJsx" }, 389 | ["stories.mjs"] = { icon = "", color = "#FF4785", cterm_color = "204", name = "StorybookMjs" }, 390 | ["stories.svelte"] = { icon = "", color = "#FF4785", cterm_color = "204", name = "StorybookSvelte" }, 391 | ["stories.ts"] = { icon = "", color = "#FF4785", cterm_color = "204", name = "StorybookTypeScript" }, 392 | ["stories.tsx"] = { icon = "", color = "#FF4785", cterm_color = "204", name = "StorybookTsx" }, 393 | ["stories.vue"] = { icon = "", color = "#FF4785", cterm_color = "204", name = "StorybookVue" }, 394 | ["stp"] = { icon = "󰻫", color = "#839463", cterm_color = "101", name = "Stp" }, 395 | ["strings"] = { icon = "", color = "#2596BE", cterm_color = "31", name = "Localization" }, 396 | ["styl"] = { icon = "", color = "#8DC149", cterm_color = "113", name = "Styl" }, 397 | ["sub"] = { icon = "󰨖", color = "#FFB713", cterm_color = "214", name = "Sub" }, 398 | ["sublime"] = { icon = "", color = "#E37933", cterm_color = "166", name = "Sublime" }, 399 | ["suo"] = { icon = "", color = "#854CC7", cterm_color = "98", name = "Suo" }, 400 | ["sv"] = { icon = "󰍛", color = "#019833", cterm_color = "28", name = "SystemVerilog" }, 401 | ["svelte"] = { icon = "", color = "#FF3E00", cterm_color = "196", name = "Svelte" }, 402 | ["svg"] = { icon = "󰜡", color = "#FFB13B", cterm_color = "214", name = "Svg" }, 403 | ["svgz"] = { icon = "󰜡", color = "#FFB13B", cterm_color = "214", name = "Svgz" }, 404 | ["svh"] = { icon = "󰍛", color = "#019833", cterm_color = "28", name = "SystemVerilog" }, 405 | ["swift"] = { icon = "", color = "#E37933", cterm_color = "166", name = "Swift" }, 406 | ["t"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Tor" }, 407 | ["tbc"] = { icon = "󰛓", color = "#1E5CB3", cterm_color = "25", name = "Tcl" }, 408 | ["tcl"] = { icon = "󰛓", color = "#1E5CB3", cterm_color = "25", name = "Tcl" }, 409 | ["templ"] = { icon = "", color = "#DBBD30", cterm_color = "178", name = "Templ" }, 410 | ["terminal"] = { icon = "", color = "#31B53E", cterm_color = "34", name = "Terminal" }, 411 | ["test.js"] = { icon = "", color = "#CBCB41", cterm_color = "185", name = "TestJs" }, 412 | ["test.jsx"] = { icon = "", color = "#20C2E3", cterm_color = "45", name = "JavaScriptReactTest" }, 413 | ["test.ts"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "TestTs" }, 414 | ["test.tsx"] = { icon = "", color = "#1354BF", cterm_color = "26", name = "TypeScriptReactTest" }, 415 | ["tex"] = { icon = "", color = "#3D6117", cterm_color = "22", name = "Tex" }, 416 | ["tf"] = { icon = "", color = "#5F43E9", cterm_color = "93", name = "Terraform" }, 417 | ["tfvars"] = { icon = "", color = "#5F43E9", cterm_color = "93", name = "TFVars" }, 418 | ["tgz"] = { icon = "", color = "#ECA517", cterm_color = "214", name = "Tgz" }, 419 | ["tmpl"] = { icon = "", color = "#DBBD30", cterm_color = "178", name = "Template" }, 420 | ["tmux"] = { icon = "", color = "#14BA19", cterm_color = "34", name = "Tmux" }, 421 | ["toml"] = { icon = "", color = "#9C4221", cterm_color = "124", name = "Toml" }, 422 | ["torrent"] = { icon = "", color = "#44CDA8", cterm_color = "43", name = "Torrent" }, 423 | ["tres"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "GodotTextResource" }, 424 | ["ts"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "TypeScript" }, 425 | ["tscn"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "GodotTextScene" }, 426 | ["tsconfig"] = { icon = "", color = "#FF8700", cterm_color = "208", name = "TypoScriptConfig" }, 427 | ["tsx"] = { icon = "", color = "#1354BF", cterm_color = "26", name = "Tsx" }, 428 | ["ttf"] = { icon = "", color = "#ECECEC", cterm_color = "255", name = "TrueTypeFont" }, 429 | ["twig"] = { icon = "", color = "#8DC149", cterm_color = "113", name = "Twig" }, 430 | ["txt"] = { icon = "󰈙", color = "#89E051", cterm_color = "113", name = "Txt" }, 431 | ["txz"] = { icon = "", color = "#ECA517", cterm_color = "214", name = "Txz" }, 432 | ["typ"] = { icon = "", color = "#0DBCC0", cterm_color = "37", name = "Typst" }, 433 | ["typoscript"] = { icon = "", color = "#FF8700", cterm_color = "208", name = "TypoScript" }, 434 | ["ui"] = { icon = "", color = "#015BF0", cterm_color = "27", name = "UI" }, 435 | ["v"] = { icon = "󰍛", color = "#019833", cterm_color = "28", name = "Verilog" }, 436 | ["vala"] = { icon = "", color = "#7B3DB9", cterm_color = "91", name = "Vala" }, 437 | ["vh"] = { icon = "󰍛", color = "#019833", cterm_color = "28", name = "Verilog" }, 438 | ["vhd"] = { icon = "󰍛", color = "#019833", cterm_color = "28", name = "VHDL" }, 439 | ["vhdl"] = { icon = "󰍛", color = "#019833", cterm_color = "28", name = "VHDL" }, 440 | ["vi"] = { icon = "", color = "#FEC60A", cterm_color = "220", name = "LabView" }, 441 | ["vim"] = { icon = "", color = "#019833", cterm_color = "28", name = "Vim" }, 442 | ["vsh"] = { icon = "", color = "#5D87BF", cterm_color = "67", name = "Vlang" }, 443 | ["vsix"] = { icon = "", color = "#854CC7", cterm_color = "98", name = "Vsix" }, 444 | ["vue"] = { icon = "", color = "#8DC149", cterm_color = "113", name = "Vue" }, 445 | ["wasm"] = { icon = "", color = "#5C4CDB", cterm_color = "62", name = "Wasm" }, 446 | ["wav"] = { icon = "", color = "#00AFFF", cterm_color = "39", name = "WaveformAudioFile" }, 447 | ["webm"] = { icon = "", color = "#FD971F", cterm_color = "208", name = "Webm" }, 448 | ["webmanifest"] = { icon = "", color = "#F1E05A", cterm_color = "185", name = "Webmanifest" }, 449 | ["webp"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Webp" }, 450 | ["webpack"] = { icon = "󰜫", color = "#519ABA", cterm_color = "74", name = "Webpack" }, 451 | ["wma"] = { icon = "", color = "#00AFFF", cterm_color = "39", name = "WindowsMediaAudio" }, 452 | ["woff"] = { icon = "", color = "#ECECEC", cterm_color = "255", name = "WebOpenFontFormat" }, 453 | ["woff2"] = { icon = "", color = "#ECECEC", cterm_color = "255", name = "WebOpenFontFormat" }, 454 | ["wrl"] = { icon = "󰆧", color = "#888888", cterm_color = "102", name = "VRML" }, 455 | ["wrz"] = { icon = "󰆧", color = "#888888", cterm_color = "102", name = "VRML" }, 456 | ["wv"] = { icon = "", color = "#00AFFF", cterm_color = "39", name = "WavPack" }, 457 | ["wvc"] = { icon = "", color = "#00AFFF", cterm_color = "39", name = "WavPackCorrection" }, 458 | ["x"] = { icon = "", color = "#599EFF", cterm_color = "111", name = "Logos" }, 459 | ["xaml"] = { icon = "󰙳", color = "#512BD4", cterm_color = "56", name = "Xaml" }, 460 | ["xcf"] = { icon = "", color = "#635B46", cterm_color = "240", name = "GIMP" }, 461 | ["xcplayground"] = { icon = "", color = "#E37933", cterm_color = "166", name = "XcPlayground" }, 462 | ["xcstrings"] = { icon = "", color = "#2596BE", cterm_color = "31", name = "XcLocalization" }, 463 | ["xls"] = { icon = "󰈛", color = "#207245", cterm_color = "29", name = "Xls" }, 464 | ["xlsx"] = { icon = "󰈛", color = "#207245", cterm_color = "29", name = "Xlsx" }, 465 | ["xm"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Logos" }, 466 | ["xml"] = { icon = "󰗀", color = "#E37933", cterm_color = "166", name = "Xml" }, 467 | ["xpi"] = { icon = "", color = "#FF1B01", cterm_color = "196", name = "Xpi" }, 468 | ["xul"] = { icon = "", color = "#E37933", cterm_color = "166", name = "Xul" }, 469 | ["xz"] = { icon = "", color = "#ECA517", cterm_color = "214", name = "Xz" }, 470 | ["yaml"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "Yaml" }, 471 | ["yml"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "Yml" }, 472 | ["zig"] = { icon = "", color = "#F69A1B", cterm_color = "172", name = "Zig" }, 473 | ["zip"] = { icon = "", color = "#ECA517", cterm_color = "214", name = "Zip" }, 474 | ["zsh"] = { icon = "", color = "#89E051", cterm_color = "113", name = "Zsh" }, 475 | ["zst"] = { icon = "", color = "#ECA517", cterm_color = "214", name = "Zst" }, 476 | ["🔥"] = { icon = "", color = "#FF4C1F", cterm_color = "196", name = "Mojo" }, 477 | } --[[@as table]] 478 | -------------------------------------------------------------------------------- /lua/nvim-web-devicons/default/icons_by_filename.lua: -------------------------------------------------------------------------------- 1 | return { 2 | [".SRCINFO"] = { icon = "󰣇", color = "#0F94D2", cterm_color = "67", name = "SRCINFO" }, 3 | [".Xauthority"] = { icon = "", color = "#E54D18", cterm_color = "196", name = "Xauthority" }, 4 | [".Xresources"] = { icon = "", color = "#E54D18", cterm_color = "196", name = "Xresources" }, 5 | [".babelrc"] = { icon = "", color = "#CBCB41", cterm_color = "185", name = "Babelrc" }, 6 | [".bash_profile"] = { icon = "", color = "#89E051", cterm_color = "113", name = "BashProfile" }, 7 | [".bashrc"] = { icon = "", color = "#89E051", cterm_color = "113", name = "Bashrc" }, 8 | [".clang-format"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "ClangConfig" }, 9 | [".clang-tidy"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "ClangConfig" }, 10 | [".codespellrc"] = { icon = "󰓆", color = "#35DA60", cterm_color = "41", name = "Codespell" }, 11 | [".condarc"] = { icon = "", color = "#43B02A", cterm_color = "34", name = "Conda" }, 12 | [".dockerignore"] = { icon = "󰡨", color = "#458EE6", cterm_color = "68", name = "Dockerfile" }, 13 | [".ds_store"] = { icon = "", color = "#41535B", cterm_color = "239", name = "DsStore" }, 14 | [".editorconfig"] = { icon = "", color = "#FFF2F2", cterm_color = "255", name = "EditorConfig" }, 15 | [".env"] = { icon = "", color = "#FAF743", cterm_color = "227", name = "Env" }, 16 | [".eslintignore"] = { icon = "", color = "#4B32C3", cterm_color = "56", name = "EslintIgnore" }, 17 | [".eslintrc"] = { icon = "", color = "#4B32C3", cterm_color = "56", name = "Eslintrc" }, 18 | [".git-blame-ignore-revs"] = { icon = "", color = "#F54D27", cterm_color = "196", name = "GitBlameIgnore" }, 19 | [".gitattributes"] = { icon = "", color = "#F54D27", cterm_color = "196", name = "GitAttributes" }, 20 | [".gitconfig"] = { icon = "", color = "#F54D27", cterm_color = "196", name = "GitConfig" }, 21 | [".gitignore"] = { icon = "", color = "#F54D27", cterm_color = "196", name = "GitIgnore" }, 22 | [".gitlab-ci.yml"] = { icon = "", color = "#E24329", cterm_color = "196", name = "GitlabCI" }, 23 | [".gitmodules"] = { icon = "", color = "#F54D27", cterm_color = "196", name = "GitModules" }, 24 | [".gtkrc-2.0"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "GTK" }, 25 | [".gvimrc"] = { icon = "", color = "#019833", cterm_color = "28", name = "Gvimrc" }, 26 | [".justfile"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "Justfile" }, 27 | [".luacheckrc"] = { icon = "", color = "#00A2FF", cterm_color = "75", name = "Luaurc" }, 28 | [".luaurc"] = { icon = "", color = "#00A2FF", cterm_color = "75", name = "Luaurc" }, 29 | [".mailmap"] = { icon = "󰊢", color = "#F54D27", cterm_color = "196", name = "Mailmap" }, 30 | [".nanorc"] = { icon = "", color = "#440077", cterm_color = "54", name = "Nano" }, 31 | [".npmignore"] = { icon = "", color = "#E8274B", cterm_color = "197", name = "NPMIgnore" }, 32 | [".npmrc"] = { icon = "", color = "#E8274B", cterm_color = "197", name = "NPMrc" }, 33 | [".nuxtrc"] = { icon = "󱄆", color = "#00C58E", cterm_color = "42", name = "NuxtConfig" }, 34 | [".nvmrc"] = { icon = "", color = "#5FA04E", cterm_color = "71", name = "node" }, 35 | [".pre-commit-config.yaml"] = { icon = "󰛢", color = "#F8B424", cterm_color = "214", name = "PreCommitConfig" }, 36 | [".prettierignore"] = { icon = "", color = "#4285F4", cterm_color = "33", name = "PrettierIgnore" }, 37 | [".prettierrc"] = { icon = "", color = "#4285F4", cterm_color = "33", name = "PrettierConfig" }, 38 | [".prettierrc.cjs"] = { icon = "", color = "#4285F4", cterm_color = "33", name = "PrettierConfig" }, 39 | [".prettierrc.js"] = { icon = "", color = "#4285F4", cterm_color = "33", name = "PrettierConfig" }, 40 | [".prettierrc.json"] = { icon = "", color = "#4285F4", cterm_color = "33", name = "PrettierConfig" }, 41 | [".prettierrc.json5"] = { icon = "", color = "#4285F4", cterm_color = "33", name = "PrettierConfig" }, 42 | [".prettierrc.mjs"] = { icon = "", color = "#4285F4", cterm_color = "33", name = "PrettierConfig" }, 43 | [".prettierrc.toml"] = { icon = "", color = "#4285F4", cterm_color = "33", name = "PrettierConfig" }, 44 | [".prettierrc.yaml"] = { icon = "", color = "#4285F4", cterm_color = "33", name = "PrettierConfig" }, 45 | [".prettierrc.yml"] = { icon = "", color = "#4285F4", cterm_color = "33", name = "PrettierConfig" }, 46 | [".pylintrc"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "PyLintConfig" }, 47 | [".settings.json"] = { icon = "", color = "#854CC7", cterm_color = "98", name = "SettingsJson" }, 48 | [".vimrc"] = { icon = "", color = "#019833", cterm_color = "28", name = "Vimrc" }, 49 | [".xinitrc"] = { icon = "", color = "#E54D18", cterm_color = "196", name = "XInitrc" }, 50 | [".xsession"] = { icon = "", color = "#E54D18", cterm_color = "196", name = "Xsession" }, 51 | [".zprofile"] = { icon = "", color = "#89E051", cterm_color = "113", name = "Zshprofile" }, 52 | [".zshenv"] = { icon = "", color = "#89E051", cterm_color = "113", name = "Zshenv" }, 53 | [".zshrc"] = { icon = "", color = "#89E051", cterm_color = "113", name = "Zshrc" }, 54 | ["AUTHORS"] = { icon = "", color = "#A172FF", cterm_color = "135", name = "AUTHORS" }, 55 | ["AUTHORS.txt"] = { icon = "", color = "#A172FF", cterm_color = "135", name = "AUTHORS" }, 56 | ["Directory.Build.props"] = { icon = "", color = "#00A2FF", cterm_color = "75", name = "BuildProps" }, 57 | ["Directory.Build.targets"] = { icon = "", color = "#00A2FF", cterm_color = "75", name = "BuildTargets" }, 58 | ["Directory.Packages.props"] = { icon = "", color = "#00A2FF", cterm_color = "75", name = "PackagesProps" }, 59 | ["FreeCAD.conf"] = { icon = "", color = "#CB333B", cterm_color = "160", name = "FreeCADConfig" }, 60 | ["Gemfile"] = { icon = "", color = "#701516", cterm_color = "52", name = "Gemfile" }, 61 | ["PKGBUILD"] = { icon = "", color = "#0F94D2", cterm_color = "67", name = "PKGBUILD" }, 62 | ["PrusaSlicer.ini"] = { icon = "", color = "#EC6B23", cterm_color = "202", name = "PrusaSlicer" }, 63 | ["PrusaSlicerGcodeViewer.ini"] = { icon = "", color = "#EC6B23", cterm_color = "202", name = "PrusaSlicer" }, 64 | ["QtProject.conf"] = { icon = "", color = "#40CD52", cterm_color = "77", name = "Qt" }, 65 | ["_gvimrc"] = { icon = "", color = "#019833", cterm_color = "28", name = "Gvimrc" }, 66 | ["_vimrc"] = { icon = "", color = "#019833", cterm_color = "28", name = "Vimrc" }, 67 | ["brewfile"] = { icon = "", color = "#701516", cterm_color = "52", name = "Brewfile" }, 68 | ["bspwmrc"] = { icon = "", color = "#2F2F2F", cterm_color = "236", name = "BSPWM" }, 69 | ["build"] = { icon = "", color = "#89E051", cterm_color = "113", name = "BazelBuild" }, 70 | ["build.gradle"] = { icon = "", color = "#005F87", cterm_color = "24", name = "GradleBuildScript" }, 71 | ["build.zig.zon"] = { icon = "", color = "#F69A1B", cterm_color = "172", name = "ZigObjectNotation" }, 72 | ["bun.lock"] = { icon = "", color = "#EADCD1", cterm_color = "253", name = "BunLockfile" }, 73 | ["bun.lockb"] = { icon = "", color = "#EADCD1", cterm_color = "253", name = "BunLockfile" }, 74 | ["cantorrc"] = { icon = "", color = "#1C99F3", cterm_color = "32", name = "Cantorrc" }, 75 | ["checkhealth"] = { icon = "󰓙", color = "#75B4FB", cterm_color = "75", name = "Checkhealth" }, 76 | ["cmakelists.txt"] = { icon = "", color = "#DCE3EB", cterm_color = "254", name = "CMakeLists" }, 77 | ["code_of_conduct"] = { icon = "", color = "#E41662", cterm_color = "161", name = "CodeOfConduct" }, 78 | ["code_of_conduct.md"] = { icon = "", color = "#E41662", cterm_color = "161", name = "CodeOfConduct" }, 79 | ["commit_editmsg"] = { icon = "", color = "#F54D27", cterm_color = "196", name = "GitCommit" }, 80 | ["commitlint.config.js"] = { icon = "󰜘", color = "#2B9689", cterm_color = "30", name = "CommitlintConfig" }, 81 | ["commitlint.config.ts"] = { icon = "󰜘", color = "#2B9689", cterm_color = "30", name = "CommitlintConfig" }, 82 | ["compose.yaml"] = { icon = "󰡨", color = "#458EE6", cterm_color = "68", name = "Dockerfile" }, 83 | ["compose.yml"] = { icon = "󰡨", color = "#458EE6", cterm_color = "68", name = "Dockerfile" }, 84 | ["config"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "Config" }, 85 | ["containerfile"] = { icon = "󰡨", color = "#458EE6", cterm_color = "68", name = "Dockerfile" }, 86 | ["copying"] = { icon = "", color = "#CBCB41", cterm_color = "185", name = "License" }, 87 | ["copying.lesser"] = { icon = "", color = "#CBCB41", cterm_color = "185", name = "License" }, 88 | ["docker-compose.yaml"] = { icon = "󰡨", color = "#458EE6", cterm_color = "68", name = "Dockerfile" }, 89 | ["docker-compose.yml"] = { icon = "󰡨", color = "#458EE6", cterm_color = "68", name = "Dockerfile" }, 90 | ["dockerfile"] = { icon = "󰡨", color = "#458EE6", cterm_color = "68", name = "Dockerfile" }, 91 | ["eslint.config.cjs"] = { icon = "", color = "#4B32C3", cterm_color = "56", name = "Eslintrc" }, 92 | ["eslint.config.js"] = { icon = "", color = "#4B32C3", cterm_color = "56", name = "Eslintrc" }, 93 | ["eslint.config.mjs"] = { icon = "", color = "#4B32C3", cterm_color = "56", name = "Eslintrc" }, 94 | ["eslint.config.ts"] = { icon = "", color = "#4B32C3", cterm_color = "56", name = "Eslintrc" }, 95 | ["ext_typoscript_setup.txt"] = { icon = "", color = "#FF8700", cterm_color = "208", name = "TypoScriptSetup" }, 96 | ["favicon.ico"] = { icon = "", color = "#CBCB41", cterm_color = "185", name = "Favicon" }, 97 | ["fp-info-cache"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "KiCadCache" }, 98 | ["fp-lib-table"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "KiCadFootprintTable" }, 99 | ["gnumakefile"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "Makefile" }, 100 | ["go.mod"] = { icon = "", color = "#00ADD8", cterm_color = "38", name = "GoMod" }, 101 | ["go.sum"] = { icon = "", color = "#00ADD8", cterm_color = "38", name = "GoSum" }, 102 | ["go.work"] = { icon = "", color = "#00ADD8", cterm_color = "38", name = "GoWork" }, 103 | ["gradle-wrapper.properties"] = { icon = "", color = "#005F87", cterm_color = "24", name = "GradleWrapperProperties" }, 104 | ["gradle.properties"] = { icon = "", color = "#005F87", cterm_color = "24", name = "GradleProperties" }, 105 | ["gradlew"] = { icon = "", color = "#005F87", cterm_color = "24", name = "GradleWrapperScript" }, 106 | ["groovy"] = { icon = "", color = "#4A687C", cterm_color = "24", name = "Groovy" }, 107 | ["gruntfile.babel.js"] = { icon = "", color = "#E37933", cterm_color = "166", name = "Gruntfile" }, 108 | ["gruntfile.coffee"] = { icon = "", color = "#E37933", cterm_color = "166", name = "Gruntfile" }, 109 | ["gruntfile.js"] = { icon = "", color = "#E37933", cterm_color = "166", name = "Gruntfile" }, 110 | ["gruntfile.ts"] = { icon = "", color = "#E37933", cterm_color = "166", name = "Gruntfile" }, 111 | ["gtkrc"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "GTK" }, 112 | ["gulpfile.babel.js"] = { icon = "", color = "#CC3E44", cterm_color = "167", name = "Gulpfile" }, 113 | ["gulpfile.coffee"] = { icon = "", color = "#CC3E44", cterm_color = "167", name = "Gulpfile" }, 114 | ["gulpfile.js"] = { icon = "", color = "#CC3E44", cterm_color = "167", name = "Gulpfile" }, 115 | ["gulpfile.ts"] = { icon = "", color = "#CC3E44", cterm_color = "167", name = "Gulpfile" }, 116 | ["hypridle.conf"] = { icon = "", color = "#00AAAE", cterm_color = "37", name = "Hypridle" }, 117 | ["hyprland.conf"] = { icon = "", color = "#00AAAE", cterm_color = "37", name = "Hyprland" }, 118 | ["hyprlandd.conf"] = { icon = "", color = "#00AAAE", cterm_color = "37", name = "Hyprlandd" }, 119 | ["hyprlock.conf"] = { icon = "", color = "#00AAAE", cterm_color = "37", name = "Hyprlock" }, 120 | ["hyprpaper.conf"] = { icon = "", color = "#00AAAE", cterm_color = "37", name = "Hyprpaper" }, 121 | ["i18n.config.js"] = { icon = "󰗊", color = "#7986CB", cterm_color = "104", name = "I18nConfig" }, 122 | ["i18n.config.ts"] = { icon = "󰗊", color = "#7986CB", cterm_color = "104", name = "I18nConfig" }, 123 | ["i3blocks.conf"] = { icon = "", color = "#E8EBEE", cterm_color = "255", name = "i3" }, 124 | ["i3status.conf"] = { icon = "", color = "#E8EBEE", cterm_color = "255", name = "i3" }, 125 | ["index.theme"] = { icon = "", color = "#2DB96F", cterm_color = "35", name = "IndexTheme" }, 126 | ["ionic.config.json"] = { icon = "", color = "#4F8FF7", cterm_color = "33", name = "Ionic" }, 127 | ["justfile"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "Justfile" }, 128 | ["kalgebrarc"] = { icon = "", color = "#1C99F3", cterm_color = "32", name = "Kalgebrarc" }, 129 | ["kdeglobals"] = { icon = "", color = "#1C99F3", cterm_color = "32", name = "KDEglobals" }, 130 | ["kdenlive-layoutsrc"] = { icon = "", color = "#83B8F2", cterm_color = "110", name = "KdenliveLayoutsrc" }, 131 | ["kdenliverc"] = { icon = "", color = "#83B8F2", cterm_color = "110", name = "Kdenliverc" }, 132 | ["kritadisplayrc"] = { icon = "", color = "#F245FB", cterm_color = "201", name = "Kritadisplayrc" }, 133 | ["kritarc"] = { icon = "", color = "#F245FB", cterm_color = "201", name = "Kritarc" }, 134 | ["license"] = { icon = "", color = "#D0BF41", cterm_color = "185", name = "License" }, 135 | ["license.md"] = { icon = "", color = "#D0BF41", cterm_color = "185", name = "License" }, 136 | ["lxde-rc.xml"] = { icon = "", color = "#909090", cterm_color = "246", name = "LXDEConfigFile" }, 137 | ["lxqt.conf"] = { icon = "", color = "#0192D3", cterm_color = "32", name = "LXQtConfigFile" }, 138 | ["makefile"] = { icon = "", color = "#6D8086", cterm_color = "66", name = "Makefile" }, 139 | ["mix.lock"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "MixLock" }, 140 | ["mpv.conf"] = { icon = "", color = "#3B1342", cterm_color = "53", name = "Mpv" }, 141 | ["node_modules"] = { icon = "", color = "#E8274B", cterm_color = "197", name = "NodeModules" }, 142 | ["nuxt.config.cjs"] = { icon = "󱄆", color = "#00C58E", cterm_color = "42", name = "NuxtConfig" }, 143 | ["nuxt.config.js"] = { icon = "󱄆", color = "#00C58E", cterm_color = "42", name = "NuxtConfig" }, 144 | ["nuxt.config.mjs"] = { icon = "󱄆", color = "#00C58E", cterm_color = "42", name = "NuxtConfig" }, 145 | ["nuxt.config.ts"] = { icon = "󱄆", color = "#00C58E", cterm_color = "42", name = "NuxtConfig" }, 146 | ["package-lock.json"] = { icon = "", color = "#7A0D21", cterm_color = "52", name = "PackageLockJson" }, 147 | ["package.json"] = { icon = "", color = "#E8274B", cterm_color = "197", name = "PackageJson" }, 148 | ["platformio.ini"] = { icon = "", color = "#F6822B", cterm_color = "208", name = "Platformio" }, 149 | ["pom.xml"] = { icon = "", color = "#7A0D21", cterm_color = "52", name = "Maven" }, 150 | ["prettier.config.cjs"] = { icon = "", color = "#4285F4", cterm_color = "33", name = "PrettierConfig" }, 151 | ["prettier.config.js"] = { icon = "", color = "#4285F4", cterm_color = "33", name = "PrettierConfig" }, 152 | ["prettier.config.mjs"] = { icon = "", color = "#4285F4", cterm_color = "33", name = "PrettierConfig" }, 153 | ["prettier.config.ts"] = { icon = "", color = "#4285F4", cterm_color = "33", name = "PrettierConfig" }, 154 | ["procfile"] = { icon = "", color = "#A074C4", cterm_color = "140", name = "Procfile" }, 155 | ["py.typed"] = { icon = "", color = "#FFBC03", cterm_color = "214", name = "Py.typed" }, 156 | ["rakefile"] = { icon = "", color = "#701516", cterm_color = "52", name = "Rakefile" }, 157 | ["readme"] = { icon = "󰂺", color = "#EDEDED", cterm_color = "255", name = "Readme" }, 158 | ["readme.md"] = { icon = "󰂺", color = "#EDEDED", cterm_color = "255", name = "Readme" }, 159 | ["rmd"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "Rmd" }, 160 | ["robots.txt"] = { icon = "󰚩", color = "#5D7096", cterm_color = "60", name = "RobotsTxt" }, 161 | ["security"] = { icon = "󰒃", color = "#BEC4C9", cterm_color = "251", name = "Security" }, 162 | ["security.md"] = { icon = "󰒃", color = "#BEC4C9", cterm_color = "251", name = "Security" }, 163 | ["settings.gradle"] = { icon = "", color = "#005F87", cterm_color = "24", name = "GradleSettings" }, 164 | ["svelte.config.js"] = { icon = "", color = "#FF3E00", cterm_color = "196", name = "SvelteConfig" }, 165 | ["sxhkdrc"] = { icon = "", color = "#2F2F2F", cterm_color = "236", name = "BSPWM" }, 166 | ["sym-lib-table"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "KiCadSymbolTable" }, 167 | ["tailwind.config.js"] = { icon = "󱏿", color = "#20C2E3", cterm_color = "45", name = "TailwindConfig" }, 168 | ["tailwind.config.mjs"] = { icon = "󱏿", color = "#20C2E3", cterm_color = "45", name = "TailwindConfig" }, 169 | ["tailwind.config.ts"] = { icon = "󱏿", color = "#20C2E3", cterm_color = "45", name = "TailwindConfig" }, 170 | ["tmux.conf"] = { icon = "", color = "#14BA19", cterm_color = "34", name = "Tmux" }, 171 | ["tmux.conf.local"] = { icon = "", color = "#14BA19", cterm_color = "34", name = "Tmux" }, 172 | ["tsconfig.json"] = { icon = "", color = "#519ABA", cterm_color = "74", name = "TSConfig" }, 173 | ["unlicense"] = { icon = "", color = "#D0BF41", cterm_color = "185", name = "License" }, 174 | ["vagrantfile"] = { icon = "", color = "#1563FF", cterm_color = "27", name = "Vagrantfile" }, 175 | ["vercel.json"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "Vercel" }, 176 | ["vlcrc"] = { icon = "󰕼", color = "#EE7A00", cterm_color = "208", name = "VLC" }, 177 | ["webpack"] = { icon = "󰜫", color = "#519ABA", cterm_color = "74", name = "Webpack" }, 178 | ["weston.ini"] = { icon = "", color = "#FFBB01", cterm_color = "214", name = "Weston" }, 179 | ["workspace"] = { icon = "", color = "#89E051", cterm_color = "113", name = "BazelWorkspace" }, 180 | ["wrangler.jsonc"] = { icon = "", color = "#F48120", cterm_color = "208", name = "WranglerConfig" }, 181 | ["wrangler.toml"] = { icon = "", color = "#F48120", cterm_color = "208", name = "WranglerConfig" }, 182 | ["xmobarrc"] = { icon = "", color = "#FD4D5D", cterm_color = "203", name = "xmonad" }, 183 | ["xmobarrc.hs"] = { icon = "", color = "#FD4D5D", cterm_color = "203", name = "xmonad" }, 184 | ["xmonad.hs"] = { icon = "", color = "#FD4D5D", cterm_color = "203", name = "xmonad" }, 185 | ["xorg.conf"] = { icon = "", color = "#E54D18", cterm_color = "196", name = "XorgConf" }, 186 | ["xsettingsd.conf"] = { icon = "", color = "#E54D18", cterm_color = "196", name = "XSettingsdConf" }, 187 | } --[[@as table]] 188 | -------------------------------------------------------------------------------- /lua/nvim-web-devicons/default/icons_by_operating_system.lua: -------------------------------------------------------------------------------- 1 | return { 2 | ["alma"] = { icon = "", color = "#FF4649", cterm_color = "203", name = "Almalinux" }, 3 | ["alpine"] = { icon = "", color = "#0D597F", cterm_color = "24", name = "Alpine" }, 4 | ["aosc"] = { icon = "", color = "#C00000", cterm_color = "124", name = "AOSC" }, 5 | ["apple"] = { icon = "", color = "#A2AAAD", cterm_color = "248", name = "Apple" }, 6 | ["arch"] = { icon = "󰣇", color = "#0F94D2", cterm_color = "67", name = "Arch" }, 7 | ["archcraft"] = { icon = "", color = "#86BBA3", cterm_color = "108", name = "Archcraft" }, 8 | ["archlabs"] = { icon = "", color = "#503F42", cterm_color = "238", name = "Archlabs" }, 9 | ["arcolinux"] = { icon = "", color = "#6690EB", cterm_color = "68", name = "ArcoLinux" }, 10 | ["artix"] = { icon = "", color = "#41B4D7", cterm_color = "38", name = "Artix" }, 11 | ["biglinux"] = { icon = "", color = "#189FC8", cterm_color = "38", name = "BigLinux" }, 12 | ["centos"] = { icon = "", color = "#A2518D", cterm_color = "132", name = "Centos" }, 13 | ["crystallinux"] = { icon = "", color = "#A900FF", cterm_color = "129", name = "CrystalLinux" }, 14 | ["debian"] = { icon = "", color = "#A80030", cterm_color = "88", name = "Debian" }, 15 | ["deepin"] = { icon = "", color = "#2CA7F8", cterm_color = "39", name = "Deepin" }, 16 | ["devuan"] = { icon = "", color = "#404A52", cterm_color = "238", name = "Devuan" }, 17 | ["elementary"] = { icon = "", color = "#5890C2", cterm_color = "67", name = "Elementary" }, 18 | ["endeavour"] = { icon = "", color = "#7B3DB9", cterm_color = "91", name = "Endeavour" }, 19 | ["fedora"] = { icon = "", color = "#072A5E", cterm_color = "17", name = "Fedora" }, 20 | ["freebsd"] = { icon = "", color = "#C90F02", cterm_color = "160", name = "FreeBSD" }, 21 | ["garuda"] = { icon = "", color = "#2974E1", cterm_color = "33", name = "GarudaLinux" }, 22 | ["gentoo"] = { icon = "󰣨", color = "#B1ABCE", cterm_color = "146", name = "Gentoo" }, 23 | ["guix"] = { icon = "", color = "#FFCC00", cterm_color = "220", name = "Guix" }, 24 | ["hyperbola"] = { icon = "", color = "#C0C0C0", cterm_color = "250", name = "HyperbolaGNULinuxLibre" }, 25 | ["illumos"] = { icon = "", color = "#FF430F", cterm_color = "196", name = "Illumos" }, 26 | ["kali"] = { icon = "", color = "#2777FF", cterm_color = "69", name = "Kali" }, 27 | ["kdeneon"] = { icon = "", color = "#20A6A4", cterm_color = "37", name = "KDEneon" }, 28 | ["kubuntu"] = { icon = "", color = "#007AC2", cterm_color = "32", name = "Kubuntu" }, 29 | ["leap"] = { icon = "", color = "#FBC75D", cterm_color = "221", name = "Leap" }, 30 | ["linux"] = { icon = "", color = "#FDFDFB", cterm_color = "231", name = "Linux" }, 31 | ["locos"] = { icon = "", color = "#FAB402", cterm_color = "214", name = "LocOS" }, 32 | ["lxle"] = { icon = "", color = "#474747", cterm_color = "238", name = "LXLE" }, 33 | ["mageia"] = { icon = "", color = "#2397D4", cterm_color = "67", name = "Mageia" }, 34 | ["manjaro"] = { icon = "", color = "#33B959", cterm_color = "35", name = "Manjaro" }, 35 | ["mint"] = { icon = "󰣭", color = "#66AF3D", cterm_color = "70", name = "Mint" }, 36 | ["mxlinux"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "MXLinux" }, 37 | ["nixos"] = { icon = "", color = "#7AB1DB", cterm_color = "110", name = "NixOS" }, 38 | ["nobara"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "NobaraLinux" }, 39 | ["openbsd"] = { icon = "", color = "#F2CA30", cterm_color = "220", name = "OpenBSD" }, 40 | ["opensuse"] = { icon = "", color = "#6FB424", cterm_color = "70", name = "openSUSE" }, 41 | ["parabola"] = { icon = "", color = "#797DAC", cterm_color = "103", name = "ParabolaGNULinuxLibre" }, 42 | ["parrot"] = { icon = "", color = "#54DEFF", cterm_color = "45", name = "Parrot" }, 43 | ["pop_os"] = { icon = "", color = "#48B9C7", cterm_color = "73", name = "Pop_OS" }, 44 | ["postmarketos"] = { icon = "", color = "#009900", cterm_color = "28", name = "postmarketOS" }, 45 | ["puppylinux"] = { icon = "", color = "#A2AEB9", cterm_color = "145", name = "PuppyLinux" }, 46 | ["qubesos"] = { icon = "", color = "#3774D8", cterm_color = "33", name = "QubesOS" }, 47 | ["raspberry_pi"] = { icon = "", color = "#BE1848", cterm_color = "161", name = "RaspberryPiOS" }, 48 | ["redhat"] = { icon = "󱄛", color = "#EE0000", cterm_color = "196", name = "Redhat" }, 49 | ["rocky"] = { icon = "", color = "#0FB37D", cterm_color = "36", name = "RockyLinux" }, 50 | ["sabayon"] = { icon = "", color = "#C6C6C6", cterm_color = "251", name = "Sabayon" }, 51 | ["slackware"] = { icon = "", color = "#475FA9", cterm_color = "61", name = "Slackware" }, 52 | ["solus"] = { icon = "", color = "#4B5163", cterm_color = "239", name = "Solus" }, 53 | ["tails"] = { icon = "", color = "#56347C", cterm_color = "54", name = "Tails" }, 54 | ["trisquel"] = { icon = "", color = "#0F58B6", cterm_color = "25", name = "TrisquelGNULinux" }, 55 | ["tumbleweed"] = { icon = "", color = "#35B9AB", cterm_color = "37", name = "Tumbleweed" }, 56 | ["ubuntu"] = { icon = "", color = "#DD4814", cterm_color = "196", name = "Ubuntu" }, 57 | ["vanillaos"] = { icon = "", color = "#FABD4D", cterm_color = "214", name = "VanillaOS" }, 58 | ["void"] = { icon = "", color = "#295340", cterm_color = "23", name = "Void" }, 59 | ["windows"] = { icon = "", color = "#00A4EF", cterm_color = "39", name = "Windows" }, 60 | ["xerolinux"] = { icon = "", color = "#888FE2", cterm_color = "104", name = "XeroLinux" }, 61 | ["zorin"] = { icon = "", color = "#14A1E8", cterm_color = "39", name = "Zorin" }, 62 | } --[[@as table]] 63 | -------------------------------------------------------------------------------- /lua/nvim-web-devicons/default/icons_by_window_manager.lua: -------------------------------------------------------------------------------- 1 | return { 2 | ["awesomewm"] = { icon = "", color = "#535D6C", cterm_color = "59", name = "awesome" }, 3 | ["bspwm"] = { icon = "", color = "#4F4F4F", cterm_color = "239", name = "BSPWM" }, 4 | ["dwm"] = { icon = "", color = "#1177AA", cterm_color = "31", name = "dwm" }, 5 | ["enlightenment"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "Enlightenment" }, 6 | ["fluxbox"] = { icon = "", color = "#555555", cterm_color = "240", name = "Fluxbox" }, 7 | ["hyprland"] = { icon = "", color = "#00AAAE", cterm_color = "37", name = "Hyprland" }, 8 | ["i3"] = { icon = "", color = "#E8EBEE", cterm_color = "255", name = "i3" }, 9 | ["jwm"] = { icon = "", color = "#0078CD", cterm_color = "32", name = "JWM" }, 10 | ["qtile"] = { icon = "", color = "#FFFFFF", cterm_color = "231", name = "Qtile" }, 11 | ["river"] = { icon = "", color = "#000000", cterm_color = "16", name = "river" }, 12 | ["sway"] = { icon = "", color = "#68751C", cterm_color = "64", name = "Sway" }, 13 | ["xmonad"] = { icon = "", color = "#FD4D5D", cterm_color = "203", name = "xmonad" }, 14 | } --[[@as table]] 15 | -------------------------------------------------------------------------------- /lua/nvim-web-devicons/filetypes.lua: -------------------------------------------------------------------------------- 1 | ---Maps filetypes to icon names 2 | ---@type table 3 | return { 4 | ["ada"] = "ada", 5 | ["apl"] = "apl", 6 | ["asm"] = "asm", 7 | ["astro"] = "astro", 8 | ["avif"] = "avif", 9 | ["awk"] = "awk", 10 | ["bash"] = "bash", 11 | ["bib"] = "bib", 12 | ["bicep"] = "bicep", 13 | ["bicepparam"] = "bicepparam", 14 | ["blueprint"] = "blp", 15 | ["bmp"] = "bmp", 16 | ["bqn"] = "bqn", 17 | ["brewfile"] = "brewfile", 18 | ["bzl"] = "bzl", 19 | ["c"] = "c", 20 | ["cfg"] = "cfg", 21 | ["checkhealth"] = "checkhealth", 22 | ["clojure"] = "clj", 23 | ["cmake"] = "cmake", 24 | ["cobol"] = "cobol", 25 | ["coffee"] = "coffee", 26 | ["commit"] = "commit_editmsg", 27 | ["conf"] = "conf", 28 | ["copying"] = "copying", 29 | ["cp"] = "cp", 30 | ["cpp"] = "cpp", 31 | ["cr"] = "cr", 32 | ["cs"] = "cs", 33 | ["csh"] = "csh", 34 | ["cson"] = "cson", 35 | ["css"] = "css", 36 | ["csv"] = "csv", 37 | ["cuda"] = "cu", 38 | ["d"] = "d", 39 | ["dart"] = "dart", 40 | ["desktop"] = "desktop", 41 | ["diff"] = "diff", 42 | ["doc"] = "doc", 43 | ["dockerfile"] = "dockerfile", 44 | ["docx"] = "docx", 45 | ["dosbatch"] = "bat", 46 | ["dosini"] = "ini", 47 | ["dot"] = "dot", 48 | ["drools"] = "drl", 49 | ["dropbox"] = "dropbox", 50 | ["dump"] = "dump", 51 | ["eex"] = "eex", 52 | ["ejs"] = "ejs", 53 | ["elf"] = "elf", 54 | ["elixir"] = "ex", 55 | ["elm"] = "elm", 56 | ["epuppet"] = "epp", 57 | ["erlang"] = "erl", 58 | ["eruby"] = "erb", 59 | ["fennel"] = "fnl", 60 | ["fish"] = "fish", 61 | ["forth"] = "fs", 62 | ["fortran"] = "f90", 63 | ["fsharp"] = "f#", 64 | ["fsi"] = "fsi", 65 | ["fsscript"] = "fsscript", 66 | ["fsx"] = "fsx", 67 | ["gd"] = "gd", 68 | ["gemfile"] = "gemfile$", 69 | ["gif"] = "gif", 70 | ["git"] = "git", 71 | ["gitattributes"] = ".gitattributes", 72 | ["gitcommit"] = "commit_editmsg", 73 | ["gitconfig"] = ".gitconfig", 74 | ["gitignore"] = ".gitignore", 75 | ["glb"] = "glb", 76 | ["go"] = "go", 77 | ["godot"] = "godot", 78 | ["gql"] = "gql", 79 | ["graphql"] = "graphql", 80 | ["groovy"] = "groovy", 81 | ["gruntfile"] = "gruntfile", 82 | ["gtkrc"] = "gtkrc", 83 | ["gulpfile"] = "gulpfile", 84 | ["haml"] = "haml", 85 | ["haskell"] = "hs", 86 | ["haxe"] = "hx", 87 | ["hbs"] = "hbs", 88 | ["heex"] = "heex", 89 | ["hex"] = "hex", 90 | ["html"] = "html", 91 | ["ico"] = "ico", 92 | ["idlang"] = "pro", 93 | ["import"] = "import", 94 | ["ino"] = "ino", 95 | ["ipynb"] = "ipynb", 96 | ["java"] = "java", 97 | ["javascript"] = "js", 98 | ["javascript.jsx"] = "jsx", 99 | ["javascriptreact"] = "jsx", 100 | ["jpeg"] = "jpeg", 101 | ["jpg"] = "jpg", 102 | ["json"] = "json", 103 | ["json5"] = "json5", 104 | ["jsonc"] = "jsonc", 105 | ["julia"] = "jl", 106 | ["kotlin"] = "kt", 107 | ["leex"] = "leex", 108 | ["less"] = "less", 109 | ["lesser"] = "copying.lesser", 110 | ["lhaskell"] = "lhs", 111 | ["license"] = "license", 112 | ["liquid"] = "liquid", 113 | ["lock"] = "lock", 114 | ["log"] = "log", 115 | ["lprolog"] = "sig", 116 | ["lua"] = "lua", 117 | ["luau"] = "luau", 118 | ["make"] = "makefile", 119 | ["markdown"] = "markdown", 120 | ["material"] = "material", 121 | ["mdx"] = "mdx", 122 | ["mint"] = "mint", 123 | ["mojo"] = "mojo", 124 | ["motoko"] = "mo", 125 | ["mustache"] = "mustache", 126 | ["nim"] = "nim", 127 | ["nix"] = "nix", 128 | ["node"] = "node_modules", 129 | ["norg"] = "norg", 130 | ["nu"] = "nu", 131 | ["obj"] = "obj", 132 | ["ocaml"] = "ml", 133 | ["odin"] = "odin", 134 | ["openscad"] = "scad", 135 | ["opus"] = "opus", 136 | ["org"] = "org", 137 | ["otf"] = "otf", 138 | ["pck"] = "pck", 139 | ["pdf"] = "pdf", 140 | ["perl"] = "pl", 141 | ["php"] = "php", 142 | ["plaintex"] = "tex", 143 | ["png"] = "png", 144 | ["po"] = "po", 145 | ["postscr"] = "ai", 146 | ["ppt"] = "ppt", 147 | ["prisma"] = "prisma", 148 | ["procfile"] = "procfile", 149 | ["prolog"] = "pro", 150 | ["ps1"] = "ps1", 151 | ["psb"] = "psb", 152 | ["psd"] = "psd", 153 | ["psd1"] = "psd1", 154 | ["psm1"] = "psm1", 155 | ["puppet"] = "pp", 156 | ["pyc"] = "pyc", 157 | ["pyd"] = "pyd", 158 | ["pyo"] = "pyo", 159 | ["python"] = "py", 160 | ["qml"] = "qml", 161 | ["query"] = "query", 162 | ["r"] = "r", 163 | ["res"] = "rescript", 164 | ["resi"] = "rescript", 165 | ["rlib"] = "rlib", 166 | ["rmd"] = "rmd", 167 | ["rproj"] = "rproj", 168 | ["ruby"] = "rb", 169 | ["rust"] = "rs", 170 | ["sass"] = "sass", 171 | ["sbt"] = "sbt", 172 | ["scala"] = "scala", 173 | ["scheme"] = "scm", 174 | ["scss"] = "scss", 175 | ["sh"] = "sh", 176 | ["slim"] = "slim", 177 | ["sln"] = "sln", 178 | ["sml"] = "sml", 179 | ["solidity"] = "sol", 180 | ["sql"] = "sql", 181 | ["sqlite"] = "sqlite", 182 | ["sqlite3"] = "sqlite3", 183 | ["srt"] = "srt", 184 | ["ssa"] = "ssa", 185 | ["stp"] = "stp", 186 | ["styl"] = "styl", 187 | ["sublime"] = "sublime", 188 | ["suo"] = "suo", 189 | ["svelte"] = "svelte", 190 | ["svg"] = "svg", 191 | ["swift"] = "swift", 192 | ["systemverilog"] = "sv", 193 | ["tads"] = "t", 194 | ["tcl"] = "tcl", 195 | ["templ"] = "templ", 196 | ["terminal"] = "terminal", 197 | ["tex"] = "tex", 198 | ["tf"] = "tf", 199 | ["tmux"] = "tmux", 200 | ["toml"] = "toml", 201 | ["tres"] = "tres", 202 | ["tscn"] = "tscn", 203 | ["twig"] = "twig", 204 | ["txt"] = "txt", 205 | ["typescript"] = "ts", 206 | ["typescriptreact"] = "tsx", 207 | ["typst"] = "typ", 208 | ["unlicense"] = "unlicense", 209 | ["vagrantfile"] = "vagrantfile$", 210 | ["vala"] = "vala", 211 | ["verilog"] = "v", 212 | ["vhdl"] = "vhd", 213 | ["vim"] = "vim", 214 | ["vue"] = "vue", 215 | ["wasm"] = "wasm", 216 | ["webm"] = "webm", 217 | ["webp"] = "webp", 218 | ["webpack"] = "webpack", 219 | ["xcplayground"] = "xcplayground", 220 | ["xls"] = "xls", 221 | ["xlsx"] = "xlsx", 222 | ["xml"] = "xml", 223 | ["yaml"] = "yaml", 224 | ["zig"] = "zig", 225 | ["zsh"] = "zsh", 226 | } 227 | -------------------------------------------------------------------------------- /lua/nvim-web-devicons/hi-test.lua: -------------------------------------------------------------------------------- 1 | ---Run a test similar to :so $VIMRUNTIME/syntax/hitest.vim 2 | ---Display all icons and their group highlighted, followed by the concrete definition 3 | 4 | local namespace_hi_test_id = vim.api.nvim_create_namespace "NvimWebDeviconsHiTest" 5 | 6 | ---@class (exact) IconDisplay for :NvimTreeHiTest 7 | ---@field tag string filename, os or extension 8 | ---@field name string name without prefix 9 | ---@field icon string icon itself 10 | ---@field group string|nil :hi group name 11 | ---@field def string|nil :hi concrete definition 12 | ---@field private __index IconDisplay? TODO migrate to classic 13 | local IconDisplay = {} 14 | 15 | ---@param o IconDisplay 16 | ---@return IconDisplay|nil 17 | function IconDisplay:new(o) 18 | if type(o.tag) ~= "string" or type(o.name) ~= "string" or type(o.icon) ~= "string" then 19 | return nil 20 | end 21 | 22 | setmetatable(o, self) 23 | self.__index = self 24 | 25 | o.group = "DevIcon" .. o.name 26 | o.tag = o.tag or "" 27 | 28 | -- concrete definition 29 | local ok, res = pcall(vim.api.nvim_cmd, { cmd = "highlight", args = { o.group } }, { output = true }) 30 | if ok and type(res) == "string" then 31 | o.def = res:gsub(".*xxx *", "") 32 | else 33 | o.def = "" 34 | end 35 | 36 | return o 37 | end 38 | 39 | ---Write the line with highlighting 40 | ---@param bufnr number buffer number 41 | ---@param max_tag_len number longest tag length 42 | ---@param max_group_len number longest group length 43 | ---@param l number line number 44 | ---@return number l incremented 45 | function IconDisplay:render(bufnr, max_tag_len, max_group_len, l) 46 | local fmt = string.format("%%s %%-%d.%ds %%-%d.%ds %%s", max_tag_len, max_tag_len, max_group_len, max_group_len) 47 | local text = string.format(fmt, self.icon, self.tag, self.group, self.def) 48 | 49 | vim.api.nvim_buf_set_lines(bufnr, l, -1, true, { text }) 50 | if vim.fn.has "nvim-0.11" == 1 and vim.hl and vim.hl.range then 51 | vim.hl.range(bufnr, namespace_hi_test_id, self.group, { l, 0 }, { l, -1 }, {}) 52 | else 53 | vim.api.nvim_buf_add_highlight(bufnr, -1, self.group, l, 0, -1) ---@diagnostic disable-line: deprecated 54 | end 55 | 56 | return l + 1 57 | end 58 | 59 | ---Render a single line of text 60 | ---@param bufnr number 61 | ---@param l number line number 62 | ---@return number l incremented 63 | local function render_line(bufnr, l, text) 64 | vim.api.nvim_buf_set_lines(bufnr, l, -1, true, { text }) 65 | return l + 1 66 | end 67 | 68 | ---Render all icons sorted by tag 69 | ---@param bufnr number 70 | ---@param l number line number 71 | ---@param icons table 72 | ---@param header string 73 | ---@return number l incremented 74 | local function render_icons(bufnr, l, icons, header) 75 | local max_tag_len = 0 76 | local max_group_len = 0 77 | 78 | local displays = {} 79 | ---@cast displays IconDisplay[] 80 | 81 | -- build all icon displays 82 | for tag, icon in pairs(icons) do 83 | local display = IconDisplay:new { tag = tag, name = icon.name, icon = icon.icon } 84 | if display then 85 | table.insert(displays, display) 86 | max_tag_len = math.max(max_tag_len, #display.tag) 87 | max_group_len = math.max(max_group_len, #display.group) 88 | end 89 | end 90 | 91 | -- sort by name 92 | table.sort(displays, function(a, b) 93 | return a.name < b.name 94 | end) 95 | 96 | l = render_line(bufnr, l, header) 97 | l = render_line(bufnr, l, header:gsub(".", "-")) 98 | for _, display in ipairs(displays) do 99 | l = display:render(bufnr, max_tag_len, max_group_len, l) 100 | end 101 | l = render_line(bufnr, l, "") 102 | 103 | return l 104 | end 105 | 106 | ---Create a buffer similar to :ru syntax/hitest.vim displaying each set icons 107 | ---Icon, name, , concrete highlight definition 108 | ---tag and header follows param 109 | ---@param default_icon table no tag "Default" 110 | ---@param global_override table[] all global overrides "Overrides" 111 | ---@param icons_by_filename table[] filename "By File Name" 112 | ---@param icons_by_file_extension table[] extension "By File Extension" 113 | ---@param icons_by_operating_system table[] os "By Operating System" 114 | ---@param icons_by_desktop_environment table[] os "By Desktop Environment" 115 | ---@param icons_by_window_manager table[] os "By Window Manager" 116 | return function( 117 | default_icon, 118 | global_override, 119 | icons_by_filename, 120 | icons_by_file_extension, 121 | icons_by_operating_system, 122 | icons_by_desktop_environment, 123 | icons_by_window_manager 124 | ) 125 | -- create a buffer 126 | local bufnr = vim.api.nvim_create_buf(false, true) 127 | 128 | -- render and highlight each section 129 | local l = 0 130 | l = render_icons(bufnr, l, { [""] = default_icon }, "Default") 131 | if global_override and next(global_override) then 132 | l = render_icons(bufnr, l, global_override, "Overrides") 133 | end 134 | l = render_icons(bufnr, l, icons_by_filename, "By File Name") 135 | l = render_icons(bufnr, l, icons_by_file_extension, "By File Extension") 136 | l = render_icons(bufnr, l, icons_by_operating_system, "By Operating System") 137 | l = render_icons(bufnr, l, icons_by_desktop_environment, "By Desktop Environment") 138 | render_icons(bufnr, l, icons_by_window_manager, "By Window Manager") 139 | 140 | -- finalise and focus the buffer 141 | if vim.fn.has "nvim-0.10" == 1 then 142 | vim.api.nvim_set_option_value("modifiable", false, { buf = bufnr }) 143 | else 144 | vim.api.nvim_buf_set_option(bufnr, "modifiable", false) ---@diagnostic disable-line: deprecated 145 | end 146 | vim.cmd.buffer(bufnr) 147 | end 148 | -------------------------------------------------------------------------------- /lua/nvim-web-devicons/icons-default.lua: -------------------------------------------------------------------------------- 1 | return { 2 | icons_by_filename = require "nvim-web-devicons.default.icons_by_filename", 3 | icons_by_file_extension = require "nvim-web-devicons.default.icons_by_file_extension", 4 | icons_by_operating_system = require "nvim-web-devicons.default.icons_by_operating_system", 5 | icons_by_desktop_environment = require "nvim-web-devicons.default.icons_by_desktop_environment", 6 | icons_by_window_manager = require "nvim-web-devicons.default.icons_by_window_manager", 7 | } 8 | -------------------------------------------------------------------------------- /lua/nvim-web-devicons/icons-light.lua: -------------------------------------------------------------------------------- 1 | return { 2 | icons_by_filename = require "nvim-web-devicons.light.icons_by_filename", 3 | icons_by_file_extension = require "nvim-web-devicons.light.icons_by_file_extension", 4 | icons_by_operating_system = require "nvim-web-devicons.light.icons_by_operating_system", 5 | icons_by_desktop_environment = require "nvim-web-devicons.light.icons_by_desktop_environment", 6 | icons_by_window_manager = require "nvim-web-devicons.light.icons_by_window_manager", 7 | } 8 | -------------------------------------------------------------------------------- /lua/nvim-web-devicons/light/icons_by_desktop_environment.lua: -------------------------------------------------------------------------------- 1 | return { -- this file is generated from lua/nvim-web-devicons/default/icons_by_desktop_environment.lua, please do not edit 2 | ["budgie"] = { icon = "", color = "#4E5361", cterm_color = "240", name = "Budgie" }, 3 | ["cinnamon"] = { icon = "", color = "#93451F", cterm_color = "124", name = "Cinnamon" }, 4 | ["gnome"] = { icon = "", color = "#333333", cterm_color = "236", name = "GNOME" }, 5 | ["lxde"] = { icon = "", color = "#525252", cterm_color = "239", name = "LXDE" }, 6 | ["lxqt"] = { icon = "", color = "#016D9E", cterm_color = "24", name = "LXQt" }, 7 | ["mate"] = { icon = "", color = "#4E6D2E", cterm_color = "22", name = "MATE" }, 8 | ["plasma"] = { icon = "", color = "#1467B7", cterm_color = "25", name = "KDEPlasma" }, 9 | ["xfce"] = { icon = "", color = "#0080A7", cterm_color = "31", name = "Xfce" }, 10 | } --[[@as table]] 11 | -------------------------------------------------------------------------------- /lua/nvim-web-devicons/light/icons_by_filename.lua: -------------------------------------------------------------------------------- 1 | return { -- this file is generated from lua/nvim-web-devicons/default/icons_by_filename.lua, please do not edit 2 | [".SRCINFO"] = { icon = "󰣇", color = "#0B6F9E", cterm_color = "24", name = "SRCINFO" }, 3 | [".Xauthority"] = { icon = "", color = "#AC3A12", cterm_color = "124", name = "Xauthority" }, 4 | [".Xresources"] = { icon = "", color = "#AC3A12", cterm_color = "124", name = "Xresources" }, 5 | [".babelrc"] = { icon = "", color = "#666620", cterm_color = "58", name = "Babelrc" }, 6 | [".bash_profile"] = { icon = "", color = "#447028", cterm_color = "22", name = "BashProfile" }, 7 | [".bashrc"] = { icon = "", color = "#447028", cterm_color = "22", name = "Bashrc" }, 8 | [".clang-format"] = { icon = "", color = "#526064", cterm_color = "59", name = "ClangConfig" }, 9 | [".clang-tidy"] = { icon = "", color = "#526064", cterm_color = "59", name = "ClangConfig" }, 10 | [".codespellrc"] = { icon = "󰓆", color = "#239140", cterm_color = "28", name = "Codespell" }, 11 | [".condarc"] = { icon = "", color = "#2D751C", cterm_color = "28", name = "Conda" }, 12 | [".dockerignore"] = { icon = "󰡨", color = "#2E5F99", cterm_color = "25", name = "Dockerfile" }, 13 | [".ds_store"] = { icon = "", color = "#41535B", cterm_color = "239", name = "DsStore" }, 14 | [".editorconfig"] = { icon = "", color = "#333030", cterm_color = "236", name = "EditorConfig" }, 15 | [".env"] = { icon = "", color = "#32310D", cterm_color = "236", name = "Env" }, 16 | [".eslintignore"] = { icon = "", color = "#4B32C3", cterm_color = "56", name = "EslintIgnore" }, 17 | [".eslintrc"] = { icon = "", color = "#4B32C3", cterm_color = "56", name = "Eslintrc" }, 18 | [".git-blame-ignore-revs"] = { icon = "", color = "#B83A1D", cterm_color = "160", name = "GitBlameIgnore" }, 19 | [".gitattributes"] = { icon = "", color = "#B83A1D", cterm_color = "160", name = "GitAttributes" }, 20 | [".gitconfig"] = { icon = "", color = "#B83A1D", cterm_color = "160", name = "GitConfig" }, 21 | [".gitignore"] = { icon = "", color = "#B83A1D", cterm_color = "160", name = "GitIgnore" }, 22 | [".gitlab-ci.yml"] = { icon = "", color = "#AA321F", cterm_color = "124", name = "GitlabCI" }, 23 | [".gitmodules"] = { icon = "", color = "#B83A1D", cterm_color = "160", name = "GitModules" }, 24 | [".gtkrc-2.0"] = { icon = "", color = "#333333", cterm_color = "236", name = "GTK" }, 25 | [".gvimrc"] = { icon = "", color = "#017226", cterm_color = "22", name = "Gvimrc" }, 26 | [".justfile"] = { icon = "", color = "#526064", cterm_color = "59", name = "Justfile" }, 27 | [".luacheckrc"] = { icon = "", color = "#007ABF", cterm_color = "32", name = "Luaurc" }, 28 | [".luaurc"] = { icon = "", color = "#007ABF", cterm_color = "32", name = "Luaurc" }, 29 | [".mailmap"] = { icon = "󰊢", color = "#B83A1D", cterm_color = "160", name = "Mailmap" }, 30 | [".nanorc"] = { icon = "", color = "#440077", cterm_color = "54", name = "Nano" }, 31 | [".npmignore"] = { icon = "", color = "#AE1D38", cterm_color = "161", name = "NPMIgnore" }, 32 | [".npmrc"] = { icon = "", color = "#AE1D38", cterm_color = "161", name = "NPMrc" }, 33 | [".nuxtrc"] = { icon = "󱄆", color = "#00835F", cterm_color = "29", name = "NuxtConfig" }, 34 | [".nvmrc"] = { icon = "", color = "#3F6B34", cterm_color = "22", name = "node" }, 35 | [".pre-commit-config.yaml"] = { icon = "󰛢", color = "#7C5A12", cterm_color = "94", name = "PreCommitConfig" }, 36 | [".prettierignore"] = { icon = "", color = "#3264B7", cterm_color = "25", name = "PrettierIgnore" }, 37 | [".prettierrc"] = { icon = "", color = "#3264B7", cterm_color = "25", name = "PrettierConfig" }, 38 | [".prettierrc.cjs"] = { icon = "", color = "#3264B7", cterm_color = "25", name = "PrettierConfig" }, 39 | [".prettierrc.js"] = { icon = "", color = "#3264B7", cterm_color = "25", name = "PrettierConfig" }, 40 | [".prettierrc.json"] = { icon = "", color = "#3264B7", cterm_color = "25", name = "PrettierConfig" }, 41 | [".prettierrc.json5"] = { icon = "", color = "#3264B7", cterm_color = "25", name = "PrettierConfig" }, 42 | [".prettierrc.mjs"] = { icon = "", color = "#3264B7", cterm_color = "25", name = "PrettierConfig" }, 43 | [".prettierrc.toml"] = { icon = "", color = "#3264B7", cterm_color = "25", name = "PrettierConfig" }, 44 | [".prettierrc.yaml"] = { icon = "", color = "#3264B7", cterm_color = "25", name = "PrettierConfig" }, 45 | [".prettierrc.yml"] = { icon = "", color = "#3264B7", cterm_color = "25", name = "PrettierConfig" }, 46 | [".pylintrc"] = { icon = "", color = "#526064", cterm_color = "59", name = "PyLintConfig" }, 47 | [".settings.json"] = { icon = "", color = "#643995", cterm_color = "91", name = "SettingsJson" }, 48 | [".vimrc"] = { icon = "", color = "#017226", cterm_color = "22", name = "Vimrc" }, 49 | [".xinitrc"] = { icon = "", color = "#AC3A12", cterm_color = "124", name = "XInitrc" }, 50 | [".xsession"] = { icon = "", color = "#AC3A12", cterm_color = "124", name = "Xsession" }, 51 | [".zprofile"] = { icon = "", color = "#447028", cterm_color = "22", name = "Zshprofile" }, 52 | [".zshenv"] = { icon = "", color = "#447028", cterm_color = "22", name = "Zshenv" }, 53 | [".zshrc"] = { icon = "", color = "#447028", cterm_color = "22", name = "Zshrc" }, 54 | ["AUTHORS"] = { icon = "", color = "#6B4CAA", cterm_color = "61", name = "AUTHORS" }, 55 | ["AUTHORS.txt"] = { icon = "", color = "#6B4CAA", cterm_color = "61", name = "AUTHORS" }, 56 | ["Directory.Build.props"] = { icon = "", color = "#007ABF", cterm_color = "32", name = "BuildProps" }, 57 | ["Directory.Build.targets"] = { icon = "", color = "#007ABF", cterm_color = "32", name = "BuildTargets" }, 58 | ["Directory.Packages.props"] = { icon = "", color = "#007ABF", cterm_color = "32", name = "PackagesProps" }, 59 | ["FreeCAD.conf"] = { icon = "", color = "#98262C", cterm_color = "88", name = "FreeCADConfig" }, 60 | ["Gemfile"] = { icon = "", color = "#701516", cterm_color = "52", name = "Gemfile" }, 61 | ["PKGBUILD"] = { icon = "", color = "#0B6F9E", cterm_color = "24", name = "PKGBUILD" }, 62 | ["PrusaSlicer.ini"] = { icon = "", color = "#9D4717", cterm_color = "130", name = "PrusaSlicer" }, 63 | ["PrusaSlicerGcodeViewer.ini"] = { icon = "", color = "#9D4717", cterm_color = "130", name = "PrusaSlicer" }, 64 | ["QtProject.conf"] = { icon = "", color = "#2B8937", cterm_color = "28", name = "Qt" }, 65 | ["_gvimrc"] = { icon = "", color = "#017226", cterm_color = "22", name = "Gvimrc" }, 66 | ["_vimrc"] = { icon = "", color = "#017226", cterm_color = "22", name = "Vimrc" }, 67 | ["brewfile"] = { icon = "", color = "#701516", cterm_color = "52", name = "Brewfile" }, 68 | ["bspwmrc"] = { icon = "", color = "#2F2F2F", cterm_color = "236", name = "BSPWM" }, 69 | ["build"] = { icon = "", color = "#447028", cterm_color = "22", name = "BazelBuild" }, 70 | ["build.gradle"] = { icon = "", color = "#005F87", cterm_color = "24", name = "GradleBuildScript" }, 71 | ["build.zig.zon"] = { icon = "", color = "#7B4D0E", cterm_color = "94", name = "ZigObjectNotation" }, 72 | ["bun.lock"] = { icon = "", color = "#4E4946", cterm_color = "239", name = "BunLockfile" }, 73 | ["bun.lockb"] = { icon = "", color = "#4E4946", cterm_color = "239", name = "BunLockfile" }, 74 | ["cantorrc"] = { icon = "", color = "#1573B6", cterm_color = "32", name = "Cantorrc" }, 75 | ["checkhealth"] = { icon = "󰓙", color = "#3A5A7E", cterm_color = "24", name = "Checkhealth" }, 76 | ["cmakelists.txt"] = { icon = "", color = "#2C2D2F", cterm_color = "236", name = "CMakeLists" }, 77 | ["code_of_conduct"] = { icon = "", color = "#AB104A", cterm_color = "125", name = "CodeOfConduct" }, 78 | ["code_of_conduct.md"] = { icon = "", color = "#AB104A", cterm_color = "125", name = "CodeOfConduct" }, 79 | ["commit_editmsg"] = { icon = "", color = "#B83A1D", cterm_color = "160", name = "GitCommit" }, 80 | ["commitlint.config.js"] = { icon = "󰜘", color = "#207067", cterm_color = "23", name = "CommitlintConfig" }, 81 | ["commitlint.config.ts"] = { icon = "󰜘", color = "#207067", cterm_color = "23", name = "CommitlintConfig" }, 82 | ["compose.yaml"] = { icon = "󰡨", color = "#2E5F99", cterm_color = "25", name = "Dockerfile" }, 83 | ["compose.yml"] = { icon = "󰡨", color = "#2E5F99", cterm_color = "25", name = "Dockerfile" }, 84 | ["config"] = { icon = "", color = "#526064", cterm_color = "59", name = "Config" }, 85 | ["containerfile"] = { icon = "󰡨", color = "#2E5F99", cterm_color = "25", name = "Dockerfile" }, 86 | ["copying"] = { icon = "", color = "#666620", cterm_color = "58", name = "License" }, 87 | ["copying.lesser"] = { icon = "", color = "#666620", cterm_color = "58", name = "License" }, 88 | ["docker-compose.yaml"] = { icon = "󰡨", color = "#2E5F99", cterm_color = "25", name = "Dockerfile" }, 89 | ["docker-compose.yml"] = { icon = "󰡨", color = "#2E5F99", cterm_color = "25", name = "Dockerfile" }, 90 | ["dockerfile"] = { icon = "󰡨", color = "#2E5F99", cterm_color = "25", name = "Dockerfile" }, 91 | ["eslint.config.cjs"] = { icon = "", color = "#4B32C3", cterm_color = "56", name = "Eslintrc" }, 92 | ["eslint.config.js"] = { icon = "", color = "#4B32C3", cterm_color = "56", name = "Eslintrc" }, 93 | ["eslint.config.mjs"] = { icon = "", color = "#4B32C3", cterm_color = "56", name = "Eslintrc" }, 94 | ["eslint.config.ts"] = { icon = "", color = "#4B32C3", cterm_color = "56", name = "Eslintrc" }, 95 | ["ext_typoscript_setup.txt"] = { icon = "", color = "#AA5A00", cterm_color = "130", name = "TypoScriptSetup" }, 96 | ["favicon.ico"] = { icon = "", color = "#666620", cterm_color = "58", name = "Favicon" }, 97 | ["fp-info-cache"] = { icon = "", color = "#333333", cterm_color = "236", name = "KiCadCache" }, 98 | ["fp-lib-table"] = { icon = "", color = "#333333", cterm_color = "236", name = "KiCadFootprintTable" }, 99 | ["gnumakefile"] = { icon = "", color = "#526064", cterm_color = "59", name = "Makefile" }, 100 | ["go.mod"] = { icon = "", color = "#0082A2", cterm_color = "31", name = "GoMod" }, 101 | ["go.sum"] = { icon = "", color = "#0082A2", cterm_color = "31", name = "GoSum" }, 102 | ["go.work"] = { icon = "", color = "#0082A2", cterm_color = "31", name = "GoWork" }, 103 | ["gradle-wrapper.properties"] = { icon = "", color = "#005F87", cterm_color = "24", name = "GradleWrapperProperties" }, 104 | ["gradle.properties"] = { icon = "", color = "#005F87", cterm_color = "24", name = "GradleProperties" }, 105 | ["gradlew"] = { icon = "", color = "#005F87", cterm_color = "24", name = "GradleWrapperScript" }, 106 | ["groovy"] = { icon = "", color = "#384E5D", cterm_color = "239", name = "Groovy" }, 107 | ["gruntfile.babel.js"] = { icon = "", color = "#975122", cterm_color = "130", name = "Gruntfile" }, 108 | ["gruntfile.coffee"] = { icon = "", color = "#975122", cterm_color = "130", name = "Gruntfile" }, 109 | ["gruntfile.js"] = { icon = "", color = "#975122", cterm_color = "130", name = "Gruntfile" }, 110 | ["gruntfile.ts"] = { icon = "", color = "#975122", cterm_color = "130", name = "Gruntfile" }, 111 | ["gtkrc"] = { icon = "", color = "#333333", cterm_color = "236", name = "GTK" }, 112 | ["gulpfile.babel.js"] = { icon = "", color = "#992E33", cterm_color = "88", name = "Gulpfile" }, 113 | ["gulpfile.coffee"] = { icon = "", color = "#992E33", cterm_color = "88", name = "Gulpfile" }, 114 | ["gulpfile.js"] = { icon = "", color = "#992E33", cterm_color = "88", name = "Gulpfile" }, 115 | ["gulpfile.ts"] = { icon = "", color = "#992E33", cterm_color = "88", name = "Gulpfile" }, 116 | ["hypridle.conf"] = { icon = "", color = "#008082", cterm_color = "30", name = "Hypridle" }, 117 | ["hyprland.conf"] = { icon = "", color = "#008082", cterm_color = "30", name = "Hyprland" }, 118 | ["hyprlandd.conf"] = { icon = "", color = "#008082", cterm_color = "30", name = "Hyprlandd" }, 119 | ["hyprlock.conf"] = { icon = "", color = "#008082", cterm_color = "30", name = "Hyprlock" }, 120 | ["hyprpaper.conf"] = { icon = "", color = "#008082", cterm_color = "30", name = "Hyprpaper" }, 121 | ["i18n.config.js"] = { icon = "󰗊", color = "#515987", cterm_color = "60", name = "I18nConfig" }, 122 | ["i18n.config.ts"] = { icon = "󰗊", color = "#515987", cterm_color = "60", name = "I18nConfig" }, 123 | ["i3blocks.conf"] = { icon = "", color = "#2E2F30", cterm_color = "236", name = "i3" }, 124 | ["i3status.conf"] = { icon = "", color = "#2E2F30", cterm_color = "236", name = "i3" }, 125 | ["index.theme"] = { icon = "", color = "#1E7B4A", cterm_color = "29", name = "IndexTheme" }, 126 | ["ionic.config.json"] = { icon = "", color = "#355FA5", cterm_color = "25", name = "Ionic" }, 127 | ["justfile"] = { icon = "", color = "#526064", cterm_color = "59", name = "Justfile" }, 128 | ["kalgebrarc"] = { icon = "", color = "#1573B6", cterm_color = "32", name = "Kalgebrarc" }, 129 | ["kdeglobals"] = { icon = "", color = "#1573B6", cterm_color = "32", name = "KDEglobals" }, 130 | ["kdenlive-layoutsrc"] = { icon = "", color = "#425C79", cterm_color = "24", name = "KdenliveLayoutsrc" }, 131 | ["kdenliverc"] = { icon = "", color = "#425C79", cterm_color = "24", name = "Kdenliverc" }, 132 | ["kritadisplayrc"] = { icon = "", color = "#A12EA7", cterm_color = "127", name = "Kritadisplayrc" }, 133 | ["kritarc"] = { icon = "", color = "#A12EA7", cterm_color = "127", name = "Kritarc" }, 134 | ["license"] = { icon = "", color = "#686020", cterm_color = "58", name = "License" }, 135 | ["license.md"] = { icon = "", color = "#686020", cterm_color = "58", name = "License" }, 136 | ["lxde-rc.xml"] = { icon = "", color = "#606060", cterm_color = "59", name = "LXDEConfigFile" }, 137 | ["lxqt.conf"] = { icon = "", color = "#016E9E", cterm_color = "24", name = "LXQtConfigFile" }, 138 | ["makefile"] = { icon = "", color = "#526064", cterm_color = "59", name = "Makefile" }, 139 | ["mix.lock"] = { icon = "", color = "#6B4D83", cterm_color = "96", name = "MixLock" }, 140 | ["mpv.conf"] = { icon = "", color = "#3B1342", cterm_color = "53", name = "Mpv" }, 141 | ["node_modules"] = { icon = "", color = "#AE1D38", cterm_color = "161", name = "NodeModules" }, 142 | ["nuxt.config.cjs"] = { icon = "󱄆", color = "#00835F", cterm_color = "29", name = "NuxtConfig" }, 143 | ["nuxt.config.js"] = { icon = "󱄆", color = "#00835F", cterm_color = "29", name = "NuxtConfig" }, 144 | ["nuxt.config.mjs"] = { icon = "󱄆", color = "#00835F", cterm_color = "29", name = "NuxtConfig" }, 145 | ["nuxt.config.ts"] = { icon = "󱄆", color = "#00835F", cterm_color = "29", name = "NuxtConfig" }, 146 | ["package-lock.json"] = { icon = "", color = "#7A0D21", cterm_color = "52", name = "PackageLockJson" }, 147 | ["package.json"] = { icon = "", color = "#AE1D38", cterm_color = "161", name = "PackageJson" }, 148 | ["platformio.ini"] = { icon = "", color = "#A4571D", cterm_color = "130", name = "Platformio" }, 149 | ["pom.xml"] = { icon = "", color = "#7A0D21", cterm_color = "52", name = "Maven" }, 150 | ["prettier.config.cjs"] = { icon = "", color = "#3264B7", cterm_color = "25", name = "PrettierConfig" }, 151 | ["prettier.config.js"] = { icon = "", color = "#3264B7", cterm_color = "25", name = "PrettierConfig" }, 152 | ["prettier.config.mjs"] = { icon = "", color = "#3264B7", cterm_color = "25", name = "PrettierConfig" }, 153 | ["prettier.config.ts"] = { icon = "", color = "#3264B7", cterm_color = "25", name = "PrettierConfig" }, 154 | ["procfile"] = { icon = "", color = "#6B4D83", cterm_color = "96", name = "Procfile" }, 155 | ["py.typed"] = { icon = "", color = "#805E02", cterm_color = "94", name = "Py.typed" }, 156 | ["rakefile"] = { icon = "", color = "#701516", cterm_color = "52", name = "Rakefile" }, 157 | ["readme"] = { icon = "󰂺", color = "#2F2F2F", cterm_color = "236", name = "Readme" }, 158 | ["readme.md"] = { icon = "󰂺", color = "#2F2F2F", cterm_color = "236", name = "Readme" }, 159 | ["rmd"] = { icon = "", color = "#36677C", cterm_color = "24", name = "Rmd" }, 160 | ["robots.txt"] = { icon = "󰚩", color = "#465470", cterm_color = "60", name = "RobotsTxt" }, 161 | ["security"] = { icon = "󰒃", color = "#3F4143", cterm_color = "238", name = "Security" }, 162 | ["security.md"] = { icon = "󰒃", color = "#3F4143", cterm_color = "238", name = "Security" }, 163 | ["settings.gradle"] = { icon = "", color = "#005F87", cterm_color = "24", name = "GradleSettings" }, 164 | ["svelte.config.js"] = { icon = "", color = "#BF2E00", cterm_color = "160", name = "SvelteConfig" }, 165 | ["sxhkdrc"] = { icon = "", color = "#2F2F2F", cterm_color = "236", name = "BSPWM" }, 166 | ["sym-lib-table"] = { icon = "", color = "#333333", cterm_color = "236", name = "KiCadSymbolTable" }, 167 | ["tailwind.config.js"] = { icon = "󱏿", color = "#158197", cterm_color = "31", name = "TailwindConfig" }, 168 | ["tailwind.config.mjs"] = { icon = "󱏿", color = "#158197", cterm_color = "31", name = "TailwindConfig" }, 169 | ["tailwind.config.ts"] = { icon = "󱏿", color = "#158197", cterm_color = "31", name = "TailwindConfig" }, 170 | ["tmux.conf"] = { icon = "", color = "#0F8C13", cterm_color = "28", name = "Tmux" }, 171 | ["tmux.conf.local"] = { icon = "", color = "#0F8C13", cterm_color = "28", name = "Tmux" }, 172 | ["tsconfig.json"] = { icon = "", color = "#36677C", cterm_color = "24", name = "TSConfig" }, 173 | ["unlicense"] = { icon = "", color = "#686020", cterm_color = "58", name = "License" }, 174 | ["vagrantfile"] = { icon = "", color = "#104ABF", cterm_color = "26", name = "Vagrantfile" }, 175 | ["vercel.json"] = { icon = "", color = "#333333", cterm_color = "236", name = "Vercel" }, 176 | ["vlcrc"] = { icon = "󰕼", color = "#9F5100", cterm_color = "130", name = "VLC" }, 177 | ["webpack"] = { icon = "󰜫", color = "#36677C", cterm_color = "24", name = "Webpack" }, 178 | ["weston.ini"] = { icon = "", color = "#805E00", cterm_color = "94", name = "Weston" }, 179 | ["workspace"] = { icon = "", color = "#447028", cterm_color = "22", name = "BazelWorkspace" }, 180 | ["wrangler.jsonc"] = { icon = "", color = "#A35615", cterm_color = "130", name = "WranglerConfig" }, 181 | ["wrangler.toml"] = { icon = "", color = "#A35615", cterm_color = "130", name = "WranglerConfig" }, 182 | ["xmobarrc"] = { icon = "", color = "#A9333E", cterm_color = "131", name = "xmonad" }, 183 | ["xmobarrc.hs"] = { icon = "", color = "#A9333E", cterm_color = "131", name = "xmonad" }, 184 | ["xmonad.hs"] = { icon = "", color = "#A9333E", cterm_color = "131", name = "xmonad" }, 185 | ["xorg.conf"] = { icon = "", color = "#AC3A12", cterm_color = "124", name = "XorgConf" }, 186 | ["xsettingsd.conf"] = { icon = "", color = "#AC3A12", cterm_color = "124", name = "XSettingsdConf" }, 187 | } --[[@as table]] 188 | -------------------------------------------------------------------------------- /lua/nvim-web-devicons/light/icons_by_operating_system.lua: -------------------------------------------------------------------------------- 1 | return { -- this file is generated from lua/nvim-web-devicons/default/icons_by_operating_system.lua, please do not edit 2 | ["alma"] = { icon = "", color = "#BF3437", cterm_color = "160", name = "Almalinux" }, 3 | ["alpine"] = { icon = "", color = "#0D597F", cterm_color = "24", name = "Alpine" }, 4 | ["aosc"] = { icon = "", color = "#C00000", cterm_color = "124", name = "AOSC" }, 5 | ["apple"] = { icon = "", color = "#515556", cterm_color = "240", name = "Apple" }, 6 | ["arch"] = { icon = "󰣇", color = "#0B6F9E", cterm_color = "24", name = "Arch" }, 7 | ["archcraft"] = { icon = "", color = "#435E52", cterm_color = "23", name = "Archcraft" }, 8 | ["archlabs"] = { icon = "", color = "#503F42", cterm_color = "238", name = "Archlabs" }, 9 | ["arcolinux"] = { icon = "", color = "#44609D", cterm_color = "25", name = "ArcoLinux" }, 10 | ["artix"] = { icon = "", color = "#2B788F", cterm_color = "31", name = "Artix" }, 11 | ["biglinux"] = { icon = "", color = "#127796", cterm_color = "31", name = "BigLinux" }, 12 | ["centos"] = { icon = "", color = "#7A3D6A", cterm_color = "89", name = "Centos" }, 13 | ["crystallinux"] = { icon = "", color = "#A900FF", cterm_color = "129", name = "CrystalLinux" }, 14 | ["debian"] = { icon = "", color = "#A80030", cterm_color = "88", name = "Debian" }, 15 | ["deepin"] = { icon = "", color = "#1D6FA5", cterm_color = "24", name = "Deepin" }, 16 | ["devuan"] = { icon = "", color = "#404A52", cterm_color = "238", name = "Devuan" }, 17 | ["elementary"] = { icon = "", color = "#3B6081", cterm_color = "24", name = "Elementary" }, 18 | ["endeavour"] = { icon = "", color = "#5C2E8B", cterm_color = "54", name = "Endeavour" }, 19 | ["fedora"] = { icon = "", color = "#072A5E", cterm_color = "17", name = "Fedora" }, 20 | ["freebsd"] = { icon = "", color = "#C90F02", cterm_color = "160", name = "FreeBSD" }, 21 | ["garuda"] = { icon = "", color = "#1F57A9", cterm_color = "25", name = "GarudaLinux" }, 22 | ["gentoo"] = { icon = "󰣨", color = "#585667", cterm_color = "60", name = "Gentoo" }, 23 | ["guix"] = { icon = "", color = "#554400", cterm_color = "58", name = "Guix" }, 24 | ["hyperbola"] = { icon = "", color = "#404040", cterm_color = "238", name = "HyperbolaGNULinuxLibre" }, 25 | ["illumos"] = { icon = "", color = "#BF320B", cterm_color = "160", name = "Illumos" }, 26 | ["kali"] = { icon = "", color = "#1D59BF", cterm_color = "26", name = "Kali" }, 27 | ["kdeneon"] = { icon = "", color = "#187C7B", cterm_color = "30", name = "KDEneon" }, 28 | ["kubuntu"] = { icon = "", color = "#005C92", cterm_color = "24", name = "Kubuntu" }, 29 | ["leap"] = { icon = "", color = "#54421F", cterm_color = "58", name = "Leap" }, 30 | ["linux"] = { icon = "", color = "#333332", cterm_color = "236", name = "Linux" }, 31 | ["locos"] = { icon = "", color = "#7D5A01", cterm_color = "94", name = "LocOS" }, 32 | ["lxle"] = { icon = "", color = "#474747", cterm_color = "238", name = "LXLE" }, 33 | ["mageia"] = { icon = "", color = "#1A719F", cterm_color = "24", name = "Mageia" }, 34 | ["manjaro"] = { icon = "", color = "#227B3B", cterm_color = "29", name = "Manjaro" }, 35 | ["mint"] = { icon = "󰣭", color = "#447529", cterm_color = "28", name = "Mint" }, 36 | ["mxlinux"] = { icon = "", color = "#333333", cterm_color = "236", name = "MXLinux" }, 37 | ["nixos"] = { icon = "", color = "#3D586E", cterm_color = "24", name = "NixOS" }, 38 | ["nobara"] = { icon = "", color = "#333333", cterm_color = "236", name = "NobaraLinux" }, 39 | ["openbsd"] = { icon = "", color = "#514310", cterm_color = "58", name = "OpenBSD" }, 40 | ["opensuse"] = { icon = "", color = "#4A7818", cterm_color = "64", name = "openSUSE" }, 41 | ["parabola"] = { icon = "", color = "#515373", cterm_color = "60", name = "ParabolaGNULinuxLibre" }, 42 | ["parrot"] = { icon = "", color = "#2A6F80", cterm_color = "23", name = "Parrot" }, 43 | ["pop_os"] = { icon = "", color = "#307B85", cterm_color = "30", name = "Pop_OS" }, 44 | ["postmarketos"] = { icon = "", color = "#007300", cterm_color = "22", name = "postmarketOS" }, 45 | ["puppylinux"] = { icon = "", color = "#51575C", cterm_color = "240", name = "PuppyLinux" }, 46 | ["qubesos"] = { icon = "", color = "#2957A2", cterm_color = "25", name = "QubesOS" }, 47 | ["raspberry_pi"] = { icon = "", color = "#BE1848", cterm_color = "161", name = "RaspberryPiOS" }, 48 | ["redhat"] = { icon = "󱄛", color = "#EE0000", cterm_color = "196", name = "Redhat" }, 49 | ["rocky"] = { icon = "", color = "#0B865E", cterm_color = "29", name = "RockyLinux" }, 50 | ["sabayon"] = { icon = "", color = "#424242", cterm_color = "238", name = "Sabayon" }, 51 | ["slackware"] = { icon = "", color = "#35477F", cterm_color = "25", name = "Slackware" }, 52 | ["solus"] = { icon = "", color = "#4B5163", cterm_color = "239", name = "Solus" }, 53 | ["tails"] = { icon = "", color = "#56347C", cterm_color = "54", name = "Tails" }, 54 | ["trisquel"] = { icon = "", color = "#0F58B6", cterm_color = "25", name = "TrisquelGNULinux" }, 55 | ["tumbleweed"] = { icon = "", color = "#237B72", cterm_color = "30", name = "Tumbleweed" }, 56 | ["ubuntu"] = { icon = "", color = "#A6360F", cterm_color = "124", name = "Ubuntu" }, 57 | ["vanillaos"] = { icon = "", color = "#533F1A", cterm_color = "58", name = "VanillaOS" }, 58 | ["void"] = { icon = "", color = "#295340", cterm_color = "23", name = "Void" }, 59 | ["windows"] = { icon = "", color = "#007BB3", cterm_color = "67", name = "Windows" }, 60 | ["xerolinux"] = { icon = "", color = "#5B5F97", cterm_color = "60", name = "XeroLinux" }, 61 | ["zorin"] = { icon = "", color = "#0F79AE", cterm_color = "67", name = "Zorin" }, 62 | } --[[@as table]] 63 | -------------------------------------------------------------------------------- /lua/nvim-web-devicons/light/icons_by_window_manager.lua: -------------------------------------------------------------------------------- 1 | return { -- this file is generated from lua/nvim-web-devicons/default/icons_by_window_manager.lua, please do not edit 2 | ["awesomewm"] = { icon = "", color = "#3E4651", cterm_color = "238", name = "awesome" }, 3 | ["bspwm"] = { icon = "", color = "#4F4F4F", cterm_color = "239", name = "BSPWM" }, 4 | ["dwm"] = { icon = "", color = "#0D5980", cterm_color = "24", name = "dwm" }, 5 | ["enlightenment"] = { icon = "", color = "#333333", cterm_color = "236", name = "Enlightenment" }, 6 | ["fluxbox"] = { icon = "", color = "#404040", cterm_color = "238", name = "Fluxbox" }, 7 | ["hyprland"] = { icon = "", color = "#008082", cterm_color = "30", name = "Hyprland" }, 8 | ["i3"] = { icon = "", color = "#2E2F30", cterm_color = "236", name = "i3" }, 9 | ["jwm"] = { icon = "", color = "#005A9A", cterm_color = "25", name = "JWM" }, 10 | ["qtile"] = { icon = "", color = "#333333", cterm_color = "236", name = "Qtile" }, 11 | ["river"] = { icon = "", color = "#000000", cterm_color = "16", name = "river" }, 12 | ["sway"] = { icon = "", color = "#4E5815", cterm_color = "58", name = "Sway" }, 13 | ["xmonad"] = { icon = "", color = "#A9333E", cterm_color = "131", name = "xmonad" }, 14 | } --[[@as table]] 15 | -------------------------------------------------------------------------------- /plugin/nvim-web-devicons.vim: -------------------------------------------------------------------------------- 1 | if exists('g:loaded_devicons') | finish | endif 2 | 3 | let s:save_cpo = &cpo 4 | set cpo&vim 5 | 6 | " TODO change so its easier to get 7 | let g:nvim_web_devicons = 1 8 | 9 | let &cpo = s:save_cpo 10 | unlet s:save_cpo 11 | 12 | let g:loaded_devicons = 1 13 | -------------------------------------------------------------------------------- /scripts/align.lua: -------------------------------------------------------------------------------- 1 | -- Plugin echasnovski/mini.align must be available on &runtimepath 2 | -- 3 | -- The current working directory must be set to the repo root 4 | -- 5 | -- This file should be run from the shell with `make generate` 6 | 7 | require("mini.align").setup {} 8 | 9 | -- https://github.com/echasnovski/mini.align/blob/main/lua/mini/align.lua#L633C9-L640C8 10 | local squash_spaces = function(strings) 11 | for i, s in ipairs(strings) do 12 | strings[i] = s:gsub("()(%s+)", function(n, space) 13 | return n == 1 and space or " " 14 | end) 15 | end 16 | end 17 | local steps = { pre_split = { MiniAlign.new_step("squash", squash_spaces) } } 18 | 19 | local function align_table() 20 | local lines = vim.api.nvim_buf_get_lines(0, 1, -2, true) 21 | table.sort(lines) 22 | local aligned_lines = MiniAlign.align_strings(lines, { split_pattern = "%s+" }, steps) 23 | vim.api.nvim_buf_set_lines(0, 1, -2, true, aligned_lines) 24 | end 25 | 26 | for _, theme in ipairs { "default", "light" } do 27 | for _, file in ipairs(_G.ICON_FILES) do 28 | local f = string.format("%s/%s", theme, file) 29 | io.write(string.format("Aligning %s...", f)) 30 | vim.cmd(string.format("noswapfile drop lua/nvim-web-devicons/%s", f)) 31 | align_table() 32 | io.write " OK\n" 33 | vim.cmd "silent! w!" 34 | end 35 | end 36 | -------------------------------------------------------------------------------- /scripts/filetypes.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Iterate over the elements of icons_by_file_extension and check if there are missed filetypes. 4 | # $VIMRUNTIME specifies neovim runtime path, defaults to "/usr/share/nvim/runtime" if unset. 5 | 6 | : "${VIMRUNTIME:=/usr/share/nvim/runtime}" 7 | 8 | exit_value=0 9 | 10 | while read -r key; do 11 | # Search for the key in the filetype to icon table 12 | line=$(grep -F "\"$key\"" "lua/nvim-web-devicons/filetypes.lua") 13 | if [ -z "$line" ]; then 14 | [ -f "${VIMRUNTIME}/syntax/$key.vim" ] && 15 | echo -e "\e[33mPlease add \"$key\" to Lua table in lua/nvim-web-devicons/filetypes.lua.\e[0m" && 16 | exit_value=1 17 | fi 18 | done < <( 19 | sed -nr 's/\s\s\["(.*)"\].*/\1/p' lua/nvim-web-devicons/default/icons_by_file_extension.lua 20 | ) 21 | 22 | exit $exit_value 23 | -------------------------------------------------------------------------------- /scripts/generate.lua: -------------------------------------------------------------------------------- 1 | -- Plugin lifepillar/vim-colortemplate must be available on &runtimepath 2 | -- 3 | -- The current working directory must be set to the repo root 4 | -- 5 | -- This file should be run from the shell with `make generate` 6 | 7 | vim.opt.wrapscan = false -- don't wrap after reaching end of file 8 | 9 | local fn = vim.fn 10 | 11 | --- Exit vim 12 | --- @param msg string 13 | --- @param rc number 14 | local function error_exit(msg, rc) 15 | print(msg .. "\n") 16 | vim.cmd("cq " .. rc) 17 | end 18 | 19 | _G.ICON_FILES = { 20 | "icons_by_desktop_environment.lua", 21 | "icons_by_file_extension.lua", 22 | "icons_by_filename.lua", 23 | "icons_by_operating_system.lua", 24 | "icons_by_window_manager.lua", 25 | } 26 | 27 | for _, file in ipairs(_G.ICON_FILES) do 28 | local f = "lua/nvim-web-devicons/default/" .. file 29 | if fn.filereadable(f) == 0 then 30 | error_exit(f, 1) 31 | end 32 | end 33 | 34 | if not jit then 35 | error_exit("Neovim must be LuaJIT-enabled to source this script", 1) 36 | end 37 | 38 | if fn.filereadable "lua/nvim-web-devicons.lua" == 0 then 39 | error_exit("lua/nvim-web-devicons.lua not found", 1) 40 | end 41 | 42 | local rc, err = pcall(vim.fn["colortemplate#colorspace#approx"], "#000000") 43 | if not rc then 44 | error_exit(err .. "\nlifepillar/vim-colortemplate not present in &runtimepath '" .. vim.o.runtimepath .. "'", 1) 45 | end 46 | 47 | -- Needed in order to have the correct indentation on line insertion 48 | vim.o.autoindent = true 49 | 50 | -------------------------------------------------------------------------------- 51 | -- Local functions 52 | -------------------------------------------------------------------------------- 53 | 54 | local light78 = 255 * 7 / 8 55 | local light68 = 255 * 6 / 8 56 | local light58 = 255 * 5 / 8 57 | local light12 = 255 / 2 58 | local light13 = 255 / 3 59 | 60 | local function darken_color(rrggbb) 61 | local r, g, b = rrggbb:match "%#(%x%x)(%x%x)(%x%x)" 62 | r, g, b = tonumber("0x" .. r), tonumber("0x" .. g), tonumber("0x" .. b) 63 | -- luminance formula: see https://stackoverflow.com/a/596243 64 | local lum = 0.299 * r + 0.587 * g + 0.114 * b 65 | if lum < light13 then -------------------- darkest tertile 66 | return rrggbb 67 | elseif lum < light12 then ---------------- second darkest quartile 68 | r = bit.tohex(r / 4 * 3):sub(-2) 69 | g = bit.tohex(g / 4 * 3):sub(-2) 70 | b = bit.tohex(b / 4 * 3):sub(-2) 71 | elseif lum < light58 then ---------------- lightest octiles: first 72 | r = bit.tohex(r / 3 * 2):sub(-2) 73 | g = bit.tohex(g / 3 * 2):sub(-2) 74 | b = bit.tohex(b / 3 * 2):sub(-2) 75 | elseif lum < light68 then ---------------- lightest octiles: second 76 | r = bit.tohex(r / 2):sub(-2) 77 | g = bit.tohex(g / 2):sub(-2) 78 | b = bit.tohex(b / 2):sub(-2) 79 | elseif lum < light78 then ---------------- lightest octiles: third 80 | r = bit.tohex(r / 3):sub(-2) 81 | g = bit.tohex(g / 3):sub(-2) 82 | b = bit.tohex(b / 3):sub(-2) 83 | else ------------------------------------- lightest octile 84 | r = bit.tohex(r / 5):sub(-2) 85 | g = bit.tohex(g / 5):sub(-2) 86 | b = bit.tohex(b / 5):sub(-2) 87 | end 88 | return string.format("#%s%s%s", r, g, b):upper() 89 | end 90 | 91 | local function iterate_colors(proc) 92 | -- move to first line 93 | vim.cmd ":1" 94 | local cursor = fn.search "\\scolor =" 95 | -- fn.search will return 0 when no more matches are found with falsy `wrapscan` 96 | while cursor ~= 0 do 97 | local rrggbb = vim.api.nvim_get_current_line():match '"(#%x%x%x%x%x%x)"' 98 | proc(rrggbb) 99 | vim.cmd "normal! $" 100 | cursor = fn.search "\\scolor =" 101 | end 102 | end 103 | 104 | local function generate_cterm(rrggbb) 105 | local cterm_color = fn["colortemplate#colorspace#approx"](rrggbb).index 106 | vim.cmd(string.format('s/cterm_color = "[0-9]*"/cterm_color = %q', cterm_color)) 107 | end 108 | 109 | local function generate_for_light_bg(rrggbb) 110 | local darkened_rrggbb = darken_color(rrggbb) 111 | vim.cmd(string.format("s/%q/%q/", rrggbb, darkened_rrggbb)) 112 | generate_cterm(darkened_rrggbb) 113 | end 114 | 115 | -------------------------------------------------------------------------------- 116 | -- Update cterm_color for dark background 117 | -------------------------------------------------------------------------------- 118 | for _, file in ipairs(_G.ICON_FILES) do 119 | vim.cmd(string.format("noswapfile drop lua/nvim-web-devicons/default/%s", file)) 120 | io.write(string.format("Generating cterm colors for dark background: %s...", file)) 121 | iterate_colors(generate_cterm) 122 | vim.cmd "silent! wall!" 123 | io.write " OK\n" 124 | end 125 | 126 | -------------------------------------------------------------------------------- 127 | -- Update color and cterm_color for light backgrounds 128 | -------------------------------------------------------------------------------- 129 | for _, file in ipairs(_G.ICON_FILES) do 130 | vim.cmd("noswapfile drop lua/nvim-web-devicons/light/" .. file) 131 | io.write("Generating colors for light background: " .. file .. "...") 132 | iterate_colors(generate_for_light_bg) 133 | vim.cmd( 134 | string.format( 135 | "1s/.*/& -- this file is generated from lua\\/nvim-web-devicons\\/default\\/%s, please do not edit", 136 | file 137 | ) 138 | ) 139 | vim.cmd "silent! wall!" 140 | io.write " OK\n" 141 | end 142 | -------------------------------------------------------------------------------- /scripts/sort_filetypes.lua: -------------------------------------------------------------------------------- 1 | -- The current working directory must be set to the repo root 2 | -- 3 | -- This file should be run from the shell with `make generate` 4 | 5 | io.write "Sorting filetypes.lua..." 6 | vim.cmd "noswapfile drop lua/nvim-web-devicons/filetypes.lua" 7 | local lines = vim.api.nvim_buf_get_lines(0, 3, -2, true) 8 | table.sort(lines) 9 | vim.api.nvim_buf_set_lines(0, 3, -2, true, lines) 10 | io.write " OK\n" 11 | vim.cmd "silent! w!" 12 | --------------------------------------------------------------------------------