snipt

Ctrl+h for KB shortcuts

Python 3

join lines in medit

buf = window.get_active_doc().get_buffer()
start = buf.get_iter_at_mark(buf.get_insert())
start.set_line_offset(0)
end = start.copy()
end.forward_line()
end.set_line_offset(0)
while not end.ends_line():
    if not end.get_char().isspace():
        break
    end.forward_char()
start.forward_to_line_end()
buf.delete(start, end)
if not start.starts_line():
    space = start.copy()
    space.backward_char()
    if space.get_char() in ',:':
        buf.insert(start, ' ')
https://snipt.net/embed/af26fd92d5d0ac09ec8d27887d578f5a/
/raw/af26fd92d5d0ac09ec8d27887d578f5a/
af26fd92d5d0ac09ec8d27887d578f5a
python3
Python 3
18
2019-07-16T10:48:24
True
False
False
/api/public/snipt/3261/
join-lines-in-medit
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a> <a href="#L-2"> 2</a> <a href="#L-3"> 3</a> <a href="#L-4"> 4</a> <a href="#L-5"> 5</a> <a href="#L-6"> 6</a> <a href="#L-7"> 7</a> <a href="#L-8"> 8</a> <a href="#L-9"> 9</a> <a href="#L-10">10</a> <a href="#L-11">11</a> <a href="#L-12">12</a> <a href="#L-13">13</a> <a href="#L-14">14</a> <a href="#L-15">15</a> <a href="#L-16">16</a> <a href="#L-17">17</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a><span class="n">buf</span> <span class="o">=</span> <span class="n">window</span><span class="o">.</span><span class="n">get_active_doc</span><span class="p">()</span><span class="o">.</span><span class="n">get_buffer</span><span class="p">()</span> </span><span id="L-2"><a name="L-2"></a><span class="n">start</span> <span class="o">=</span> <span class="n">buf</span><span class="o">.</span><span class="n">get_iter_at_mark</span><span class="p">(</span><span class="n">buf</span><span class="o">.</span><span class="n">get_insert</span><span class="p">())</span> </span><span id="L-3"><a name="L-3"></a><span class="n">start</span><span class="o">.</span><span class="n">set_line_offset</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> </span><span id="L-4"><a name="L-4"></a><span class="n">end</span> <span class="o">=</span> <span class="n">start</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span> </span><span id="L-5"><a name="L-5"></a><span class="n">end</span><span class="o">.</span><span class="n">forward_line</span><span class="p">()</span> </span><span id="L-6"><a name="L-6"></a><span class="n">end</span><span class="o">.</span><span class="n">set_line_offset</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> </span><span id="L-7"><a name="L-7"></a><span class="k">while</span> <span class="ow">not</span> <span class="n">end</span><span class="o">.</span><span class="n">ends_line</span><span class="p">():</span> </span><span id="L-8"><a name="L-8"></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">end</span><span class="o">.</span><span class="n">get_char</span><span class="p">()</span><span class="o">.</span><span class="n">isspace</span><span class="p">():</span> </span><span id="L-9"><a name="L-9"></a> <span class="k">break</span> </span><span id="L-10"><a name="L-10"></a> <span class="n">end</span><span class="o">.</span><span class="n">forward_char</span><span class="p">()</span> </span><span id="L-11"><a name="L-11"></a><span class="n">start</span><span class="o">.</span><span class="n">forward_to_line_end</span><span class="p">()</span> </span><span id="L-12"><a name="L-12"></a><span class="n">buf</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">)</span> </span><span id="L-13"><a name="L-13"></a><span class="k">if</span> <span class="ow">not</span> <span class="n">start</span><span class="o">.</span><span class="n">starts_line</span><span class="p">():</span> </span><span id="L-14"><a name="L-14"></a> <span class="n">space</span> <span class="o">=</span> <span class="n">start</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span> </span><span id="L-15"><a name="L-15"></a> <span class="n">space</span><span class="o">.</span><span class="n">backward_char</span><span class="p">()</span> </span><span id="L-16"><a name="L-16"></a> <span class="k">if</span> <span class="n">space</span><span class="o">.</span><span class="n">get_char</span><span class="p">()</span> <span class="ow">in</span> <span class="s1">&#39;,:&#39;</span><span class="p">:</span> </span><span id="L-17"><a name="L-17"></a> <span class="n">buf</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="s1">&#39; &#39;</span><span class="p">)</span> </span></pre></div> </td></tr></table>
medit, script