gpt4 book ai didi

ipython-notebook - 非 Python 语言语法高亮?

转载 作者:行者123 更新时间:2023-12-04 15:11:05 27 4
gpt4 key购买 nike

我正在构建一个 IPython 单元魔术来支持交互式 SQL 查询,并希望该单元的语法突出显示从 Python 更改为 SQL。实现这一目标的最佳方法是什么?

想象一个输入单元格如下:

%%sqlite example.db

SELECT id,name FROM Users;

目前,查询被解析为 Python 代码,结果杂乱无章。

尤其是 language支持Notebook格式的参数吗?官方文档( RRubyOctave 、 ..)支持的所有单元格魔法似乎都不会从 "python" 更改它。 .

最佳答案

我正在运行 Jupyter 4(准确地说是 4.2.0),并将以下代码放入 ~/.jupyter/custom/custom.js对我来说效果很好。

IPython.notebook.events.one('kernel_ready.Kernel',
function(){
IPython.CodeCell.config_defaults
.highlight_modes['magic_text/x-mssql'] = {'reg':[/^%%sql/]} ;
IPython.notebook.get_cells().map(
function(cell){
if (cell.cell_type == 'code'){
cell.auto_highlight();
}
}) ;
}) ;

更新

较新版本的笔记本(我现在使用的是 5.2.2)使用稍微不同的配置键, codecell.CodeCell.options_default.highlight_modes .
我目前使用的代码(仍在 custom.js 中)如下所示:
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();
}
}) ;
});
});

关于ipython-notebook - 非 Python 语言语法高亮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24709851/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com