From 92bb863f891ff0d31c9e20aa2762541dace2881f Mon Sep 17 00:00:00 2001 From: Colin Powell Date: Fri, 20 Aug 2021 09:45:32 -0400 Subject: [PATCH] [fish] Updating gitnow and adding ffsftp func --- fish/.config/fish/conf.d/gitnow.fish | 49 +++++++++++++++---- .../fish/conf.d/plugin-direnv_init.fish | 8 +++ fish/.config/fish/fish_variables | 2 +- fish/.config/fish/fishfile | 1 + fish/.config/fish/functions/ffsftp.fish | 6 +++ 5 files changed, 55 insertions(+), 11 deletions(-) create mode 100644 fish/.config/fish/conf.d/plugin-direnv_init.fish create mode 100644 fish/.config/fish/functions/ffsftp.fish diff --git a/fish/.config/fish/conf.d/gitnow.fish b/fish/.config/fish/conf.d/gitnow.fish index b50976f..fd6373c 100644 --- a/fish/.config/fish/conf.d/gitnow.fish +++ b/fish/.config/fish/conf.d/gitnow.fish @@ -131,7 +131,7 @@ function pull -d "Gitnow: Pull changes from remote server but stashing uncommitt echo "⚡️ Pulling changes..." - set -l xdefaults --rebase --autostash + set -l xdefaults --rebase --autostash --tags if test $len -gt 2 set xcmd $argv @@ -176,17 +176,41 @@ function push -d "Gitnow: Push commit changes to remote repository" set -l xorigin (__gitnow_current_remote) set -l xbranch (__gitnow_current_branch_name) - echo "🚀 Pushing changes..." if test (count $opts) -eq 0 set opts $xorigin $xbranch set -l xremote_url (command git config --get "remote.$xorigin.url") + echo "🚀 Pushing changes..." echo "Mode: Auto" echo "Remote URL: $xorigin ($xremote_url)" echo "Remote branch: $xbranch" else - echo "Mode: Manual" + set -l v_mode "auto" + + for v in $argv + switch $v + case -t --tags + set opts $xorigin $xbranch --follow-tags + set -l xremote_url (command git config --get "remote.$xorigin.url") + + echo "🚀 Pushing changes..." + echo "Mode: Auto (incl. tags)" + echo "Remote URL: $xorigin ($xremote_url)" + echo "Remote branch: $xbranch" + case -h --help + echo "NAME" + echo " Gitnow: push - Push current branch to default origin" + echo "OPTIONS:" + echo " -t --tags (auto mode) include annotated tags that relate to the commits" + echo " -h --help Show information about the options for this command" + return + case -\* + case '*' + set -l v_mode "manual" + echo "Mode: Manual" + end + end end echo @@ -471,6 +495,8 @@ function tag -d "Gitnow: Tag commits following Semver" set -l v_preminor set -l v_prepatch + set -l opts + # NOTE: this function only gets the latest *Semver release version* but no suffixed ones or others set -l v_latest (__gitnow_get_latest_semver_release_tag) @@ -482,6 +508,8 @@ function tag -d "Gitnow: Tag commits following Semver" set v_minor $v case -z --patch set v_patch $v + case -a --annotate + set opts $opts $v # TODO: pre-release versions are not supported yet # case -a --premajor @@ -513,6 +541,7 @@ function tag -d "Gitnow: Tag commits following Semver" echo " -y --minor Tag auto-incrementing a minor version number" echo " -z --patch Tag auto-incrementing a patch version number" echo " -l --latest Show only the latest Semver release tag version (no suffixed ones or others)" + echo " -a --annotate Create as annotated tag" echo " -h --help Show information about the options for this command" # TODO: pre-release versions are not supported yet @@ -528,7 +557,7 @@ function tag -d "Gitnow: Tag commits following Semver" end # List all tags in a lexicographic order and treating tag names as versions - if test -z $argv + if test -z "$argv" __gitnow_get_tags_ordered return end @@ -536,7 +565,7 @@ function tag -d "Gitnow: Tag commits following Semver" # Major version tags if test -n "$v_major" if not test -n "$v_latest" - command git tag v1.0.0 + command git tag $opts v1.0.0 echo "First major tag \"v1.0.0\" was created." return else @@ -553,7 +582,7 @@ function tag -d "Gitnow: Tag commits following Semver" set x (__gitnow_increment_number $x) set -l xyz "$prefix$x.0.0" - command git tag $xyz + command git tag $opts $xyz echo "Major tag \"$xyz\" was created." return end @@ -563,7 +592,7 @@ function tag -d "Gitnow: Tag commits following Semver" # Minor version tags if test -n "$v_minor" if not test -n "$v_latest" - command git tag v0.1.0 + command git tag $opts v0.1.0 echo "First minor tag \"v0.1.0\" was created." return else @@ -581,7 +610,7 @@ function tag -d "Gitnow: Tag commits following Semver" set y (__gitnow_increment_number $y) set -l xyz "$prefix$x.$y.0" - command git tag $xyz + command git tag $opts $xyz echo "Minor tag \"$xyz\" was created." return end @@ -591,7 +620,7 @@ function tag -d "Gitnow: Tag commits following Semver" # Patch version tags if test -n "$v_patch" if not test -n "$v_latest" - command git tag v0.0.1 + command git tag $opts v0.0.1 echo "First patch tag \"v0.1.0\" was created." return else @@ -613,7 +642,7 @@ function tag -d "Gitnow: Tag commits following Semver" set s (__gitnow_increment_number $s) set -l xyz "$prefix$x.$y.$s" - command git tag $xyz + command git tag $opts $xyz echo "Patch tag \"$xyz\" was created." else echo "No patch version found." diff --git a/fish/.config/fish/conf.d/plugin-direnv_init.fish b/fish/.config/fish/conf.d/plugin-direnv_init.fish new file mode 100644 index 0000000..05e155e --- /dev/null +++ b/fish/.config/fish/conf.d/plugin-direnv_init.fish @@ -0,0 +1,8 @@ +if type -q direnv + function __direnv_export_eval --on-variable PWD + status --is-command-substitution; and return + eval (direnv export fish) + end +else + echo "Install direnv first! Check http://direnv.net" 2>&1 +end diff --git a/fish/.config/fish/fish_variables b/fish/.config/fish/fish_variables index 3bd3e14..3072dff 100644 --- a/fish/.config/fish/fish_variables +++ b/fish/.config/fish/fish_variables @@ -3,7 +3,7 @@ SETUVAR FZF_COMPLETE:3 SETUVAR FZF_DEFAULT_OPTS:\x2d\x2dheight\x2040\x25 SETUVAR FZF_DISABLE_KEYBINDINGS:0 -SETUVAR FZF_LEGACY_KEYBINDINGS:0 +SETUVAR FZF_LEGACY_KEYBINDINGS:1 SETUVAR FZF_PREVIEW_DIR_CMD:ls SETUVAR FZF_PREVIEW_FILE_CMD:head\x20\x2dn\x2010 SETUVAR FZF_TMUX_HEIGHT:40\x25 diff --git a/fish/.config/fish/fishfile b/fish/.config/fish/fishfile index 4f76422..e1ee7f9 100644 --- a/fish/.config/fish/fishfile +++ b/fish/.config/fish/fishfile @@ -7,3 +7,4 @@ oh-my-fish/theme-krisleech lfiolhais/theme-simple-ass-prompt jethrokuan/z jethrokuan/fzf +python diff --git a/fish/.config/fish/functions/ffsftp.fish b/fish/.config/fish/functions/ffsftp.fish new file mode 100644 index 0000000..3f9b516 --- /dev/null +++ b/fish/.config/fish/functions/ffsftp.fish @@ -0,0 +1,6 @@ +function ffsftp +echo "Logging in ... " +curl -k --cookie-jar /tmp/cookie -i -H Content-Type\:\ application/x-www-form-urlencoded -XPOST https\://sftp-workday.five.unbl.ink/mobile/login\?debug_api\=1\&check_signature\=false -d email\=workday\@15five.com\&password\=15five +echo "POSTing CSV file $argv.csv to app ... " +curl -k --cookie /tmp/cookie -i -H Content-Type\:\ application/json -XPOST https\://sftp-workday.five.unbl.ink/sftp/receiver/ -d \{\ \"Records\"\:\ \[\ \{\ \"s3\"\:\ \{\ \"object\"\:\ \{\ \"key\"\:\ \"$argv.csv\"\ \}\ \}\ \}\ \]\ \} +end