资料介绍
软件简介
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补全插件
- 4.5*4.5插件触控开关原理图 9次下载
- Kubernetes的CNI网络插件之flannel 228次阅读
- VSCode插件的安装和使用 239次阅读
- 使用DevartExcel插件的好处 687次阅读
- Rust构建QEMU插件的框架 934次阅读
- 不同语言运行100万个并发任务需要多少内存? 642次阅读
- 开发人员为什么更喜欢NeoVim而不是Vim 2041次阅读
- 如何制作交互式BOM的AD插件 5143次阅读
- 插件器件的方形引脚绘制及处理方法 1649次阅读
- 插件电阻的选用方法 2955次阅读
- dfrobot面包板实验插件LED插件包简介 1340次阅读
- 电子接插件电镀技术 3566次阅读
- 最受欢迎的七种商用开源编程语言的全面报告 6322次阅读
- vscode常用插件有哪些 2w次阅读
- jquery插件开发实例(MSBar2D图效果、手风琴特效插件) 2067次阅读
- 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次下载 | 免费
评论