Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at fix-function-merge 61 lines 1.6 kB view raw
1{ lib 2, fetchFromGitHub 3, buildDotnetModule 4, dotnetCorePackages 5, marksman 6, testers 7}: 8 9buildDotnetModule rec { 10 pname = "marksman"; 11 version = "2023-12-09"; 12 13 src = fetchFromGitHub { 14 owner = "artempyanykh"; 15 repo = "marksman"; 16 rev = version; 17 sha256 = "sha256-g+Y4BZh5r4FQJe1q79hxj7WZe7z9346+5cB7tgJ5+Wo="; 18 }; 19 20 projectFile = "Marksman/Marksman.fsproj"; 21 dotnetBuildFlags = [ "-p:VersionString=${version}" ]; 22 23 __darwinAllowLocalNetworking = true; 24 25 doCheck = true; 26 testProjectFile = "Tests/Tests.fsproj"; 27 28 nugetDeps = ./deps.nix; 29 30 dotnet-sdk = dotnetCorePackages.sdk_8_0; 31 dotnet-runtime = dotnetCorePackages.runtime_8_0; 32 33 postInstall = '' 34 install -m 644 -D -t "$out/share/doc/${pname}" LICENSE 35 ''; 36 37 passthru = { 38 updateScript = ./update.sh; 39 tests.version = testers.testVersion { 40 package = marksman; 41 command = "marksman --version"; 42 }; 43 }; 44 45 meta = with lib; { 46 description = "Language Server for Markdown"; 47 longDescription = '' 48 Marksman is a program that integrates with your editor 49 to assist you in writing and maintaining your Markdown documents. 50 Using LSP protocol it provides completion, goto definition, 51 find references, rename refactoring, diagnostics, and more. 52 In addition to regular Markdown, it also supports wiki-link-style 53 references that enable Zettelkasten-like note taking. 54 ''; 55 homepage = "https://github.com/artempyanykh/marksman"; 56 license = licenses.mit; 57 maintainers = with maintainers; [ stasjok plusgut ]; 58 platforms = dotnet-sdk.meta.platforms; 59 mainProgram = "marksman"; 60 }; 61}