devcontainer.vim

command module
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 5, 2024 License: MIT Imports: 8 Imported by: 0

README

devcontainer.vim

コンテナ上で Vim を使った開発をするためのツール。

VSCode Dev Container の Vim 版を目指しています。

Usage:

devcontainer.json が存在しないプロジェクトで、ワンショットで環境を立ち上げる
devcontainer.vim run [DOCKER_OPTIONS] [DOCKER_ARGS]

docker run -it --rm -v "$(pwd):/work" --workdir /work -v "$HOME/.vim:/root/.vim" --name golang golang:1.22.1-bookworm コマンド相当の環境でコンテナを立ち上げる場合の例:

devcontainer.vim run -v "$(pwd):/work" --workdir /work -v "$HOME/.vim:/root/.vim" --name golang golang:1.22.1-bookworm
devcontainer.json が存在する場合
環境の起動

start サブコマンドで、環境を立ち上げ、Vim を転送し、起動できる。

たとえば、カレントディレクトリから devcontainer.json を検索し、読み込み、環境を立ち上げ、Vim を転送し、起動する場合は以下。

devcontainer.vim start .

devcontainer への引数を(--workspace-folder 以外は) そのまま利用できるため、 .vim をバインドしたい場合、以下のように指定する。

devcontainer.vim start --mount "type=bind,source=$HOME/.vim,target=/root/.vim" .
環境の停止

TODO:

環境の削除

down サブコマンドで環境の削除ができる。

devcontainer.vim down .

Requirements:

以下コマンドがインストール済みで、PATH が通っていること。

  • docker

Features:

TODO

Install:

binary download

Latest version

go install
go install github.com/mikoto2000/devcontainer.vim@latest

Uninstall:

Windows

Delete executable file, config directory(~/AppData/Roaming/devcontainer.vim), and cache directory(~/AppData/Local/devcontainer.vim).

Remove-Item PATH_TO/devcontainer.vim.exe
Remove-Item -Recurse ~/AppData/Roaming/devcontainer.vim
Remove-Item -Recurse ~/AppData/Local/devcontainer.vim
Linux

Delete executable file, config directory(~/.config/devcontainer.vim), and cache directory(~/.cache/devcontainer.vim).

rm PATH_TO/devcontainer.vim
rm -rf ~/.config/devcontainer.vim
rm -rf ~/.cache/devcontainer.vim
MacOS

TODO:

TODO:

  • : v0.1.0
    • : docker run 対応
      • : コンテナの起動
      • : AppImage 版 Vim のダウンロードとコンテナへの転送
    • : devcontainer.vim への引数と docker への引数を指定できるようにする
      • : run コマンドとして実現
  • : v0.2.0
    • : devcontainer.jsoncomposeContainer 対応
      • : dockerComposeFile
      • : service
      • : workspaceFolder
      • : remoteUser
  • : v0.3.0
    • : devcontainer.jsonnonComposeBase 対応
  • : v0.4.0
    • : down コマンドの実装
      • : composeContainernonComposeBase の判定
        • : devcontainer read-configuration の結果に dockerComposeFile が含まれているかで判定
      • : composeContainer の場合
        • docker compose ps --format json して Project の値を取得し、 docker compose -p ${PROJECT_NAME} down する
      • : nonComposeBase の場合
        • docker ps --format json して Labels 内に devcontainer.local_folder=xxx が含まれており、 xxx が現在のディレクトリと一致するものを探し、そいつの ID で docker rm -f ${CONTAINER_ID} する
  • : v0.5.0
    • : 暗黙の docker option を追加できるようにする
      • : 設定ファイルに暗黙のオプション設定を追加し、 run サブコマンド実行時にそれを読み込む
      • : 設定ファイルを開くサブコマンドを追加
        • : 関連付けられているファイルで開けるなら開く、そうでなければパスを表示
    • : リリーススクリプト・リリースワークフローを作る
  • : v0.6.0
    • : クリップボード転送機能追加
      1. TCP でテキストを待ち受け、受信したテキストをクリップボードへ反映するプログラムを作る
      2. TCP ソケット通信する関数、ヤンク処理時にテキスト送信をするマッピングを実装したスクリプトを作る
        • docker cp/SendToTcp.vim にコピーし、 -c "source /SendToTcp.vim する
      3. devcontainer.vim 起動時に「1.」のプログラムを実行
        • 多重起動防止のために既にプログラムが実行済みかどうかを確認する必要がある
        • 終了時にも、「他の devcontainer.vim が存在するか」を確認して終了させるか判定
  • : v0.7.0
    • : キャッシュクリアコマンド
    • : アンインストールコマンド
    • : Vim アップデートコマンド
  • : v0.6.0
    • : stop コマンドの実装

License:

Copyright (C) 2024 mikoto2000

This software is released under the MIT License, see LICENSE

このソフトウェアは MIT ライセンスの下で公開されています。 LICENSE を参照してください。

Author:

mikoto2000 mikoto2000@gmail.com

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL