deno.md

 1# Deno
 2
 3Deno support is available through the [Deno extension](https://github.com/zed-extensions/deno).
 4
 5- Language server: [Deno Language Server](https://docs.deno.com/runtime/manual/advanced/language_server/overview/)
 6
 7## Deno Configuration
 8
 9To use the Deno Language Server with TypeScript and TSX files, you will likely wish to disable the default language servers and enable deno by adding the following to your settings.json:
10
11```json
12{
13  "lsp": {
14    "deno": {
15      "settings": {
16        "deno": {
17          "enable": true
18        }
19      }
20    }
21  },
22  "languages": {
23    "JavaScript": {
24      "language_servers": [
25        "deno",
26        "!typescript-language-server",
27        "!vtsls",
28        "!eslint"
29      ],
30      "formatter": "language_server"
31    },
32    "TypeScript": {
33      "language_servers": [
34        "deno",
35        "!typescript-language-server",
36        "!vtsls",
37        "!eslint"
38      ],
39      "formatter": "language_server"
40    },
41    "TSX": {
42      "language_servers": [
43        "deno",
44        "!typescript-language-server",
45        "!vtsls",
46        "!eslint"
47      ],
48      "formatter": "language_server"
49    }
50  }
51}
52```
53
54See [Configuring supported languages](../configuring-languages.md) in the Zed documentation for more information.
55
56<!--
57TBD: Deno TypeScript REPL instructions [docs/repl#typescript-deno](../repl.md#typescript-deno)
58-->
59
60## DAP support
61
62To debug deno programs, add this to `.zed/debug.json`
63
64```json
65[
66  {
67    "adapter": "JavaScript",
68    "label": "Deno",
69    "request": "launch",
70    "type": "pwa-node",
71    "cwd": "$ZED_WORKTREE_ROOT",
72    "program": "$ZED_FILE",
73    "runtimeExecutable": "deno",
74    "runtimeArgs": ["run", "--allow-all", "--inspect-wait"],
75    "attachSimplePort": 9229
76  }
77]
78```
79
80## Runnable support
81
82To run deno tasks like tests from the ui, add this to `.zed/tasks.json`
83
84```json
85[
86  {
87    "label": "deno test",
88    "command": "deno test -A --filter '/^$ZED_CUSTOM_DENO_TEST_NAME$/' $ZED_FILE",
89    "tags": ["js-test"]
90  }
91]
92```
93
94## See also:
95
96- [TypeScript](./typescript.md)
97- [JavaScript](./javascript.md)