バグ解析時の最小限のVimの構成を作る(WIP)
Neovimの場合
code:sh
nvim -u tmp.vim
ubuntuで最新版のNeovimをインストール
code:sh
# ※Rustのdockerイメージの場合
# neovimをビルド
apt-get install ninja-build gettext libtool libtool-bin autoconf automake cmake g++ pkg-config unzip curl doxygen -y
git clone https://github.com/neovim/neovim
cd neovim && git checkout stable
make CMAKE_BUILD_TYPE=Release
make install
# 失敗した場合一度これを実行
make distclean
Dockerfile
Noevim、coc、denoの構成
code:Dockerfile
# syntax=docker/dockerfile:1.4.1
FROM ubuntu:20.04
# https://qiita.com/yagince/items/deba267f789604643bab
ENV DEBIAN_FRONTEND=noninteractive
RUN <<EOF
apt update
apt install git ninja-build gettext libtool libtool-bin autoconf automake cmake g++ pkg-config unzip curl doxygen -y
EOF
# build neovim
RUN <<EOF
git clone https://github.com/neovim/neovim
cd neovim && git checkout stable
make CMAKE_BUILD_TYPE=Release
make install
EOF
# install deno and nodejs
RUN <<EOF
curl -Lsf https://github.com/LukeChannings/deno-arm64/releases/download/v1.24.2/deno-linux-arm64.zip -o deno.zip
unzip deno.zip -d /bin && rm deno.zip
chmod 755 /bin/deno
addgroup --gid 1993 deno
adduser --uid 1993 --gid 1993 deno
mkdir /deno-dir/
chown deno:deno /deno-dir/
curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
apt install -y nodejs
EOF
ENV DENO_DIR /deno-dir/
ENV DENO_INSTALL_ROOT /usr/local
# setup neovim
RUN <<EOF
mkdir -p ~/.config/nvim
cat << EOS > ~/.config/nvim/init.vim
let s:dein_dir = has('nvim') ? expand('~/.cache/dein/nvim') : expand('~/.cache/dein/vim')
let s:dein_repo_dir = s:dein_dir . '/repos/github.com/Shougo/dein.vim'
if &runtimepath !~# '/dein.vim'
if !isdirectory(s:dein_repo_dir)
execute '!git clone https://github.com/Shougo/dein.vim' s:dein_repo_dir
endif
execute 'set runtimepath^=' . s:dein_repo_dir
endif
if dein#load_state(s:dein_dir)
call dein#begin(s:dein_dir)
call dein#add('neoclide/coc.nvim', {'rev': 'release'})
call dein#end()
call dein#save_state()
endif
if dein#check_install()
call dein#install()
endif
let g:coc_global_extensions = [
\ 'coc-deno',
\ ]
set tagfunc=CocTagFunc
EOS
EOF
ENTRYPOINT "bash"