nasyxx / nerd-icons.el

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

nerd-icons.el - A Library for Nerd Font icons

https://melpa.org/packages/nerd-icons-badge.svg

Nerd-icons.el is a library for easily using Nerd Font icons inside Emacs, an alternative to all-the-icons.

It works on both GUI and terminal! You only need a Nerd Font installed on your system.

It is inspired by all-the-icons, icons-in-terminal, vim-devicons, and nvim-web-devicons.

in GUI: screenshots/demo.png

in terminal: screenshots/demo-terminal.png

Installing Fonts

Please go to Nerd Fonts website and get a Nerd font. After installing the font on your machine, you need to set nerd-icons-font-family to match its font name so that the font can be properly used under GUI. If you want Nerd Fonts to work under a terminal, please change your terminal’s font to a Nerd font.

If the Nerd Font you installed does not display correctly (e.g. appear cut off), it is recommended to use Symbols Nerd Fonts Mono (Symbols Nerd Font). You can use M-x nerd-icons-install-fonts to install Symbols Nerd Fonts Mono for you. Note that for Windows you’ll need to manually install the font after you used this function.

Usage

nerd-icons is on Melpa. You can install it with built-in M-x package-install

(require 'nerd-icons)

or using use-package

(use-package nerd-icons
  ;; :custom
  ;; The Nerd Font you want to use in GUI
  ;; "Symbols Nerd Font Mono" is the default and is recommended
  ;; but you can use any other Nerd Font if you want
  ;; (nerd-icons-font-family "Symbols Nerd Font Mono")
  )

insert icons

  • use icon based on category
    • nerd-icons-icon-for-dir
    • nerd-icons-icon-for-file
    • nerd-icons-icon-for-mode
    • nerd-icons-icon-for-url
    • nerd-icons-icon-for-buffer

    example:

    (insert (nerd-icons-icon-for-file "init.el"))
    ;; Inserts an icon for Emacs Lisp
        
  • use icon directly
    • nerd-icons-ipsicon
    • nerd-icons-octicon
    • nerd-icons-pomicon
    • nerd-icons-powerline
    • nerd-icons-faicon
    • nerd-icons-wicon
    • nerd-icons-sucicon
    • nerd-icons-devicon
    • nerd-icons-codicon
    • nerd-icons-flicon
    • nerd-icons-mdicon

    example:

    (insert (nerd-icons-faicon "nf-fa-gitlab"))
    ;; Inserts a Gitlab icon
        
  • insert icon interactively (M-x functions)
    • nerd-icons-insert
    • nerd-icons-insert-ipsicon
    • nerd-icons-insert-octicon
    • nerd-icons-insert-pomicon
    • nerd-icons-insert-powerline
    • nerd-icons-insert-faicon
    • nerd-icons-insert-wicon
    • nerd-icons-insert-sucicon
    • nerd-icons-insert-devicon
    • nerd-icons-insert-codicon
    • nerd-icons-insert-flicon
    • nerd-icons-insert-mdicon

Glyph Sets

Glyph SetprefixPoint Rangeinsert function
Seti-UI + Customnf-seti-, nf-custom-e5fa - e631nerd-icons-sucicon
Deviconsnf-dev-e700 - e7c5nerd-icons-devicon
Font Awesomenf-fa-f000 - f2e0nerd-icons-faicon
Font Awesome Extensionnf-fae-e200 - e2a9nerd-icons-faicon
Material Design Iconsnf-md-f500 - fd46nerd-icons-mdicon
Weathernf-weather-e300 - e3ebnerd-icons-wicon
Octiconsnf-oct-f400 - f4a9, 2665, 26A1nerd-icons-octicon
Powerline Symbolsnf-pl-e0a0 - e0a2, e0b0 - e0b3nerd-icons-powerline
Powerline Extra Symbolsnf-ple-e0a3, e0b4 - e0c8, e0ca, e0cc - e0d4nerd-icons-powerline
IEC Power Symbolsnf-iec-23fb - 23fe, 2b58nerd-icons-ipsicon
Font Logosnf-linux-f300 - f32dnerd-icons-flicon
Pomiconsnf-pom-e000 - e00anerd-icons-pomicon
Codiconsnf-cod-ea60 - ebebnerd-icons-codicon

Please check Nerd Fonts Glyph Sets and Code Points for more information.

Related Packages

Use nerd-icons with Corfu

If you use corfu and kind-icon, you can use the following setting for icon mapping:

(setq kind-icon-use-icons nil)
(setq kind-icon-mapping
      `(
        (array ,(nerd-icons-codicon "nf-cod-symbol_array") :face font-lock-type-face)
        (boolean ,(nerd-icons-codicon "nf-cod-symbol_boolean") :face font-lock-builtin-face)
        (class ,(nerd-icons-codicon "nf-cod-symbol_class") :face font-lock-type-face)
        (color ,(nerd-icons-codicon "nf-cod-symbol_color") :face success)
        (command ,(nerd-icons-codicon "nf-cod-terminal") :face default)
        (constant ,(nerd-icons-codicon "nf-cod-symbol_constant") :face font-lock-constant-face)
        (constructor ,(nerd-icons-codicon "nf-cod-triangle_right") :face font-lock-function-name-face)
        (enummember ,(nerd-icons-codicon "nf-cod-symbol_enum_member") :face font-lock-builtin-face)
        (enum-member ,(nerd-icons-codicon "nf-cod-symbol_enum_member") :face font-lock-builtin-face)
        (enum ,(nerd-icons-codicon "nf-cod-symbol_enum") :face font-lock-builtin-face)
        (event ,(nerd-icons-codicon "nf-cod-symbol_event") :face font-lock-warning-face)
        (field ,(nerd-icons-codicon "nf-cod-symbol_field") :face font-lock-variable-name-face)
        (file ,(nerd-icons-codicon "nf-cod-symbol_file") :face font-lock-string-face)
        (folder ,(nerd-icons-codicon "nf-cod-folder") :face font-lock-doc-face)
        (interface ,(nerd-icons-codicon "nf-cod-symbol_interface") :face font-lock-type-face)
        (keyword ,(nerd-icons-codicon "nf-cod-symbol_keyword") :face font-lock-keyword-face)
        (macro ,(nerd-icons-codicon "nf-cod-symbol_misc") :face font-lock-keyword-face)
        (magic ,(nerd-icons-codicon "nf-cod-wand") :face font-lock-builtin-face)
        (method ,(nerd-icons-codicon "nf-cod-symbol_method") :face font-lock-function-name-face)
        (function ,(nerd-icons-codicon "nf-cod-symbol_method") :face font-lock-function-name-face)
        (module ,(nerd-icons-codicon "nf-cod-file_submodule") :face font-lock-preprocessor-face)
        (numeric ,(nerd-icons-codicon "nf-cod-symbol_numeric") :face font-lock-builtin-face)
        (operator ,(nerd-icons-codicon "nf-cod-symbol_operator") :face font-lock-comment-delimiter-face)
        (param ,(nerd-icons-codicon "nf-cod-symbol_parameter") :face default)
        (property ,(nerd-icons-codicon "nf-cod-symbol_property") :face font-lock-variable-name-face)
        (reference ,(nerd-icons-codicon "nf-cod-references") :face font-lock-variable-name-face)
        (snippet ,(nerd-icons-codicon "nf-cod-symbol_snippet") :face font-lock-string-face)
        (string ,(nerd-icons-codicon "nf-cod-symbol_string") :face font-lock-string-face)
        (struct ,(nerd-icons-codicon "nf-cod-symbol_structure") :face font-lock-variable-name-face)
        (text ,(nerd-icons-codicon "nf-cod-text_size") :face font-lock-doc-face)
        (typeparameter ,(nerd-icons-codicon "nf-cod-list_unordered") :face font-lock-type-face)
        (type-parameter ,(nerd-icons-codicon "nf-cod-list_unordered") :face font-lock-type-face)
        (unit ,(nerd-icons-codicon "nf-cod-symbol_ruler") :face font-lock-constant-face)
        (value ,(nerd-icons-codicon "nf-cod-symbol_field") :face font-lock-builtin-face)
        (variable ,(nerd-icons-codicon "nf-cod-symbol_variable") :face font-lock-variable-name-face)
        (t ,(nerd-icons-codicon "nf-cod-code") :face font-lock-warning-face)))

About

License:GNU General Public License v3.0


Languages

Language:Emacs Lisp 100.0%