neovim: expose runtimeDeps (#368950)
This commit is contained in:
@@ -123,32 +123,21 @@ let
|
||||
|
||||
wrapperArgsStr = if lib.isString wrapperArgs then wrapperArgs else lib.escapeShellArgs wrapperArgs;
|
||||
|
||||
generatedWrapperArgs = let
|
||||
op = acc: normalizedPlugin: acc ++ normalizedPlugin.plugin.runtimeDeps or [];
|
||||
|
||||
runtimeDeps = lib.foldl' op [] pluginsNormalized;
|
||||
|
||||
binPath = lib.makeBinPath (
|
||||
lib.optional finalAttrs.withRuby rubyEnv
|
||||
++ lib.optional finalAttrs.withNodeJs nodejs
|
||||
++ lib.optionals finalAttrs.autowrapRuntimeDeps runtimeDeps
|
||||
);
|
||||
in
|
||||
|
||||
# vim accepts a limited number of commands so we join them all
|
||||
[
|
||||
"--add-flags" ''--cmd "lua ${providerLuaRc}"''
|
||||
]
|
||||
++ lib.optionals (packpathDirs.myNeovimPackages.start != [] || packpathDirs.myNeovimPackages.opt != []) [
|
||||
"--add-flags" ''--cmd "set packpath^=${finalPackdir}"''
|
||||
"--add-flags" ''--cmd "set rtp^=${finalPackdir}"''
|
||||
]
|
||||
++ lib.optionals finalAttrs.withRuby [
|
||||
"--set" "GEM_HOME" "${rubyEnv}/${rubyEnv.ruby.gemPath}"
|
||||
] ++ lib.optionals (binPath != "") [
|
||||
"--suffix" "PATH" ":" binPath
|
||||
]
|
||||
;
|
||||
generatedWrapperArgs =
|
||||
[
|
||||
# vim accepts a limited number of commands so we join all the provider ones
|
||||
"--add-flags" ''--cmd "lua ${providerLuaRc}"''
|
||||
]
|
||||
++ lib.optionals (finalAttrs.packpathDirs.myNeovimPackages.start != [] || finalAttrs.packpathDirs.myNeovimPackages.opt != []) [
|
||||
"--add-flags" ''--cmd "set packpath^=${finalPackdir}"''
|
||||
"--add-flags" ''--cmd "set rtp^=${finalPackdir}"''
|
||||
]
|
||||
++ lib.optionals finalAttrs.withRuby [
|
||||
"--set" "GEM_HOME" "${rubyEnv}/${rubyEnv.ruby.gemPath}"
|
||||
] ++ lib.optionals (finalAttrs.runtimeDeps != []) [
|
||||
"--suffix" "PATH" ":" (lib.makeBinPath finalAttrs.runtimeDeps)
|
||||
]
|
||||
;
|
||||
|
||||
providerLuaRc = neovimUtils.generateProviderRc {
|
||||
inherit (finalAttrs) withPython3 withNodeJs withPerl withRuby;
|
||||
@@ -182,6 +171,18 @@ let
|
||||
inherit autoconfigure autowrapRuntimeDeps wrapRc providerLuaRc packpathDirs;
|
||||
inherit python3Env rubyEnv;
|
||||
inherit wrapperArgs generatedWrapperArgs;
|
||||
|
||||
|
||||
runtimeDeps = let
|
||||
op = acc: normalizedPlugin: acc ++ normalizedPlugin.plugin.runtimeDeps or [];
|
||||
runtimeDeps = lib.foldl' op [] pluginsNormalized;
|
||||
in
|
||||
lib.optional finalAttrs.withRuby rubyEnv
|
||||
++ lib.optional finalAttrs.withNodeJs nodejs
|
||||
++ lib.optionals finalAttrs.autowrapRuntimeDeps runtimeDeps
|
||||
;
|
||||
|
||||
|
||||
luaRcContent = rcContent;
|
||||
# Remove the symlinks created by symlinkJoin which we need to perform
|
||||
# extra actions upon
|
||||
|
||||
Reference in New Issue
Block a user