Code Monkey home page Code Monkey logo

nerd-icons-corfu's Introduction

nerd-icons-corfu.el - Icons for Corfu via nerd-icons

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

Nerd-icons-corfu.el is a library for adding icons to completions in Corfu. It uses nerd-icons.el under the hood and, as such, works on both GUI and terminal. Below if a screenshot of the GUI version.

screenshots/gui.png

Note that you need a Nerd Font installed for it to work.

Usage

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

To use it, add nerd-icons-corfu-formatter to corfu-margin-formatters, and maybe tweak the icons to your linking in nerd-icons-corfu-mapping:

(add-to-list 'corfu-margin-formatters #'nerd-icons-corfu-formatter)

;; Optionally:
(setq nerd-icons-corfu-mapping
      '((array :style "cod" :icon "symbol_array" :face font-lock-type-face)
        (boolean :style "cod" :icon "symbol_boolean" :face font-lock-builtin-face)
        ;; ...
        (t :style "cod" :icon "code" :face font-lock-warning-face)))
        ;; Remember to add an entry for `t', the library uses that as default.

;; The Custom interface is also supported for tuning the variable above.

Difference from kind-icon

kind-icon is another, more well-known package that adds icons to Corfu. At a glance, this package may seem redundant. However, there are key differences in goals and methods, outlined in the following:

  1. Though kind-icon focuses on Corfu, it’s more-or-less agnostic, you can use it for company-mode, for instance. This package is more limited in regard to scope: it implements icons for Corfu via Nerd Fonts, and only that.
  2. kind-icon uses svg-lib under the hood, and it actually draws images for the icons. There is overhead related to this and the method requires a graphical display (on terminal, it only adds plaintext), therefore being less portable. Here the provider is nerd-icons.el, and the icons are actually Unicode text with a special font.

Additionally, it is possible to use nerd-icons.el with kind-icon, but the setup required is non-trivial, and it feels like overkill to bring in SVG drawing capabilities to render glyph text.

None of this is to say kind-icon is bad or worse, it’s really a matter of taste, since its icons are indeed a bit more elaborate.

nerd-icons-corfu's People

Contributors

luigipiucco avatar seagle0128 avatar minad avatar fredericgiquel avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.