⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 brac.c

📁 早期freebsd实现
💻 C
字号:
/* * Routines to perform bracket matching functions. */#include "less.h"#include "position.h"/* * Try to match the n-th open bracket  *  which appears in the top displayed line (forwdir), * or the n-th close bracket  *  which appears in the bottom displayed line (!forwdir). * The characters which serve as "open bracket" and  * "close bracket" are given. */	public voidmatch_brac(obrac, cbrac, forwdir, n)	register int obrac;	register int cbrac;	int forwdir;	int n;{	register int c;	register int nest;	POSITION pos;	int (*chget)();	extern int ch_forw_get(), ch_back_get();	/*	 * Seek to the line containing the open bracket.	 * This is either the top or bottom line on the screen,	 * depending on the type of bracket.	 */	pos = position((forwdir) ? TOP : BOTTOM);	if (pos == NULL_POSITION || ch_seek(pos))	{		if (forwdir)			error("Nothing in top line", NULL_PARG);		else			error("Nothing in bottom line", NULL_PARG);		return;	}	/*	 * Look thru the line to find the open bracket to match.	 */	do	{		if ((c = ch_forw_get()) == '\n' || c == EOI)		{			if (forwdir)				error("No bracket in top line", NULL_PARG);			else				error("No bracket in bottom line", NULL_PARG);			return;		}	} while (c != obrac || --n > 0);	/*	 * Position the file just "after" the open bracket	 * (in the direction in which we will be searching).	 * If searching forward, we are already after the bracket.	 * If searching backward, skip back over the open bracket.	 */	if (!forwdir)		(void) ch_back_get();	/*	 * Search the file for the matching bracket.	 */	chget = (forwdir) ? ch_forw_get : ch_back_get;	nest = 0;	while ((c = (*chget)()) != EOI)	{		if (c == obrac)			nest++;		else if (c == cbrac && --nest < 0)		{			/*			 * Found the matching bracket.			 * If searching backward, put it on the top line.			 * If searching forward, put it on the bottom line.			 */			jump_line_loc(ch_tell(), forwdir ? -1 : 1);			return;		}	}	error("No matching bracket", NULL_PARG);}

⌨️ 快捷键说明

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