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
我是新来的Docker和试图了解什么是最好的方式插入docker父主机IP到容器主机文件。 我在我的Dockerfile中使用以下命令
虽然 gitbook 默认的主题已经非常不错,但是,还有一些非常值得推荐的主题,用户可以通过在 NPM 上搜索 gitbook-theme 来查找主题插件。 这里将分别介绍几种主题插件的使用方法,抛砖引玉!
Neovim 是 Vim 的一个雄心勃勃的重构。主要目标是: 重构代码以改善维护 实施新的高级功能 展示一个更好、更强大的插件系统 开放的开发模式,随时接受贡献,接受的标准也很明确。 特性: 现代图形用户界面 从任何语言访问API,包括C/C++, C#, Clojure, D, Elixir, Go, Haskell, Java, JavaScript/Node.js, Julia, Lisp,
VSCode Neovim 是将 Neovim 集成到 VSCode 的插件,该插件将 Neovim 实例完全嵌入到 VSCode,而非半成品的 VIM 模拟。此外 VSCode 原生功能被用于插入模式和编辑器命令。 主要特性 通过使用 Neovim 作为后端,几乎完全集成了功能完整的 VIM 支持自定义init.vim和许多 VIM 插件 “一等公民”支持且无延迟的插入模式,让 VSCode 做
黑客新闻在 Neovim
neovim-qt 是 Neovim 客户端的 GUI,使用 QT5。 安装 您可以使用CMake和您选择的构建系统进行构建。它应该在Qt5和Msgpack可以构建的任何系统中构建。 对于Unix调用 $ mkdir build$ cd build$ cmake -DCMAKE_BUILD_TYPE=Release ..$ make 对于Windows,MSVC和Mingw均受支持。使用以下 $