<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                既然已經移除前進路上的絆腳石,是時候開始為我們的Potion插件寫下一些有用的代碼。 我們將從一些簡單的語法高亮開始。 在你的插件的repo中創建`syntax/potion.vim`。把下面的代碼放到你的文件里: ~~~ if exists("b:current_syntax") finish endif echom "Our syntax highlighting code will go here." let b:current_syntax = "potion" ~~~ 關閉Vim,然后打開你的`factorial.pn`文件。 你也許或也許不能看到消息,取決于你是否有其他插件在該插件之后輸出消息。 如果你執行`:message`,你將會看到這個文件的確已經加載了。 **注意:**?每次我告訴你打開Potion文件,我是想要你在一個新的Vim窗口或進程里打開,而不是在一個分割或tab。 打開一個新的Vim窗口導致Vim為此重新加載你所有的插件,而打開一個分割則不會。 代碼文件開頭和結尾的那幾行是一個慣用法,如果這個緩沖區的語法高亮已經啟動了,那就無需重新加載。 ## 高亮關鍵字 在本章的剩下部分,我們將忽略文件開頭和結尾的`if`和`let`防御墻。不要移除那幾行,只是眼不見為凈而已。 用下面的代碼替換掉文件中的占位符`echom`: ~~~ syntax keyword potionKeyword to times highlight link potionKeyword Keyword ~~~ 關閉`factorial.pn`并重新打開它。`to`和`times`被高亮成你的配色方案中的關鍵字類型了! 這兩行展示了Vim中的基本的語法高亮。為了高亮某個語法: * 你首先要用`syntax keyword`或相關命令(我們待會會提到),定義一組語法類型。 * 然后你要把這組類型鏈接到高亮組(highlighting groups)。 一個高亮組是你在配色方案里定義的東西,比如"函數名應該是藍色的"。 這可以讓插件作者決定有意義的語法類型分組,然后鏈接到通用的高亮組。 這同時也讓配色方案創作者決定通用的程序結構,而不需要考慮單獨的語言。 除了在我們的玩具程序中用到的,Potion還有其他的關鍵字,所以讓我們修改syntax文件來一并高亮它們。 ~~~ syntax keyword potionKeyword loop times to while syntax keyword potionKeyword if elsif else syntax keyword potionKeyword class return highlight link potionKeyword Keyword ~~~ 首先要說的是:最后一行沒有改掉。我們依然告訴Vim所有在`potionKeyword`中的內容應該作為`Keyword`高亮。 我們現在新增三行,每行都以`syntax keyword potionKeyword`開頭。 這意味著多次執行這個命令不會_重置_語法類型分組 —— 而是擴增它!這使得你可以化整為零地定義分組。 怎樣定義分組取決于你: * 你可以僅僅一行密密麻麻地寫滿所有的內容。 * 你可以劃分成幾行,來滿足每行80列的規則以便于閱讀。 * 你可以每一項都獨占一行,來使得diff的結果更加清晰。 * 你可以跟我在這里做的一樣,把相關的項放在同一行。 ## 高亮函數 Vim的另一個高亮組是`Function`。這就來加入一些Potion的內置函數到我們的高亮文件。 把你的syntax文件修改成這樣: ~~~ syntax keyword potionKeyword loop times to while syntax keyword potionKeyword if elsif else syntax keyword potionKeyword class return syntax keyword potionFunction print join string highlight link potionKeyword Keyword highlight link potionFunction Function ~~~ 關閉并重新打開`factorial.pn`,你將看到內置的Potion函數現在已經高亮了。 它的工作原理就跟關鍵字高亮一樣。我們定義了新的語法類型分組并鏈接到不同的高亮組。 ## 練習 想一想為什么文件開頭的`if exists`和結尾的`let`是有用的。如果你搞不懂,不要擔心。 我也曾就這個問題問過Tim Pope。 瀏覽`:help syn-keyword`。注意提到`iskeyword`的部分。 閱讀`:help iskeyword`. 閱讀`:help group-name`來了解一些配色方案作者常用的通用高亮組。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看