summaryrefslogtreecommitdiff
path: root/scripts/jv_cli.sh
blob: d732d9539ef75b6883c4e9cb3624748dfc824df4 (plain)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/bin/bash
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"

##############
### CONFIG ###
##############

# Use JV_LANG to set CLI language
# Supported: en, zh-CN
# export JV_LANG=en

# Use JV_AUTO_UPDATE to set auto content update (yes/no)
# After local operations that change Upstream Vault content
# Next `jv` command will auto-run `jv update`
export JV_AUTO_UPDATE=yes

# Use JV_OUTDATED_MINUTES to set the expiration time (in minutes), requires JV_AUTO_UPDATE to be enabled
# Next time the `jv` command is used, if the content is outdated, `jv update` will be automatically executed
# When the set number is < 0, timeout-based update is disabled
# When the set number = 0, update runs every time (not recommended)
# When the set number > 0, update according to the specified time
# If not set, the default is -1
# export JV_OUTDATED_MINUTES=5

# Use JV_TEXT_EDITOR to set text editor for `jv track --work` `jv align --work`
# DEFAULT: $EDITOR environment variable, falling back to "jvii" if not set
# export JV_TEXT_EDITOR=nano

###############
### ALIASES ###
###############

# Disable glob expansion for jv commands across shells
if [ -n "$BASH_VERSION" ]; then # Bash
    alias jv='set -f; command jv; set +f'
    alias jvt='set -f; command jv track; set +f'
    alias jmv='set -f; command jv move; set +f'
elif [ -n "$ZSH_VERSION" ]; then # Zsh
    alias jv='noglob jv'
    alias jvt='noglob jv track'
    alias jmv='noglob jv move'
elif [ -n "$FISH_VERSION" ]; then # Fish
    function jv {
        command jv $@
    }
    function jvt {
        command jv track $@
    }
    function jmv {
        command jv move $@
    }
fi

alias jvh='jv here'
alias jvu='jv update'

##################
### COMPLETION ###
##################

if [ -f "$SCRIPT_DIR/completions/bash/completion_jv.sh" ]; then
    source "$SCRIPT_DIR/completions/bash/completion_jv.sh"
fi
if [ -f "$SCRIPT_DIR/completions/bash/completion_jvv.sh" ]; then
    source "$SCRIPT_DIR/completions/bash/completion_jvv.sh"
fi

##################
### ENVIREMENT ###
##################

if [ -d "$SCRIPT_DIR/bin" ]; then
    export PATH="$SCRIPT_DIR/bin:$PATH"
fi