Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
anki-code committed Jan 27, 2025
1 parent 5a4f14e commit e321408
Show file tree
Hide file tree
Showing 13 changed files with 231 additions and 106 deletions.
15 changes: 15 additions & 0 deletions dev/_modules/xonsh/environ.html
Original file line number Diff line number Diff line change
Expand Up @@ -510,6 +510,8 @@ <h1>Source code for xonsh.environ</h1><div class="highlight"><pre>
<span class="n">to_int_or_none</span><span class="p">,</span>
<span class="n">to_itself</span><span class="p">,</span>
<span class="n">to_logfile_opt</span><span class="p">,</span>
<span class="n">to_ptk_cursor_shape</span><span class="p">,</span>
<span class="n">to_ptk_cursor_shape_display_value</span><span class="p">,</span>
<span class="n">to_repr_pretty_</span><span class="p">,</span>
<span class="n">to_shlvl</span><span class="p">,</span>
<span class="n">to_tok_color_dict</span><span class="p">,</span>
Expand Down Expand Up @@ -2301,6 +2303,19 @@ <h1>Source code for xonsh.environ</h1><div class="highlight"><pre>
<span class="s2">&quot;``DEPTH_1_BIT``, ``DEPTH_4_BIT``, ``DEPTH_8_BIT``, ``DEPTH_24_BIT`` &quot;</span>
<span class="s2">&quot;colors. Default is an empty string which means that prompt toolkit decide.&quot;</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">XONSH_PROMPT_CURSOR_SHAPE</span> <span class="o">=</span> <span class="n">Var</span><span class="p">(</span>
<span class="n">always_false</span><span class="p">,</span>
<span class="n">to_ptk_cursor_shape</span><span class="p">,</span>
<span class="n">to_ptk_cursor_shape_display_value</span><span class="p">,</span>
<span class="n">to_ptk_cursor_shape</span><span class="p">(</span><span class="s2">&quot;modal-vi-mode-only&quot;</span><span class="p">),</span>
<span class="s2">&quot;The cursor shape. Possible values for prompt toolkit are: &quot;</span>
<span class="s2">&quot;``block``, ``beam``, ``underline``, &quot;</span>
<span class="s2">&quot;``blinking-block``, ``blinking-beam``, ``blinking-underline``, &quot;</span>
<span class="s2">&quot;``modal``, ``modal-vi-mode-only``, ``never-change``. &quot;</span>
<span class="s2">&quot;Default value is ``modal-vi-mode-only`` which means &quot;</span>
<span class="s2">&quot;``modal`` if in vi mode and ``never-change`` if not in vi mode.&quot;</span><span class="p">,</span>
<span class="n">doc_default</span><span class="o">=</span><span class="s2">&quot;modal-vi-mode-only&quot;</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">PTK_STYLE_OVERRIDES</span> <span class="o">=</span> <span class="n">Var</span><span class="p">(</span>
<span class="n">is_tok_color_dict</span><span class="p">,</span>
<span class="n">to_tok_color_dict</span><span class="p">,</span>
Expand Down
13 changes: 4 additions & 9 deletions dev/_modules/xonsh/shells/ptk_shell.html
Original file line number Diff line number Diff line change
Expand Up @@ -458,13 +458,6 @@ <h1>Source code for xonsh.shells.ptk_shell</h1><div class="highlight"><pre>
<span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
<span class="n">HAVE_SYS_CLIPBOARD</span> <span class="o">=</span> <span class="kc">False</span>

<span class="k">try</span><span class="p">:</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">prompt_toolkit.cursor_shapes</span><span class="w"> </span><span class="kn">import</span> <span class="n">ModalCursorShapeConfig</span>

<span class="n">HAVE_CURSOR_SHAPE</span> <span class="o">=</span> <span class="kc">True</span>
<span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
<span class="n">HAVE_CURSOR_SHAPE</span> <span class="o">=</span> <span class="kc">False</span>

<span class="n">CAPITAL_PATTERN</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;([a-z])([A-Z])&quot;</span><span class="p">)</span>
<span class="n">Token</span> <span class="o">=</span> <span class="n">_TokenType</span><span class="p">()</span>

Expand Down Expand Up @@ -805,8 +798,10 @@ <h1>Source code for xonsh.shells.ptk_shell</h1><div class="highlight"><pre>
<span class="k">for</span> <span class="n">attr</span><span class="p">,</span> <span class="n">val</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_lazy_ptk_kwargs</span><span class="p">():</span>
<span class="n">prompt_args</span><span class="p">[</span><span class="n">attr</span><span class="p">]</span> <span class="o">=</span> <span class="n">val</span>

