Unverified Commit d1657989 authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

Merge pull request #193682 from stasjok/marksman

parents 7b71b025 b918af26
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -13321,6 +13321,12 @@
    githubId = 6362238;
    name = "Christoph Honal";
  };
  stasjok = {
    name = "Stanislav Asunkin";
    email = "nixpkgs@stasjok.ru";
    github = "stasjok";
    githubId = 1353637;
  };
  steamwalker = {
    email = "steamwalker@xs4all.nl";
    github = "steamwalker";
+58 −0
Original line number Diff line number Diff line
{ lib
, fetchFromGitHub
, buildDotnetModule
, dotnetCorePackages
, marksman
, testVersion
}:

buildDotnetModule rec {
  pname = "marksman";
  version = "2022-12-28";

  src = fetchFromGitHub {
    owner = "artempyanykh";
    repo = "marksman";
    rev = version;
    sha256 = "sha256-IOmAOO45sD0TkphbHWLCXXyouxKNJoiNYHXV/bw0xH4=";
  };

  projectFile = "Marksman/Marksman.fsproj";
  dotnetBuildFlags = "-p:VersionString=${version}";

  doCheck = true;
  testProjectFile = "Tests/Tests.fsproj";

  nugetDeps = ./deps.nix;

  dotnet-sdk = dotnetCorePackages.sdk_6_0;
  dotnet-runtime = dotnetCorePackages.runtime_6_0;

  postInstall = ''
    install -m 644 -D -t "$out/share/doc/${pname}" LICENSE
  '';

  passthru = {
    updateScript = ./update.sh;
    tests.version = testVersion {
      package = marksman;
      command = "marksman --version";
    };
  };

  meta = with lib; {
    description = "Language Server for Markdown";
    longDescription = ''
      Marksman is a program that integrates with your editor
      to assist you in writing and maintaining your Markdown documents.
      Using LSP protocol it provides completion, goto definition,
      find references, rename refactoring, diagnostics, and more.
      In addition to regular Markdown, it also supports wiki-link-style
      references that enable Zettelkasten-like note taking.
    '';
    homepage = "https://github.com/artempyanykh/marksman";
    license = licenses.mit;
    maintainers = with maintainers; [ stasjok ];
    platforms = dotnet-sdk.meta.platforms;
  };
}
+208 −0

File added.

Preview size limit exceeded, changes collapsed.

+18 −0
Original line number Diff line number Diff line
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=./. -i bash -p curl jq common-updater-scripts
#shellcheck shell=bash

set -eu -o pipefail

version=$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \
    https://api.github.com/repos/artempyanykh/marksman/releases/latest | jq -e -r .tag_name)
old_version=$(nix-instantiate --eval -A marksman.version | jq -e -r)

if [[ $version == "$old_version" ]]; then
    echo "New version same as old version, nothing to do." >&2
    exit 0
fi

update-source-version marksman "$version"

$(nix-build -A marksman.fetch-deps --no-out-link) "$(dirname -- "${BASH_SOURCE[0]}")/deps.nix"
+2 −0
Original line number Diff line number Diff line
@@ -17776,6 +17776,8 @@ with pkgs;
  malt = callPackage ../development/tools/profiling/malt {};
  marksman = callPackage ../development/tools/marksman { };
  massif-visualizer = libsForQt5.callPackage ../development/tools/analysis/massif-visualizer { };
  mastodon-archive = callPackage ../tools/backup/mastodon-archive { };