成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

給ctags添加對(duì)Elixir的支持

nodejh / 1460人閱讀

摘要:背景概述官方已經(jīng)許久未更新了,截至本文寫(xiě)作時(shí)止,最后一次更新在,所以很多新出的語(yǔ)言都沒(méi)能得到支持現(xiàn)在上有一個(gè)出來(lái)的項(xiàng)目叫,它拾起了對(duì)的更新,但是很遺憾,也暫未得到支持自己動(dòng)手豐衣足食好在支持一個(gè)自定義的配置文件,名為,可以在這里書(shū)寫(xiě)規(guī)

背景概述

ctags 官方已經(jīng)許久未更新了,截至本文寫(xiě)作時(shí)止,最后一次更新在 2009-07-09,所以很多新出的語(yǔ)言都沒(méi)能得到支持

現(xiàn)在 Github 上有一個(gè) fork 出來(lái)的項(xiàng)目叫 universal-ctags,它拾起了對(duì) ctags 的更新,但是很遺憾,Elixir 也暫未得到支持

自己動(dòng)手豐衣足食

好在 ctags 支持一個(gè)自定義的配置文件,名為 .ctags,可以在這里書(shū)寫(xiě)規(guī)則實(shí)現(xiàn)對(duì)未知編程語(yǔ)言的解析

下面是針對(duì) 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...)/

把上述內(nèi)容保存到文本文件,并命名為 .ctags,MacOSX 和 Linux 放置到自己的家目錄下即可;Windows 下得先設(shè)置個(gè)名為 HOMEPATH 的環(huán)境變量,然后將 .ctags 放置到該環(huán)境變量所指路徑下

打開(kāi)命令行,執(zhí)行 ctags --list-languages,在輸出的信息中能找到 Elixir 則說(shuō)明配置成功

怎么可能少得了Vim

在 Vim 里面即時(shí)瀏覽代碼結(jié)構(gòu),首推 tagbar 插件,這里就不介紹怎么安裝、怎么使用了,下面是添加對(duì) Elixir 的支持,將其寫(xiě)在 .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"}}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/24825.html

相關(guān)文章

  • 在 Laravel 項(xiàng)目中使用 Glup 之 Laravel-Elixir

    摘要:結(jié)果會(huì)被存放到拷貝文件目錄你可以使用方法拷貝文件目錄到新路徑,所有操作都相對(duì)于項(xiàng)目根目錄版本號(hào)緩存刷新很多開(kāi)發(fā)者會(huì)給編譯的前端資源添加時(shí)間戳或者唯一令牌后綴以強(qiáng)制瀏覽器加載最新版本而不是代碼的緩存副本。 環(huán)境準(zhǔn)備 1、安裝 nodejs 和 npm ?如果你使用的是 Laravel 的 Homestead 環(huán)境,可以不用安裝了,已自帶。 ?我們來(lái)查看下它們的版本: $ node -v ...

    ralap 評(píng)論0 收藏0
  • Vim插件簡(jiǎn)單介紹

    摘要:轉(zhuǎn)換時(shí)支持模板文件,配合強(qiáng)大的模板文件,可以自己創(chuàng)建,或者是實(shí)現(xiàn)語(yǔ)法高亮,還支持?jǐn)?shù)學(xué)公式編輯。標(biāo)簽文件允許這些項(xiàng)目能夠被一個(gè)文本編輯器或其它工具簡(jiǎn)捷迅速的定位。 原文地址 Vim作為一個(gè)強(qiáng)大的編輯器,再配合強(qiáng)大的插件,就可以稱得上為編輯神器了。 pathogen pathogen為管理插件的插件,類似的還有vundle。在 Pathogen 之前,安裝插件就是把插件文件放在.vim目錄...

    dackel 評(píng)論0 收藏0
  • Laravel學(xué)習(xí)筆記三-前端工作流

    摘要:本節(jié)將學(xué)習(xí)是如何利用形成一套完整的前端工作流模式的。你也可以使用下面命令來(lái)強(qiáng)制安裝所有模塊,不管該模塊之前是否安裝過(guò)由于國(guó)內(nèi)墻的原因,使用安裝會(huì)非常緩慢,慢到想切,不過(guò)還好,我們可以使用淘寶提供的國(guó)內(nèi)鏡像進(jìn)行下載。 本節(jié)將學(xué)習(xí) Laravel 是如何利用 Sass, NPM, Gulp形成一套完整的前端工作流模式的。 一、句法強(qiáng)大的樣式表Sass Sass 是一種可用于編寫(xiě)CSS的語(yǔ)言...

    liuchengxu 評(píng)論0 收藏0
  • 如何優(yōu)雅使用 Vim(二):插件介紹

    摘要:如何優(yōu)雅的使用二插件介紹插件使用管理。文件管理器樹(shù)形結(jié)構(gòu)的文件管理器,目前使用。不同層次的括號(hào)顏色不一樣,如下圖另見(jiàn)然而這些彩虹括號(hào)插件,都免不了與沖突會(huì)使語(yǔ)法高亮失效,只好放棄了。 如何優(yōu)雅的使用 Vim(二):插件介紹 插件使用 vim-plug 管理。很長(zhǎng)一段時(shí)間,我都在用 Vundle,切換到 vim-plug 并非完全必要。 插件定義開(kāi)始 call plug#begin(~...

    yeooo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<