资料介绍
软件简介
Neovim 主机插件 Elixir 。
示例代码;
defmodule AutoComplete do use NVim.Plugin deffunc elixir_complete("1",_,cursor,line,state), eval: "col('.')", eval: "getline('.')" do cursor = cursor - 1 # because we are in insert mode [tomatch] = Regex.run(~r"[\w\.:]*$",String.slice(line,0..cursor-1)) cursor - String.length(tomatch) end deffunc elixir_complete(_,base,_,_,state), eval: "col('.')", eval: "getline('.')" do case (base |> to_char_list |> Enum.reverse |> IEx.Autocomplete.expand) do {:no,_,_}-> [base] # no expand {:yes,comp,[]}->["#{base}#{comp}"] #simple expand, no choices {:yes,_,alts}-> # multiple choices Enum.map(alts,fn comp-> {base,comp} = {String.replace(base,~r"[^.]*$",""), to_string(comp)} case Regex.run(~r"^(.*)/([0-9]+)$",comp) do # first see if these choices are module or function [_,function,arity]-> # it is a function completion replace = base<>function module = if String.last(base) == ".", do: Module.concat([String.slice(base,0..-2)]), else: Kernel if (docs=Code.get_docs(module,:docs)) && (doc=List.keyfind(docs,{:"#{function}",elem(Integer.parse(arity),0)},0)) && (docmd=elem(doc,4)) do %{"word"=>replace,"kind"=> if(elem(doc,2)==:def, do: "f", else: "m"), "abbr"=>comp,"info"=>docmd} else %{"word"=>replace,"abbr"=>comp} end nil-> # it is a module completion module = base<>comp case Code.get_docs(Module.concat([module]),:moduledoc) do {_,moduledoc} -> %{"word"=>module,"info"=>moduledoc} _ -> %{"word"=>module} end end end) end end defautocmd file_type(state), pattern: "elixir", async: true do {:ok,nil} = NVim.vim_command("filetype plugin on") {:ok,nil} = NVim.vim_command("set omnifunc=ElixirComplete") state endend
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- Elixir函数式编程语言
- Alchemist Emacs的Elixir集成
- vim-chat neovim和vim8的聊天插件
- Neovim Vim改进版 0次下载
- neovim-e Neovim的Electron UI
- Neovim-dot-app Neovim的Mac OS X GUI
- stack-ide-nvim Neovim插件
- taskrunner.nvim Neovim插件
- neogo Neovim go的开发插件
- vim-matlab neovim的MATLAB插件
- Nvim-R Neovim的R插件
- nvim-hs Neovim API的Haskell插件
- neovim-qt Qt5中的Neovim客户端库和GUI
- nvim-cmp Neovim补全插件
- 12*12插件触控开关原理图 4次下载
- DIP插件加工注意事项 766次阅读
- 使用DevartExcel插件的好处 525次阅读
- Rust构建QEMU插件的框架 745次阅读
- 不同语言运行100万个并发任务需要多少内存? 497次阅读
- 开发人员为什么更喜欢NeoVim而不是Vim 1730次阅读
- 如何制作交互式BOM的AD插件 4355次阅读
- 插件器件的方形引脚绘制及处理方法 1363次阅读
- 分享几个vscode必备精品插件 2871次阅读
- 插件电阻的选用方法 2870次阅读
- dfrobot面包板实验插件LED插件包简介 1174次阅读
- 电子接插件电镀技术 3361次阅读
- 最受欢迎的七种商用开源编程语言的全面报告 6263次阅读
- vscode常用插件有哪些 2w次阅读
- jquery插件开发实例(MSBar2D图效果、手风琴特效插件) 1988次阅读
- jquery插件写法及用法(jQuery插件开发全解析) 1w次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多