|
1 | | -export-env { |
2 | | - def fnm-env [] { |
3 | | - mut env_vars = {} |
4 | | - let pwsh_vars = ( |
5 | | - ^fnm env --shell power-shell | |
6 | | - lines | |
7 | | - parse "$env:{key} = \"{value}\"" |
8 | | - ) |
9 | | - |
10 | | - # fnm-prefixed vars |
11 | | - for v in ($pwsh_vars | slice 1..) { |
12 | | - $env_vars = ($env_vars | insert $v.key $v.value) |
13 | | - } |
14 | | - |
15 | | - # path |
16 | | - let env_used_path = ($env | columns | where {str downcase | $in == "path"} | get 0) |
17 | | - let path_value = ($pwsh_vars | get 0.value | split row (char esep)) |
18 | | - $env_vars = ($env_vars | insert $env_used_path $path_value) |
19 | | - |
20 | | - return $env_vars |
21 | | - } |
22 | | - |
23 | | - if not (which fnm | is-empty) { |
24 | | - fnm-env | load-env |
25 | | - |
26 | | - $env.config = ( |
27 | | - $env.config? |
28 | | - | default {} |
29 | | - | upsert hooks { default {} } |
30 | | - | upsert hooks.env_change { default {} } |
31 | | - | upsert hooks.env_change.PWD { default [] } |
32 | | - ) |
33 | | - let __fnm_hooked = ( |
34 | | - $env.config.hooks.env_change.PWD | any { try { get __fnm_hook } catch { false } } |
35 | | - ) |
36 | | - if not $__fnm_hooked { |
37 | | - $env.config.hooks.env_change.PWD = ($env.config.hooks.env_change.PWD | append { |
38 | | - __fnm_hook: true, |
39 | | - code: {|before, after| |
40 | | - if ('FNM_DIR' in $env) and ([.nvmrc .node-version] | path exists | any { |it| $it }) { |
41 | | - (^fnm use); (fnm-env | load-env) |
42 | | - } |
43 | | - } |
44 | | - }) |
45 | | - } |
46 | | - } |
47 | | -} |
| 1 | +export-env { |
| 2 | + def fnm-env [] { |
| 3 | + mut env_vars = {} |
| 4 | + let pwsh_vars = ( |
| 5 | + ^fnm env --shell power-shell | lines | parse "$env:{key} = \"{value}\"" |
| 6 | + ) |
| 7 | + |
| 8 | + # fnm-prefixed vars |
| 9 | + for v in ($pwsh_vars | slice 1..) { |
| 10 | + $env_vars = ($env_vars | insert $v.key $v.value) |
| 11 | + } |
| 12 | + |
| 13 | + # path |
| 14 | + let env_used_path = ($env | columns | where { str downcase | $in == "path" } | get 0) |
| 15 | + let path_value = ($pwsh_vars | get 0.value | split row (char esep)) |
| 16 | + $env_vars = ($env_vars | insert $env_used_path $path_value) |
| 17 | + |
| 18 | + return $env_vars |
| 19 | + } |
| 20 | + |
| 21 | + if not (which fnm | is-empty) { |
| 22 | + fnm-env | load-env |
| 23 | + |
| 24 | + $env.config = ( |
| 25 | + $env.config? |
| 26 | + | default {} |
| 27 | + | upsert hooks { default {} } |
| 28 | + | upsert hooks.env_change { default {} } |
| 29 | + | upsert hooks.env_change.PWD { default [] } |
| 30 | + ) |
| 31 | + let __fnm_hooked = ( |
| 32 | + $env.config.hooks.env_change.PWD | any { try { get __fnm_hook } catch { false } } |
| 33 | + ) |
| 34 | + if not $__fnm_hooked { |
| 35 | + $env.config.hooks.env_change.PWD = ( |
| 36 | + $env.config.hooks.env_change.PWD | append { |
| 37 | + __fnm_hook: true |
| 38 | + code: {|before, after| |
| 39 | + if ('FNM_DIR' in $env) and ([.nvmrc .node-version] | path exists | any {|it| $it }) { |
| 40 | + ^fnm use |
| 41 | + } |
| 42 | + } |
| 43 | + } |
| 44 | + ) |
| 45 | + } |
| 46 | + } |
| 47 | +} |
0 commit comments