1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2026-02-13 05:59:46 +08:00

Compare commits

..

9 Commits

Author SHA1 Message Date
Carlo Sala
203369b0f9
ci(dependencies): run on sunday CET morning 2024-05-22 15:36:03 +02:00
Rizky Ilham Pratama
41d2029dec
feat(laravel): add aliases laravel 11 (#12354) 2024-05-22 09:17:06 +02:00
Carlo Sala
c77a01dbe2
Revert "feat(agnoster): add anaconda env information (#12434)"
This reverts commit 309129f651.
2024-05-22 09:15:11 +02:00
robinverduijn
bbfb985359
chore(agnoster): typo (#12437) 2024-05-22 07:39:12 +02:00
danielwerg
dfb436b54a
feat(tldr): add tldr plugin (#12429) 2024-05-21 20:58:43 +02:00
ohmyzsh[bot]
f6b3fc84d1
feat(wd): update to version v0.7.0 (#12436)
Co-authored-by: ohmyzsh[bot] <54982679+ohmyzsh[bot]@users.noreply.github.com>
2024-05-21 20:48:54 +02:00
Carlo Sala
04b66b2308
chore(dependencies): PR wording 2024-05-21 20:46:54 +02:00
Carlo Sala
0621944db5
fix(dependencies): only open PR if there are changes 2024-05-21 20:43:26 +02:00
Daniel Ochoja
309129f651
feat(agnoster): add anaconda env information (#12434) 2024-05-21 20:36:07 +02:00
11 changed files with 179 additions and 54 deletions

View File

@ -39,7 +39,7 @@ dependencies:
plugins/wd: plugins/wd:
repo: mfaerevaag/wd repo: mfaerevaag/wd
branch: master branch: master
version: tag:v0.6.1 version: tag:v0.7.0
precopy: | precopy: |
set -e set -e
rm -r test rm -r test

View File

@ -2,7 +2,7 @@ name: Update dependencies
on: on:
workflow_dispatch: {} workflow_dispatch: {}
schedule: schedule:
- cron: "34 3 * * */8" - cron: "0 6 * * 0"
jobs: jobs:
check: check:

View File

@ -228,21 +228,22 @@ class Dependency:
self.__apply_upstream_changes() self.__apply_upstream_changes()
# Add all changes and commit # Add all changes and commit
Git.add_and_commit(self.name, short_sha) has_new_commit = Git.add_and_commit(self.name, short_sha)
# Push changes to remote if has_new_commit:
Git.push(branch) # Push changes to remote
Git.push(branch)
# Create GitHub PR # Create GitHub PR
GitHub.create_pr( GitHub.create_pr(
branch, branch,
f"feat({self.name}): update to version {new_version}", f"feat({self.name}): update to version {new_version}",
f"""## Description f"""## Description
Update for **{self.desc}**: update to version [{new_version}]({status['head_url']}). Update for **{self.desc}**: update to version [{new_version}]({status['head_url']}).
Check out the [list of changes]({status['compare_url']}). Check out the [list of changes]({status['compare_url']}).
""", """,
) )
# Clean up repository # Clean up repository
Git.clean_repo() Git.clean_repo()
@ -377,7 +378,21 @@ class Git:
return branch_name return branch_name
@staticmethod @staticmethod
def add_and_commit(scope: str, version: str): def add_and_commit(scope: str, version: str) -> bool:
"""
Returns `True` if there were changes and were indeed commited.
Returns `False` if the repo was clean and no changes were commited.
"""
# check if repo is clean (clean => no error, no commit)
try:
CommandRunner.run_or_fail(
["git", "diff", "--exit-code"], stage="CheckRepoClean"
)
return False
except CommandRunner.Exception:
# if it's other kind of error just throw!
pass
user_name = os.environ.get("GIT_APP_NAME") user_name = os.environ.get("GIT_APP_NAME")
user_email = os.environ.get("GIT_APP_EMAIL") user_email = os.environ.get("GIT_APP_EMAIL")
@ -390,27 +405,22 @@ class Git:
clean_env["GIT_CONFIG_GLOBAL"] = "/dev/null" clean_env["GIT_CONFIG_GLOBAL"] = "/dev/null"
clean_env["GIT_CONFIG_NOSYSTEM"] = "1" clean_env["GIT_CONFIG_NOSYSTEM"] = "1"
# check if repo is clean (clean => no error, no commit) # Commit with settings above
try: CommandRunner.run_or_fail(
CommandRunner.run_or_fail( [
["git", "diff", "--exit-code"], stage="CheckRepoClean", env=clean_env "git",
) "-c",
except CommandRunner.Exception: f"user.name={user_name}",
# Commit with settings above "-c",
CommandRunner.run_or_fail( f"user.email={user_email}",
[ "commit",
"git", "-m",
"-c", f"feat({scope}): update to {version}",
f"user.name={user_name}", ],
"-c", stage="CreateCommit",
f"user.email={user_email}", env=clean_env,
"commit", )
"-m", return True
f"feat({scope}): update to {version}",
],
stage="CreateCommit",
env=clean_env,
)
@staticmethod @staticmethod
def push(branch: str): def push(branch: str):

View File

@ -36,6 +36,10 @@ plugins=(... laravel)
| `pamj` | `php artisan make:job` | | `pamj` | `php artisan make:job` |
| `paml` | `php artisan make:listener` | | `paml` | `php artisan make:listener` |
| `pamn` | `php artisan make:notification` | | `pamn` | `php artisan make:notification` |
| `pamcl` | `php artisan make:class` |
| `pamen` | `php artisan make:enum` |
| `pami` | `php artisan make:interface` |
| `pamtr` | `php artisan make:trait` |
## Clears ## Clears

View File

@ -25,6 +25,10 @@ alias pamj='php artisan make:job'
alias paml='php artisan make:listener' alias paml='php artisan make:listener'
alias pamn='php artisan make:notification' alias pamn='php artisan make:notification'
alias pampp='php artisan make:provider' alias pampp='php artisan make:provider'
alias pamcl='php artisan make:class'
alias pamen='php artisan make:enum'
alias pami='php artisan make:interface'
alias pamtr='php artisan make:trait'
# Clears # Clears

15
plugins/tldr/README.md Normal file
View File

@ -0,0 +1,15 @@
# tldr plugin
This plugin adds a shortcut to insert tldr before the previous command.
Heavily inspired from [Man plugin](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/man).
To use it, add `tldr` to the plugins array in your zshrc file:
```zsh
plugins=(... tldr)
```
# Keyboard Shortcuts
| Shortcut | Description |
|------------------------------------|----------------------------------------------------------------------------|
| <kbd>Esc</kbd> + tldr | add tldr before the previous command to see the tldr page for this command |

View File

@ -0,0 +1,19 @@
tldr-command-line() {
# if there is no command typed, use the last command
[[ -z "$BUFFER" ]] && zle up-history
# if typed command begins with tldr, do nothing
[[ "$BUFFER" = tldr\ * ]] && return
# get command and possible subcommand
# http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion-Flags
local -a args
args=(${${(Az)BUFFER}[1]} ${${(Az)BUFFER}[2]})
BUFFER="tldr ${args[1]}"
}
zle -N tldr-command-line
# Defined shortcut keys: [Esc]tldr
bindkey "\e"tldr tldr-command-line

View File

@ -142,7 +142,7 @@ rm -f ~/.zcompdump; compinit
If you want to make use of the `fzf`-powered browse feature to fuzzy search through all your warp points, set up a keybind in your `.zshrc`: If you want to make use of the `fzf`-powered browse feature to fuzzy search through all your warp points, set up a keybind in your `.zshrc`:
```zsh ```zsh
bindkey '^G' wd_browse bindkey ${FZF_WD_BINDKEY:-'^B'} fuzzy_wd_widget
``` ```
## Usage ## Usage
@ -158,6 +158,19 @@ If a warp point with the same name exists, use `wd add foo --force` to overwrite
**Note:** a warp point cannot contain colons, or consist of only spaces and dots. **Note:** a warp point cannot contain colons, or consist of only spaces and dots.
The first will conflict in how `wd` stores the warp points, and the second will conflict with other features, as below. The first will conflict in how `wd` stores the warp points, and the second will conflict with other features, as below.
* Add warp point to any directory with default name:
```zsh
wd addcd /foo/ bar
```
* Add warp point to any directory with a custom name:
```zsh
wd addcd /foo/
```
You can omit point name to automatically use the current directory's name instead. You can omit point name to automatically use the current directory's name instead.
* From any directory, warp to `foo` with: * From any directory, warp to `foo` with:

View File

@ -31,6 +31,7 @@ function _wd() {
commands=( commands=(
'add:Adds the current working directory to your warp points' 'add:Adds the current working directory to your warp points'
'addcd:Adds a directory to your warp points'
'add!:Overwrites existing warp point' 'add!:Overwrites existing warp point'
'export:Export warp points as static named directories' 'export:Export warp points as static named directories'
'rm:Removes the given warp point' 'rm:Removes the given warp point'
@ -63,6 +64,9 @@ function _wd() {
add) add)
_message 'Write the name of your warp point' && ret=0 _message 'Write the name of your warp point' && ret=0
;; ;;
addcd)
_message 'Write the name of your path' && ret=0
;;
show) show)
_describe -t points "Warp points" warp_points && ret=0 _describe -t points "Warp points" warp_points && ret=0
;; ;;

View File

@ -14,7 +14,8 @@
eval "wd() { source '${0:A:h}/wd.sh' }" eval "wd() { source '${0:A:h}/wd.sh' }"
wd > /dev/null wd > /dev/null
# Register the function as a Zsh widget zle -N wd_browse_widget
zle -N wd_browse zle -N wd_restore_buffer
# Bind the widget to a key combination autoload -Uz add-zle-hook-widget
bindkey '^G' wd_browse add-zle-hook-widget line-init wd_restore_buffer
bindkey ${FZF_WD_BINDKEY:-'^B'} wd_browse_widget

View File

@ -8,7 +8,7 @@
# @github.com/mfaerevaag/wd # @github.com/mfaerevaag/wd
# version # version
readonly WD_VERSION=0.6.1 readonly WD_VERSION=0.7.0
# colors # colors
readonly WD_BLUE="\033[96m" readonly WD_BLUE="\033[96m"
@ -74,18 +74,20 @@ wd_print_usage()
Usage: wd [command] [point] Usage: wd [command] [point]
Commands: Commands:
<point> Warps to the directory specified by the warp point <point> Warps to the directory specified by the warp point
<point> <path> Warps to the directory specified by the warp point with path appended <point> <path> Warps to the directory specified by the warp point with path appended
add <point> Adds the current working directory to your warp points add <point> Adds the current working directory to your warp points
add Adds the current working directory to your warp points with current directory's name add Adds the current working directory to your warp points with current directory's name
rm <point> Removes the given warp point addcd <path> Adds a path to your warp points with the directory's name
rm Removes the given warp point with current directory's name addcd <path> <point> Adds a path to your warp points with a custom name
show <point> Print path to given warp point rm <point> Removes the given warp point
show Print warp points to current directory rm Removes the given warp point with current directory's name
list Print all stored warp points show <point> Print path to given warp point
ls <point> Show files from given warp point (ls) show Print warp points to current directory
path <point> Show the path to given warp point (pwd) list Print all stored warp points
clean Remove points warping to nonexistent directories (will prompt unless --force is used) ls <point> Show files from given warp point (ls)
path <point> Show the path to given warp point (pwd)
clean Remove points warping to nonexistent directories (will prompt unless --force is used)
-v | --version Print version -v | --version Print version
-d | --debug Exit after execution with exit codes (for testing) -d | --debug Exit after execution with exit codes (for testing)
@ -203,6 +205,28 @@ wd_add()
fi fi
} }
wd_addcd() {
local folder="$1"
local point=$2
local force=$3
local currentdir=$PWD
if [[ -z "$folder" ]]; then
wd_exit_fail "You must specify a path"
return
fi
if [[ ! -d "$folder" ]]; then
wd_exit_fail "The directory does not exist"
return
fi
cd "$folder" || return
wd_add "$point" "$force"
cd "$currentdir" || return
}
wd_remove() wd_remove()
{ {
local point_list=$1 local point_list=$1
@ -235,7 +259,15 @@ wd_browse() {
return 1 return 1
fi fi
local entries=("${(@f)$(sed "s:${HOME}:~:g" "$WD_CONFIG" | awk -F ':' '{print $1 " -> " $2}')}") local entries=("${(@f)$(sed "s:${HOME}:~:g" "$WD_CONFIG" | awk -F ':' '{print $1 " -> " $2}')}")
local selected_entry=$(printf '%s\n' "${entries[@]}" | fzf --height 40% --reverse) local script_path="${${(%):-%x}:h}"
local wd_remove_output=$(mktemp "${TMPDIR:-/tmp}/wd.XXXXXXXXXX")
local entries_with_headers=("All warp points:" "Press enter to select. Press delete to remove" "${entries[@]}")
local fzf_bind="delete:execute(echo {} | awk -F ' -> ' '{print \$1}' | xargs -I {} "$script_path/wd.sh" rm {} > "$wd_remove_output")+abort"
local fzf_command=$(printf '%s\n' "${entries_with_headers[@]}" | fzf --height 100% --reverse --header-lines=2 --bind="$fzf_bind")
if [[ -e $wd_remove_output ]]; then
cat "$wd_remove_output"
rm "$wd_remove_output"
fi
if [[ -n $selected_entry ]]; then if [[ -n $selected_entry ]]; then
local selected_point="${selected_entry%% ->*}" local selected_point="${selected_entry%% ->*}"
selected_point=$(echo "$selected_point" | xargs) selected_point=$(echo "$selected_point" | xargs)
@ -243,6 +275,24 @@ wd_browse() {
fi fi
} }
wd_browse_widget() {
if [[ -e $WD_CONFIG ]]; then
wd_browse
saved_buffer=$BUFFER
saved_cursor=$CURSOR
BUFFER=
zle redisplay
zle accept-line
fi
}
wd_restore_buffer() {
BUFFER=$saved_buffer
CURSOR=$saved_cursor
saved_buffer=
saved_cursor=1
}
wd_list_all() wd_list_all()
{ {
wd_print_msg "$WD_BLUE" "All warp points:" wd_print_msg "$WD_BLUE" "All warp points:"
@ -371,7 +421,7 @@ wd_export_static_named_directories() {
fi fi
} }
local WD_CONFIG=${WD_CONFIG:-$HOME/.warprc} WD_CONFIG=${WD_CONFIG:-$HOME/.warprc}
local WD_QUIET=0 local WD_QUIET=0
local WD_EXIT_CODE=0 local WD_EXIT_CODE=0
local WD_DEBUG=0 local WD_DEBUG=0
@ -455,6 +505,10 @@ else
wd_browse wd_browse
break break
;; ;;
"-c"|"--addcd"|"addcd")
wd_addcd "$2" "$3" "$wd_force_mode"
break
;;
"-e"|"export") "-e"|"export")
wd_export_static_named_directories wd_export_static_named_directories
break break
@ -510,6 +564,7 @@ fi
unset wd_extglob_is_set unset wd_extglob_is_set
unset wd_warp unset wd_warp
unset wd_add unset wd_add
unset wd_addcd
unset wd_remove unset wd_remove
unset wd_show unset wd_show
unset wd_list_all unset wd_list_all