Sublime Text 3中意外突出显示

时间:2014-02-08 00:03:59

标签: ruby sublimetext3

我已经使用Sublime很长一段时间了。我没有做太多的定制,特别是最近,然而它以我以前从未见过的方式突出了Ruby的界限。我不知道它的来源或为何突出它。

将文件内容重新分配到新缓冲区并重新保存并不能解决问题,突出显示也会出现在新文件中。

有没有人看过这个或有任何关于它为什么会发生的指示?

enter image description here

完整文件内容

require 'serialport'

port_str = '/dev/tty.usbmodemfd121'
baud_rate = 9600
data_bits = 8
stop_bits = 1
parity = SerialPort::None

sp = SerialPort.new(port_str, baud_rate, data_bits, stop_bits, parity)

while true do
  sp.puts 123
end

sp.close

Sublime设置:

{
"alignment_chars":
[
    "="
],
"alignment_space_chars":
[
    "="
],
"font_size": 15.0,
"ignored_packages":
[
    "LiveReload",
    "Git",
    "_User",
    "SublimeLinter",
    "BracketHighlighter",
    "Rubocop"

],
"scroll_past_end": true
}

Ruby特定设置

{
  // The number of spaces a tab is considered equal to
  "tab_size": 2,

  // Set to true to insert spaces when tab is pressed
  "translate_tabs_to_spaces": true,

  // If translate_tabs_to_spaces is true, use_tab_stops will make tab and
  // backspace insert/delete up to the next tabstop
  "use_tab_stops": true,
}

包裹控制设置

{
"auto_upgrade_last_run": null,
"installed_packages":
[
    "AdvancedNewFile",
    "Alignment",
    "Better CoffeeScript",
    "BracketHighlighter",
    "CoffeeComplete Plus (Autocompletion)",
    "CoffeeScript",
    "DocBlockr",
    "Emmet",
    "Gist",
    "Git",
    "IndentGuides",
    "LiveReload",
    "Nettuts+ Fetch",
    "Package Control",
    "PhpBeautifier",
    "PlainTasks",
    "RSpec (snippets and syntax)",
    "RuboCop",
    "SCSS",
    "SublimeLinter",
    "Todo",
    "Wordpress"
]
}

更新:我认为问题是由RuboCop包引起的。但它比这复杂一点。

目前已启用Rubocop,我看到突出显示并单击突出显示的行显示底部状态栏中的攻击,如此处所示。

enter image description here

然而,在禁用Rubocop软件包并重新启动Sublime之后,仍然会突出显示,如此处所示。顶部显示的lst是Sublime的“Package Control:Enable Package”命令的结果,这意味着它显示当前禁用的包。此外,单击突出显示的行不会像以前一样在底部状态栏中报告攻击。

enter image description here

虽然我没有真正的诊断,但我确信问题是Rubocop包。如有必要,我很高兴关闭这个问题。

2 个答案:

答案 0 :(得分:1)

这确实是与Sublime RuboCop插件相关的问题。

主要错误是重启ST后标记无效。感谢@imbric报道它!

我今天解决了这个问题 - 如果您通过Package Control更新插件,意外标记应该按预期运行。

您可以通过ST菜单条目“RuboCop:Toggle auto check”关闭标记。

答案 1 :(得分:0)

部分问题也是BracketHighlighter。我不太了解Ruby,所以我不确定它为什么会发生,但我在BracketHighlighter(以及其他一些插件)的启用下得到了以下内容:

BracketHighlighter enabled

当我禁用BracketHighlighter时,问号会消失,while周围的框也会消失。尝试禁用BracketHighlighter,看看你的突出显示是否消失。

此外,当我删除单词do时,该框会消失,因此它可能只是一个Ruby语法错误。