% -*- slang -*- % This file provides a mode for editing COB configuration files. % This mode requires DFA syntax highlighting and jed >= 0.99.14 % % Copyright (C) 2003 Abraham vd Merwe % % Last updated: 2003-10-11 variable cob = "cob"; create_syntax_table (cob); set_syntax_flags (cob,0x04); % colors set_color ("keyword","brightblue","black"); set_color ("keyword1","yellow","black"); set_color ("operator","brown","black"); set_color ("delimiter","cyan","black"); set_color ("number","green","black"); set_color ("string","red","black"); set_color ("...","lightgray","black"); #ifdef HAS_DFA_SYNTAX %%% DFA_CACHE_BEGIN %%% static define setup_dfa_callback (name) { % DFA color rules dfa_enable_highlight_cache ("cob.dfa",name); % numbers dfa_define_highlight_rule ("[0-9]+","number",name); % comments dfa_define_highlight_rule ("#.*","comment",name); % commands dfa_define_highlight_rule ("pidfile|socket|timeout|process","keyword",name); dfa_define_highlight_rule ("user|group|allow|password","keyword",name); % values dfa_define_highlight_rule ("post|fetch","keyword1",name); % strings dfa_define_highlight_rule ("\"[^\"]*\"","string",name); % seperators %dfa_define_highlight_rule (",","delimiter",name); % the rest dfa_define_highlight_rule ("[a-zA-Z0-9]([0-9a-zA-Z_]|\\.|-)*","...",name); dfa_build_highlight_table(name); } dfa_set_init_callback (&setup_dfa_callback, "cob"); %%% DFA_CACHE_END %%% #endif define cob_mode () { set_mode (cob,4); use_syntax_table (cob); }