Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
oh-my-zsh
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
github
oh-my-zsh
Commits
3c974331
Unverified
Commit
3c974331
authored
Sep 30, 2021
by
Marc Cornellà
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor(updater): change auto-update settings to use `zstyle`
parent
adef0e60
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
25 additions
and
12 deletions
+25
-12
zshrc.zsh-template
templates/zshrc.zsh-template
+4
-6
check_for_upgrade.sh
tools/check_for_upgrade.sh
+21
-6
No files found.
templates/zshrc.zsh-template
View file @
3c974331
...
...
@@ -23,14 +23,12 @@ ZSH_THEME="robbyrussell"
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"
# Uncomment the following line to automatically update without prompting.
# DISABLE_UPDATE_PROMPT="true"
# Uncomment the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled # disable automatic updates
# zstyle ':omz:update' mode auto # update automatically without asking
# Uncomment the following line to change how often to auto-update (in days).
#
export UPDATE_ZSH_DAYS=
13
#
zstyle ':omz:update' frequency
13
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"
...
...
tools/check_for_upgrade.sh
View file @
3c974331
...
...
@@ -3,17 +3,30 @@ if [[ -f ~/.zsh-update && ! -f "${ZSH_CACHE_DIR}/.zsh-update" ]]; then
mv
~/.zsh-update
"
${
ZSH_CACHE_DIR
}
/.zsh-update"
fi
# Get user's update preferences
#
# Supported update modes:
# - prompt (default): the user is asked before updating when it's time to update
# - auto: the update is performed automatically when it's time
# - reminder: a reminder is shown to the user when it's time to update
# - disabled: automatic update is turned off
zstyle
-s
':omz:update'
mode update_mode
||
update_mode
=
prompt
# Support old-style settings
[[
"
$DISABLE_UPDATE_PROMPT
"
!=
true
]]
||
update_mode
=
auto
[[
"
$DISABLE_AUTO_UPDATE
"
!=
true
]]
||
update_mode
=
disabled
# Cancel update if:
# - the automatic update is disabled.
# - the current user doesn't have write permissions nor owns the $ZSH directory.
# - git is unavailable on the system.
if
[[
"
$
DISABLE_AUTO_UPDATE
"
=
true
]]
\
if
[[
"
$
update_mode
"
=
disabled
]]
\
||
[[
!
-w
"
$ZSH
"
||
!
-O
"
$ZSH
"
]]
\
||
!
command
-v
git &>/dev/null
;
then
unset
update_mode
return
fi
function
current_epoch
()
{
zmodload zsh/datetime
echo
$((
EPOCHSECONDS
/
60
/
60
/
24
))
...
...
@@ -56,7 +69,6 @@ function update_ohmyzsh() {
# the shell actually exits what it's running.
trap
"
ret=
\$
?
unset -f current_epoch update_last_updated_file update_ohmyzsh 2>/dev/null
command rm -rf '
$ZSH
/log/update.lock'
return
\$
ret
"
EXIT INT QUIT
...
...
@@ -68,14 +80,14 @@ function update_ohmyzsh() {
fi
# Number of days before trying to update again
epoch_target
=
${
UPDATE_ZSH_DAYS
:-
13
}
zstyle
-s
':omz:update'
frequency epoch_target
||
epoch_target
=
${
UPDATE_ZSH_DAYS
:-
13
}
# Test if enough time has passed until the next update
if
((
(
$(
current_epoch
)
-
$LAST_EPOCH
)
<
$epoch_target
))
;
then
return
fi
# Ask for confirmation before updating unless
disabled
if
[[
"
$
DISABLE_UPDATE_PROMPT
"
=
true
]]
;
then
# Ask for confirmation before updating unless
in auto mode
if
[[
"
$
update_mode
"
=
auto
]]
;
then
update_ohmyzsh
else
# input sink to swallow all characters typed before the prompt
...
...
@@ -92,3 +104,6 @@ function update_ohmyzsh() {
esac
fi
}
unset
update_mode
unset
-f
current_epoch update_last_updated_file update_ohmyzsh
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment