浏览代码

cli: add update command (#9094)

Co-authored-by: Marc Cornellà <marc.cornella@live.com>
Dario Vladović 4 年之前
父节点
当前提交
3935ccce64
共有 2 个文件被更改,包括 13 次插入2 次删除
  1. 11 0
      lib/cli.zsh
  2. 2 2
      lib/functions.zsh

+ 11 - 0
lib/cli.zsh

@@ -23,6 +23,7 @@ function _omz {
     local -a cmds subcmds
     cmds=(
         'help:Usage information'
+        'update:Update Oh My Zsh'
         'pr:Commands for Oh My Zsh Pull Requests'
     )
 
@@ -48,6 +49,7 @@ Usage: omz <command> [options]
 Available commands:
 
     help                Print this help message
+    update              Update Oh My Zsh
     pr <command>        Commands for Oh My Zsh Pull Requests
 
 EOF
@@ -197,3 +199,12 @@ function _omz::pr::test {
         }
     )
 }
+
+function _omz::update {
+    env ZSH="$ZSH" sh "$ZSH/tools/upgrade.sh"
+    # Update last updated file
+    zmodload zsh/datetime
+    echo "LAST_EPOCH=$(( EPOCHSECONDS / 60 / 60 / 24 ))" >! "${ZSH_CACHE_DIR}/.zsh-update"
+    # Remove update lock if it exists
+    command rm -rf "$ZSH/log/update.lock"
+}

+ 2 - 2
lib/functions.zsh

@@ -7,8 +7,8 @@ function uninstall_oh_my_zsh() {
 }
 
 function upgrade_oh_my_zsh() {
-  env ZSH="$ZSH" sh "$ZSH/tools/upgrade.sh"
-  command rm -rf "$ZSH/log/update.lock"
+  echo >&2 "${fg[yellow]}Note: \`$0\` is deprecated. Use \`omz update\` instead.$reset_color"
+  omz update
 }
 
 function take() {