summaryrefslogtreecommitdiff
path: root/halfway/functions.zsh
blob: 54c813b820faa05a721763cec0a93f92e5b2d3c4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Creates the given directories and then moves to the first one.
mkcd() {
    mkdir -p "$@";
    cd "$1";
}

# Create python directories with __init__.py.
mkdirpython() {
    mkdir -p "$@";
    local directory
    for directory in "$@";
    do touch "$directory/__init__.py";
    done;
}

# Switch from the current directory to the equivalent directory on another drive.
sd() {
    local wd="$(pwd)";
    wd="${wd/"$1"/"$2"}";
    printf %s\\n "$wd";
    cd "$wd";
}

# Copy the current directory to the clipboard.
pcopy() {
    printf %s "$(pwd)" | cclip
    pwd
}

vinfo() {
    INFOPATH="$XDG_DATA_HOME/info:$INFOPATH" $EDITOR -R -M -c "Info $@" +only
}

vn3() {
    if [ "$#" -gt 0 ]; then
        local direc="$(printf %q "$1")"
        shift
        $EDITOR -c "NnnExplorer $direc" "$@"
    else
        $EDITOR -c NnnExplorer
    fi
}

# https://github.com/ohmyzsh/ohmyzsh/blob/8487a55/lib/cli.zsh#L625
src () {
    # Delete current completion cache
    command rm -f $_comp_dumpfile $ZSH_COMPDUMP

    # Old zsh versions don't have ZSH_ARGZERO
    local zsh="${ZSH_ARGZERO:-${functrace[-1]%:*}}"
    # Check whether to run a login shell
    [[ "$zsh" = -* || -o login ]] && exec -l "${zsh#-}" || exec "$zsh"
}