#!/usr/bin/env bash
# Install fish
apt install -y fish 
mkdir -p ~/.config/fish
# wget -c --directory-prefix ~/.config/fish https://raw.githubusercontent.com/Netherdrake/Dotfiles/master/config/fish/config.fish 

cat > ~/.config/fish/config.fish << 'EOF'
set fish_greeting ""
bind \ct kill-word

function fish_prompt
  set_color $fish_color_cwd
  echo -n (prompt_pwd)
  set_color normal
  echo -n ' % '
end

function inst
  sudo apt update
  sudo apt install $argv
end

function update
  sudo apt update
end

function upgrade
  sudo apt update
  sudo apt upgrade
end

function updateall
  sudo apt update
  sudo apt upgrade
  vim +BundleUpdate
end

function vimu
  vim +BundleUpdate
end

function dlaudio
    youtube-dl -f bestaudio --extract-audio --audio-format mp3 $argv
end

function gvm
    bash -c '. ~/.gvm/bin/gvm-init.sh; gvm "$@"' gvm $argv
end

function mdfind
    echo $argv
    find ~/ -name $argv
end

function Mdfind
    sudo find / -name $argv
end

function r
    eval $argv > /dev/null 2>&1 &
end

function sr
    eval $argv > /dev/null 2>&1 &
end

function transfer
    if test (count $argv) -eq 0
        echo "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md"
        return 1
    end

    ## get temporarily filename, output is written to this file show progress can be showed
    set tmpfile ( mktemp -t transferXXX )

    ## upload stdin or file
    set file $argv[1]

    #if tty -s;
    #then
        set basefile (basename "$file" | sed -e 's/[^a-zA-Z0-9._-]/-/g')

    #    if [ ! -e $file ];
    #    then
    #        echo "File $file doesn't exists."
    #        return 1
    #    fi

        if test -d $file
            # zip directory and transfer
            set zipfile ( mktemp -t transferXXX.zip )
            # echo (dirname $file)
            #cd (dirname $file) and echo (pwd)
            zip -r -q - $file >> $zipfile
            curl --progress-bar --upload-file "$zipfile" "https://transfer.sh/$basefile.zip" >> $tmpfile
            rm -f $zipfile
        else
            # transfer file
            curl --progress-bar --upload-file "$file" "https://transfer.sh/$basefile" >> $tmpfile
        end
    #else
    #    # transfer pipe
    #    curl --progress-bar --upload-file "-" "https://transfer.sh/$file" >> $tmpfile
    #fi

    ## cat output link
    cat $tmpfile

    ## cleanup
    rm -f $tmpfile
end

alias subl "subl3"
alias vim "nvim"

set fish_function_path $fish_function_path "/usr/share/powerline/bindings/fish"
powerline-setup.fish
EOF

echo 'set fish_function_path $fish_function_path "/usr/share/powerline/bindings/fish"' >> ~/.config/fish/config.fish 
echo 'powerline-setup.fish' >> ~/.config/fish/config.fish
