/* EPSHeader File: bindings.e Author: J. Kercheval Created: Sat, 10/21/1990 22:28:17 */ /* EPSRevision History J. Kercheval Sat, 10/24/1990 23:55:52 set ctrl-f1 to show_variable J. Kercheval Wed, 12/12/1990 21:04:01 set colors J. Kercheval Wed, 12/12/1990 21:25:26 add display characters J. Kercheval Wed, 12/12/1990 22:12:54 add variable preferences J. Kercheval Sat, 12/15/1990 13:38:47 correctly set graphic mode J. Kercheval Mon, 02/04/1991 21:48:27 add backup and auto-save path J. Kercheval Tue, 07/23/1991 20:53:05 add binding to HOME and END keys J. Kercheval Fri, 08/09/1991 12:23:24 rebind f5 and f6 J. Kercheval Thu, 07/09/1992 00:40:30 add project bindings */ #include "eel.h" /* * set default value of var at index i to tmp */ set_variable_value(name, value) char *name; char *value; { int index; /* set default use to global default */ use_default = 1; /* obtain the index */ index = find_index(name); /* assign the variable */ switch (vartype(index)) { case TYPE_CHAR: *(char *) varptr(index) = numtoi(value); break; case TYPE_SHORT: *(short *) varptr(index) = numtoi(value); break; case TYPE_INT: *(int *) varptr(index) = numtoi(value); break; case TYPE_CARRAY: strcpy(varptr(index), value); break; case TYPE_CPTR: *(char **) varptr(index) = strsave(value); break; } /* set default use back to buffer */ use_default = 0; } when_loading() { int i; /* * project extensions */ reg_tab[FKEY(5)] = find_index("project_grep"); cx_tab[CTRL('f')] = find_index("project_pluck_file"); cx_tab[ALT('.')] = find_index("project_tag_files"); /* * trim regions */ cx_tab[CTRL('t')] = find_index("trim_buffer"); cx_tab['t'] = find_index("trim_region"); /* * rectangle mode */ reg_tab[ALT('r')] = find_index("rectangle_mode"); reg_tab[CTRL(ALT('d'))] = find_index("delete_rectangle"); /* * misc keys */ cx_tab[ALT('t')] = find_index("transpose_lines"); reg_tab[ALT(' ')] = find_index("set_mark"); reg_tab[KEYHOME] = find_index("beginning_of_line"); reg_tab[KEYEND] = find_index("end_of_line"); /* * standard function keys */ reg_tab[FKEY(2)] = find_index("save_file"); reg_tab[FKEY(3)] = find_index("auto_fill_mode"); reg_tab[FKEY(4)] = find_index("exit_level"); reg_tab[FKEY(6)] = find_index("insert_date"); reg_tab[FKEY(7)] = find_index("make"); reg_tab[FKEY(8)] = find_index("next_position"); reg_tab[FKEY(9)] = find_index("undo_changes"); reg_tab[FKEY(10)] = find_index("redo_changes"); /* * alt function keys */ reg_tab[FALT(1)] = find_index("set_variable"); reg_tab[FALT(2)] = find_index("write_state"); reg_tab[FALT(3)] = find_index("load_bytes"); reg_tab[FALT(4)] = find_index("bind_to_key"); reg_tab[FALT(7)] = find_index("push"); reg_tab[FALT(8)] = find_index("start_process"); reg_tab[FALT(9)] = find_index("start_kbd_macro"); reg_tab[FALT(10)] = find_index("end_kbd_macro"); /* * control function keys */ reg_tab[FCTRL(1)] = find_index("show_variable"); /* * set display characters */ display_characters[2] = 0x5c; /* Continuation Mark is backslash (\) */ /* * set graphic mode on */ set_variable_value("graphic_mode", "1"); for (i = 0; i < 128; i++) display_class[i] = display_class[i + 128] = BNORMAL; display_class['\n'] = BNEWLINE; display_class['\t'] = BTAB; build_first = 1; /* * allow alt keypad entry of IBM extended characters */ for (i = 0; i <= 9; i++) keytran[NUMALT(NUMDIGIT(i))] = -1; /* * set user variables */ set_variable_value("auto_save_name", "c:\\editor\\epsilon\\backup\\%b.asv"); set_variable_value("backup_name", "c:\\editor\\epsilon\\backup\\%b.bak"); set_variable_value("comment_column", "33"); set_variable_value("expand_wildcards", "1"); set_variable_value("indent_with_tabs", "1"); set_variable_value("menu_width", "60"); set_variable_value("mode_end", " %d%p% [%l,%c] %s"); set_variable_value("mode_start", " "); set_variable_value("new_c_comments", "1"); set_variable_value("scroll_at_end", "1"); set_variable_value("search_in_menu", "1"); set_variable_value("show_tag_line", "12"); set_variable_value("tab_size", "4"); set_variable_value("vga43", "1"); set_variable_value("want_auto_save", "1"); set_variable_value("want_backups", "1"); }