mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2025-12-26 02:12:33 +01:00
name change to 'zshmarks' to better represent that this comes from 'bash marks'
added a new function to manually edit the ~/.bookmarks file, using whatever $EDITOR the use has registered
This commit is contained in:
parent
820a027d47
commit
c103b091d4
3 changed files with 27 additions and 22 deletions
4
plugins/zshmarks/_go
Normal file
4
plugins/zshmarks/_go
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#compdef go
|
||||
#autoload
|
||||
|
||||
_arguments "1: :(`grep "|" $HOME/.bookmarks | cut -d\| -f2`)"
|
||||
55
plugins/zshmarks/zshmarks.plugin.zsh
Normal file
55
plugins/zshmarks/zshmarks.plugin.zsh
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
# ------------------------------------------------------------------------------
|
||||
# FILE: zshmarks.plugin.zsh
|
||||
# DESCRIPTION: oh-my-zsh plugin file.
|
||||
# AUTHOR: Jocelyn Mallon (jocelyn.e.mallon@gmail.com)
|
||||
# VERSION: 1.0
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
bookmarks_file="$HOME/.bookmarks"
|
||||
|
||||
# Create bookmarks_file it if it doesn't exist
|
||||
if [[ ! -f $bookmarks_file ]]; then
|
||||
touch $bookmarks_file
|
||||
fi
|
||||
|
||||
function bookmark() {
|
||||
bookmark_name=$1
|
||||
if [[ -z $bookmark_name ]]; then
|
||||
echo 'Invalid name, please provide a name for your bookmark. For example:'
|
||||
echo ' bookmark foo'
|
||||
else
|
||||
bookmark="$(pwd)|$bookmark_name" # Store the bookmark as folder|name
|
||||
if [[ -z $(grep "$bookmark" $bookmarks_file) ]]; then
|
||||
echo $bookmark >> $bookmarks_file
|
||||
echo "Bookmark '$bookmark_name' saved"
|
||||
else
|
||||
echo "Bookmark already existed"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function go() {
|
||||
bookmark_name=$1
|
||||
bookmark="$(grep "|$bookmark_name$" "$bookmarks_file")"
|
||||
if [[ -z $bookmark ]]; then
|
||||
echo "Invalid name, please provide a valid bookmark name. For example:"
|
||||
echo " go foo"
|
||||
echo
|
||||
echo "To bookmark a folder, go to the folder then do this (naming the bookmark 'foo'):"
|
||||
echo " bookmark foo"
|
||||
else
|
||||
dir="${bookmark%%|*}"
|
||||
cd "${dir}"
|
||||
dir=""
|
||||
fi
|
||||
}
|
||||
|
||||
# Show a list of the bookmarks
|
||||
function showmarks() {
|
||||
cat ~/.bookmarks | awk '{ printf "%-40s%-40s%s\n",$1,$2,$3}' FS=\|
|
||||
}
|
||||
|
||||
# manually edit bookmarks
|
||||
function editmarks() {
|
||||
$EDITOR $bookmarks_file
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue