为什么 Sublime Text 3.2 会在 Python 字典中以“for”开头的值后面突出显示逗号?

为什么 Sublime Text 3.2 会在 Python 字典中以“for”开头的值后面突出显示逗号?

在最新版本的 Sublime Text (3.2 Build 3200) 中,我在用 Python 编写时遇到了我认为是语法高亮错误的问题。每当我创建一个包含键/值对的字典时,如果该字典中表示值的变量以“for”开头,行末的逗号以及字典中所有后续行都会以粉红色高亮显示。例如:

{
    "test": fordgtths,
}

在我的编辑器中,上面文本中的逗号以粉红色突出显示。当我更改变量,使其不以“for”开头时,突出显示错误就会消失。这实际上是一个错误,还是我遗漏了什么?有没有办法修复它,还是我只需要等待补丁?

答案1

事实上,这是一个错误,他们将在下一次更新中修复它。不过,目前人们可以自己手动应用修复。请参阅此处的拉取请求:

https://github.com/sublimehq/Packages/pull/1896/commits/c0d0c4753162c2f4aef417c1f29fc17ff5a73e60

本质上,你需要进入 Sublime Text 安装文件夹,然后进入 Packages 文件夹。找到 Python.sublime-package 文件,它是一个 .zip 文件。将其重命名为 .zip 扩展名,然后进入该文件。然后打开名为 Python.sublime-syntax 的文件。在第 1006 行,你应该看到

match: (?=for)

将其更改为

match: (?=for\b)

相关内容