zsh-navigation-tools.plugin.zsh 1.41 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/env zsh

REPO_DIR="${0%/*}"
CONFIG_DIR="$HOME/.config/znt"

#
# Copy configs
#

if ! test -d "$HOME/.config"; then
    mkdir "$HOME/.config"
fi

if ! test -d "$CONFIG_DIR"; then
    mkdir "$CONFIG_DIR"
fi

Sebastian Gniazdowski's avatar
Sebastian Gniazdowski committed
18
# 9 files
19
20
set n-aliases.conf n-env.conf n-history.conf n-list.conf n-panelize.conf n-cd.conf n-functions.conf n-kill.conf n-options.conf

Sebastian Gniazdowski's avatar
Sebastian Gniazdowski committed
21
22
23
24
25
26
27
28
29
30
31
32
# Check for random 2 files if they exist
# This will shift 0 - 7 elements
shift $(( RANDOM % 8 ))
if ! test -f "$CONFIG_DIR/$1" || ! test -f "$CONFIG_DIR/$2"; then
    # Something changed - examine every file
    set n-aliases.conf n-env.conf n-history.conf n-list.conf n-panelize.conf n-cd.conf n-functions.conf n-kill.conf n-options.conf
    for i; do
        if ! test -f "$CONFIG_DIR/$i"; then
            cp "$REPO_DIR/.config/znt/$i" "$CONFIG_DIR"
        fi
    done
fi
33

34
35
36
# Don't leave positional parameters being set
set --

37
38
39
40
#
# Load functions
#

Sebastian Gniazdowski's avatar
Sebastian Gniazdowski committed
41
autoload n-aliases n-cd n-env n-functions n-history n-kill n-list n-list-draw n-list-input n-options n-panelize n-help
42
43
autoload znt-usetty-wrapper znt-history-widget znt-cd-widget znt-kill-widget
alias naliases=n-aliases ncd=n-cd nenv=n-env nfunctions=n-functions nhistory=n-history
Sebastian Gniazdowski's avatar
Sebastian Gniazdowski committed
44
alias nkill=n-kill noptions=n-options npanelize=n-panelize nhelp=n-help
45
46
47
48

zle -N znt-history-widget
bindkey '^R' znt-history-widget
setopt AUTO_PUSHD HIST_IGNORE_DUPS PUSHD_IGNORE_DUPS
Sebastian Gniazdowski's avatar
Sebastian Gniazdowski committed
49
zstyle ':completion::complete:n-kill::bits' matcher 'r:|=** l:|=*'
50