<span class="k">if</span> <span class="n">editing_mode</span> <span class="o">==</span> <span class="n">EditingMode</span><span class="o">.</span><span class="n">VI</span> <span class="ow">and</span> <span class="n">HAVE_CURSOR_SHAPE</span><span class="p">:</span>
<span class="n">prompt_args</span><span class="p">[</span><span class="s2">&quot;cursor&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">ModalCursorShapeConfig</span><span class="p">()</span>
<span class="n">cursor_shape</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;XONSH_PROMPT_CURSOR_SHAPE&quot;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">cursor_shape</span><span class="p">:</span>
<span class="n">prompt_args</span><span class="p">[</span><span class="s2">&quot;cursor&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">cursor_shape</span>

<span class="n">events</span><span class="o">.</span><span class="n">on_pre_prompt</span><span class="o">.</span><span class="n">fire</span><span class="p">()</span>
<span class="n">line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">prompter</span><span class="o">.</span><span class="n">prompt</span><span class="p">(</span><span class="o">**</span><span class="n">prompt_args</span><span class="p">)</span>
<span class="n">events</span><span class="o">.</span><span class="n">on_post_prompt</span><span class="o">.</span><span class="n">fire</span><span class="p">()</span>
Expand Down
64 changes: 64 additions & 0 deletions dev/_modules/xonsh/tools.html
Original file line number Diff line number Diff line change
Expand Up @@ -453,6 +453,19 @@ <h1>Source code for xonsh.tools</h1><div class="highlight"><pre>
<span class="kn">import</span><span class="w"> </span><span class="nn">warnings</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">contextlib</span><span class="w"> </span><span class="kn">import</span> <span class="n">contextmanager</span>

<span class="k">try</span><span class="p">:</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">prompt_toolkit.cursor_shapes</span><span class="w"> </span><span class="kn">import</span> <span class="p">(</span>
<span class="n">CursorShape</span><span class="p">,</span>
<span class="n">CursorShapeConfig</span><span class="p">,</span>
<span class="n">DynamicCursorShapeConfig</span><span class="p">,</span>
<span class="n">ModalCursorShapeConfig</span><span class="p">,</span>
<span class="n">SimpleCursorShapeConfig</span><span class="p">,</span>
<span class="p">)</span>

<span class="n">HAVE_CURSOR_SHAPE</span> <span class="o">=</span> <span class="kc">True</span>
<span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
<span class="n">HAVE_CURSOR_SHAPE</span> <span class="o">=</span> <span class="kc">False</span>

<span class="c1"># adding imports from further xonsh modules is discouraged to avoid circular</span>
<span class="c1"># dependencies</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">xonsh</span><span class="w"> </span><span class="kn">import</span> <span class="n">__version__</span>
Expand Down Expand Up @@ -2470,6 +2483,57 @@ <h1>Source code for xonsh.tools</h1><div class="highlight"><pre>



<div class="viewcode-block" id="ptk_cursor_shape_vi_modal">
<a class="viewcode-back" href="../../api/_autosummary/helpers/xonsh.tools.html#xonsh.tools.ptk_cursor_shape_vi_modal">[docs]</a>
<span class="k">def</span><span class="w"> </span><span class="nf">ptk_cursor_shape_vi_modal</span><span class="p">():</span>
<span class="k">if</span> <span class="n">xsh</span><span class="o">.</span><span class="n">env</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;VI_MODE&quot;</span><span class="p">):</span>
<span class="k">return</span> <span class="n">ModalCursorShapeConfig</span><span class="p">()</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">return</span> <span class="n">SimpleCursorShapeConfig</span><span class="p">()</span></div>



