python – Emacs中的多语言语法高亮显示
发布时间:2020-05-25 06:23:37 所属栏目:Python 来源:互联网
导读:假设我在单个缓冲区中有多种语言的代码,我可以根据相应的语言使用emacs语法突出显示每个代码段吗? 例如,以下代码是python脚本的一部分,但它包含SQL代码: import psycopg2 as pgimport pandas.io.sql as psql# Some SQL code:my_query =select count(distinc
|
假设我在单个缓冲区中有多种语言的代码,我可以根据相应的语言使用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) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
