add mason lsp recover file
This commit is contained in:
@@ -19,7 +19,9 @@
|
|||||||
```
|
```
|
||||||
|
|
||||||
3. 运行 `nvim`。首次启动会下载 `lazy.nvim` 和插件;需要时在 Neovim 中执行 `:Lazy sync`。
|
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` 中的插件、语言工具、缓存、日志和会话属于各设备的本地数据,不需要提交到此仓库。
|
`~/.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