<div class="viewcode-block" id="to_ptk_cursor_shape">
<a class="viewcode-back" href="../../api/_autosummary/helpers/xonsh.tools.html#xonsh.tools.to_ptk_cursor_shape">[docs]</a>
<span class="k">def</span><span class="w"> </span><span class="nf">to_ptk_cursor_shape</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">HAVE_CURSOR_SHAPE</span><span class="p">:</span>
<span class="k">return</span> <span class="kc">None</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="p">(</span><span class="n">CursorShape</span><span class="p">,</span> <span class="n">CursorShapeConfig</span><span class="p">)):</span>
<span class="k">return</span> <span class="n">x</span>
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;invalid cursor shape&quot;</span><span class="p">)</span>
<span class="n">x</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">&quot;-&quot;</span><span class="p">,</span> <span class="s2">&quot;_&quot;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">x</span> <span class="o">==</span> <span class="s2">&quot;MODAL&quot;</span><span class="p">:</span>
<span class="k">return</span> <span class="n">ModalCursorShapeConfig</span><span class="p">()</span>
<span class="k">elif</span> <span class="n">x</span> <span class="o">==</span> <span class="s2">&quot;MODAL_VI_MODE_ONLY&quot;</span><span class="p">:</span>
<span class="k">return</span> <span class="n">DynamicCursorShapeConfig</span><span class="p">(</span><span class="n">ptk_cursor_shape_vi_modal</span><span class="p">)</span>
<span class="k">try</span><span class="p">:</span>
<span class="k">return</span> <span class="n">CursorShape</span><span class="p">[</span><span class="n">x</span><span class="p">]</span>
<span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
<span class="k">return</span> <span class="n">SimpleCursorShapeConfig</span><span class="p">()</span></div>



<div class="viewcode-block" id="to_ptk_cursor_shape_display_value">
<a class="viewcode-back" href="../../api/_autosummary/helpers/xonsh.tools.html#xonsh.tools.to_ptk_cursor_shape_display_value">[docs]</a>
<span class="k">def</span><span class="w"> </span><span class="nf">to_ptk_cursor_shape_display_value</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">x</span><span class="p">:</span>
<span class="k">return</span> <span class="s2">&quot;&quot;</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">SimpleCursorShapeConfig</span><span class="p">):</span>
<span class="n">x</span> <span class="o">=</span> <span class="n">x</span><span class="o">.</span><span class="n">get_cursor_shape</span><span class="p">(</span><span class="kc">None</span><span class="p">)</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">CursorShape</span><span class="p">):</span>
<span class="n">x</span> <span class="o">=</span> <span class="n">x</span><span class="o">.</span><span class="n">value</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">&quot;_&quot;</span><span class="p">,</span> <span class="s2">&quot;-&quot;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">x</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">&quot;-&quot;</span><span class="p">):</span>
<span class="n">x</span> <span class="o">=</span> <span class="n">x</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
<span class="k">return</span> <span class="n">x</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">ModalCursorShapeConfig</span><span class="p">):</span>
<span class="k">return</span> <span class="s2">&quot;modal&quot;</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">DynamicCursorShapeConfig</span><span class="p">):</span>
<span class="k">return</span> <span class="s2">&quot;modal-vi-mode-only&quot;</span>
<span class="k">return</span> <span class="s2">&quot;unknown&quot;</span></div>



<div class="viewcode-block" id="is_completions_display_value">
<a class="viewcode-back" href="../../api/_autosummary/helpers/xonsh.tools.html#xonsh.tools.is_completions_display_value">[docs]</a>
<span class="k">def</span><span class="w"> </span><span class="nf">is_completions_display_value</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
Expand Down
2 changes: 1 addition & 1 deletion dev/api/_autosummary/cmd/xonsh.completers.completer.html
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,7 @@

<dl class="py function">
<dt class="sig sig-object py" id="xonsh.completers.completer.remove_completer">
<span class="sig-prename descclassname"><span class="pre">xonsh.completers.completer.</span></span><span class="sig-name descname"><span class="pre">remove_completer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">name:</span> <span class="pre">~typing.Annotated[str,</span> <span class="pre">((),</span> <span class="pre">(('completer',</span> <span class="pre">&lt;function</span> <span class="pre">complete_completer_names</span> <span class="pre">at</span> <span class="pre">0x7fbcb7431ea0&gt;),))]</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../_modules/xonsh/completers/completer.html#remove_completer"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#xonsh.completers.completer.remove_completer" title="Link to this definition"></a></dt>
<span class="sig-prename descclassname"><span class="pre">xonsh.completers.completer.</span></span><span class="sig-name descname"><span class="pre">remove_completer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">name:</span> <span class="pre">~typing.Annotated[str,</span> <span class="pre">((),</span> <span class="pre">(('completer',</span> <span class="pre">&lt;function</span> <span class="pre">complete_completer_names</span> <span class="pre">at</span> <span class="pre">0x7f32376bd7e0&gt;),))]</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../_modules/xonsh/completers/completer.html#remove_completer"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#xonsh.completers.completer.remove_completer" title="Link to this definition"></a></dt>
<dd><p>Removes a completer from xonsh</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
Expand Down
Loading

0 comments on commit e321408

Please sign in to comment.