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

📄 help.c

📁 aee是一种易使用的文本编辑器。你可以不用说明书来使用它。它提供终端接口和本地的X-windows接口。它的特性包括即弹的菜单
💻 C
字号:
/* |	help.c | |	$Header: /home/hugh/sources/aee/RCS/help.c,v 1.9 1999/02/01 04:28:08 hugh Exp hugh $ *//* |	Copyright (c) 1986 - 1988, 1991 - 1995, 1999 Hugh Mahon. */#include "aee.h"char *help_file_list[4] = {	"/usr/local/aee/help.ae", 	"/usr/local/lib/help.ae", 	"~/.help.ae", 	"help.ae" 	};void help()		/* help function	*/{	int counter;	char *string;	go_on = TRUE;	if ((fp = fopen(ae_help_file, "r")) == NULL)	{		for (counter = 0; (counter < 4) && (fp == NULL); counter++)		{			string = resolve_name(help_file_list[counter]);			fp = fopen(string, "r");		}		if (fp == NULL)		{			wmove(com_win, 0, 0);			werase(com_win);			wprintw(com_win, help_err_msg, ae_help_file);			wrefresh(com_win);			clr_cmd_line = TRUE;			go_on = FALSE;		}	}	if (go_on)	{		help_win = newwin(LINES-1, COLS, 0, 0);		if ((windows) && (num_of_bufs > 1))		{			t_buff = first_buff;			while (t_buff != NULL)			{				werase(t_buff->win);				wrefresh(t_buff->win);				werase(t_buff->footer);				wrefresh(t_buff->footer);				t_buff = t_buff->next_buff;			}		}		else		{			werase(curr_buff->win);			wrefresh(curr_buff->win);		}		help_line = xalloc(512);		do 		{			outfile();			ask();		}		while (go_on);		free(help_line);		werase(help_win);		wrefresh(help_win);		delwin(help_win);		paint_info_win();		new_screen();		clr_cmd_line = TRUE;	}}void outfile()	/* output data from help file until a form-feed (separator of subjects)	*/{	char *prompt;	int counter;	int scroll_flag = FALSE;	counter = 0;	werase(help_win);	wmove(help_win,0,0);	while (((sline = fgets(help_line, 512, fp)) != NULL) && (*sline != 12))	{		counter++;		if (counter == LINES)		{			wrefresh(help_win);			prompt = get_string(prompt_for_more, FALSE);			if (prompt != NULL)				free(prompt);			scroll_flag = TRUE;			counter = 0;		}		if (scroll_flag)		{			wmove(help_win, 0, 0);			wdeleteln(help_win);			wmove(help_win, (LINES - 2), 0);		}		wprintw(help_win, "%s", sline);	}	wrefresh(help_win);}void ask()	/* prompt user what help topic do they wish to learn about	*/{	char *topic;	char *tline;	topic = get_string(topic_prompt, FALSE);	if (*topic == (char) NULL)		go_on = FALSE;	else if (*topic != 9)	{		rewind(fp);		do		{			tline = sline = fgets(help_line, 512, fp);			if (tline != NULL)			{				while ((*tline != '\n') && (*tline != (char) NULL))					tline++;				*tline = (char) NULL;			}		}		while ((sline != NULL) && (strncmp(sline, topic, strlen(topic))));		if (sline == NULL)		{			wmove(help_win, LINES -2, 0);			wclrtoeol(help_win);			wstandout(help_win);			wprintw(help_win, topic_err_msg, topic);			wstandend(help_win);			wrefresh(help_win);			rewind(fp);			free(topic);			topic = get_string(continue_prompt, TRUE);		}		else			tline = sline = fgets(help_line, 512, fp);	}	else if (*topic == '\t')		rewind(fp);	free(topic);}

⌨️ 快捷键说明

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