mirror of
https://github.com/tiennm99/serena.git
synced 2026-10-13 18:16:10 +00:00
feat: add Deno language server support
Add a Deno language server backed by the Deno CLI's built-in `deno lsp`, serving TypeScript/JavaScript in Deno projects. Unlike the plain typescript-language-server it understands Deno module resolution (npm:/jsr:/https: imports) and the `Deno.*` global namespace. It is experimental and must be selected explicitly via `language_servers: [deno]`; it overlaps the TypeScript server on file extensions, so it is not auto-detected. Requires the `deno` CLI on PATH. Tests run in CI: the `deno` marker joins the other-langs batch, which now installs Deno via denoland/setup-deno. Off-CI and wherever the CLI is absent they skip through the central conftest guard, following the existing pattern for toolchain-gated language servers. Hover is covered explicitly, including hover on a `Deno.*` global, which is the capability this server adds over the TypeScript one.
This commit is contained in:
1 parent
c7af2c09ef
commit
7a870878b8
13 files changed
+328
-14
No files matched your search
@@ -71,7 +71,7 @@ jobs:
|
||||
# other-langs: grab-bag + scripting languages + haskell + qml. Haskell (GHC/HLS) and qml (qmlls) are
|
||||
# installed only on Linux -- too slow/expensive to build on the macOS runner (Haskell), or not worth
|
||||
# the cost of a cross-OS Qt pull (qmlls) -- and skip on Windows+macOS via the central conftest guard.
|
||||
MARKERS_OTHER_LANGS: "ruby or php or lua or luau or bash or powershell or elixir or erlang or dart or haxe or haskell or terraform or rego or ansible or yaml or toml or markdown or latex or crystal or cue or fortran or ada or matlab or systemverilog or hlsl or msl or al or qml"
|
||||
MARKERS_OTHER_LANGS: "ruby or php or lua or luau or bash or powershell or elixir or erlang or dart or deno or haxe or haskell or terraform or rego or ansible or yaml or toml or markdown or latex or crystal or cue or fortran or ada or matlab or systemverilog or hlsl or msl or al or qml"
|
||||
# niche: slow, mostly-cached toolchains. ocaml + haskell are the two slowest -- kept in separate
|
||||
# batches (ocaml here, haskell in other-langs). nix + perl skip on Windows via the guard.
|
||||
MARKERS_NICHE: "julia or r or perl or lean4 or nix or ocaml"
|
||||
@@ -219,6 +219,13 @@ jobs:
|
||||
with:
|
||||
terraform_version: "1.5.0"
|
||||
terraform_wrapper: false
|
||||
# Deno ships its language server with the CLI (`deno lsp`), so installing the
|
||||
# runtime is all that is needed for the deno-marked tests.
|
||||
- name: Install Deno
|
||||
if: matrix.batch == 'other-langs'
|
||||
uses: denoland/setup-deno@v2
|
||||
with:
|
||||
deno-version: v2.x
|
||||
# - name: Install swift
|
||||
# if: runner.os != 'Windows'
|
||||
# uses: swift-actions/setup-swift@v2
|
||||
|
||||
Reference in new issue
Block a user