##// END OF EJS Templates
Merge pull request #1303 from ellisonbg/updatecm...
Merge pull request #1303 from ellisonbg/updatecm This updates CodeMirror and refactors a good bit of the notebook code related to it. * Updated CodeMirror to the latest stable release. * Fix numerous bugs related to the CM update. * Refactored the Cell API and the notebook's cell handling methods. * Generalized split/merge to work with all cell types. * Generalized "Edit in Ace" to work with all cell types. * Loading optimizations: pager starts out hidden, faster loads. * Shading added to Markdown and HTML cells when they are being edited. * This branch will require solid usability testing on Safari, FF and Chrome before merging. * Fixed a number of CM related bugs.

File last commit:

r4872:34c10438
r5960:c5853494 merge
Show More
ipy_extutil.py
44 lines | 1.2 KiB | text/x-python | PythonLexer
vivainio
crlf cleanup
r680 """ IPython extension management tools.
After installation, you'll have the 'extutil' object in your namespace.
to.
"""
# for the purposes of this module, every module that has the name 'ip' globally
# installed as below is an IPython extension
Brian Granger
ipapi.py => core/ipapi.py and imports updated.
r2027 from IPython.core import ipapi
ip = ipapi.get()
Brian Granger
Continuing a massive refactor of everything.
r2205 from IPython.core.iplib import InteractiveShell
vivainio
crlf cleanup
r680
import sys,textwrap,inspect
def indent(s, ind= ' '):
return '\n'.join([ind +l for l in s.splitlines()])
class ExtUtil:
""" IPython extensios (ipy_* etc.) management utilities """
Bernardo B. Marques
remove all trailling spaces
r4872
vivainio
crlf cleanup
r680 def describe(self):
for n,mod in self._active():
doc = inspect.getdoc(mod)
if doc:
print '== %s ==' % n
print indent(doc)
Bernardo B. Marques
remove all trailling spaces
r4872
vivainio
crlf cleanup
r680 def ls(self):
""" Show list of installed extensions. """
for n,m in self._active():
print '%-20s %s' % (n,m.__file__.replace('\\','/'))
def _active(self):
act = []
for mname,m in sys.modules.items():
o = getattr(m, 'ip', None)
Brian Granger
Continuing a massive refactor of everything.
r2205 if isinstance(o, InteractiveShell):
vivainio
crlf cleanup
r680 act.append((mname,m))
Bernardo B. Marques
remove all trailling spaces
r4872 act.sort()
vivainio
crlf cleanup
r680 return act
Bernardo B. Marques
remove all trailling spaces
r4872 extutil = ExtUtil()
Brian Granger
Continuing a massive refactor of everything.
r2205 ip.push('extutil')