From 34b4d864cdaaa0cc56481b3045a66bf679141f78 Mon Sep 17 00:00:00 2001 From: alope107 Date: Wed, 15 Jul 2015 11:14:10 -0700 Subject: [PATCH] Syntax hilighting --- .gitignore | 1 + examples/Spark SQL Magic Demo.ipynb | 12 +++++++++++- src/sparksql/magic.py | 8 ++++++-- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index ad8ab59..5f6096a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *.pyc examples/.ipynb_checkpoints/ +sparksql.egg-info/ diff --git a/examples/Spark SQL Magic Demo.ipynb b/examples/Spark SQL Magic Demo.ipynb index 133b2b4..d07c69a 100644 --- a/examples/Spark SQL Magic Demo.ipynb +++ b/examples/Spark SQL Magic Demo.ipynb @@ -36,7 +36,17 @@ "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "data": { + "application/javascript": [ + "IPython.CodeCell.config_defaults.highlight_modes['magic_text/x-sql'] = {'reg':[/^%%sparksql/]};" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "%load_ext sparksql" ] diff --git a/src/sparksql/magic.py b/src/sparksql/magic.py index 28bf653..b2be1bf 100644 --- a/src/sparksql/magic.py +++ b/src/sparksql/magic.py @@ -8,6 +8,8 @@ import sqlparse from fillPlaceholder import replace from fileManip import load_file, write_file +from IPython.core.display import display_javascript + @magics_class class SparkSqlMagic(Magics): """Runs SQL statement through Spark using provided SQLContext. @@ -15,12 +17,12 @@ class SparkSqlMagic(Magics): Provides the %sparksql magic. """ - def __init__(self, shell): Magics.__init__(self, shell=shell) self.context = None self.user_ns = None + #TODO fix help doc, currently has execute shown for usage #TODO support for custom data sources @magic_arguments() @@ -121,4 +123,6 @@ def find_insts(self, namespace, to_find): return {k:v for k, v in namespace.iteritems() if isinstance(v, to_find)} def load_ipython_extension(ip): - ip.register_magics(SparkSqlMagic) + js = "IPython.CodeCell.config_defaults.highlight_modes['magic_text/x-sql'] = {'reg':[/^%%sparksql/]};" + display_javascript(js, raw=True) + ip.register_magics(SparkSqlMagic)