Here is the configuration file .xcoralrc provided in this distribution.
/* --------------------------------------------------------------- Load standard libraries --------------------------------------------------------------- */ { /* general SMAC programmer and XCORAL user utilities */ load_file("utilities.sc"); /* C and C++ mode, auto indent, reindent, indent region etc */ load_file("mode.sc" ); /* provide class method and function profile */ load_file("head.sc"); /* extract logical pathname from automount pathname */ load_file("hack-filename.sc"); /* command shell utilities, grep make user interface */ load_file("cmd.sc" ); /* for us frenchies */ load_file("french.sc"); /* SMAC functions writer and/or user help */ load_file("describe.sc"); /* extensions of C and C++ modes */ load_file("mode-ext.sc"); /* mouse customization */ load_file("mouse.sc"); /* C C++ comments facilities */ load_file("comments.sc"); /* file title and custom organization title */ load_file("title.sc"); /* save file utilities */ load_file("save.sc"); /* global set key utilities */ load_file("keydef-ext.sc"); /* word completion */ load_file("complete-word.sc"); /* window-utilities */ load_file("window-utilities.sc"); /* compare two windows */ load_file("compare-win.sc"); /* latex indent */ load_file("latex.sc"); /* color region buffer */ load_file("color.sc"); /* edit directory */ load_file("edir.sc"); /* rcs interface */ load_file("rcs.sc"); /* Version control */ load_file("version.sc"); /* Latex utilities */ load_file("latex-macros.sc"); /* Misc utilities */ load_file("misc-commands.sc"); /* html utilities */ load_file("html.sc"); /* java mode */ load_file("java.sc"); } /* --------------------------------------------------------------- define fonts --------------------------------------------------------------- */ { set_mode_font("default", "-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1"); set_mode_font("C-mode", "-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1"); set_mode_font("C++mode", "-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1"); set_mode_font("Java", "-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1"); set_mode_font("Latex", "-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1"); set_mode_font("Html", "-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1"); set_mode_font("Ada", "-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1"); set_mode_font("Perl", "-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1"); set_mode_font("Fortran", "-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1"); set_mode_font("shell", "-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1"); set_mode_font("Shell", "-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1"); set_mode_font ("french", "-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1"); } /* ---------------------------------------------------------------- define colors Warning: under CDE, add the two following lines in your .Xdefaults xcoral*background: midnightblue xcoral*foreground: lemonchiffon ---------------------------------------------------------------- */ { /* Generics colors for all modes with background = midnightblue and foreground = lemonchiffon */ gen_comment_color = "limegreen"; gen_include_color = "goldenrod"; gen_define_color = "goldenrod"; gen_keyword_color = "gold"; gen_string_color = "gray"; gen_varfunc_color = "yellow"; gen_decl_color = "palegreen"; gen_class_color = "yellow"; gen_del_new_color = "red"; gen_return_color = "lightsteelblue"; gen_link_color = "tan"; gen_makefile_color = "plum"; /* C,C++ colors */ cpp_comment_color = gen_comment_color; cpp_base_type_color = gen_decl_color; cpp_class_color = gen_class_color; cpp_delete_new_color = gen_del_new_color; cpp_return_color = gen_return_color; cpp_keyword_color = gen_keyword_color; cpp_alloc_class_color = gen_keyword_color; cpp_func_color = gen_varfunc_color; cpp_define_color = gen_define_color; cpp_ifdef_color = gen_define_color; cpp_include_color = gen_include_color; cpp_string_color = gen_string_color; /* Java colors */ java_comment_color = gen_comment_color; java_category_color = gen_del_new_color; java_result_color = gen_return_color; java_class_color = gen_class_color; java_modifier_color = gen_keyword_color; java_keyword_color = gen_keyword_color; java_import_color = gen_define_color; java_string_color = gen_string_color; java_package_color = gen_include_color; /* latex colors */ latex_comment_color = gen_comment_color; latex_keyword_color = gen_keyword_color; latex_defun_color = gen_decl_color; latex_define_color = gen_define_color; latex_decl_color = gen_decl_color; latex_label_color = gen_keyword_color; latex_include_color = gen_include_color; latex_italic_color = gen_decl_color; latex_bold_color = gen_varfunc_color; latex_ref_color = gen_comment_color; /* html colors */ html_title_color = gen_comment_color; html_ibtt_color = gen_keyword_color; html_pre_color = gen_define_color; html_img_color = gen_decl_color; html_ref_color = gen_varfunc_color; html_list_color = gen_define_color; html_forms_color = gen_include_color; html_hds_color = gen_keyword_color; hltml_string_color = gen_string_color; /* Edir colors */ edir_directory_color = gen_comment_color; edir_link_color = gen_link_color; edir_c_file_color = gen_decl_color; edir_tex_file_color = gen_decl_color; edir_sc_file_color = gen_decl_color; edir_h_file_color = gen_class_color; edir_makefile_color = "plum"; edir_readme_color = gen_del_new_color; /* Perl colors */ perl_comment_color = gen_comment_color; perl_string_color = gen_string_color; perl_label_color = gen_define_color; perl_include_color = gen_include_color; perl_decl_color = gen_decl_color; perl_defun_color = gen_class_color; perl_keyword_color = gen_keyword_color; /* Fortran90 colors */ f90_comment_color = gen_comment_color; f90_string_color = gen_string_color; f90_unit_color = gen_class_color; f90_include_color = gen_include_color; f90_type_color = gen_decl_color; f90_decl_color = gen_decl_color; f90_keyword_color = gen_keyword_color; /* Shell colors */ shell_comment_color = gen_comment_color; shell_string_color = gen_string_color; shell_include_color = gen_include_color; shell_define_color = gen_define_color; shell_var_color = gen_varfunc_color; shell_keyword_color = gen_keyword_color; } /* ---------------------------------------------------------------- define indentation variables (mode C, C++ and Java) ---------------------------------------------------------------- */ { c_indent_in_comment = 3; c_indent_in_string = 0; c_indent_in_parenthesis = 1; c_indent_in_bracket = 1; c_indent_in_brace = 2; c_indent_in_statement = 2; c_arg_decl_indent = 4; } /* ---------------------------------------------------------------- define suffixes ---------------------------------------------------------------- */ { set_mode_suffixes("C++mode",".c .cc .h .hh .sc .xcoralrc"); set_mode_suffixes("Java",".java .sc .xcoralrc"); set_mode_suffixes("C-mode",".c .h .sc .xcoralrc"); set_mode_suffixes("Latex",".tex .latex .sty"); set_mode_suffixes("Html",".html"); set_mode_suffixes("Perl",".pl"); set_mode_suffixes("Fortran",".f .f90"); set_mode_suffixes("Ada",".a"); set_mode_suffixes("french",".txt .texte"); } /* ---------------------------------------------------------------- define modes on which global_key_def operates ---------------------------------------------------------------- */ { globalize_mode("default"); globalize_mode("C-mode"); globalize_mode("C++mode"); globalize_mode("Java"); globalize_mode("Latex"); globalize_mode("Html"); globalize_mode("Perl"); globalize_mode("Ada"); globalize_mode("Fortran"); globalize_mode("shell"); globalize_mode("french"); globalize_mode("Shell"); } /* ---------------------------------------------------------------- Util Smac functions. ---------------------------------------------------------------- */ { global_key_def("^xt", "transpose_chars"); global_key_def("^xy", "transpose_forms"); global_key_def("^[\\", "delete_line_blanks"); global_key_def("^[ ", "just_one_blank"); global_key_def("^[k", "delete_to_beginning_of_line"); global_key_def("^xc", "center_line"); global_key_def("^[m", "recenter"); global_key_def("^x#", "sharp_comment"); global_key_def("^x+", "plus_comment"); global_key_def("^x=", "equal_comment"); global_key_def("^x-", "minus_comment"); global_key_def("^x%", "percent_comment"); global_key_def("^xz", "update_title_and_save_file"); global_key_def("^xs", "update_title_backup_and_save_file"); global_key_def("^[/", "complete_word"); global_key_def("^xC", "CompareAgain"); global_key_def("^xg", "go_next"); global_key_def("^xa", "color_buffer"); global_key_def("^xe", "edir"); key_def("Edir", "^xe", "edir"); key_def("Shell", "^[b", "backward_c_form"); key_def("Shell", "^[f", "forward_c_form"); key_def("Shell", "^[d", "delete_next_c_form"); key_def("Shell", "^[\b", "delete_previous_c_form"); key_def("Shell", "^[\177", "delete_previous_c_form");/*esc delete*/ key_def("Shell", "^x^c", "quit_shell"); key_def("Latex","^[x", "latex_back_indent"); } /* --------------------------------------------------------------- French accents in Latex mode. --------------------------------------------------------------- */ { key_def("Latex", "'", "french_accent"); key_def("Latex", "`", "french_accent"); key_def("Latex", "^^", "french_accent"); key_def("Latex", "\"", "french_accent"); } /* --------------------------------------------------------------- User commands: call by Users commands item in Misc Menu or toolbar --------------------------------------------------------------- */ user_commands() { /**** char *str; int win = current_window(); clear_list(); add_list_item("User smac function 1"); add_list_item("User smac function 2"); add_list_item("User smac function 3"); str = select_from_list("User commands"); redisplay(); select_window(win); if(str==0 || strlen(str) < 2) { return; } if (strcmp(str,"User smac function 1")==0) { user_smac_function_1(); return; } ... ****/ }
The function user_commands() allows you to define your own functions that will appear in the item User commands of the menu Misc.