|
2015 | 2015 | </ul> |
2016 | 2016 | </nav> |
2017 | 2017 |
|
| 2018 | +</li> |
| 2019 | + |
| 2020 | + <li class="md-nav__item"> |
| 2021 | + <a href="#repllog" class="md-nav__link"> |
| 2022 | + <span class="md-ellipsis"> |
| 2023 | + repl.log() |
| 2024 | + </span> |
| 2025 | + </a> |
| 2026 | + |
| 2027 | + <nav class="md-nav" aria-label="repl.log()"> |
| 2028 | + <ul class="md-nav__list"> |
| 2029 | + |
| 2030 | + <li class="md-nav__item"> |
| 2031 | + <a href="#validation" class="md-nav__link"> |
| 2032 | + <span class="md-ellipsis"> |
| 2033 | + Validation |
| 2034 | + </span> |
| 2035 | + </a> |
| 2036 | + |
| 2037 | +</li> |
| 2038 | + |
| 2039 | + <li class="md-nav__item"> |
| 2040 | + <a href="#example" class="md-nav__link"> |
| 2041 | + <span class="md-ellipsis"> |
| 2042 | + Example |
| 2043 | + </span> |
| 2044 | + </a> |
| 2045 | + |
| 2046 | +</li> |
| 2047 | + |
| 2048 | + </ul> |
| 2049 | + </nav> |
| 2050 | + |
2018 | 2051 | </li> |
2019 | 2052 |
|
2020 | 2053 | <li class="md-nav__item"> |
|
2554 | 2587 | </ul> |
2555 | 2588 | </nav> |
2556 | 2589 |
|
| 2590 | +</li> |
| 2591 | + |
| 2592 | + <li class="md-nav__item"> |
| 2593 | + <a href="#repllog" class="md-nav__link"> |
| 2594 | + <span class="md-ellipsis"> |
| 2595 | + repl.log() |
| 2596 | + </span> |
| 2597 | + </a> |
| 2598 | + |
| 2599 | + <nav class="md-nav" aria-label="repl.log()"> |
| 2600 | + <ul class="md-nav__list"> |
| 2601 | + |
| 2602 | + <li class="md-nav__item"> |
| 2603 | + <a href="#validation" class="md-nav__link"> |
| 2604 | + <span class="md-ellipsis"> |
| 2605 | + Validation |
| 2606 | + </span> |
| 2607 | + </a> |
| 2608 | + |
| 2609 | +</li> |
| 2610 | + |
| 2611 | + <li class="md-nav__item"> |
| 2612 | + <a href="#example" class="md-nav__link"> |
| 2613 | + <span class="md-ellipsis"> |
| 2614 | + Example |
| 2615 | + </span> |
| 2616 | + </a> |
| 2617 | + |
| 2618 | +</li> |
| 2619 | + |
| 2620 | + </ul> |
| 2621 | + </nav> |
| 2622 | + |
2557 | 2623 | </li> |
2558 | 2624 |
|
2559 | 2625 | <li class="md-nav__item"> |
@@ -3027,6 +3093,28 @@ <h4 id="handling-output">Handling Output<a class="headerlink" href="#handling-ou |
3027 | 3093 | </div> |
3028 | 3094 | </div> |
3029 | 3095 | </div> |
| 3096 | +<h3 id="repllog"><code>repl.log()</code><a class="headerlink" href="#repllog" title="Permanent link">#</a></h3> |
| 3097 | +<p>Log a message to Calva's output subscriber bus without writing to Calva's own UI destinations (output channel, REPL window, terminal). This is intended for other extensions that have their own output UI but want their messages to appear in the Calva output subscriber stream — for example, so that <a href="https://marketplace.visualstudio.com/items?itemName=BetterThanTomorrow.calva-backseat-driver">Backseat Driver</a> can query them.</p> |
| 3098 | +<p>The signature in TypeScript:</p> |
| 3099 | +<div class="highlight"><pre><span></span><code><span class="k">export</span><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="nx">log</span><span class="p">(</span><span class="nx">message</span><span class="o">:</span><span class="w"> </span><span class="kt">OutputMessage</span><span class="p">)</span><span class="o">:</span><span class="w"> </span><span class="ow">void</span><span class="p">;</span> |
| 3100 | +</code></pre></div> |
| 3101 | +<p>The <code>OutputMessage</code> interface is the same one used by <a href="#replonoutputlogged"><code>onOutputLogged()</code></a>.</p> |
| 3102 | +<h4 id="validation">Validation<a class="headerlink" href="#validation" title="Permanent link">#</a></h4> |
| 3103 | +<ul> |
| 3104 | +<li><code>text</code> must be a non-empty string</li> |
| 3105 | +<li><code>category</code> must be a valid <code>OutputCategory</code></li> |
| 3106 | +<li><code>who</code> follows the same rules as <a href="#replevaluate"><code>evaluate()</code></a> — the reserved values <code>"ui"</code> and <code>"api"</code> are rejected</li> |
| 3107 | +</ul> |
| 3108 | +<h4 id="example">Example<a class="headerlink" href="#example" title="Permanent link">#</a></h4> |
| 3109 | +<div class="highlight"><pre><span></span><code><span class="kd">const</span><span class="w"> </span><span class="nx">calvaApi</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">vscode</span><span class="p">.</span><span class="nx">extensions</span><span class="p">.</span><span class="nx">getExtension</span><span class="p">(</span><span class="s2">"betterthantomorrow.calva"</span><span class="p">)</span><span class="o">?</span><span class="p">.</span><span class="nx">exports</span><span class="p">;</span> |
| 3110 | + |
| 3111 | +<span class="nx">calvaApi</span><span class="p">.</span><span class="nx">v1</span><span class="p">.</span><span class="nx">repl</span><span class="p">.</span><span class="nx">log</span><span class="p">({</span> |
| 3112 | +<span class="w"> </span><span class="nx">category</span><span class="o">:</span><span class="w"> </span><span class="s2">"evaluatedCode"</span><span class="p">,</span> |
| 3113 | +<span class="w"> </span><span class="nx">text</span><span class="o">:</span><span class="w"> </span><span class="s2">"(+ 1 2)"</span><span class="p">,</span> |
| 3114 | +<span class="w"> </span><span class="nx">who</span><span class="o">:</span><span class="w"> </span><span class="s2">"my-extension"</span><span class="p">,</span> |
| 3115 | +<span class="w"> </span><span class="nx">ns</span><span class="o">:</span><span class="w"> </span><span class="s2">"user"</span><span class="p">,</span> |
| 3116 | +<span class="p">});</span> |
| 3117 | +</code></pre></div> |
3030 | 3118 | <h3 id="replonoutputlogged"><code>repl.onOutputLogged()</code><a class="headerlink" href="#replonoutputlogged" title="Permanent link">#</a></h3> |
3031 | 3119 | <p>Subscribe to Calva REPL output messages. Returns a <code>vscode.Disposable</code> that you should dispose when you no longer need updates. (For fire-and-forget convenience, push it onto your extension’s <code>context.subscriptions</code>).</p> |
3032 | 3120 | <p>The signature in TypeScript:</p> |
|
0 commit comments