123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- 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");
|