Try Copilot in Vim in Docker

lobste.rs - Thu Jun 23 15:47

So I decided to finally give GitHub Copilot a spin. Let's see how our new robot overlords are doing in terms of programming!

Turns out there is no way to just go to a website, start typing and see the magic in action. There is a plugin for Neovim. I don't like to install stuff that is not in the Debian repos though. So Docker to the rescue!

As with anything I do manually, I put the steps into a script so I don't have to do it again. And so I can share them. So here it is, the script to easily try Copilot in Vim in Docker.

Unfortunately it is a "script" that you have to execute manually line by line. Since it switches in and out of the container and needs you to do manually register the token shown by the plugin during the setup. If the plugin setup was non-interactive, it all could be done in a Dockerfile.

docker run --name copilotcontainer -it debian:sid-slim

apt update && apt upgrade -y

apt install -y neovim nodejs git

git clone https://github.com/github/copilot.vim.git ~/.config/nvim/pack/github/start/copilot.vim

vim

# Now in vim type:
# :Copilot setup
# And then hit enter
# The plugin will display a token.
# Open a browser and paste the code on https://github.com/login/device
# After a few moments, the plugin will finish the setup
# Now exit vim
# Exit the container

docker commit copilotcontainer copilot

docker rm copilotcontainer

## All done

# From now on, you can use the copilot container with:
# docker run --rm -it copilot