This commit is contained in:
Takafumi Arakaki 2012-09-28 01:44:58 +02:00
parent 6f8e34cdbf
commit a694b25e21
4 changed files with 118 additions and 24 deletions

View file

@ -71,12 +71,15 @@ This is a quick and clean way to try EIN separately from your Emacs
setting. If you want to try EIN but think preparing all the setting. If you want to try EIN but think preparing all the
requirements is too much, try this!:: requirements is too much, try this!::
git clone git://github.com/tkf/zeroein.git git clone git://github.com/tkf/emacs-ipython-notebook.git
zeroein/zeroein.py lisp/zeroein.el
This will launch a new Emacs instance. For more information, see:: This will launch a new Emacs instance.
zeroein/zeroein.py --help You can use environment variable ``EMACS`` to control Emacs executable
to use.::
EMACS=emacs-snapshot lisp/zeroein.el
Requirements Requirements
@ -84,7 +87,7 @@ Requirements
* IPython_ 0.12 or higher. * IPython_ 0.12 or higher.
* `websocket.el`_ 0.9 * `websocket.el`_ 0.9
* (optional) mumamo_: * (optional) mumamo_ developmental version:
It will be automatically loaded when it is on the path. It will be automatically loaded when it is on the path.
The official way to setup path is to load nXhtml_. The official way to setup path is to load nXhtml_.
* (optional) markdown-mode * (optional) markdown-mode
@ -283,8 +286,10 @@ Misc
^^^^ ^^^^
.. el:package:: helm .. el:package:: helm
.. el:function:: helm-ein-kernel-history
.. el:function:: helm-ein-notebook-buffers .. el:function:: helm-ein-notebook-buffers
.. el:package:: anything .. el:package:: anything
.. el:function:: anything-ein-kernel-history
.. el:function:: anything-ein-notebook-buffers .. el:function:: anything-ein-notebook-buffers
.. el:package:: ein .. el:package:: ein
@ -327,6 +332,9 @@ Notebook
.. el:variable:: ein:junk-notebook-name-template .. el:variable:: ein:junk-notebook-name-template
.. el:variable:: ein:iexec-delay .. el:variable:: ein:iexec-delay
.. el:variable:: ein:complete-on-dot .. el:variable:: ein:complete-on-dot
.. el:variable:: ein:helm-kernel-history-search-key
.. el:variable:: ein:anything-kernel-history-search-key
.. el:variable:: ein:helm-kernel-history-search-auto-pattern
.. el:variable:: ein:output-type-preference .. el:variable:: ein:output-type-preference
.. el:variable:: ein:shr-env .. el:variable:: ein:shr-env
@ -414,6 +422,7 @@ in MuMaMo based notebook mode produces segfault.
Also, ``mumamo-idle-set-major-mode`` messages error Also, ``mumamo-idle-set-major-mode`` messages error
``(wrong-type-argument listp python-saved-check-command)`` ``(wrong-type-argument listp python-saved-check-command)``
time to time, making minibuffer bit noisy while editing notebook. time to time, making minibuffer bit noisy while editing notebook.
See Tips_ to fix this problem.
Advanced Advanced
@ -434,7 +443,7 @@ web client. See `emacslisp.py`_ for more details.
6 6
.. _`emacslisp.py`: .. _`emacslisp.py`:
https://github.com/tkf/emacs-ipython-notebook/blob/master/emacslisp.py https://github.com/tkf/emacs-ipython-notebook/blob/master/tools/emacslisp.py
Reporting issue Reporting issue
@ -499,6 +508,12 @@ Change Log
v0.2 v0.2
---- ----
* Add helm/anything interface to search kernel history:
:el:symbol:`helm-ein-kernel-history` and
:el:symbol:`anything-ein-kernel-history`.
See also the configurable options to use these commands:
:el:symbol:`ein:helm-kernel-history-search-key` and
:el:symbol:`ein:anything-kernel-history-search-key`.
* Preliminary support for multiple worksheets. * Preliminary support for multiple worksheets.
* Rename notion of "scratch notebook" to "junk notebook". * Rename notion of "scratch notebook" to "junk notebook".
This is to avoid confusion with newly added "scratch sheet". This is to avoid confusion with newly added "scratch sheet".

