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.