diff options
author | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
---|---|---|
committer | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
commit | e5888a1ffdae813d7575f5fb02275c6bb07e5199 (patch) | |
tree | d8d51eac403f07814b9e936eed0c9a79195e2450 /sys/src/cmd/sam/acid.lib |
Import sources from 2011-03-30 iso image
Diffstat (limited to 'sys/src/cmd/sam/acid.lib')
-rwxr-xr-x | sys/src/cmd/sam/acid.lib | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/sys/src/cmd/sam/acid.lib b/sys/src/cmd/sam/acid.lib new file mode 100755 index 000000000..341f34587 --- /dev/null +++ b/sys/src/cmd/sam/acid.lib @@ -0,0 +1,104 @@ +defn saminit() +{ + if !access("/sys/src/cmd/sam/cmd.acid") then + rc("cd /sys/src/cmd/sam && mk cmd.acid"); + include("/sys/src/cmd/sam/cmd.acid"); +} + +defn printrunestring(addr, len) +{ + loop 1,len do { + print(*(addr\r)); + addr = addr+2; + } +} + +defn runestring(addr, len) +{ + local s; + + s = ""; + loop 1,len do { + s = s + *(addr\r); + addr = addr+2; + } + return s; +} + +defn string(s) +{ + complex String s; + return runestring(s.s, s.n); +} + +defn filemenu(f) +{ + complex File f; + local s; + + s = ""; + if f != *cmd then { + if f.mod then + s = s + "'"; + else + s = s + " "; + if f.rasp != 0 then + s = s + "+"; + else + s = s + "-"; + if f == *curfile then + s = s + "."; + else + s = s + " "; + s = s + " "; + } + s = s + string(f.name); + print("file(", f\X, ") // ", s, "\n"); +} + +defn files() +{ + local i, f, fx, fp; + + fx = (List)file; + if fx.nused == 0 then + filemenu(*cmd); + i = 0; + loop 1,fx.nused do { + f = (File)fx.g.filep[i]; + filemenu(f); + i = i+1; + } +} + +defn range(r) +{ + complex Range r; + + if r.p1 == r.p2 then + return itoa(r.p1, "#%d"); + return itoa(r.p1, "#%d")+"-"+itoa(r.p2, "#%d"); +} + +defn file(f) +{ + complex File f; + + filemenu(f); + print("\t$=#", f.nc\D, " .=", range(f.dot.r), " buffer(", f\X, ")\n"); + if f == *cmd then { + print("\tcmdpt=#", *cmdpt\D, " cmdptadv=#", *cmdptadv\D, "\n"); + } +} + +defn buffer(b) +{ + complex Buffer b; + + print("buffer(", b\X, "): c=", b.c\X, " nc=", b.nc\D, "\n"); + print("cache: ==("); + print(runestring(b.c, b.nc)); + print(")==\n"); +} + +print("/sys/lib/acid/sam"); |