簡體   English   中英

如何禁用錯誤語法突出顯示 Sublime Text 3

[英]How to disable error syntax highlight Sublime Text 3

我正在使用一種我用與 python 類似的語法創建的語言,我也想為我的語言使用 python 語法突出顯示。

唯一的問題是我的語言使用大括號而不是:和縮進。

因此,有時當我鍵入 return 時,它會以紅色突出顯示 return。

有什么辦法可以禁用錯誤突出顯示嗎?

這是一個例子: 在此處輸入圖像描述

語法定義(在本例中為Python包中的Python.sublime-syntax )內部發生了關於什么代碼有效和什么代碼無效的決定。 它認為不正確的任何代碼都將范圍限定為invalid以傳達該信息,並且您的配色方案知道以某種方式顯示無效的代碼。

因此,最好的做法是為您的語言創建自己的語法定義,以便將代碼結構視為有效。 就是說,這是一項很大的工作,具體取決於您希望獲得的深度。 但是,使用現有語法作為起點可能會有所幫助。

從另一個角度來看,您可以通過修改配色方案來掩蓋問題,而不用修改語法規范以了解代碼是否有效,從而不對invalid范圍應用任何特定的語法突出顯示。

為了進行檢查, Monokai.sublime-color-scheme包含以下規則,用於使無效代碼變成紅色白色:

{
    "name": "Invalid",
    "scope": "invalid",
    "foreground": "var(white2)",
    "background": "var(red2)"
},

通過在配色方案上創建替代並刪除或注釋掉該規則(或您使用的配色方案中匹配的任何規則),無效代碼將丟失您在圖像中顯示的顏色突出顯示。

不利的一面是,由於語法已確定該代碼無效,因此唯一適用於它的可用scopeinvalid范圍;它只適用於該范圍。 該信息是特殊語言關鍵字的信息已丟失。

這意味着,在您的情況下, return不會顯示為無效,但也不會突出顯示“正確”語法,並且將顯示為純文本。

根據出現多少代碼無效,這可能是折衷的,也可能不是。

在您的.sublime-color-scheme文件中,添加一個規則塊,將invalid的 scope background color更改為完全透明。

例如,將其添加到您的文件中,根據需要更改background color

// Hide invalid highlighting in markup
{
    "scope": "markup invalid",
    "background": "color(red alpha(0.0))", // 0.0 hides it, 1.0 shows it
},

在上面的示例中, background color必須與文件中其他地方找到的全局invalid color相匹配。

例如,這已經在我的.sublime-color-scheme文件中定義。

{
    "scope": "invalid",
    "background": "red",
},

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM