aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2019-09-30 15:46:24 -0700
committerBruce Hill <bruce@bruce-hill.com>2019-09-30 15:46:24 -0700
commit7a666d519556e9c7bf510d71565793978e7beba0 (patch)
treede0fdab0d45729219e7ba40c0c325df050bd2e83 /Makefile
parente341f51dc62af41494a8618ad8e8c31632e93053 (diff)
Overhaul of how binding commands works. It's now all handled through
bbstartup.sh, which loads bindings.bb and parses it to +bind:<keys>:<script> commands.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile49
1 files changed, 26 insertions, 23 deletions
diff --git a/Makefile b/Makefile
index e3ce213..2d46459 100644
--- a/Makefile
+++ b/Makefile
@@ -22,21 +22,21 @@ ifeq (, $(PICKER))
PICKER=$(shell sh -c "(which fzy >/dev/null 2>/dev/null && echo 'fzy') || (which fzf >/dev/null 2>/dev/null && echo 'fzf') || (which pick >/dev/null 2>/dev/null && echo 'pick') || (which ask >/dev/null 2>/dev/null && echo 'ask')")
endif
ifneq (, $(PICKER))
- PICKER_FLAG=-D"PICK(prompt)=\"$(PICKER)\""
+ PICKER_FLAG=-D"PICK=\"$(PICKER) --prompt=\\\"$$1\\\"\""
ifeq ($(shell which $(PICKER)),$(shell which fzy 2>/dev/null || echo '<none>'))
- PICKER_FLAG=-D'PICK(prompt)="{ printf \"\\033[3A\" >/dev/tty; fzy --lines=3 --prompt=\"\033[1m" prompt "\033[0m\"; }"'
+ PICKER_FLAG=-D'PICK="printf \"\\033[3A\" >/dev/tty; fzy --lines=3 --prompt=\"\033[1m$$1\033[0m\""'
endif
ifeq ($(shell which $(PICKER)),$(shell which fzf 2>/dev/null || echo '<none>'))
- PICKER_FLAG=-D'PICK(prompt)="{ printf \"\\033[3A\" >/dev/tty; fzf --height=4 --prompt=\"" prompt "\"; }"'
+ PICKER_FLAG=-D'PICK="printf \"\\033[3A\" >/dev/tty; fzf --height=4 --prompt=\"$$1\""'
endif
ifeq ($(shell which $(PICKER)),$(shell which ask 2>/dev/null || echo '<none>'))
- PICKER_FLAG=-D'PICK(prompt)="ask --prompt=\"" prompt "\""'
+ PICKER_FLAG=-D'PICK="/usr/bin/env ask --prompt=\"$$1\""'
endif
ifeq ($(shell which $(PICKER)),$(shell which pick 2>/dev/null || echo '<none>'))
- PICKER_FLAG=-D'PICK(prompt)="pick"'
+ PICKER_FLAG=-D'PICK="pick"'
endif
ifeq ($(shell which $(PICKER)),$(shell which dmenu 2>/dev/null || echo '<none>'))
- PICKER_FLAG=-D'PICK(prompt)="dmenu -i -l 10 -p \"" prompt "\""'
+ PICKER_FLAG=-D'PICK="dmenu -i -l 10 -p \"$$1\""'
endif
endif
CFLAGS += $(PICKER_FLAG)
@@ -44,11 +44,11 @@ CFLAGS += $(PICKER_FLAG)
ifneq (, $(ASKER))
PERCENT := %
ifeq ($(shell which $(ASKER)),$(shell which ask 2>/dev/null || echo '<none>'))
- CFLAGS += -D'ASK(var, prompt, initial)=var "=\"$$(ask --history=bb."STRINGIFY(__COUNTER__)".hist --prompt=\"" prompt "\" --query=\"" initial "\")\""'
- CFLAGS += -D'CONFIRM(action, files)=" { printf \"$(PERCENT)s\\n\" \""B(action)"\" \""files"\" | more; ask -n \"Is that okay?\"; } "'
+ CFLAGS += -D'ASK="eval \"$$1=\\$$(/usr/bin/env ask --history=bb.hist --prompt=\\\"$$2\\\" --query=\\\"$$3\\\")\""'
+ CFLAGS += -D'CONFIRM="/usr/bin/env ask -n \"Is that okay?\""'
endif
ifeq ($(shell which $(ASKER)),$(shell which dmenu 2>/dev/null || echo '<none>'))
- CFLAGS += -D'ASK(var, prompt, initial)=var "=\"$$(printf \"" initial "\" | dmenu -p \"" prompt "\")\""'
+ CFLAGS += -D'ASK="eval \"$$1=\\$$(echo \"$$3\" | dmenu -p \"$$2\")\""'
endif
endif
@@ -65,24 +65,27 @@ $(NAME): $(NAME).c bterm.h config.h
install: $(NAME)
@prefix="$(PREFIX)"; \
- if test -z $$prefix; then \
- read -p $$'\033[1mWhere do you want to install? (default: /usr/local) \033[0m' prefix; \
+ if [ ! "$$prefix" ]; then \
+ printf '\033[1mWhere do you want to install? (default: /usr/local) \033[0m'; \
+ read prefix; \
fi; \
- if test -z $$prefix; then \
- prefix="/usr/local"; \
- fi; \
- mkdir -pv $$prefix/bin $$prefix/share/man/man1 \
- && cp -v $(NAME) $$prefix/bin/ \
- && cp -v $(NAME).1 $$prefix/share/man/man1/
+ [ ! "$$prefix" ] && prefix="/usr/local"; \
+ [ ! "$$sysconfdir" ] && sysconfdir=/etc; \
+ mkdir -m 700 -pv "$$prefix/bin" "$$prefix/share/man/man1" "$$sysconfdir/bb" \
+ && cp -v $(NAME) "$$prefix/bin/" \
+ && cp -v $(NAME).1 "$$prefix/share/man/man1/" \
+ && cp -v bbstartup.sh bindings.bb "$$sysconfdir/bb/"
uninstall:
@prefix="$(PREFIX)"; \
- if test -z $$prefix; then \
- read -p $$'\033[1mWhere do you want to uninstall from? (default: /usr/local) \033[0m' prefix; \
- fi; \
- if test -z $$prefix; then \
- prefix="/usr/local"; \
+ if [ ! "$$prefix" ]; then \
+ printf '\033[1mWhere do you want to uninstall from? (default: /usr/local) \033[0m'; \
+ read prefix; \
fi; \
+ [ ! "$$prefix" ] && prefix="/usr/local"; \
+ [ ! "$$sysconfdir" ] && sysconfdir=/etc; \
+ [ ! "$$XDG_CONFIG_HOME" ] && XDG_CONFIG_HOME=~/.config; \
echo "Deleting..."; \
- rm -rvf $$prefix/bin/$(NAME) $$prefix/share/man/man1/$(NAME).1
+ rm -rvf "$$prefix/bin/$(NAME)" "$$prefix/share/man/man1/$(NAME).1" "$$sysconfdir/bb"; \
+ printf '\033[1mIf you created any config files in $$XDG_CONFIG_HOME/bb, you may want to delete them manually.\033[0m'