Cleaned up utilties. Extracted notetaker to it's own module

This commit is contained in:
Wryn Wagner 2020-10-08 17:39:36 -06:00
parent 0f2c127cb8
commit 2def6a5439
2 changed files with 114 additions and 30 deletions

82
zsh/notetaker Normal file
View File

@ -0,0 +1,82 @@
#!/bin/zsh
#
alias note="TAKE_NOTE_OR_MEMO note"
alias memo="TAKE_NOTE_OR_MEMO memo"
alias memos="TAKE_NOTE_OR_MEMO viewmemos"
function TAKE_NOTE_OR_MEMO() {
local FILENAME="$2";
local MEMO_DIR="$HOME/.memos";
local FILETYPE='md';
local DIR="";
local TITLE="$FILENAME";
local ADD_EDITOR_ARGS=0;
local EDITOR_ARGS='';
local ERROR_CODE=0;
case $1 in
viewmemos )
[ -d $MEMO_DIR ] || {
echo "unable to find any memos; try to make a memo first";
ERROR_CODE=1;
}
DIR="$MEMO_DIR"
FILENAME='';
;;
memo )
[ -d $MEMO_DIR ] || {
mkdir $MEMO_DIR || {
echo "unable to find or create memo directory '$MEMO_DIR'"
ERROR_CODE=2;
}
}
DIR="$MEMO_DIR"
[ $FILENAME ] && FILENAME="$FILENAME.$FILETYPE"\
|| {
for i in {001..999}; do
TITLE="$i";
FILENAME="$i.$FILETYPE";
[ ! -f "$MEMO_DIR/$i.$FILETYPE" ] && break;
done
}
ADD_EDITOR_ARGS=1;
;;
note )
DIR="."
[ $FILENAME ] || {
FILENAME="$(date -I)-notes";
TITLE='Notes';
ADD_EDITOR_ARGS=1;
}
FILENAME="$FILENAME.$FILETYPE"
;;
* )
echo "please specify whether this is an in-place 'note' or a general 'memo'";
ERROR_CODE=3;
;;
esac
[ $ERROR_CODE -ne 0 ] && {
echo 'syntax: `TAKE_NOTE_OR_MEMO [ note | memo | viewmemos ] [ filename ]`';
return $ERROR_CODE;
}
[ $ADD_EDITOR_ARGS -ne 0 ] && {
DATESTRING="$(date '+%A, %B %-d, %Y')"
[ $EDITOR == 'vim' ] && EDITOR_ARGS='-c "normal! i# $TITLE :: $DATESTRING"';
}
eval "$EDITOR $EDITOR_ARGS $DIR/$FILENAME";
}

View File

@ -1,26 +1,45 @@
#!/bin/zsh
# --- Shortcuts for quick ARANDR switch -----------------------
alias undock="$DOTWRYN/config/xserver/screenlayout/undock.sh";
alias workdock="$DOTWRYN/config/xserver/screenlayout/workdock.sh";
alias homedock="$DOTWRYN/config/xserver/screenlayout/homedock_hdmionly.sh";
alias hdmidock="$DOTWRYN/config/xserver/screenlayout/hdmidock.sh";
# --- Basic Alias ---------------------------------------------
alias pd='pushd';
alias qd='popd';
alias lspd='dirs';
alias pdo='pwd | xclip'; # [p]aste current [d]irectory [o]n clipboard
alias cdo='cd $(xclip -o)'; # [cd] to directory [o]n clipboard
alias color_demo='msgcat --color=test'
# --- Note-taking facilitated ---------------------------------
NOTE_PATH='/Users/w0ryn/Documents/notes';
NOTE_EXTENSION='.txt';
alias mynotes='cd $NOTE_PATH';
function note() { vim $NOTE_PATH/$1$NOTE_EXTENSION; }
function notes() { NOTE="$NOTE_PATH/$1$NOTE_EXTENSION"; [ $1 ] && [ -f $NOTE ] && vim $NOTE || vim $NOTE_PATH; }
# --- GIT -----------------------------------------------------
alias gitbranchcleanup='git branch -d $(git branch | sed -E "/develop|master|\*/d")'
alias fix='vim $(git diff --name-only | uniq) -p';
alias github="OPEN_CURRENT_GIT_REPOSITORY_IN_WEB_BROWSER"
OPEN_CURRENT_GIT_REPOSITORY_IN_WEB_BROWSER() {
local REMOTE;
[ $1 ] && REMOTE="$1" || REMOTE="origin";
alias monitor_connection='MONITOR_GLOBAL_INTERNET_CONNECTION';
git remote get-url $REMOTE >/dev/null 2>&1 || {
echo "no remote called '$REMOTE' here";
return 1;
}
local URL="$(git remote get-url $REMOTE | sed 's/git@\([^:]*\):/http:\/\/\1\//')"
xdg-open $URL;
}
MONITOR_GLOBAL_INTERNET_CONNECTION() {
# --- Miscellaneous -------------------------------------------
alias rgv='EDIT_RIP_GREP_FILE_MATCHES';
EDIT_RIP_GREP_FILE_MATCHES() {
[ $EDITOR = "vim" ] \
&& $EDITOR -p $(rg -l $1) \
|| $EDITOR $(rg -l $1) ;
}
alias monitor_connection='PING_MONITOR_GLOBAL_INTERNET_CONNECTION';
PING_MONITOR_GLOBAL_INTERNET_CONNECTION() {
local DELIMITER="\n==============================\n";
local CONNECTION_MONITOR_FILE="$HOME/.local/connection"
@ -44,20 +63,3 @@ MONITOR_GLOBAL_INTERNET_CONNECTION() {
sleep 30;
done;
}
alias pd='pushd';
alias qd='popd';
alias ds='dirs';
alias cdo='cd $(xclip -o)';
alias pdo='pwd | xclip';
alias rgv='EDIT_RIP_GREP_FILE_MATCHES';
EDIT_RIP_GREP_FILE_MATCHES() {
[ $EDITOR = "vim" ] \
&& $EDITOR -p $(rg -l $1) \
|| $EDITOR $(rg -l $1) ;
}
alias color_demo='msgcat --color=test'