Merge pull request #247323 from xworld21/texdoc-zsh-completion
texdoc: install zsh completion
This commit is contained in:
commit
2e6b6acee9
|
@ -29,6 +29,7 @@
|
|||
, hasManpages ? false
|
||||
, hasRunfiles ? false
|
||||
, hasTlpkg ? false
|
||||
, extraNativeBuildInputs ? [ ]
|
||||
, ...
|
||||
}@args:
|
||||
|
||||
|
@ -119,6 +120,7 @@ let
|
|||
inherit meta;
|
||||
# shebang interpreters
|
||||
buildInputs = (args.extraBuildInputs or [ ]) ++ [ bash perl ] ++ (lib.attrVals (args.scriptExts or [ ]) extToInput);
|
||||
nativeBuildInputs = extraNativeBuildInputs;
|
||||
# absolute scripts folder
|
||||
scriptsFolder = lib.optionalString (run ? outPath) (run.outPath + "/scripts/" + args.scriptsFolder or pname);
|
||||
# binaries info
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
*/
|
||||
{ stdenv, lib, fetchurl, runCommand, writeText, buildEnv
|
||||
, callPackage, ghostscript_headless, harfbuzz
|
||||
, makeWrapper
|
||||
, makeWrapper, installShellFiles
|
||||
, python3, ruby, perl, tk, jdk, bash, snobol4
|
||||
, coreutils, findutils, gawk, getopt, gnugrep, gnumake, gnupg, gnused, gzip, ncurses, zip
|
||||
, libfaketime, asymptote, biber-ms, makeFontsConf
|
||||
|
@ -376,6 +376,8 @@ let
|
|||
extraRevision = "-tlpdb${toString tlpdbVersion.revision}";
|
||||
extraVersion = "-tlpdb-${toString tlpdbVersion.revision}";
|
||||
|
||||
extraNativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
# build Data.tlpdb.lua (part of the 'tlType == "run"' package)
|
||||
postUnpack = ''
|
||||
if [[ -f "$out"/scripts/texdoc/texdoc.tlu ]]; then
|
||||
|
@ -392,6 +394,18 @@ let
|
|||
cp texdoc/cache-tlpdb.lua "$out"/scripts/texdoc/Data.tlpdb.lua
|
||||
fi
|
||||
'';
|
||||
|
||||
# install zsh completion
|
||||
postFixup = ''
|
||||
TEXMFCNF="${bin.core}"/share/texmf-dist/web2c TEXMF="$scriptsFolder/../.." \
|
||||
texlua "$out"/bin/texdoc --print-completion zsh > "$TMPDIR"/_texdoc
|
||||
substituteInPlace "$TMPDIR"/_texdoc \
|
||||
--replace 'compdef __texdoc texdoc' '#compdef texdoc' \
|
||||
--replace '$(kpsewhich -var-value TEXMFROOT)/tlpkg/texlive.tlpdb' '$(kpsewhich Data.tlpdb.lua)' \
|
||||
--replace '/^name[^.]*$/ {print $2}' '/^ \["[^"]*"\] = {$/ { print substr($1,3,length($1)-4) }'
|
||||
echo '__texdoc' >> "$TMPDIR"/_texdoc
|
||||
installShellCompletion --zsh "$TMPDIR"/_texdoc
|
||||
'';
|
||||
};
|
||||
|
||||
"texlive.infra" = {
|
||||
|
|
Loading…
Reference in a new issue