Как добавить подсветку синтаксиса в магию строк SQL, магию ячеек и настраиваемую команду в блокноте jupyter?
Я искал способы выделить коды SQL в блокноте jupyter.
Мне удалось выделить только магию ячеек SQL, но не магию линий и пользовательские настройки.
Дело 1 (работает)
Выделите магию ячейки (ячейка начинается с %% sql)
Ссылка: добавление подсветки синтаксиса в магию ячеек ноутбука Jupyter
require(['notebook/js/codecell'], function(codecell) {
codecell.CodeCell.options_default.highlight_modes['magic_text/x-mssql'] = {'reg':[/^%%sql/]} ;
Jupyter.notebook.events.one('kernel_ready.Kernel', function(){
Jupyter.notebook.get_cells().map(function(cell){
if (cell.cell_type == 'code'){ cell.auto_highlight(); } }) ;
});
});
Случай 2 (не работает)
Line Magic: строка начинается с% sql
Моя попытка: изменить регулярное выражение на ^%sql
, но оно не сработало.
%sql select * from Products limit 5;
Случай 3 (не работает)
Как синтаксически подсветить пользовательские ячейки (ячейка начинается С## %%)
Моя попытка: пытался изменить регулярное выражение на ^##%%sql
##%%sql
q = " select * from customer limit 2;"
execute_query(q,dbname)
Пример изображения
На рисунке мы видим, что команды cell magic% sql не выделены.
Я хочу, чтобы они были выделены.
Ссылки по теме
Ответы
Ответ 1
Это будет работать даже для заданий, как в третьей ячейке. В настоящее время несколько языков подсветки недоступны. Так что это будет синтаксис Python или SQL, что бы ни стояло первым.
require(['notebook/js/codecell'], function (codecell) {
codecell.CodeCell.options_default.highlight_modes['magic_text/x-mssql'] = { 'reg': [/%?%sql/] };
Jupyter.notebook.events.one('kernel_ready.Kernel', function () {
Jupyter.notebook.get_cells().map(function (cell) {
if (cell.cell_type == 'code') { cell.auto_highlight(); }
});
});
});