12345678910111213141516171819202122232425262728293031323334 |
- use str
- var ignore = [
- _
- PWD
- SHLVL
- PATH
- ]
- fn apply-env {|env|
- for var $env {
- if (eq $var '') {
- break
- }
- var key value = (str:split &max=2 "=" $var)
- if (has-value $ignore $key) {
- continue
- }
- put +$key
- set-env $key $value
- }
- }
- # helper to set environment from programs that output a bash script to `eval`
- edit:add-var eval-export~ {
- var script = (slurp)
- var output = (env -i sh -c $script"\n/usr/bin/env -0")
- var @vars = (str:split "\x00" $output)
- edit:notify "Applying vars"
- edit:notify (print (apply-env $vars))
- }
|