View file

@ -56,6 +56,12 @@
<table style="width: 100%" class="indextable genindextable"><tr> <table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl> <td style="width: 33%" valign="top"><dl>
<dt><a href="index.html#anything-ein-kernel-history">anything-ein-kernel-history (Lisp function)</a>
</dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="index.html#anything-ein-notebook-buffers">anything-ein-notebook-buffers (Lisp function)</a> <dt><a href="index.html#anything-ein-notebook-buffers">anything-ein-notebook-buffers (Lisp function)</a>
</dt> </dt>
@ -70,6 +76,10 @@
</dt> </dt>
<dt><a href="index.html#ein:anything-kernel-history-search-key">ein:anything-kernel-history-search-key (Lisp variable)</a>
</dt>
<dt><a href="index.html#ein:cell-autoexec-prompt">ein:cell-autoexec-prompt (Lisp variable)</a> <dt><a href="index.html#ein:cell-autoexec-prompt">ein:cell-autoexec-prompt (Lisp variable)</a>
</dt> </dt>
@ -138,6 +148,14 @@
</dt> </dt>
<dt><a href="index.html#ein:helm-kernel-history-search-auto-pattern">ein:helm-kernel-history-search-auto-pattern (Lisp variable)</a>
</dt>
<dt><a href="index.html#ein:helm-kernel-history-search-key">ein:helm-kernel-history-search-key (Lisp variable)</a>
</dt>
<dt><a href="index.html#ein:iexec-delay">ein:iexec-delay (Lisp variable)</a> <dt><a href="index.html#ein:iexec-delay">ein:iexec-delay (Lisp variable)</a>
</dt> </dt>
@ -173,6 +191,8 @@
<dt><a href="index.html#ein:mumamo-headingcell-mode">ein:mumamo-headingcell-mode (Lisp variable)</a> <dt><a href="index.html#ein:mumamo-headingcell-mode">ein:mumamo-headingcell-mode (Lisp variable)</a>
</dt> </dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="index.html#ein:mumamo-htmlcell-mode">ein:mumamo-htmlcell-mode (Lisp variable)</a> <dt><a href="index.html#ein:mumamo-htmlcell-mode">ein:mumamo-htmlcell-mode (Lisp variable)</a>
</dt> </dt>
@ -181,8 +201,6 @@
<dt><a href="index.html#ein:mumamo-markdowncell-mode">ein:mumamo-markdowncell-mode (Lisp variable)</a> <dt><a href="index.html#ein:mumamo-markdowncell-mode">ein:mumamo-markdowncell-mode (Lisp variable)</a>
</dt> </dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="index.html#ein:mumamo-rawcell-mode">ein:mumamo-rawcell-mode (Lisp variable)</a> <dt><a href="index.html#ein:mumamo-rawcell-mode">ein:mumamo-rawcell-mode (Lisp variable)</a>
</dt> </dt>
@ -302,6 +320,12 @@
<table style="width: 100%" class="indextable genindextable"><tr> <table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl> <td style="width: 33%" valign="top"><dl>
<dt><a href="index.html#helm-ein-kernel-history">helm-ein-kernel-history (Lisp function)</a>
</dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="index.html#helm-ein-notebook-buffers">helm-ein-notebook-buffers (Lisp function)</a> <dt><a href="index.html#helm-ein-notebook-buffers">helm-ein-notebook-buffers (Lisp function)</a>
</dt> </dt>

View file

