dotfiles/.config/zsh/functions/export-emacs

18 lines
420 B
Bash
Executable File

#!/usr/bin/env zsh
# Export variable to Emacs.
setopt LOCAL_OPTIONS ERR_RETURN NO_UNSET PIPE_FAIL
if [[ ARGC -eq 0 ]]; then
print -u 2 "Usage: ${0} <variable> …"
return 1
fi
# Fail if we can't communicate with the daemon
[[ "$(emacsclient -e t)" == 't' ]] || return 1
for name in "${@}"; do
local value=$(eval print \"\$${name}\")
emacsclient -e "(setenv \"${name}\" \"${value}\")" >/dev/null
done