This repository has been archived by the owner on Feb 7, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 38
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(twoslash): completion on multifile (#100)
Co-authored-by: Anthony Fu <anthonyfu117@hotmail.com>
- Loading branch information
Showing
4 changed files
with
44 additions
and
0 deletions.
There are no files selected for viewing
11 changes: 11 additions & 0 deletions
11
packages/shikiji-twoslash/test/fixtures/completion-end-multifile-2.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
// @noErrors | ||
// @filename: foo.ts | ||
const foo = "foo" | ||
export { foo } | ||
|
||
// @filename: index.ts | ||
// ---cut--- | ||
import { foo } from './foo' | ||
|
||
console.e | ||
// ^| |
16 changes: 16 additions & 0 deletions
16
packages/shikiji-twoslash/test/fixtures/completion-end-multifile.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
// @noErrors | ||
// @filename: foo.ts | ||
const foo = "foo" | ||
export { foo } | ||
|
||
// @filename: index.ts | ||
// ---cut--- | ||
import { foo } from './foo' | ||
|
||
type Example = { | ||
name: 'foo' | 'bar' | 'baz' | ||
} | ||
|
||
const example: Example = { name: 'foo' } | ||
example.name === ' | ||
// ^| |
4 changes: 4 additions & 0 deletions
4
packages/shikiji-twoslash/test/out/fixtures/completion-end-multifile-2.ts.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
<link rel="stylesheet" href="../../../style-rich.css" /><pre class="shiki vitesse-dark twoslash lsp" style="background-color:#121212;color:#dbd7caee" tabindex="0"><code><span class="line"><span style="color:#4D9375">import</span><span style="color:#DBD7CAEE"> </span><span style="color:#666666">{</span><span style="color:#DBD7CAEE"> </span><span style="color:#BD976A"><span class="twoslash-hover"><span class="twoslash-popup-info"><span class="line"><span style="color:#CB7676">const</span><span> </span><span style="color:#BD976A">foo</span><span style="color:#666666">:</span><span> </span><span style="color:#C98A7D99">"</span><span style="color:#C98A7D">foo</span><span style="color:#C98A7D99">"</span></span></span>foo</span></span><span style="color:#DBD7CAEE"> </span><span style="color:#666666">}</span><span style="color:#DBD7CAEE"> </span><span style="color:#4D9375">from</span><span style="color:#DBD7CAEE"> </span><span style="color:#C98A7D99">'</span><span style="color:#C98A7D">./foo</span><span style="color:#C98A7D99">'</span></span> | ||
<span class="line"></span> | ||
<span class="line"><span style="color:#BD976A"><span class="twoslash-hover"><span class="twoslash-popup-info"><span class="line"><span style="color:#CB7676">var</span><span> </span><span style="color:#BD976A">console</span><span style="color:#666666">:</span><span> </span><span style="color:#5DA994">Console</span></span></span>console</span></span><span style="color:#666666">.</span><span style="color:#BD976A"><span>e<span class="twoslash-completion-cursor"><ul class="twoslash-completion-list"><li><span class="twoslash-completions-icon completions-method"><svg viewBox="0 0 32 32"><path fill="currentColor" d="m19.626 29.526l-.516-1.933a12.004 12.004 0 0 0 6.121-19.26l1.538-1.28a14.003 14.003 0 0 1-7.143 22.473"></path><path fill="currentColor" d="M10 29H8v-3.82l.804-.16C10.262 24.727 12 23.62 12 20v-1.382l-4-2v-2.236l4-2V12c0-5.467 3.925-9 10-9h2v3.82l-.804.16C21.738 7.273 20 8.38 20 12v.382l4 2v2.236l-4 2V20c0 5.467-3.925 9-10 9m0-2c4.935 0 8-2.682 8-7v-2.618l3.764-1.882L18 13.618V12c0-4.578 2.385-6.192 4-6.76V5c-4.935 0-8 2.682-8 7v1.618L10.236 15.5L14 17.382V20c0 4.578-2.385 6.192-4 6.76Z"></path><path fill="currentColor" d="M5.231 24.947a14.003 14.003 0 0 1 7.147-22.474l.516 1.932a12.004 12.004 0 0 0-6.125 19.263Z"></path></svg></span><span><span class="twoslash-completions-matched">e</span><span class="twoslash-completions-unmatched">rror</span></span></li></ul></span></span></span><span style="color:#DBD7CAEE"> </span></span> | ||
<span class="line"></span></code></pre> |
13 changes: 13 additions & 0 deletions
13
packages/shikiji-twoslash/test/out/fixtures/completion-end-multifile.ts.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<link rel="stylesheet" href="../../../style-rich.css" /><pre class="shiki vitesse-dark twoslash lsp" style="background-color:#121212;color:#dbd7caee" tabindex="0"><code><span class="line"><span style="color:#4D9375">import</span><span style="color:#DBD7CAEE"> </span><span style="color:#666666">{</span><span style="color:#DBD7CAEE"> </span><span style="color:#BD976A"><span class="twoslash-hover"><span class="twoslash-popup-info"><span class="line"><span style="color:#CB7676">const</span><span> </span><span style="color:#BD976A">foo</span><span style="color:#666666">:</span><span> </span><span style="color:#C98A7D99">"</span><span style="color:#C98A7D">foo</span><span style="color:#C98A7D99">"</span></span></span>foo</span></span><span style="color:#DBD7CAEE"> </span><span style="color:#666666">}</span><span style="color:#DBD7CAEE"> </span><span style="color:#4D9375">from</span><span style="color:#DBD7CAEE"> </span><span style="color:#C98A7D99">'</span><span style="color:#C98A7D">./foo</span><span style="color:#C98A7D99">'</span></span> | ||
<span class="line"><span style="color:#DBD7CAEE"> </span></span> | ||
<span class="line"><span style="color:#CB7676">type</span><span style="color:#DBD7CAEE"> </span><span style="color:#5DA994"><span class="twoslash-hover"><span class="twoslash-popup-info"><span class="line"><span style="color:#CB7676">type</span><span style="color:#DBD7CAEE"> </span><span style="color:#5DA994">Example</span><span style="color:#DBD7CAEE"> </span><span style="color:#666666">=</span><span style="color:#DBD7CAEE"> </span><span style="color:#666666">{</span></span> | ||
<span class="line"><span style="color:#DBD7CAEE"> </span><span style="color:#BD976A">name</span><span style="color:#666666">:</span><span> </span><span style="color:#C98A7D99">'</span><span style="color:#C98A7D">foo</span><span style="color:#C98A7D99">'</span><span> </span><span style="color:#666666">|</span><span> </span><span style="color:#C98A7D99">'</span><span style="color:#C98A7D">bar</span><span style="color:#C98A7D99">'</span><span> </span><span style="color:#666666">|</span><span> </span><span style="color:#C98A7D99">'</span><span style="color:#C98A7D">baz</span><span style="color:#C98A7D99">'</span><span style="color:#666666">;</span></span> | ||
<span class="line"><span style="color:#666666">}</span></span></span>Example</span></span><span style="color:#DBD7CAEE"> </span><span style="color:#666666">=</span><span style="color:#DBD7CAEE"> </span><span style="color:#666666">{</span></span> | ||
<span class="line"><span style="color:#DBD7CAEE"> </span><span style="color:#BD976A"><span class="twoslash-hover"><span class="twoslash-popup-info"><span class="line"><span style="color:#80A665">name</span><span style="color:#666666">:</span><span style="color:#DBD7CAEE"> </span><span style="color:#C98A7D99">"</span><span style="color:#C98A7D">foo</span><span style="color:#C98A7D99">"</span><span style="color:#DBD7CAEE"> </span><span style="color:#CB7676">|</span><span style="color:#DBD7CAEE"> </span><span style="color:#C98A7D99">"</span><span style="color:#C98A7D">bar</span><span style="color:#C98A7D99">"</span><span style="color:#DBD7CAEE"> </span><span style="color:#CB7676">|</span><span style="color:#DBD7CAEE"> </span><span style="color:#C98A7D99">"</span><span style="color:#C98A7D">baz</span><span style="color:#C98A7D99">"</span></span></span>name</span></span><span style="color:#666666">:</span><span> </span><span style="color:#C98A7D99">'</span><span style="color:#C98A7D">foo</span><span style="color:#C98A7D99">'</span><span> </span><span style="color:#666666">|</span><span> </span><span style="color:#C98A7D99">'</span><span style="color:#C98A7D">bar</span><span style="color:#C98A7D99">'</span><span> </span><span style="color:#666666">|</span><span> </span><span style="color:#C98A7D99">'</span><span style="color:#C98A7D">baz</span><span style="color:#C98A7D99">'</span></span> | ||
<span class="line"><span style="color:#666666">}</span></span> | ||
<span class="line"><span style="color:#DBD7CAEE"> </span></span> | ||
<span class="line"><span style="color:#CB7676">const</span><span> </span><span style="color:#BD976A"><span class="twoslash-hover"><span class="twoslash-popup-info"><span class="line"><span style="color:#CB7676">const</span><span> </span><span style="color:#BD976A">example</span><span style="color:#666666">:</span><span> </span><span style="color:#5DA994">Example</span></span></span>example</span></span><span style="color:#666666">:</span><span> </span><span style="color:#5DA994"><span class="twoslash-hover"><span class="twoslash-popup-info"><span class="line"><span style="color:#CB7676">type</span><span style="color:#DBD7CAEE"> </span><span style="color:#5DA994">Example</span><span style="color:#DBD7CAEE"> </span><span style="color:#666666">=</span><span style="color:#DBD7CAEE"> </span><span style="color:#666666">{</span></span> | ||
<span class="line"><span style="color:#DBD7CAEE"> </span><span style="color:#BD976A">name</span><span style="color:#666666">:</span><span> </span><span style="color:#C98A7D99">'</span><span style="color:#C98A7D">foo</span><span style="color:#C98A7D99">'</span><span> </span><span style="color:#666666">|</span><span> </span><span style="color:#C98A7D99">'</span><span style="color:#C98A7D">bar</span><span style="color:#C98A7D99">'</span><span> </span><span style="color:#666666">|</span><span> </span><span style="color:#C98A7D99">'</span><span style="color:#C98A7D">baz</span><span style="color:#C98A7D99">'</span><span style="color:#666666">;</span></span> | ||
<span class="line"><span style="color:#666666">}</span></span></span>Example</span></span><span> </span><span style="color:#666666">=</span><span style="color:#CB7676"> </span><span style="color:#666666">{</span><span> </span><span style="color:#B8A965"><span class="twoslash-hover"><span class="twoslash-popup-info"><span class="line"><span style="color:#80A665">name</span><span style="color:#666666">:</span><span style="color:#DBD7CAEE"> </span><span style="color:#C98A7D99">"</span><span style="color:#C98A7D">foo</span><span style="color:#C98A7D99">"</span><span style="color:#DBD7CAEE"> </span><span style="color:#CB7676">|</span><span style="color:#DBD7CAEE"> </span><span style="color:#C98A7D99">"</span><span style="color:#C98A7D">bar</span><span style="color:#C98A7D99">"</span><span style="color:#DBD7CAEE"> </span><span style="color:#CB7676">|</span><span style="color:#DBD7CAEE"> </span><span style="color:#C98A7D99">"</span><span style="color:#C98A7D">baz</span><span style="color:#C98A7D99">"</span></span></span>name</span></span><span style="color:#666666">:</span><span> </span><span style="color:#C98A7D99">'</span><span style="color:#C98A7D">foo</span><span style="color:#C98A7D99">'</span><span> </span><span style="color:#666666">}</span></span> | ||
<span class="line"><span style="color:#BD976A"><span class="twoslash-hover"><span class="twoslash-popup-info"><span class="line"><span style="color:#CB7676">const</span><span> </span><span style="color:#BD976A">example</span><span style="color:#666666">:</span><span> </span><span style="color:#5DA994">Example</span></span></span>example</span></span><span style="color:#666666">.</span><span style="color:#BD976A"><span class="twoslash-hover"><span class="twoslash-popup-info"><span class="line"><span style="color:#80A665">name</span><span style="color:#666666">:</span><span style="color:#DBD7CAEE"> </span><span style="color:#C98A7D99">"</span><span style="color:#C98A7D">foo</span><span style="color:#C98A7D99">"</span><span style="color:#DBD7CAEE"> </span><span style="color:#CB7676">|</span><span style="color:#DBD7CAEE"> </span><span style="color:#C98A7D99">"</span><span style="color:#C98A7D">bar</span><span style="color:#C98A7D99">"</span><span style="color:#DBD7CAEE"> </span><span style="color:#CB7676">|</span><span style="color:#DBD7CAEE"> </span><span style="color:#C98A7D99">"</span><span style="color:#C98A7D">baz</span><span style="color:#C98A7D99">"</span></span></span>name</span></span><span style="color:#DBD7CAEE"> </span><span style="color:#CB7676">===</span><span style="color:#DBD7CAEE"> </span><span style="color:#C98A7D99"><span>'<span class="twoslash-completion-cursor"><ul class="twoslash-completion-list"><li><span class="twoslash-completions-icon completions-string"><svg viewBox="0 0 32 32"><path fill="currentColor" d="M29 22h-5a2.003 2.003 0 0 1-2-2v-6a2.002 2.002 0 0 1 2-2h5v2h-5v6h5zM18 12h-4V8h-2v14h6a2.003 2.003 0 0 0 2-2v-6a2.002 2.002 0 0 0-2-2m-4 8v-6h4v6zm-6-8H3v2h5v2H4a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h6v-8a2.002 2.002 0 0 0-2-2m0 8H4v-2h4z"></path></svg></span><span><span class="twoslash-completions-matched"></span><span class="twoslash-completions-unmatched">foo</span></span></li><li><span class="twoslash-completions-icon completions-string"><svg viewBox="0 0 32 32"><path fill="currentColor" d="M29 22h-5a2.003 2.003 0 0 1-2-2v-6a2.002 2.002 0 0 1 2-2h5v2h-5v6h5zM18 12h-4V8h-2v14h6a2.003 2.003 0 0 0 2-2v-6a2.002 2.002 0 0 0-2-2m-4 8v-6h4v6zm-6-8H3v2h5v2H4a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h6v-8a2.002 2.002 0 0 0-2-2m0 8H4v-2h4z"></path></svg></span><span><span class="twoslash-completions-matched"></span><span class="twoslash-completions-unmatched">bar</span></span></li><li><span class="twoslash-completions-icon completions-string"><svg viewBox="0 0 32 32"><path fill="currentColor" d="M29 22h-5a2.003 2.003 0 0 1-2-2v-6a2.002 2.002 0 0 1 2-2h5v2h-5v6h5zM18 12h-4V8h-2v14h6a2.003 2.003 0 0 0 2-2v-6a2.002 2.002 0 0 0-2-2m-4 8v-6h4v6zm-6-8H3v2h5v2H4a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h6v-8a2.002 2.002 0 0 0-2-2m0 8H4v-2h4z"></path></svg></span><span><span class="twoslash-completions-matched"></span><span class="twoslash-completions-unmatched">baz</span></span></li></ul></span></span></span><span style="color:#C98A7D"> </span><span style="color:#FDAEB7;font-style:italic"> </span></span> | ||
<span class="line"></span></code></pre> |