aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authoruser <user@clank>2026-08-18 21:26:00 +0200
committeruser <user@clank>2026-08-18 21:26:00 +0200
commitb9e53cace4eb75263077df8623b011e66f5f2241 (patch)
tree78e4dfb23f5d1881dc7bfe9e4c96fd543bdfab0b /Makefile
parentsl0ppty: aim the top handle at the middle, and stop ruling through the row (diff)
downloadslosh-b9e53cace4eb75263077df8623b011e66f5f2241.tar.gz
slosh-b9e53cace4eb75263077df8623b011e66f5f2241.tar.xz
slosh-b9e53cace4eb75263077df8623b011e66f5f2241.zip
slosh: rename the project from sl0ppty
sl0p + pty was error-prone to type and the zero made it worse; slosh (slop + sh) is one syllable, impossible to typo, and slosh.foo is ours. Mechanical rename everywhere it appears: binary, env vars (SLOSH, SLOSH_SESSION, SLOSH_BIN, SLOSH_CONFIG), socket dir (/tmp/slosh-<uid>, $XDG_RUNTIME_DIR/slosh), config path (~/.config/slosh), header guards, src/sl0ppty.h -> src/slosh.h, contrib/sl0ppty-dev -> contrib/slosh-dev, the driving-slosh skill, docs and tests. The sl0ppi fork references and the sl0p theme stay: one is history, the other is the brand. The rename surfaced a latent bug in test_osc5577: the hello-reply answer always appeared on screen twice (ECHOCTL echo plus cat -v), but a seven-character implementation name happened to wrap the second copy across the 60-column boundary, so counting substrings in wrapped text found one and passed for the wrong reason. A five-character name moved the wrap and exposed it. The loop guard itself is correct -- with echo off before the request there is exactly one reply -- so the test now counts on de-wrapped text and tolerates the pane's own echo.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile20
1 files changed, 10 insertions, 10 deletions
diff --git a/Makefile b/Makefile
index 98a1b59..14c5c98 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-# sl0ppty — see DESIGN.md
+# slosh — see DESIGN.md
#
# zig is the C compiler: it is already required to build libghostty-vt, and it
# gives us static musl linking and cross-compilation for free (D12).
@@ -27,7 +27,7 @@ LDFLAGS :=
SRC := $(wildcard src/*.c)
OBJ := $(SRC:src/%.c=build/%.o)
DEPS := $(OBJ:.o=.d)
-BIN := build/sl0ppty
+BIN := build/slosh
# One stamp per python test file. The stamp depends on the file, the harness and
# the binary, so an untouched test whose binary has not changed does not run
@@ -60,7 +60,7 @@ help: ## show this
@grep -hE '^[a-z-]+:.*##' $(MAKEFILE_LIST) | sed 's/:.*##/\t/' | expand -t20
@printf '\n%-19s %s\n' 'V=1' 'show the command lines rather than [CC] src/app.c'
-all: $(BIN) ## build sl0ppty
+all: $(BIN) ## build slosh
$(BIN): $(OBJ) $(VT_LIB)
$(call say,[LD],$@)
@@ -81,7 +81,7 @@ build/png.o: src/png.c build/version.h $(VT_LIB) | build
# rebuilds, and `make` twice in a row does not.
.PHONY: FORCE
build/version.h: FORCE | build
- @printf '/* generated by the Makefile */\n#define SL0PPTY_VERSION "%s+%s"\n' \
+ @printf '/* generated by the Makefile */\n#define SLOSH_VERSION "%s+%s"\n' \
'$(VERSION)' '$(GITDESC)' > $@.tmp
@cmp -s $@.tmp $@ || mv $@.tmp $@
@rm -f $@.tmp
@@ -178,7 +178,7 @@ test-live: $(BIN) ## the checks that need a real tty (slow)
test-all: test test-live ## everything
smoke: $(BIN) ## compose a screen headlessly and print it
- ./$(BIN) --headless --cols 40 --rows 12 -- /bin/sh -c 'printf "hello \033[1;32msl0ppty\033[0m\n"; echo "wide: 日本語"'
+ ./$(BIN) --headless --cols 40 --rows 12 -- /bin/sh -c 'printf "hello \033[1;32mslosh\033[0m\n"; echo "wide: 日本語"'
docs: ## render docs/ into build/docs (no dependencies; open build/docs/index.html)
$(Q)python3 contrib/gen-docs build/docs
@@ -190,7 +190,7 @@ run: $(BIN) ## build and run
#
# A second build, with gcc instead of zig, because the counters need a gcov
# that matches the compiler and gcov is what this machine has. It lives in
-# build/cov and touches nothing else; $SL0PPTY_BIN is how the same suite drives
+# build/cov and touches nothing else; $SLOSH_BIN is how the same suite drives
# it. `-O0` because optimised line counts are a work of fiction.
COV_DIR := build/cov
COV_SRC := $(wildcard src/*.c)
@@ -205,7 +205,7 @@ $(COV_DIR)/%.o: src/%.c build/version.h | $(COV_DIR)
$(COV_DIR):
@mkdir -p $(COV_DIR)
-$(COV_DIR)/sl0ppty: $(COV_OBJ) $(VT_LIB)
+$(COV_DIR)/slosh: $(COV_OBJ) $(VT_LIB)
$(call say,[LD],$@)
$(Q)$(COV_CC) --coverage $(COV_OBJ) $(VT_LIB) -o $@
@@ -230,16 +230,16 @@ $(COV_DIR)/expr_test: tests/expr_test.c $(COV_DIR)/expr.o
$(call say,[LD],$@)
$(Q)$(COV_CC) $(COV_FLAGS) $^ -o $@
-coverage: $(COV_DIR)/sl0ppty $(COV_UNITS) ## how much of the code the tests run
+coverage: $(COV_DIR)/slosh $(COV_UNITS) ## how much of the code the tests run
@rm -f $(COV_DIR)/*.gcda
@for u in $(COV_UNITS); do ./$$u >/dev/null || echo " (failed: $$u)"; done
@echo "running the suite against the coverage build..."
@for t in $(PY_TESTS); do \
- (cd tests && SL0PPTY_BIN=../$(COV_DIR)/sl0ppty timeout 300 python3 $$t >/dev/null 2>&1) \
+ (cd tests && SLOSH_BIN=../$(COV_DIR)/slosh timeout 300 python3 $$t >/dev/null 2>&1) \
|| echo " (failed: $$t)"; \
done
@for t in test_session.py live_m0.py live_input.py live_reload.py; do \
- (cd tests && SL0PPTY_BIN=../$(COV_DIR)/sl0ppty timeout 300 python3 $$t >/dev/null 2>&1) \
+ (cd tests && SLOSH_BIN=../$(COV_DIR)/slosh timeout 300 python3 $$t >/dev/null 2>&1) \
|| echo " (failed: $$t)"; \
done
@contrib/coverage