Post - Docker Neovim Telescope Extension

I use docker quite a bit for my job and haven’t yet found a workflow for it that feels good. I was looking through telescope.nvim today and I don’t think it’ll be too hard to make a fully feature docker plugin that integrates with the fuzzy finding telescope provides. Here’s a list of features I’d want.

Containers

  • List all containers docker container ls -a
  • Support stop, start, restart, kill and rm
  • support exec with arbitrary command (not interactive)
    • Would be nice to have immediate feedback if this fails (command doesn’t exist or something)
  • support attaching to tty and maybe customizable shell (termopen())
  • support opening log of containers

Images

  • List all images docker image ls (filter the none shit)
  • rmi for images
  • support run with arbitrary command (not interactive)
  • support running new interactive container and attaching to tty and maybe customizable shell (termopen())

Usability

  • configurable prefix and mappings
    • should I even give default mappings (probably since actions are a thing)
  • previewer should be logs if available

Unsolved mysteries

  • supporting additional arguments, such as
    • volumes
    • environment variables
    • Basically anything you see under docker run --help

Docker Compose???

  • Don’t know jack about this, probably will come later

Way Future Crazy Ideas that I don’t even know if they would work (might have to be separate plugin)

  • Choose to run lsp in a docker container.1

First steps

  • probably just get stuff showing up in tele and learning more about the tele api and lua

Random thougts

  • Need a photoshopped image of a whale on a telescope
  1. Lots of complexity here regarding JSON RPC and mapping volumes see clangd mailing list

    ↩︎