首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么python文档字符串中的撇号会中断emacs语法突出显示?

为什么python文档字符串中的撇号会中断emacs语法突出显示?
EN

Stack Overflow用户
提问于 2010-07-23 03:07:02
回答 2查看 1.1K关注 0票数 2

在Ubuntu 9.04上运行GNU Emacs 22.2.1。

在emacs中编辑python代码时,如果文档字符串包含撇号,emacs会突出显示后面的所有代码作为注释,直到使用另一个撇号为止。真的很讨厌!

换句话说,如果我有一个这样的文档字符串:

代码语言:javascript
复制
''' This docstring has an apostrophe ' '''

然后,下面的所有代码都将突出显示为注释。注释以代码的形式突出显示。

我可以转义文档字符串来避免这种情况,如下所示:

代码语言:javascript
复制
''' This docstring has an escaped apostrophe \' '''

然后突出显示是很好的,但是对于我团队中的其他开发人员来说,它看起来很有趣,也没有必要,而且我因为使用emacs而被取笑,因为“它不能处理撇号”。;)

那么,有人知道如何让emacs在这方面表现得更好吗?

谢谢,

乔希

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-23 03:18:00

这似乎可以在GNU Emacs 23.2.1中正常工作。如果升级不切实际,你也许可以从Emacs23源代码中复制python.el,或者只复制其中的相关部分(python-quote-syntactic,python-font-lock-syntax pieces,以及使用后者的代码,我想-我不是一个Elisp黑客)。

不幸的是,savannah.gnu.org的bzr浏览器现在不能工作,所以我不能直接指向你的代码,你必须下载它。请参阅http://www.gnu.org/software/emacs/

票数 7
EN

Stack Overflow用户

发布于 2010-07-23 03:14:59

这可能是一个emacs bug,但也可能是故意的。如果您在文档字符串中插入doctest,就像我在解释API时经常做的那样,我甚至希望在文档字符串中突出显示完整的python语法。

但这可能是个虫子。(可能emacs语法高亮只关注单引号和双引号,忽略三重单引号和三重双引号)。如果是这样的话,您应该使用三重双引号,而不是像您的示例中那样使用三重单引号(据我所知,大多数用户对docstring使用三重双引号),这样就不会有问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3312436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档