!7 p { serveHttpOpenBrowser(7777); } html { uri = dropPrefix("/", uri); S snippetID = #1007528; if (isSnippetID(uri)) snippetID = fsI(uri); S code = loadSnippet(snippetID); L tok = javaTok(code); new Map links; SS sf = stdFunctions_cached(); for (int i = 1; i < l(tok); i += 2) { S t = tok.get(i); if (isIdentifier(t)) { S id = sf.get(t); if (id == null) continue; if (eq(get(tok, i+2), "(") || eq(get(tok, i-2), "f")) links.put(i, id); } } new StringBuilder out; for i over tok: { S t = tok.get(i), id = links.get(i); out.append(id == null ? htmlencode(t) : ahref(makeLink(id), htmlencode(t)); } S html = str(out); ret h3_title("Snippet " + snippetID) + hpre(html); } sS makeLink(S id) { //ret "http://tinybrain.de/" + psI(id); ret "/" + psI(id); }