neovim-elixirNeovim 主机插件 Elixir
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
评论
主机安全
主机安全客户端(Hosteye)是百度智能云面向用户推出的专业云服务器安全客户端产品,能够针对云服务器提供登陆审计、异地登陆报警、暴力破解攻击拦截,木马后门检查等多种安全功能,提升云服务器安全性,降低被黑
百度云
0
主机入侵检测
Web漏洞扫描(UCloud Web Scan)是用于检测Web网站漏洞的安全服务。主机入侵检测系统可以准确、全面扫描Web网站程序中存在的漏洞,避免漏洞被黑客利用影响网站安全;与传统或开源的漏洞扫描产品相比具有抓取数据更全面、误报率更低、漏洞库更新及时且不影响业务等优势。
UCloud
0
natpass主机管理工具
natpass是新一代主机管理工具,支持WebVNC和WebShell,支持Shell管理,支持远程桌面管理。功能与特性较小的内存占用(约20M左右)支持TLS安全连接支持多路异步IO支持虚拟链路层支
natpass主机管理工具
0