python – Emacs中的多语言语法高亮显示
发布时间:2020-12-16 23:02:45 所属栏目:Python 来源:网络整理
导读:假设我在单个缓冲区中有多种语言的代码,我可以根据相应的语言使用emacs语法突出显示每个代码段吗? 例如,以下代码是python脚本的一部分,但它包含SQL代码: import psycopg2 as pgimport pandas.io.sql as psql# Some SQL code:my_query ='''select count(dis
假设我在单个缓冲区中有多种语言的代码,我可以根据相应的语言使用emacs语法突出显示每个代码段吗?
例如,以下代码是python脚本的一部分,但它包含SQL代码: import psycopg2 as pg import pandas.io.sql as psql # Some SQL code: my_query =''' select count(distinct s.object_uid) from dx.dx_segment as s; ''' # end of SQL code dataframe = psql.frame_query(my_query,connection) 将SQL部分突出显示为SQL语法会很棒,而文件的其余部分则突出显示为Python. 这在Emacs中可能吗?有什么方法可以向Emacs暗示要使用哪种荧光笔,或许可以利用这些评论? 解决方法
当我在C中使用一些SQL时,我有一个使用MMM模式的系统;将所需语句包装在一组注释中,
/* SQL */ 和 /* #SQL */ 以下将给我SQL语法高亮: (require 'mmm-mode) (set-face-background 'mmm-default-submode-face nil) (mmm-add-classes '((embedded-sql :submode sql-mode :front "/* SQL */" :back "/* #SQL */"))) (mmm-add-mode-ext-class 'c-mode "*.c" 'c-sql) (setq mmm-never-modes (append '(ediff-mode) '(text-mode) mmm-never-modes)) 然后我可以使用mmm-ify-by-class来应用c-sql类 – 也许你可以在Python中做类似的事情? 对我来说,以下lisp允许Emacs将示例python中的示例SQL字符串看作SQL(浅灰色背景表示MMM模式处于活动状态) (再次修改以允许单行语句) (require 'mmm-mode) (mmm-add-classes '((python-sql :submode sql-mode :face mmm-code-submode-face :front "# SQL(n|t)*([ -_A-Z0-9]+)([ =])("""|''')" :back "("""|''')( |t|n)*# /SQL"))) (mmm-add-mode-ext-class 'python-mode "*.py" 'python-sql) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |