mirror of
https://github.com/NixOS/nix.git
synced 2025-11-09 12:06:01 +01:00
Merge pull request #13780 from xokdvium/lowdown-2
libcmd: Fix rendering of absolute URLs in markdown, update lowdown to 2.0.2
This commit is contained in:
commit
d48e04b05a
2 changed files with 22 additions and 2 deletions
|
|
@ -64,6 +64,18 @@ scope: {
|
||||||
NIX_CFLAGS_COMPILE = "-DINITIAL_MARK_STACK_SIZE=1048576";
|
NIX_CFLAGS_COMPILE = "-DINITIAL_MARK_STACK_SIZE=1048576";
|
||||||
});
|
});
|
||||||
|
|
||||||
|
lowdown = pkgs.lowdown.overrideAttrs (prevAttrs: rec {
|
||||||
|
version = "2.0.2";
|
||||||
|
src = pkgs.fetchurl {
|
||||||
|
url = "https://kristaps.bsd.lv/lowdown/snapshots/lowdown-${version}.tar.gz";
|
||||||
|
hash = "sha512-cfzhuF4EnGmLJf5EGSIbWqJItY3npbRSALm+GarZ7SMU7Hr1xw0gtBFMpOdi5PBar4TgtvbnG4oRPh+COINGlA==";
|
||||||
|
};
|
||||||
|
nativeBuildInputs = prevAttrs.nativeBuildInputs ++ [ pkgs.bmake ];
|
||||||
|
postInstall =
|
||||||
|
lib.replaceStrings [ "lowdown.so.1" "lowdown.1.dylib" ] [ "lowdown.so.2" "lowdown.2.dylib" ]
|
||||||
|
prevAttrs.postInstall;
|
||||||
|
});
|
||||||
|
|
||||||
# TODO Hack until https://github.com/NixOS/nixpkgs/issues/45462 is fixed.
|
# TODO Hack until https://github.com/NixOS/nixpkgs/issues/45462 is fixed.
|
||||||
boost =
|
boost =
|
||||||
(pkgs.boost.override {
|
(pkgs.boost.override {
|
||||||
|
|
|
||||||
|
|
@ -37,9 +37,17 @@ static std::string doRenderMarkdownToTerminal(std::string_view markdown)
|
||||||
.vmargin = 0,
|
.vmargin = 0,
|
||||||
# endif
|
# endif
|
||||||
.feat = LOWDOWN_COMMONMARK | LOWDOWN_FENCED | LOWDOWN_DEFLIST | LOWDOWN_TABLES,
|
.feat = LOWDOWN_COMMONMARK | LOWDOWN_FENCED | LOWDOWN_DEFLIST | LOWDOWN_TABLES,
|
||||||
.oflags = LOWDOWN_TERM_NOLINK,
|
.oflags =
|
||||||
|
# if HAVE_LOWDOWN_1_4
|
||||||
|
LOWDOWN_TERM_NORELLINK // To render full links while skipping relative ones
|
||||||
|
# else
|
||||||
|
LOWDOWN_TERM_NOLINK
|
||||||
|
# endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (!isTTY())
|
||||||
|
opts.oflags |= LOWDOWN_TERM_NOANSI;
|
||||||
|
|
||||||
auto doc = lowdown_doc_new(&opts);
|
auto doc = lowdown_doc_new(&opts);
|
||||||
if (!doc)
|
if (!doc)
|
||||||
throw Error("cannot allocate Markdown document");
|
throw Error("cannot allocate Markdown document");
|
||||||
|
|
@ -65,7 +73,7 @@ static std::string doRenderMarkdownToTerminal(std::string_view markdown)
|
||||||
if (!rndr_res)
|
if (!rndr_res)
|
||||||
throw Error("allocation error while rendering Markdown");
|
throw Error("allocation error while rendering Markdown");
|
||||||
|
|
||||||
return filterANSIEscapes(std::string(buf->data, buf->size), !isTTY());
|
return std::string(buf->data, buf->size);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string renderMarkdownToTerminal(std::string_view markdown)
|
std::string renderMarkdownToTerminal(std::string_view markdown)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue