1DOLLY 72PACKAGE vi3REQUIRES HOST runtime@0456789FROM /v0.1.4/Dollyfile-system-tools 7f6c86fcc73e544e7007646eba2718bbc4d43b7f0516d9558e2dc500b1a05a801011REQUIRES HEADER libc12REQUIRES TOOL cc13REQUIRES TOOL ln14REQUIRES TOOL make15REQUIRES TOOL mkdir16REQUIRES TOOL printf17REQUIRES TOOL sed18REQUIRES TOOL tar19REQUIRES TOOL test2021SOURCE /v0.1.4/dist/static/tools/neatvi.tar 46da6486814546d4b020784571bb1a750d279dc3a128fdd4d5e99a66454cfca3 /tmp/neatvi.tar22SLOP tar -xf /tmp/neatvi.tar -C /23242526FILE /tmp/neatvi/enter.h2728 static ssize_t read_enter(int fd, void *bytes, size_t size) {29 ssize_t count = read(fd, bytes, size);30 for (ssize_t at = 0; at < count; at++) {31 if (((char *)bytes)[at] == '\r') ((char *)bytes)[at] = '\n';32 }33 return count;34 }3536FILE /tmp/vi.mk37 .RECIPEPREFIX := >38 S := /tmp/neatvi39 BIN := /usr/bin40 NAMES := vi ex lbuf mot sbuf ren dir syn reg led uc term rset rstr regex cmd tag conf lsp json41 $(BIN)/vi: $(addprefix $S/,$(addsuffix .o,$(NAMES)))42 >cc $^ -o $@43 $S/term.o: CFLAGS := -include $S/enter.h44 $S/%.o: $S/%.c $S/vi.h $S/conf.h $S/kmap.h45 >cc -O2 $(CFLAGS) -c $< -o $@46SLOP make -j4 -f /tmp/vi.mk47SLOP ln -s vi /usr/bin/ex484950SLOP mkdir -p /usr/share/licenses/vi51SLOP sed -n 2,16p /tmp/neatvi/vi.c > /usr/share/licenses/vi/LICENSE5253SLOP printf 'one\ntwo\n' > /tmp/vi-check && printf '%s\n' '%s/two/2/' 'w' 'q' | ex -s /tmp/vi-check > /dev/null && test "$(sed -n 2p /tmp/vi-check)" = 25455EXPORTS TOOL vi56EXPORTS TOOL ex57FILE /usr/share/licenses/vi/LICENSE58FILE /usr/share/doc/vi/README59FILE /usr/share/man/cat1/vi.160 vi, ex: Neatvi, a small vi with an ex mode, from upstream's files unchanged.61 62 vi FILE... edits the files63 ex FILE... edits them in ex mode64 :wq writes and leaves; :q! leaves without writing.65 66 It draws with escape sequences of its own and needs no terminal database.67 What starts another program (:!, a filter through a command, a language68 server) needs fork, which Dolly does not have: it fails and says so.69 Upstream's README lists the commands and options: /usr/share/doc/vi/README.70