Home

Awesome

NVIM-Remote-Containers

This plugin aims to give you the functionality of VSCode's remote container development plugin. It will allow you to spawn and develop in docker containers and pulls config information from a devcontainer.json file.

Available Lua Functions

Available Vim Commands

Extras

Set your statusline to reflect the current connected container through g:currentContainer:

hi Container guifg=#BADA55 guibg=Black
set statusline+=%#Container#%{g:currentContainer}

Usage

Before using this plugin, you should install the jsonc treesitter module: :TSInstall jsonc, this is needed to parse the config file.

If you are in the root directory that has the .devcontainer/ folder, you can run the following vim commands:

" If you haven't built the image specified in your config.
" Takes `true` or `false` depending on whether or not you want to see the build progress in a floating window.
:BuildImage
" Attach to the container you just built / a previously built container
:AttachToContainer
" Start a container from a pre-built image
:StartImage

" Runs the docker-compose -f <file> up
:ComposeUp
" Runs docker-compose -f <file> down
:ComposeDown
" Runs docker-compose rm <file> -fsv
:ComposeDestroy

Contributing

Lua code is formatted in a pre-commit hook using stylelua. Please install this as part of contributing to the project. Contributors using Linux may use the pre-push hook to ensure formatting. Install the pre-push hook by running tools/init.sh.