資料介紹
軟件簡介
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的開發(fā)插件
- 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萬個并發(fā)任務需要多少內存? 497次閱讀
- 開發(fā)人員為什么更喜歡NeoVim而不是Vim 1730次閱讀
- 如何制作交互式BOM的AD插件 4355次閱讀
- 插件器件的方形引腳繪制及處理方法 1363次閱讀
- 分享幾個vscode必備精品插件 2871次閱讀
- 插件電阻的選用方法 2870次閱讀
- dfrobot面包板實驗插件LED插件包簡介 1174次閱讀
- 電子接插件電鍍技術 3361次閱讀
- 最受歡迎的七種商用開源編程語言的全面報告 6263次閱讀
- vscode常用插件有哪些 2w次閱讀
- jquery插件開發(fā)實例(MSBar2D圖效果、手風琴特效插件) 1988次閱讀
- jquery插件寫法及用法(jQuery插件開發(fā)全解析) 1w次閱讀
下載排行
本周
- 1開關電源設計原理手冊
- 1.83 MB | 14次下載 | 免費
- 2智能小車proteus仿真+C源程序
- 0.02 MB | 4次下載 | 免費
- 3PL4807單節(jié)鋰離子電池充電器中文手冊
- 1.36 MB | 3次下載 | 免費
- 4BQ769142技術參考手冊
- 2.99MB | 2次下載 | 免費
- 5BQ77207EVM用戶指南
- 865.23KB | 2次下載 | 免費
- 6TMR技術在電流傳感器中的應用
- 616.47 KB | 1次下載 | 免費
- 7CBM8605_8606_8608-運算放大器【中文排版】-202406271735
- 2.70 MB | 1次下載 | 免費
- 801-07-06-CBM8655_CBM8656精密運算放大器
- 4.49 MB | 1次下載 | 免費
本月
- 1XL4015+LM358恒壓恒流電路圖
- 0.38 MB | 155次下載 | 1 積分
- 2PCB布線和布局電路設計規(guī)則
- 0.40 MB | 52次下載 | 免費
- 3GB/T4706.1-2024 家用和類似用途電器的安全第1部分:通用要求
- 7.43 MB | 14次下載 | 1 積分
- 4智能門鎖原理圖
- 0.39 MB | 14次下載 | 免費
- 5開關電源設計原理手冊
- 1.83 MB | 14次下載 | 免費
- 6elmo直線電機驅動調試細則
- 4.76 MB | 9次下載 | 6 積分
- 7WIFI智能音箱原理圖完整版
- 0.09 MB | 7次下載 | 10 積分
- 8PC1013三合一快充數據線充電芯片介紹
- 1.03 MB | 7次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935115次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183333次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73806次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65985次下載 | 10 積分
評論
查看更多