filter.vtc

来自「Unix下的MUD客户端程序」· VTC 代码 · 共 36 行

VTC
36
字号
if (!depend_loaded) Load("depend");register_file("filter");file_depends_on("bracket");func filter_cmd(cmd, pattern, isreg, reverse) [line, val]{	if (!cur_rmt)		return;	bracket(cmd);	waitfor_and_suppress(prefix);	while (strcmp(line = getline(rmt), suffix)) {		val = (isreg) ? regexec(pattern, line) : smatch(pattern, line);		if (val == !reverse)			receive(line);	}}func Filter(s) [arg, p, cmd, pattern] {	s = getopt(s, "rv", arg = alloc(2));	p = strchr(s, '=') ? : abort();	cmd = skipspaces(p + 1);	while (*--p == ' ');	strcpy(pattern = "", s, p - s + 1);	if (arg[0]) {		pattern = regcomp(pattern);		if (errflag) {			output(errmsg);			return;		}	}	filter_cmd(cmd, pattern, arg[0], arg[1]);}add_cmd("filter", -1, .Filter, "/filter [-rv] <pattern> = <command>");

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?