Skip to content

Commit ce3df89

Browse files
author
committed
[skip ci]
1 parent 4b7b5d9 commit ce3df89

4 files changed

Lines changed: 158 additions & 70 deletions

File tree

api/index.html

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2015,6 +2015,39 @@
20152015
</ul>
20162016
</nav>
20172017

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+
20182051
</li>
20192052

20202053
<li class="md-nav__item">
@@ -2554,6 +2587,39 @@
25542587
</ul>
25552588
</nav>
25562589

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+
25572623
</li>
25582624

25592625
<li class="md-nav__item">
@@ -3027,6 +3093,28 @@ <h4 id="handling-output">Handling Output<a class="headerlink" href="#handling-ou
30273093
</div>
30283094
</div>
30293095
</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">&quot;betterthantomorrow.calva&quot;</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">&quot;evaluatedCode&quot;</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">&quot;(+ 1 2)&quot;</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">&quot;my-extension&quot;</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">&quot;user&quot;</span><span class="p">,</span>
3116+
<span class="p">});</span>
3117+
</code></pre></div>
30303118
<h3 id="replonoutputlogged"><code>repl.onOutputLogged()</code><a class="headerlink" href="#replonoutputlogged" title="Permanent link">#</a></h3>
30313119
<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>
30323120
<p>The signature in TypeScript:</p>

search/search_index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)