package syntaxhighlighter::idl; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_CPP wxSTC_H_TAG); my $idl_keywords = 'aggregatable allocate appobject arrays async async_uuid \ auto_handle bindable boolean broadcast byte byte_count \ call_as callback char coclass code comm_status \ const context_handle context_handle_noserialize \ context_handle_serialize control cpp_quote custom \ decode default defaultbind defaultcollelem \ defaultvalue defaultvtable dispinterface displaybind dllname \ double dual enable_allocate encode endpoint entry enum error_status_t \ explicit_handle fault_status first_is float \ handle_t heap helpcontext helpfile helpstring \ helpstringcontext helpstringdll hidden hyper \ id idempotent ignore iid_as iid_is immediatebind implicit_handle \ import importlib in include in_line int __int64 __int3264 interface \ last_is lcid length_is library licensed local long \ max_is maybe message methods midl_pragma \ midl_user_allocate midl_user_free min_is module ms_union \ ncacn_at_dsp ncacn_dnet_nsp ncacn_http ncacn_ip_tcp \ ncacn_nb_ipx ncacn_nb_nb ncacn_nb_tcp ncacn_np \ ncacn_spx ncacn_vns_spp ncadg_ip_udp ncadg_ipx ncadg_mq \ ncalrpc nocode nonbrowsable noncreatable nonextensible notify \ object odl oleautomation optimize optional out out_of_line \ pipe pointer_default pragma properties propget propput propputref \ ptr public range readonly ref represent_as requestedit restricted retval \ shape short signed size_is small source strict_context_handle \ string struct switch switch_is switch_type \ transmit_as typedef uidefault union unique unsigned user_marshal usesgetlasterror uuid \ v1_enum vararg version void wchar_t wire_marshal'; $_[0]->SetLexer(wxSTC_LEX_CPP); # Set Lexers to use $_[0]->SetKeyWords(0,$idl_keywords); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); $_[0]->StyleSetSpec(0,"fore:#202020"); # White space $_[0]->StyleSetSpec(1,"fore:#bbbbbb"); # Comment $_[0]->StyleSetSpec(2,"fore:#cccccc)"); # Line Comment $_[0]->StyleSetSpec(3,"fore:#004000"); # Doc comment $_[0]->StyleSetSpec(4,"fore:#007f7f"); # Number $_[0]->StyleSetSpec(5,"fore:#7788bb,bold"); # Keywords $_[0]->StyleSetSpec(6,"fore:#555555,back:#ddeecc"); # Doublequoted string $_[0]->StyleSetSpec(7,"fore:#555555,back:#eeeebb"); # Single quoted string $_[0]->StyleSetSpec(8,"fore:#55ffff"); # UUIDs (only in IDL) $_[0]->StyleSetSpec(9,"fore:#228833"); # Preprocessor $_[0]->StyleSetSpec(10,"fore:#bb7799,bold"); # Operators $_[0]->StyleSetSpec(11,"fore:#778899"); # Identifiers (functions, etc.) $_[0]->StyleSetSpec(12,"fore:#228822"); # End of line where string is not closed $_[0]->StyleSetSpec(13,"fore:#339933"); # Verbatim strings for C# $_[0]->StyleSetSpec(14,"fore:#44aa44"); # Regular expressions for JavaScript $_[0]->StyleSetSpec(15,"fore:#55bb55"); # Doc Comment Line $_[0]->StyleSetSpec(17,"fore:#000000,back:#A0FFA0"); # Comment keyword $_[0]->StyleSetSpec(18,"fore:#000000,back:#F0E080"); # Comment keyword error # Braces are only matched in operator style braces.cpp.style=10 $_[0]->StyleSetSpec(32,"fore:#000000"); # Default } 1;