add mason lsp recover file
This commit is contained in:
@@ -19,7 +19,9 @@
|
||||
```
|
||||
|
||||
3. 运行 `nvim`。首次启动会下载 `lazy.nvim` 和插件;需要时在 Neovim 中执行 `:Lazy sync`。
|
||||
4. 用 `:Mason` 检查或安装所需语言工具。Mason 下载的程序不会随本仓库迁移。
|
||||
4. 仓库中的 `mason-packages.txt` 记录了当前安装的 Mason 包名。在配置目录运行 `bash scripts/restore-mason.sh` 可按清单安装;也可以用 `:Mason` 手动检查。Mason 下载的程序不会随本仓库迁移。
|
||||
|
||||
清单只记录包名,不锁定版本。以后用 Mason 安装或卸载工具时,记得同步更新 `mason-packages.txt`。
|
||||
|
||||
`~/.local/share/nvim` 和 `~/.local/state/nvim` 中的插件、语言工具、缓存、日志和会话属于各设备的本地数据,不需要提交到此仓库。
|
||||
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
asm-lsp
|
||||
clang-format
|
||||
clangd
|
||||
cmakelang
|
||||
cmakelint
|
||||
codelldb
|
||||
csharpier
|
||||
fantomas
|
||||
fsautocomplete
|
||||
glsl_analyzer
|
||||
json-lsp
|
||||
lua-language-server
|
||||
neocmakelsp
|
||||
netcoredbg
|
||||
omnisharp
|
||||
pyright
|
||||
ruff
|
||||
rust-analyzer
|
||||
shfmt
|
||||
sqlfluff
|
||||
stylua
|
||||
taplo
|
||||
tinymist
|
||||
yaml-language-server
|
||||
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
config_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
|
||||
packages=()
|
||||
|
||||
while IFS= read -r package || [[ -n $package ]]; do
|
||||
[[ -z $package || $package == \#* ]] && continue
|
||||
if [[ ! $package =~ ^[a-zA-Z0-9_-]+$ ]]; then
|
||||
printf 'Invalid Mason package name: %s\n' "$package" >&2
|
||||
exit 1
|
||||
fi
|
||||
packages+=("$package")
|
||||
done < "$config_dir/mason-packages.txt"
|
||||
|
||||
if ((${#packages[@]} == 0)); then
|
||||
printf 'No Mason packages listed.\n' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
nvim --headless \
|
||||
-c 'lua require("lazy").load({ plugins = { "mason.nvim" } })' \
|
||||
-c "MasonInstall ${packages[*]}" \
|
||||
-c qall
|
||||
Reference in New Issue
Block a user