neovim / neovim

Vim-fork focused on extensibility and usability
https://neovim.io
Other
83.64k stars 5.72k forks source link

libsixel support? #4500

Open v217 opened 8 years ago

v217 commented 8 years ago

https://github.com/saitoha/libsixel is supported by a growing number of applications. Would this be useful for neovim?

tarruda commented 8 years ago

libsixel seems really cool, and while I don't fully understand how it works, I doubt Neovim can ever support it since its internal screen composed of unicode characters of fixed size.

lowfatcomputing commented 7 years ago

https://www.reddit.com/r/vim/comments/5wkned/view_images_in_terminal_vim_with_sixel_graphics/

Lazerbeak12345 commented 3 weeks ago

I just wanted to point out that there are two things to support here:

  1. Arbitrary image rendering as an API for plugins
  2. (what I currently want) allowing the Neovim embedded terminal to forward SIXEL graphics to the host (if the host supports it), offsetting the placement and cropping just as tmux does. (IE, I run :ter then run img2sixel on an image)

I suspect the latter would be easier to implement in the short term, while the former requires some API design.

Preferably, whatever is done would support kitty and iterm2 as well in both case 1 and 2.

Also, ImageMagick supports sixel encoding, so if cropping or something else isn't easy, that library could be used to decode the image, manipulate it then re-encode it.

justinmk commented 3 weeks ago

Arbitrary image rendering as an API for plugins

Tracked in https://github.com/neovim/neovim/issues/30889

I think shelling out to ImageMagick is a good starting point.

If we eventually adopt libvaxis then we'll get a lot of features for free. https://github.com/rockorager/libvaxis/issues/79