Skip to content

maximyurevich/telescope-media.nvim

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

telescope-media.nvim

demo.mp4

Preview IMAGES, PDF, EPUB, VIDEO, and FONTS from Neovim using Telescope. Keep in mind that this is a rewrite so some filetypes are not yet supported. Lastly, opening an image for the first time will lag as it is creating caches in /tmp/tele.media.cache directory.

SUPPORTS

Following are the filetypes that this picker supports.

Supported filetypes. I think.
  • MOBI
  • FB2
  • EPUB
  • PNG
  • JPG
  • JPEG
  • JIFF
  • SVG
  • WEBP
  • GIF
  • OTF
  • TTF
  • WOFF
  • WOFF2
  • MP4
  • MKV
  • FLV
  • 3GP
  • WMV
  • MOV
  • WEBM
  • MPG
  • MPEG
  • AVI
  • OGG
  • AA
  • AAC
  • AIFF
  • ALAC
  • MP3
  • OPUS
  • OGA
  • MOGG
  • WAV
  • CDA
  • WMA
  • AI
  • EPS
  • PDF
  • MARKDOWN
  • TORRENT
  • RFC822
  • ODT
  • DOCX

NOTE: This plugin is only supported in Linux.

PACKER

use({
  "dharmx/telescope-media.nvim",
  config = function()
    require("telescope").load_extension("media")
  end,
  requires = {
    "nvim-lua/plenary.nvim",
    "nvim-telescope/telescope.nvim",
  }
})

SETUP

require("telescope").load_extension("media")

CONFIG

This extension should be configured using the extensions field inside Telescope. However, you could also pass a table into the extension call.

require("telescope").setup({
  extensions = {
    media = {
      backend = "viu", -- "none"|"ueberzug"|"viu"|"chafa"|"jp2a"|"catimg"
      move = true, -- experimental GIF preview
      on_confirm = canned.single.copy_path,
      on_confirm_muliple = canned.multiple.bulk_copy,
      cache_path = "/tmp/tele.media.cache",
    }
  }
})
-- NOTE: It should be noted that if media.attach_mappings key is added then
-- NOTE: | on_confirm or, on_confirm_muliple will not be called as a consequence.
-- NOTE: | you will have to either call a canned function or, call your own
-- NOTE: | function manually inside attach_mappings.

COMMANDS

:Telescope media

"Using lua function
lua require('telescope').extensions.media.media()
lua << EOF
require('telescope').extensions.media.media({
  find_command = {
    "rg",
    "--files",
    "--glob",
    "*.{*}",
    "."
  }
})
EOF

PREREQUISITES

Some of these are optional.

TODOS

This is getting out of hand.
  • Add documentations, briefs and notes.
  • Add default text preview.
  • Render html files using elinks, pandoc, lynx and w3m.
  • Render markdown files using glow and pandoc.
  • Add viu backend.
  • Add jp2a backend.
  • Add chafa backend.
  • Add support for ZIPs.
  • Add support for binaries.
  • Add default image preview.
  • Add support for ebooks.
  • Add support for Ai/EPS.
  • Add support for vectors.
  • Add support for images.
  • Add support for fonts.
  • Add support for video thumbnails.
  • Add support for audio covers.
  • Add support for PDF.
  • Add support for MSWORD types.
  • Add support for XLSX.
  • Add support for XLS.
  • Add support for DJVU.
  • Add support for TORRENT.
  • Add support for ODS.
  • Add support for ODP.
  • Add support for SXW.
  • Add support for ODT.
  • Add support for DFF.
  • Add support for DSF.
  • Add support for WV.
  • Add support for WVC.
  • Add support for RFC822.
  • Add support for RTF.
  • Add support for MARKDOWN.
  • Add some canned functions for config.on_confirm.
  • Improve caching.
  • Use image magick instead of fontforge for previewing fonts.
  • Add text/binary file handlers.
  • Add cwd support.
  • Add attach_mappings support.
  • Add img2txt backend.
  • Add gif2txt backend.
  • Add ascii-image-converter backend.
  • Add dialog boxes.
  • Add rifle.lua.
  • Revise rifle.lua.
  • Recalibrate preview size when window is moved.
  • Check only once if all listed executables in rifle.lua exists.
  • Map executables to filetypes.
  • Refactor and revise.
  • Pass options for custom timeout limit for _run() function.
  • Document preview.lua and rifle.lua.
  • Revise all documentations.
  • Add checkheath module.
  • Do not use get_os_command_output for possible long jobs.

CREDITS

About

Fix ueberzug preview

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Lua 100.0%