摘要:背景概述官方已經許久未更新了,截至本文寫作時止,最后一次更新在,所以很多新出的語言都沒能得到支持現在上有一個出來的項目叫,它拾起了對的更新,但是很遺憾,也暫未得到支持自己動手豐衣足食好在支持一個自定義的配置文件,名為,可以在這里書寫規
背景概述
ctags 官方已經許久未更新了,截至本文寫作時止,最后一次更新在 2009-07-09,所以很多新出的語言都沒能得到支持
現在 Github 上有一個 fork 出來的項目叫 universal-ctags,它拾起了對 ctags 的更新,但是很遺憾,Elixir 也暫未得到支持
自己動手豐衣足食好在 ctags 支持一個自定義的配置文件,名為 .ctags,可以在這里書寫規則實現對未知編程語言的解析
下面是針對 Elixir 的配置
--langdef=Elixir --langmap=Elixir:.ex.exs --regex-Elixir=/^[ ]*def(p?)[ ]+([a-z_][a-zA-Z0-9_?!]*)/2/f,functions,functions (def ...)/ --regex-Elixir=/^[ ]*defcallback[ ]+([a-z_][a-zA-Z0-9_?!]*)/1/c,callbacks,callbacks (defcallback ...)/ --regex-Elixir=/^[ ]*defdelegate[ ]+([a-z_][a-zA-Z0-9_?!]*)/1/d,delegates,delegates (defdelegate ...)/ --regex-Elixir=/^[ ]*defexception[ ]+([A-Z][a-zA-Z0-9_]*.)*([A-Z][a-zA-Z0-9_?!]*)/2/e,exceptions,exceptions (defexception ...)/ --regex-Elixir=/^[ ]*defimpl[ ]+([A-Z][a-zA-Z0-9_]*.)*([A-Z][a-zA-Z0-9_?!]*)/2/i,implementations,implementations (defimpl ...)/ --regex-Elixir=/^[ ]*defmacro(p?)[ ]+([a-z_][a-zA-Z0-9_?!]*)(/2/a,macros,macros (defmacro ...)/ --regex-Elixir=/^[ ]*defmacro(p?)[ ]+([a-zA-Z0-9_?!]+)?[ ]+([^ A-Za-z0-9_]+)[ ]*[a-zA-Z0-9_!?!]/3/o,operators,operators (e.g. "defmacro a <<< b")/ --regex-Elixir=/^[ ]*defmodule[ ]+([A-Z][a-zA-Z0-9_]*.)*([A-Z][a-zA-Z0-9_?!]*)/2/m,modules,modules (defmodule ...)/ --regex-Elixir=/^[ ]*defprotocol[ ]+([A-Z][a-zA-Z0-9_]*.)*([A-Z][a-zA-Z0-9_?!]*)/2/p,protocols,protocols (defprotocol...)/ --regex-Elixir=/^[ ]*Record.defrecord[ ]+:([a-zA-Z0-9_]+)/1/r,records,records (defrecord...)/
把上述內容保存到文本文件,并命名為 .ctags,MacOSX 和 Linux 放置到自己的家目錄下即可;Windows 下得先設置個名為 HOMEPATH 的環境變量,然后將 .ctags 放置到該環境變量所指路徑下
打開命令行,執行 ctags --list-languages,在輸出的信息中能找到 Elixir 則說明配置成功
怎么可能少得了Vim在 Vim 里面即時瀏覽代碼結構,首推 tagbar 插件,這里就不介紹怎么安裝、怎么使用了,下面是添加對 Elixir 的支持,將其寫在 .vimrc 中即可
let g:tagbar_type_elixir = {"ctagstype": "elixir", "kinds": ["f:functions:0:0", "c:callbacks:0:0", "d:delegates:0:0", "e:exceptions:0:0", "i:implementations:0:0", "a:macros:0:0", "o:operators:0:0", "m:modules:0:0", "p:protocols:0:0", "r:records:0:0"], "sro": ".", "kind2scope": {"m": "modules"}, "scope2kind": {"modules": "m"}}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24825.html
摘要:結果會被存放到拷貝文件目錄你可以使用方法拷貝文件目錄到新路徑,所有操作都相對于項目根目錄版本號緩存刷新很多開發者會給編譯的前端資源添加時間戳或者唯一令牌后綴以強制瀏覽器加載最新版本而不是代碼的緩存副本。 環境準備 1、安裝 nodejs 和 npm ?如果你使用的是 Laravel 的 Homestead 環境,可以不用安裝了,已自帶。 ?我們來查看下它們的版本: $ node -v ...
摘要:本節將學習是如何利用形成一套完整的前端工作流模式的。你也可以使用下面命令來強制安裝所有模塊,不管該模塊之前是否安裝過由于國內墻的原因,使用安裝會非常緩慢,慢到想切,不過還好,我們可以使用淘寶提供的國內鏡像進行下載。 本節將學習 Laravel 是如何利用 Sass, NPM, Gulp形成一套完整的前端工作流模式的。 一、句法強大的樣式表Sass Sass 是一種可用于編寫CSS的語言...
摘要:如何優雅的使用二插件介紹插件使用管理。文件管理器樹形結構的文件管理器,目前使用。不同層次的括號顏色不一樣,如下圖另見然而這些彩虹括號插件,都免不了與沖突會使語法高亮失效,只好放棄了。 如何優雅的使用 Vim(二):插件介紹 插件使用 vim-plug 管理。很長一段時間,我都在用 Vundle,切換到 vim-plug 并非完全必要。 插件定義開始 call plug#begin(~...
閱讀 2636·2021-11-11 16:55
閱讀 1279·2021-09-22 15:25
閱讀 1793·2019-08-29 16:26
閱讀 925·2019-08-29 13:21
閱讀 2306·2019-08-23 16:19
閱讀 2795·2019-08-23 15:10
閱讀 761·2019-08-23 14:24
閱讀 1850·2019-08-23 13:48