blob: 5d2d2396c69fbb433b680d257bf8201e3503c6fe (
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
|
#!/bin/sh
THEME='tomorrow'
VARIANT='dark'
CONFIG_LOCS="/etc/default/base16"
. /etc/default/base16
if [ -e "$HOME/.config/base16.conf" ]; then
. $HOME/.config/base16.conf
CONFIG_LOCS+=" $HOME/.config/base16.conf"
fi
if [ -n "$XDG_CONFIG_HOME" ] && [ -e "$XDG_CONFIG_HOME/base16.conf" ]; then
. $XDG_CONFIG_HOME/base16.conf
CONFIG_LOCS+="$XDG_CONFIG_HOME/base16.conf"
fi
BASEDIR="/usr/share/base16"
# Perform validity checks on themes
if [ -z $(cat $BASEDIR/index | grep $THEME) ]; then
echo "Theme $THEME does not exist! Check one of: $CONFIG_LOCS"
exit 2
fi
case "$VARIANT" in
light|dark)
;;
*)
echo "Variant must be either light or dark! You provided $VARIANT"
exit 2
;;
esac
# Now we get to the actual input
if [ $# -lt 2 ]; then
echo "Not enough arguments! Usage: $0 <template> <extension>"
exit 1
fi
TEMPLATE=$1
EXTENSION="$2"
if [ ! -d "$BASEDIR/$TEMPLATE" ]; then
echo "Template $TEMPLATE is not valid. Valid templates are ${/opt/base16/*}"
exit 2
fi
FILE="$BASEDIR/$TEMPLATE/base16-${THEME}.${VARIANT}.${EXTENSION}"
# Handle some formats where the editor controls variant, like vim. This might warrant extra handling in the future (for editor configs?)
NOVARIANT_FILE="$BASEDIR/$TEMPLATE/base16-$THEME.$EXTENSION"
if [ ! -e "$FILE" ]; then
if [ -e "$NOVARIANT_FILE" ]; then
echo $NOVARIANT_FILE
else
echo "File $FILE does not exist. Check theme, variant, and extension!"
exit 2
fi
else
echo $FILE
fi
|