{"id":13413035,"url":"https://github.com/jamestthompson3/nvim-remote-containers","last_synced_at":"2025-04-12T18:49:38.873Z","repository":{"id":38601585,"uuid":"242565183","full_name":"jamestthompson3/nvim-remote-containers","owner":"jamestthompson3","description":"Develop inside docker containers, just like VSCode","archived":false,"fork":false,"pushed_at":"2023-12-22T00:07:42.000Z","size":34,"stargazers_count":908,"open_issues_count":11,"forks_count":25,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-03T21:13:16.804Z","etag":null,"topics":["docker","lua","neovim","nvim","remote-containers"],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jamestthompson3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-02-23T18:03:12.000Z","updated_at":"2025-03-29T04:25:01.000Z","dependencies_parsed_at":"2023-12-06T01:30:14.547Z","dependency_job_id":"31348047-844b-428d-a5e7-6e1643101b5c","html_url":"https://github.com/jamestthompson3/nvim-remote-containers","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamestthompson3%2Fnvim-remote-containers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamestthompson3%2Fnvim-remote-containers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamestthompson3%2Fnvim-remote-containers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamestthompson3%2Fnvim-remote-containers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jamestthompson3","download_url":"https://codeload.github.com/jamestthompson3/nvim-remote-containers/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248618218,"owners_count":21134199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","lua","neovim","nvim","remote-containers"],"created_at":"2024-07-30T20:01:32.616Z","updated_at":"2025-04-12T18:49:38.848Z","avatar_url":"https://github.com/jamestthompson3.png","language":"Lua","funding_links":[],"categories":["Remote Development","Lua"],"sub_categories":["Indent"],"readme":"# NVIM-Remote-Containers\n\nThis plugin aims to give you the functionality of VSCode's [remote container development](https://code.visualstudio.com/docs/remote/containers) plugin. It will allow you to spawn and develop in docker containers and pulls config information from a `devcontainer.json` file.\n\n## Available Lua Functions\n\n- `parseConfig`: parses `devcontainer.json` file--takes in argument specifying type (dockerCompose, dockerFile, image)\n- `attachToContainer`: Attaches to a docker container or builds a container from a user chose image\n- `buildImage`: Builds container from the Dockerfile specified in the `devcontainer.json` file. Takes a boolean parameter to determine whether or not to show the build process in a floating window or in the quickfix list.\n- `composeUp`: Brings docker-compose up\n- `composeDown`: Brings docker-compose down\n- `composeDestroy`: Destorys docker-compose containers\n\n## Available Vim Commands\n\n- `AttachToContainer` wrapper for the `attachToContainer` lua function.\n- `BuildImage` wrapper for the `buildImage` lua function, takes \"true\" or \"false\" as an argument to decide whether or not to show the build progress in a floating window.\n- `StartImage` lists all available images and starts the one selected by you given the arguments found in the `devcontainer.json` file in your project's workspace.\n- `ComposeUp` wrapper for `composeUp` lua function.\n- `ComposeDown` wrapper for `composeDown` lua function.\n- `ComposeDestroy` wrapper for `composeDestroy` lua function.\n\n## Extras\n\nSet your statusline to reflect the current connected container through `g:currentContainer`:\n\n```viml\nhi Container guifg=#BADA55 guibg=Black\nset statusline+=%#Container#%{g:currentContainer}\n```\n\n## Usage\n\nBefore using this plugin, you should install the `jsonc` treesitter module: `:TSInstall jsonc`, this is needed to parse the config file.\n\nIf you are in the root directory that has the `.devcontainer/` folder, you can run the following vim commands:\n\n```viml\n\" If you haven't built the image specified in your config.\n\" Takes `true` or `false` depending on whether or not you want to see the build progress in a floating window.\n:BuildImage\n\" Attach to the container you just built / a previously built container\n:AttachToContainer\n\" Start a container from a pre-built image\n:StartImage\n\n\" Runs the docker-compose -f \u003cfile\u003e up\n:ComposeUp\n\" Runs docker-compose -f \u003cfile\u003e down\n:ComposeDown\n\" Runs docker-compose rm \u003cfile\u003e -fsv\n:ComposeDestroy\n```\n\n## Contributing\n\nLua code is formatted in a pre-commit hook using [stylelua](https://github.com/JohnnyMorganz/StyLua). Please install this as part of contributing to the project.\nContributors using Linux may use the pre-push hook to ensure formatting. Install the pre-push hook by running `tools/init.sh`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamestthompson3%2Fnvim-remote-containers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamestthompson3%2Fnvim-remote-containers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamestthompson3%2Fnvim-remote-containers/lists"}