1{
2 lib,
3 fetchFromGitHub,
4 nix-update-script,
5 rustPlatform,
6 vimUtils,
7}:
8let
9 version = "0.1.161";
10 src = fetchFromGitHub {
11 owner = "autozimu";
12 repo = "LanguageClient-neovim";
13 tag = version;
14 hash = "sha256-Z9S2ie9RxJCIbmjSV/Tto4lK04cZfWmK3IAy8YaySVI=";
15 };
16 LanguageClient-neovim-bin = rustPlatform.buildRustPackage {
17 pname = "LanguageClient-neovim-bin";
18 inherit version src;
19
20 cargoHash = "sha256-1tfeowqvjEjMXIfrhr388YhlZrk3ns+Y/2odQnkLw7k=";
21 };
22in
23vimUtils.buildVimPlugin {
24 pname = "LanguageClient-neovim";
25 inherit version src;
26
27 propagatedBuildInputs = [ LanguageClient-neovim-bin ];
28
29 preFixup = ''
30 substituteInPlace "$out"/autoload/LanguageClient.vim \
31 --replace-fail \
32 "let l:path = s:root . '/bin/'" \
33 "let l:path = '${LanguageClient-neovim-bin}' . '/bin/'"
34 '';
35
36 passthru = {
37 updateScript = nix-update-script {
38 extraArgs = [ "--version-regex=(\\d+\\.\\d+\\.\\d+)" ];
39 attrPath = "vimPlugins.LanguageClient-neovim.LanguageClient-neovim-bin";
40 };
41
42 # needed for the update script
43 inherit LanguageClient-neovim-bin;
44 };
45
46 meta = {
47 homepage = "https://github.com/autozimu/LanguageClient-neovim/";
48 changelog = "https://github.com/autozimu/LanguageClient-neovim/releases/tag/${src.tag}";
49 license = lib.licenses.mit;
50 # Rust build error
51 broken = true;
52 };
53}