@ -163,12 +163,13 @@ object).</li>
<p>This is a quick and clean way to try EIN separately from your Emacs <p>This is a quick and clean way to try EIN separately from your Emacs
setting. If you want to try EIN but think preparing all the setting. If you want to try EIN but think preparing all the
requirements is too much, try this!:</p> requirements is too much, try this!:</p>
<div class="highlight-python"><pre>git clone git://github.com/tkf/zeroein.git <div class="highlight-python"><pre>git clone git://github.com/tkf/emacs-ipython-notebook.git
zeroein/zeroein.py</pre> lisp/zeroein.el</pre>
</div> </div>
<p>This will launch a new Emacs instance. For more information, see:</p> <p>This will launch a new Emacs instance.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">zeroein</span><span class="o">/</span><span class="n">zeroein</span><span class="o">.</span><span class="n">py</span> <span class="o">--</span><span class="n">help</span> <p>You can use environment variable <tt class="docutils literal"><span class="pre">EMACS</span></tt> to control Emacs executable
</pre></div> to use.:</p>
<div class="highlight-python"><pre>EMACS=emacs-snapshot lisp/zeroein.el</pre>
</div> </div>
</div> </div>
<div class="section" id="requirements"> <div class="section" id="requirements">
@ -176,7 +177,7 @@ zeroein/zeroein.py</pre>
<ul class="simple"> <ul class="simple">
<li><a class="reference external" href="http://ipython.org/">IPython</a> 0.12 or higher.</li> <li><a class="reference external" href="http://ipython.org/">IPython</a> 0.12 or higher.</li>
<li><a class="reference external" href="https://github.com/ahyatt/emacs-websocket">websocket.el</a> 0.9</li> <li><a class="reference external" href="https://github.com/ahyatt/emacs-websocket">websocket.el</a> 0.9</li>
<li>(optional) <a class="reference external" href="http://www.emacswiki.org/emacs/MuMaMo">mumamo</a>: <li>(optional) <a class="reference external" href="http://www.emacswiki.org/emacs/MuMaMo">mumamo</a> developmental version:
It will be automatically loaded when it is on the path. It will be automatically loaded when it is on the path.
The official way to setup path is to load <a class="reference external" href="http://ourcomments.org/Emacs/nXhtml/doc/nxhtml.html">nXhtml</a>.</li> The official way to setup path is to load <a class="reference external" href="http://ourcomments.org/Emacs/nXhtml/doc/nxhtml.html">nXhtml</a>.</li>
<li>(optional) markdown-mode</li> <li>(optional) markdown-mode</li>
@ -303,9 +304,7 @@ Notebook is specified by a string NBPATH whose format is
<dd><p>Open a notebook to try random thing. <dd><p>Open a notebook to try random thing.
Notebook name is determined based on Notebook name is determined based on
<a class="reference internal" href="#ein:junk-notebook-name-template" title="ein:junk-notebook-name-template"><tt class="xref el el-symbol docutils literal"><span class="pre">ein:junk-notebook-name-template</span></tt></a>.</p> <a class="reference internal" href="#ein:junk-notebook-name-template" title="ein:junk-notebook-name-template"><tt class="xref el el-symbol docutils literal"><span class="pre">ein:junk-notebook-name-template</span></tt></a>.</p>
<p>When any prefix argument is given, this command asks notebook <p>When prefix argument is given, it asks URL or port to use.</p>
name to be used. When two universal prefix arguments (i.e.,
<tt class="docutils literal"><span class="pre">C-u</span> <span class="pre">C-u</span></tt>) are given, this command asks URL or port to use.</p>
</dd></dl> </dd></dl>
<p>Keymap for <tt class="xref el el-symbol docutils literal"><span class="pre">ein:notebooklist-mode</span></tt>.</p> <p>Keymap for <tt class="xref el el-symbol docutils literal"><span class="pre">ein:notebooklist-mode</span></tt>.</p>
@ -1242,12 +1241,24 @@ to install it if you are using newer Emacs.</p>
</div> </div>
<div class="section" id="misc"> <div class="section" id="misc">
<h3><a class="toc-backref" href="#id36">Misc</a><a class="headerlink" href="#misc" title="Permalink to this headline"></a></h3> <h3><a class="toc-backref" href="#id36">Misc</a><a class="headerlink" href="#misc" title="Permalink to this headline"></a></h3>
<dl class="function">
<dt id="helm-ein-kernel-history">
<em class="property">function </em><tt class="descname">helm-ein-kernel-history</tt><a class="headerlink" href="#helm-ein-kernel-history" title="Permalink to this definition"></a></dt>
<dd><p>Search kernel execution history then insert the selected one.</p>
</dd></dl>
<dl class="function"> <dl class="function">
<dt id="helm-ein-notebook-buffers"> <dt id="helm-ein-notebook-buffers">
<em class="property">function </em><tt class="descname">helm-ein-notebook-buffers</tt><a class="headerlink" href="#helm-ein-notebook-buffers" title="Permalink to this definition"></a></dt> <em class="property">function </em><tt class="descname">helm-ein-notebook-buffers</tt><a class="headerlink" href="#helm-ein-notebook-buffers" title="Permalink to this definition"></a></dt>
<dd><p>Choose opened notebook using helm interface.</p> <dd><p>Choose opened notebook using helm interface.</p>
</dd></dl> </dd></dl>
<dl class="function">
<dt id="anything-ein-kernel-history">
<em class="property">function </em><tt class="descname">anything-ein-kernel-history</tt><a class="headerlink" href="#anything-ein-kernel-history" title="Permalink to this definition"></a></dt>
<dd><p>Search kernel execution history then insert the selected one.</p>
</dd></dl>
<dl class="function"> <dl class="function">
<dt id="anything-ein-notebook-buffers"> <dt id="anything-ein-notebook-buffers">
<em class="property">function </em><tt class="descname">anything-ein-notebook-buffers</tt><a class="headerlink" href="#anything-ein-notebook-buffers" title="Permalink to this definition"></a></dt> <em class="property">function </em><tt class="descname">anything-ein-notebook-buffers</tt><a class="headerlink" href="#anything-ein-notebook-buffers" title="Permalink to this definition"></a></dt>
@ -1376,12 +1387,16 @@ and the first usable mode is used. By default, MuMaMo is used when
it is installed. If not, a simple mode derived from <tt class="xref el el-symbol docutils literal"><span class="pre">python-mode</span></tt> is it is installed. If not, a simple mode derived from <tt class="xref el el-symbol docutils literal"><span class="pre">python-mode</span></tt> is
used.</p> used.</p>
<p>Examples:</p> <p>Examples:</p>
<p>Avoid using MuMaMo even when it is installed:</p> <p>Use MuMaMo if it is installed. Otherwise, use plain mode.
<div class="highlight-python"><pre>(setq ein:notebook-modes (delq 'ein:notebook-mumamo-mode ein:notebook-modes))</pre> This is the default setting:</p>
</div>
<p>Do not use <tt class="xref el el-symbol docutils literal"><span class="pre">python-mode</span></tt>. Use plain mode when MuMaMo is not installed:</p>
<div class="highlight-python"><pre>(setq ein:notebook-modes '(ein:notebook-mumamo-mode ein:notebook-plain-mode))</pre> <div class="highlight-python"><pre>(setq ein:notebook-modes '(ein:notebook-mumamo-mode ein:notebook-plain-mode))</pre>
</div> </div>
<p>Avoid using MuMaMo even when it is installed:</p>
<div class="highlight-python"><pre>(setq ein:notebook-modes '(ein:notebook-plain-mode))</pre>
</div>
<p>Use simple <tt class="xref el el-symbol docutils literal"><span class="pre">python-mode</span></tt> based notebook mode when MuMaMo is not installed:</p>
<div class="highlight-python"><pre>(setq ein:notebook-modes '(ein:notebook-mumamo-mode ein:notebook-python-mode))</pre>
</div>
</dd></dl> </dd></dl>
<dl class="variable"> <dl class="variable">
@ -1448,6 +1463,39 @@ must be <tt class="xref el el-symbol docutils literal"><span class="pre">t</span
notebook buffers and connected buffers.</p> notebook buffers and connected buffers.</p>
</dd></dl> </dd></dl>
<dl class="variable">
<dt id="ein:helm-kernel-history-search-key">
<em class="property">variable </em><tt class="descname">ein:helm-kernel-history-search-key</tt><a class="headerlink" href="#ein:helm-kernel-history-search-key" title="Permalink to this definition"></a></dt>
<dd><p>Bind <a class="reference internal" href="#helm-ein-kernel-history" title="helm-ein-kernel-history"><tt class="xref el el-symbol docutils literal"><span class="pre">helm-ein-kernel-history</span></tt></a> to this key in notebook mode.</p>
<p>Example:</p>
<div class="highlight-python"><pre>(setq ein:helm-kernel-history-search-key "\M-r")</pre>
</div>
<p>This key will be installed in the <tt class="xref el el-symbol docutils literal"><span class="pre">ein:notebook-mode-map</span></tt>.</p>
</dd></dl>
<dl class="variable">
<dt id="ein:anything-kernel-history-search-key">
<em class="property">variable </em><tt class="descname">ein:anything-kernel-history-search-key</tt><a class="headerlink" href="#ein:anything-kernel-history-search-key" title="Permalink to this definition"></a></dt>
<dd><p>Bind <a class="reference internal" href="#anything-ein-kernel-history" title="anything-ein-kernel-history"><tt class="xref el el-symbol docutils literal"><span class="pre">anything-ein-kernel-history</span></tt></a> to this key in notebook mode.</p>
<p>Example:</p>
<div class="highlight-python"><pre>(setq ein:anything-kernel-history-search-key "\M-r")</pre>
</div>
<p>This key will be installed in the <tt class="xref el el-symbol docutils literal"><span class="pre">ein:notebook-mode-map</span></tt>.</p>
</dd></dl>
<dl class="variable">
<dt id="ein:helm-kernel-history-search-auto-pattern">
<em class="property">variable </em><tt class="descname">ein:helm-kernel-history-search-auto-pattern</tt><a class="headerlink" href="#ein:helm-kernel-history-search-auto-pattern" title="Permalink to this definition"></a></dt>
<dd><p>Automatically construct search pattern when non-<tt class="xref el el-symbol docutils literal"><span class="pre">nil</span></tt>.</p>
<ol class="arabic simple">
<li>Single space is converted to &#8220;*&#8221;.</li>
<li>A backslash followed by a space is converted to a single space.</li>
<li>A &#8220;*&#8221; is added at the end of the pattern.</li>
</ol>
<p>This variable applies to both <a class="reference internal" href="#helm-ein-kernel-history" title="helm-ein-kernel-history"><tt class="xref el el-symbol docutils literal"><span class="pre">helm-ein-kernel-history</span></tt></a> and
<a class="reference internal" href="#anything-ein-kernel-history" title="anything-ein-kernel-history"><tt class="xref el el-symbol docutils literal"><span class="pre">anything-ein-kernel-history</span></tt></a>.</p>
</dd></dl>
<dl class="variable"> <dl class="variable">
<dt id="ein:output-type-preference"> <dt id="ein:output-type-preference">
<em class="property">variable </em><tt class="descname">ein:output-type-preference</tt><a class="headerlink" href="#ein:output-type-preference" title="Permalink to this definition"></a></dt> <em class="property">variable </em><tt class="descname">ein:output-type-preference</tt><a class="headerlink" href="#ein:output-type-preference" title="Permalink to this definition"></a></dt>
@ -1757,14 +1805,15 @@ the input area. It seems there is a bug in MuMaMo <a class="footnote-reference"
in MuMaMo based notebook mode produces segfault.</p> in MuMaMo based notebook mode produces segfault.</p>
<p>Also, <tt class="docutils literal"><span class="pre">mumamo-idle-set-major-mode</span></tt> messages error <p>Also, <tt class="docutils literal"><span class="pre">mumamo-idle-set-major-mode</span></tt> messages error
<tt class="docutils literal"><span class="pre">(wrong-type-argument</span> <span class="pre">listp</span> <span class="pre">python-saved-check-command)</span></tt> <tt class="docutils literal"><span class="pre">(wrong-type-argument</span> <span class="pre">listp</span> <span class="pre">python-saved-check-command)</span></tt>
time to time, making minibuffer bit noisy while editing notebook.</p> time to time, making minibuffer bit noisy while editing notebook.
See <a class="reference external" href="https://github.com/tkf/emacs-ipython-notebook/wiki/Tips">Tips</a> to fix this problem.</p>
</div> </div>
</div> </div>
<div class="section" id="advanced"> <div class="section" id="advanced">
<h2><a class="toc-backref" href="#id49">Advanced</a><a class="headerlink" href="#advanced" title="Permalink to this headline"></a></h2> <h2><a class="toc-backref" href="#id49">Advanced</a><a class="headerlink" href="#advanced" title="Permalink to this headline"></a></h2>
<p>By telling IPython a little bit about Emacs Lisp, you can execute <p>By telling IPython a little bit about Emacs Lisp, you can execute
Emacs Lisp from IPython, just like you can execute Javascript in the Emacs Lisp from IPython, just like you can execute Javascript in the
web client. See <a class="reference external" href="https://github.com/tkf/emacs-ipython-notebook/blob/master/emacslisp.py">emacslisp.py</a> for more details.</p> web client. See <a class="reference external" href="https://github.com/tkf/emacs-ipython-notebook/blob/master/tools/emacslisp.py">emacslisp.py</a> for more details.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">In</span> <span class="p">[</span><span class="mi">1</span><span class="p">]:</span> <div class="highlight-python"><div class="highlight"><pre><span class="n">In</span> <span class="p">[</span><span class="mi">1</span><span class="p">]:</span>
<span class="o">%</span><span class="n">run</span> <span class="n">PATH</span><span class="o">/</span><span class="n">TO</span><span class="o">/</span><span class="n">emacslisp</span><span class="o">.</span><span class="n">py</span> <span class="o">%</span><span class="n">run</span> <span class="n">PATH</span><span class="o">/</span><span class="n">TO</span><span class="o">/</span><span class="n">emacslisp</span><span class="o">.</span><span class="n">py</span>
@ -1834,6 +1883,12 @@ with <tt class="xref el el-symbol docutils literal"><span class="pre">ein:dev-st
<div class="section" id="v0-2"> <div class="section" id="v0-2">
<h2><a class="toc-backref" href="#id55">v0.2</a><a class="headerlink" href="#v0-2" title="Permalink to this headline"></a></h2> <h2><a class="toc-backref" href="#id55">v0.2</a><a class="headerlink" href="#v0-2" title="Permalink to this headline"></a></h2>
<ul class="simple"> <ul class="simple">
<li>Add helm/anything interface to search kernel history:
<a class="reference internal" href="#helm-ein-kernel-history" title="helm-ein-kernel-history"><tt class="xref el el-symbol docutils literal"><span class="pre">helm-ein-kernel-history</span></tt></a> and
<a class="reference internal" href="#anything-ein-kernel-history" title="anything-ein-kernel-history"><tt class="xref el el-symbol docutils literal"><span class="pre">anything-ein-kernel-history</span></tt></a>.
See also the configurable options to use these commands:
<a class="reference internal" href="#ein:helm-kernel-history-search-key" title="ein:helm-kernel-history-search-key"><tt class="xref el el-symbol docutils literal"><span class="pre">ein:helm-kernel-history-search-key</span></tt></a> and
<a class="reference internal" href="#ein:anything-kernel-history-search-key" title="ein:anything-kernel-history-search-key"><tt class="xref el el-symbol docutils literal"><span class="pre">ein:anything-kernel-history-search-key</span></tt></a>.</li>
<li>Preliminary support for multiple worksheets.</li> <li>Preliminary support for multiple worksheets.</li>
<li>Rename notion of &#8220;scratch notebook&#8221; to &#8220;junk notebook&#8221;. <li>Rename notion of &#8220;scratch notebook&#8221; to &#8220;junk notebook&#8221;.
This is to avoid confusion with newly added &#8220;scratch sheet&#8221;. This is to avoid confusion with newly added &#8220;scratch sheet&#8221;.

File diff suppressed because one or more lines are too long