nvim/pkgs.yaml

200 lines
4.4 KiB
YAML

---
# DAP servers ====================================
debugpy:
category: [dap]
type: python
elixirls:
category:
- lsp
- dap
type: custom
env:
MIX_ENV: prod
script:
- |
if [ ! -d "$PKG_INSTALL_DIR" ]; then
git clone --depth 1 --single-branch https://github.com/elixir-lsp/elixir-ls.git "$PKG_INSTALL_DIR"
fi
- &git_checkout |
cd "$PKG_INSTALL_DIR"
git restore . && git clean -d -f
git fetch --tags --prune --prune-tags
git switch --detach "$(git describe --tags "$(git rev-list --tags --max-count=1)")"
- mix deps.get
- mix compile
- mix elixir_ls.release2 -o release/
vscode-js-debug:
category: [dap]
type: custom
script:
- |
if [ ! -d "$PKG_INSTALL_DIR" ]; then
git clone --depth 1 --single-branch https://github.com/microsoft/vscode-js-debug.git "$PKG_INSTALL_DIR"
fi
- *git_checkout
- pnpm install
- pnpm run compile -- dapDebugServer
# LSP servers ====================================
ansiblels: &nodejs_lsp
category: [lsp]
type: nodejs
pkgs: ['@ansible/ansible-language-server']
awk_ls:
<<: *nodejs_lsp
pkgs: [awk-language-server]
bashls:
<<: *nodejs_lsp
pkgs: [bash-language-server]
dockerls:
<<: *nodejs_lsp
pkgs: [dockerfile-language-server-nodejs]
emmet_language_server:
<<: *nodejs_lsp
pkgs: ['@olrtg/emmet-language-server']
graphql:
<<: *nodejs_lsp
pkgs: [graphql-language-service-cli]
guile_ls:
category: [lsp]
type: custom
script:
- |
if [ ! -d "$PKG_INSTALL_DIR" ]; then
git clone --depth 1 --single-branch https://codeberg.org/rgherdt/scheme-lsp-server.git "$PKG_INSTALL_DIR"
fi
- *git_checkout
- guix package -f guix.scm
mdx_analyzer:
<<: *nodejs_lsp
pkgs: ['@mdx-js/language-server']
# NOTE: this is here since ocaml-lsp-server needs to be installed
# into every opam switch (so would be invoked many times)
ocamllsp:
category: [lsp]
type: custom
script:
- opam install ocaml-lsp-server ocamlformat
purescriptls:
<<: *nodejs_lsp
pkgs: [purescript-language-server]
pylsp:
category: [lsp]
type: python
pkgs:
- python-lsp-server[all]
# - pyls-flake8
# - pylsp-mypy
# - pyls-isort
# - pyls-memestra
- pylsp-rope
# - python-lsp-black
remark_ls:
<<: *nodejs_lsp
pkgs: [remark-language-server]
# NOTE: a local OPAM switch isn't created here for simplicity.
# It can be done manually after the clone
rescriptls:
category: [lsp]
type: custom
script:
- |
if [ ! -d "$PKG_INSTALL_DIR" ]; then
git clone --depth 1 --single-branch https://github.com/rescript-lang/rescript-vscode.git "$PKG_INSTALL_DIR"
fi
- *git_checkout
- opam install . --deps-only --yes
- dune build -p analysis
- |
case "$(uname)" in
Linux)
mkdir -p server/analysis_binaries/linux
cp _build/default/analysis/bin/main.exe server/analysis_binaries/linux/rescript-editor-analysis.exe
;;
Darwin)
if [ "$(uname -m)" = "arm64" ]; then
mkdir -p server/analysis_binaries/darwinarm64
cp _build/default/analysis/bin/main.exe server/analysis_binaries/darwinarm64/rescript-editor-analysis.exe
else
mkdir -p server/analysis_binaries/darwin
cp _build/default/analysis/bin/main.exe server/analysis_binaries/darwin/rescript-editor-analysis.exe
fi
;;
esac
- sed -i'.bak' '/postinstall/d' package.json
- pnpm install -D
- pnpm install -C server
- pnpm install -C server vscode-languageserver-types
- pnpm install -C client
- pnpm install -C client vscode-languageserver-protocol
- pnpm run compile
ruff_lsp:
category: [lsp]
type: python
pkgs: [ruff-lsp]
svelte:
<<: *nodejs_lsp
pkgs: [svelte-language-server]
tailwindcss:
<<: *nodejs_lsp
pkgs: ['@tailwindcss/language-server']
tsserver:
<<: *nodejs_lsp
pkgs:
- typescript
- typescript-language-server
volar:
<<: *nodejs_lsp
pkgs:
- typescript
- '@vue/language-server'
vscode:
<<: *nodejs_lsp
pkgs: [vscode-langservers-extracted]
yamlls:
<<: *nodejs_lsp
pkgs: ['yaml-language-server']
# Linters & Formatters ===========================
codespell: &python_lint
category: [lint]
type: python
cspell: &nodejs_lint
category: [lint]
type: nodejs
proselint: *python_lint
sql_formatter:
<<: *nodejs_lint
pkgs: [sql-formatter]
sqlfluff: *python_lint
textlint: *nodejs_lint