modules: firefox-profile: init.zsh clean up
Cleaned up init.zsh, so the whole initialization code is handled by an anonymous function. This is make variable clean up much easier. FIx the version string (bumped to 3.0, 2.x is standalone script that can be sourced in ~/.zshrc (see my dotfiles repo for that).) Minor fix for mktmp() for non GNU/Linux users.
This commit is contained in:
parent
ca75bfef45
commit
f5740922e8
2 changed files with 46 additions and 46 deletions
|
@ -28,7 +28,7 @@ return
|
|||
|
||||
test $# -ge 1 -a -n "$1" || return
|
||||
|
||||
local type temp=-XXXXXX tmpdir=${TMPDIR:-/tmp}
|
||||
local type temp=XXXXXX tmpdir=${TMPDIR:-/tmp}
|
||||
for (( ; $# > 1; ))
|
||||
case $1 {
|
||||
(-d|--dir)
|
||||
|
@ -53,13 +53,13 @@ for (( ; $# > 1; ))
|
|||
return;;
|
||||
}
|
||||
|
||||
test -n "$1" -a "${1%$temp}" != "$1"
|
||||
test -n "$1" -a "${1%-$temp}" != "$1"
|
||||
if (( $? )) {
|
||||
die "invalid/null TEMPLATE"
|
||||
return
|
||||
}
|
||||
(( $+commands[uuidgen] )) && temp=$($commands[uuidgen] --random)
|
||||
local tmp="$tmpdir/${1%$temp}-$temp[1,6]"
|
||||
local tmp="$tmpdir/${1%$temp}$temp[1,6]"
|
||||
|
||||
if [[ $type == "dir" ]] {
|
||||
mkdir -p ${mode:+-m$mode} "$tmp"
|
||||
|
|
|
@ -1,48 +1,50 @@
|
|||
#
|
||||
# firefox home profile (fhp) module to maintain the profile
|
||||
# firefox home profile (fhp) maintains the profile
|
||||
# in a tmpfs or zram backed filesystem
|
||||
#
|
||||
# $Header: firefox-profile/init.zsh Exp $
|
||||
# $Aythor: (c) 2011-2014 -tclover <tokiclover@gmail.com> Exp $
|
||||
# $License: MIT (or 2-clause/new/simplified BSD) Exp $
|
||||
# $Version: 2.0 2014/09/25 21:09:26 Exp $
|
||||
# $Version: 3.0 2014/09/26 21:09:26 Exp $
|
||||
#
|
||||
|
||||
function die {
|
||||
local ret=$?
|
||||
print -P " %F{red}%1x: %F{yellow}%U%I%u:%f $argv" >&2
|
||||
return $ret
|
||||
}
|
||||
|
||||
setopt EXTENDED_GLOB
|
||||
|
||||
zstyle -s ':prezto:module:firefox-profile' profile 'profile'
|
||||
zstyle -s ':prezto:module:firefox-profile' compressor 'compressor'
|
||||
zstyle -b ':prezto:module:firefox-profile' zsh-hook 'zsh_hook'
|
||||
zstyle -s ':prezto:module:firefox-profile' zramdir 'zramdir'
|
||||
|
||||
if [[ -z "$compressor" ]] {
|
||||
: ${compressor:=lz4 -1 -}
|
||||
zstyle ':prezto:module:firefox-profile' compressor "$compressor"
|
||||
}
|
||||
|
||||
: ${profile:=${$(print $HOME/.mozilla/firefox/*.default(/N)):t}}
|
||||
if [[ -z $profile ]] {
|
||||
unset compressor profile zramdir zsh_hook
|
||||
die "null firefox home profile"
|
||||
return
|
||||
}
|
||||
|
||||
[[ ${profile%.default} == $profile ]] && profile+=.default
|
||||
zstyle ':prezto:module:firefox-profile' profile "$profile"
|
||||
|
||||
if (( $zsh_hook )) {
|
||||
autoload -Uz add-zsh-hook
|
||||
add-zsh-hook zshexit fhp
|
||||
}
|
||||
|
||||
# Initialize the temporary directory with an anonymous function
|
||||
function {
|
||||
local compressor profile zramdir zsh_hook
|
||||
|
||||
zstyle -s ':prezto:module:firefox-profile' profile 'profile'
|
||||
zstyle -s ':prezto:module:firefox-profile' compressor 'compressor'
|
||||
zstyle -b ':prezto:module:firefox-profile' zsh-hook 'zsh_hook'
|
||||
zstyle -s ':prezto:module:firefox-profile' zramdir 'zramdir'
|
||||
|
||||
# Define a little helper to handle fatal errors
|
||||
function die {
|
||||
local ret=$?
|
||||
print -P " %F{red}%2x: %F{yellow}%U%I%u:%f $argv" >&2
|
||||
return $ret
|
||||
}
|
||||
|
||||
if (( $+compressor )) {
|
||||
: ${compressor:=lz4 -1 -}
|
||||
zstyle ':prezto:module:firefox-profile' compressor "$compressor"
|
||||
}
|
||||
|
||||
setopt LOCAL_OPTIONS EXTENDED_GLOB
|
||||
|
||||
: ${profile:=$(print $HOME/.mozilla/firefox/*.default(/N:t))}
|
||||
if [[ -z $profile ]] {
|
||||
die "null firefox home profile"
|
||||
return
|
||||
}
|
||||
|
||||
[[ ${profile%.default} == $profile ]] && profile+=.default
|
||||
zstyle ':prezto:module:firefox-profile' profile "$profile"
|
||||
|
||||
if (( $zsh_hook )) {
|
||||
autoload -Uz add-zsh-hook
|
||||
add-zsh-hook zshexit fhp
|
||||
}
|
||||
|
||||
local ext=.tar.$compressor[(w)1]
|
||||
local fhpdir="$HOME"/.mozilla/firefox/$profile
|
||||
: ${TMPDIR:=/tmp/$USER}
|
||||
|
@ -77,16 +79,14 @@ function {
|
|||
die "failed to mount $mntdir"
|
||||
return
|
||||
}
|
||||
|
||||
# Finaly, start the firefox home profile
|
||||
#(( $+functions[fhp] )) || autoload -Uz fhp
|
||||
if zstyle -t ':prezto:module:firefox-profile' start-profile; then
|
||||
fhp
|
||||
fi
|
||||
}
|
||||
|
||||
# Finaly, start the firefox home profile
|
||||
#(( $+functions[fhp] )) || autoload -Uz fhp
|
||||
if zstyle -t ':prezto:module:firefox-profile' start-profile; then
|
||||
fhp
|
||||
fi
|
||||
|
||||
unset compressor profile zramdir zsh_hook
|
||||
|
||||
#
|
||||
# vim:fenc=utf-8:ft=zsh:ci:pi:sts=2:sw=2:ts=2:
|
||||
#
|
||||
|
|
Loading…
Add table
Reference in a new issue