|
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