語法定義高亮

相關(guān)文檔

創(chuàng)建語法定義

文件格式有.YAML-tmLanguage,.JSON-tmLanguage,.tmLanguage

{
    "name": "",
    "scopeName":"",
    "fileTypes": [],
    "uuid":"",

    "patterns":[]
}
  1. name 創(chuàng)建語法定義的編程語言的名稱
  2. scopeName 語法定義的范圍,程序語言用source.<lang_name>,標記或者其他用text.<lang_name>
  3. fileTypes 這是一個文件擴展名的列表。當打開這些類型的文件時,會自動激活它們的語法定義。
  4. uuid 語法定義的唯一標識符
  5. patterns 匹配模式的內(nèi)容,是數(shù)組對象

關(guān)于匹配模式

1. Matches

{
    "match": "",
    "name": "",
    "comment":"",
}
  1. match 正則匹配
  2. name 任何匹配的使用的scope的名字,naming_conventions
  3. comment可選的 關(guān)于匹配的注釋

2. Fine Tuning Matches

{
    "match": "",
    "name": "",
    "comment":"",
    "captures": {
        "1": { "name": ""}
    }
}
  1. captures 正則匹配的捕獲的索引項

3. Begin-End Rules

{
    "name": "",
    "contentName": "",
    "comment":"",
    "begin": "",
    "beginCaptures":  {
        "1": { "name": ""}
    },
    "end": "",
    "endCaptures":  {
        "1": { "name": ""}
    },
    "patterns":[
        {
            "include":"$self"
        }
    ]
}
  1. name 可選的 就像使用簡單的捕獲一樣,這將為整個匹配設(shè)置以下范圍名稱,包括begin和end標記。實際上,這將為此規(guī)則中定義的beginCaptures,endCapture和patterns創(chuàng)建嵌套的范圍
  2. contentName 可選的 與name不同,這僅將范圍名稱應(yīng)用于所包含的文本
  3. begin 開始的標記的正則匹配
  4. end 結(jié)束的標記的正則匹配
  5. beginCaptures 可選的 開始的標記的正則匹配的捕獲的索引項,和簡單的匹配工作一樣
  6. endCaptures 可選的 結(jié)束的標記的正則匹配的捕獲的索引項,和簡單的匹配工作一樣
  7. patterns 可選的 與begin-end里的內(nèi)容匹配的模式數(shù)組

測試語法定義(使用vscode)

執(zhí)行vscode_workbench.captureSyntaxTokens命令

前提是安裝了當前語法定義的插件

    const {
        commands,
        Uri
    } = require('vscode');
    commands.executeCommand('_workbench.captureSyntaxTokens',Uri.file(/*文件路徑*/)).then(data=>{
        //data : 結(jié)果數(shù)據(jù)
    })
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 原文: http://docs.sublimetext.info/en/latest/extensibility/...
    smilewalker閱讀 3,409評論 0 4
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,525評論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,628評論 18 399
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,667評論 0 4
  • 01 這兩天,一個微信好友群里泛起了粉紅色的泡泡,從寫作聊到了感情。 不記得是誰開了頭,談到了自己的感情經(jīng)歷。故事...
    蕭筱筱閱讀 1,020評論 6 11

友情鏈接更多精彩內(nèi)容