Giter VIP home page Giter VIP logo

icon-picker.nvim's Introduction

YouTube

TypeScript React HTML5 CSS3 Lua Rust



icon-picker.nvim's People

Contributors

chrisgrieser avatar kaminou avatar logan-connolly avatar mcauley-penney avatar snxwman avatar ziontee113 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

icon-picker.nvim's Issues

what's your setup

that first screenshot (right under the two screencapture videos) in the README is sooo crispy

what font is that? what terminal are you using? how did you get it to be so sharp?

my neovim is not as pretty when I have popup floats like the icon-picker one in that screenshot :(

Enhancement request: add all available sources by default

Could you add by default all sources are turned on:
:IconPickerInsert emoji nerd_font alt_font symbols == :IconPickerInsert
I have this default config:
require("icon-picker").setup({ disable_legacy_commands = true })
image
image

And update documentation for it

In Insert mode, the icon is added after the letter behind the cursor

Hi, I like your plugin very much, but I found a problem in insert mode.
In Insert mode, the icon is added after the letter behind the cursor

like that
GIF 2023-1-15 19-29-19

I modified the function to get what I wanted

local function insert_user_choice_insert(choice)
	if choice then
		local split = vim.split(choice, " ")

		vim.api.nvim_put({ split[1] }, "", false, false)
		vim.api.nvim_feedkeys("a", "t", false)
	end
end

like that
GIF 2023-1-15 19-37-44

I don't know if this is a bug

E492: Not an editor command: PickIcons

screenshot

I followed the installation guide (via Packer) and the plug-in installed fine. However, when I try to use it, I get this error.

I am almost convinced it is a problem at my end but I am finding it hard to figure out. Any chance you could help?

Thank you.

update material design icons to nerd v3.0.0

The use of patched fonts with nerd-icons v3.0.0 leads to some icons being displayed badly or not at all.
Both code points and class names have changed.

Informations here

Also, it seems that the list of icons is not up to date.
From the i_md.sh script it is simple to update nf-icon-list.lua. Some icons are not available anymore.

As it's a breaking change that can be annoying for people using nerd-fonts < v3.0.0 and I'm not sure you want to integrate all these changes, I don't propose a PR. I can do that (first time) if you’re ok with these changes.

Maybe you should provide a v3.0.0 branch ?

Improve API design

As mentioned in #7, I think there is an opportunity to improve the API of this package. Namely, shifting the focus around the actions as opposed to the symbols. From my point of view, this would have two main benefits:

  1. Simplify the number of commands; currently the number of commands is a function of n_actions * n_icon_sets;
  2. Combine the character sets as you see fit, e.g. Emoji + Nerd.

I think the easiest way to accomplish this is by making it into a lua package that exposes actions. Here is a very rough mock up of what the API could look like:

-- Option 1: one method option
require('icon-picker').select({ mode = "yank", icons = {"emoji", "nerd"} })
require('icon-picker').select()  -- default to mode='paste' and icons='everything'

-- Option 2: two method option
require('icon-picker').paste({ icons = {"emoji", "nerd"} })   -- combine icon sets
require('icon-picker').yank()  -- default to icons='everything'

You may have noticed that I did not add insert mode as an option. The reason is that my hunch is that it is more of a matter of how you set the keybinding, as opposed to the actual function that is being used. Here is an example of how I imagine the key map could be set:

vim.keymap.set({'n', 'i'}, "<c-i>", function()
    -- paste the selection in both 'normal' and 'insert' modes when ctrl + i is pressed
    require('icon-picker').select({ mode = "paste", icons = {"emoji", "nerd"} })
end)

Newer nerdfonts icons missing

Some of the newer icons from nerdfonts are missing from the tables.

For example, the neovim icons nf-custom-neovim and nf-linux-neovim.

Is there a script to regenerate the icon tables or are entries added manually?

Help!

Can you add a section in readme for installation through lazy?

Thanks

Suggested insert mode mapping (`<C-i>`) inserts `<Tab>` instead of opening the picker

Hey, thanks for creating this plugin! I didn't know I needed it πŸ˜„

When I wanted to try it out, the insert mode mapping suggested in the README didn't work for me. It inserted a Tab instead. It turns out that C-i is sent as <Tab> from the terminal to vim. Even though the mapping was listed in :imap <C-i>, Tab was inserted instead of opening the emoji picker.

I was able to use <C-o>:PickIconsInsert<CR> in insert mode, so it was up to the <C-i> mapping that was sent as <Tab> by the terminal.

I reckon I may not be the only one with this problem. Perhaps changing the default insert-mode binding to <C-e> will let other users avoid this problem.

For reference, I am using kitty as my terminal

19:27 $ kitty -v
kitty 0.25.2 created by Kovid Goyal

I also checked in gnome-terminal and it also sent <C-i> as <Tab>.

[Request] Create Vimdoc

Please consider creating a simple vimdoc for your plugin so that we can view its commands from :help

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.