Add runnable support for Deno.test (#34593)
example of detected code: ```ts Deno.test("t", () => { console.log("Hello, World!"); }); Deno.test(function azaz() { console.log("Hello, World!"); }); ``` I can't build zed locally so I didn't test this, but I think the code is straightforward enough, hopefully someone else can verify it Closes #ISSUE Release Notes: - N/A
This commit is contained in:
parent
109eddafd0
commit
d2ef287791
2 changed files with 74 additions and 1 deletions
|
@ -1,4 +1,4 @@
|
||||||
; Add support for (node:test, bun:test and Jest) runnable
|
; Add support for (node:test, bun:test, Jest and Deno.test) runnable
|
||||||
; Function expression that has `it`, `test` or `describe` as the function name
|
; Function expression that has `it`, `test` or `describe` as the function name
|
||||||
(
|
(
|
||||||
(call_expression
|
(call_expression
|
||||||
|
@ -44,3 +44,42 @@
|
||||||
|
|
||||||
(#set! tag js-test)
|
(#set! tag js-test)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
; Add support for Deno.test with string names
|
||||||
|
(
|
||||||
|
(call_expression
|
||||||
|
function: (member_expression
|
||||||
|
object: (identifier) @_namespace
|
||||||
|
property: (property_identifier) @_method
|
||||||
|
)
|
||||||
|
(#eq? @_namespace "Deno")
|
||||||
|
(#eq? @_method "test")
|
||||||
|
arguments: (
|
||||||
|
arguments . [
|
||||||
|
(string (string_fragment) @run @DENO_TEST_NAME)
|
||||||
|
(identifier) @run @DENO_TEST_NAME
|
||||||
|
]
|
||||||
|
)
|
||||||
|
) @_js-test
|
||||||
|
|
||||||
|
(#set! tag js-test)
|
||||||
|
)
|
||||||
|
|
||||||
|
; Add support for Deno.test with named function expressions
|
||||||
|
(
|
||||||
|
(call_expression
|
||||||
|
function: (member_expression
|
||||||
|
object: (identifier) @_namespace
|
||||||
|
property: (property_identifier) @_method
|
||||||
|
)
|
||||||
|
(#eq? @_namespace "Deno")
|
||||||
|
(#eq? @_method "test")
|
||||||
|
arguments: (
|
||||||
|
arguments . (function_expression
|
||||||
|
name: (identifier) @run @DENO_TEST_NAME
|
||||||
|
)
|
||||||
|
)
|
||||||
|
) @_js-test
|
||||||
|
|
||||||
|
(#set! tag js-test)
|
||||||
|
)
|
||||||
|
|
|
@ -57,6 +57,40 @@ See [Configuring supported languages](../configuring-languages.md) in the Zed do
|
||||||
TBD: Deno Typescript REPL instructions [docs/repl#typescript-deno](../repl.md#typescript-deno)
|
TBD: Deno Typescript REPL instructions [docs/repl#typescript-deno](../repl.md#typescript-deno)
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
## DAP support
|
||||||
|
|
||||||
|
To debug deno programs, add this to `.zed/debug.json`
|
||||||
|
|
||||||
|
```json
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"adapter": "JavaScript",
|
||||||
|
"label": "Deno",
|
||||||
|
"request": "launch",
|
||||||
|
"type": "pwa-node",
|
||||||
|
"cwd": "$ZED_WORKTREE_ROOT",
|
||||||
|
"program": "$ZED_FILE",
|
||||||
|
"runtimeExecutable": "deno",
|
||||||
|
"runtimeArgs": ["run", "--allow-all", "--inspect-wait"],
|
||||||
|
"attachSimplePort": 9229
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Runnable support
|
||||||
|
|
||||||
|
To run deno tasks like tests from the ui, add this to `.zed/tasks.json`
|
||||||
|
|
||||||
|
```json
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"label": "deno test",
|
||||||
|
"command": "deno test -A --filter '/^$ZED_CUSTOM_DENO_TEST_NAME$/' $ZED_FILE",
|
||||||
|
"tags": ["js-test"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
## See also:
|
## See also:
|
||||||
|
|
||||||
- [TypeScript](./typescript.md)
|
- [TypeScript](./typescript.md)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue