Syntax-Highlight-Engine-Kate
view release on metacpan or search on metacpan
t/perl/before/kate.pl view on Meta::CPAN
'*.H' => ['C++', ],
'*.JSP' => ['JSP', ],
'*.LOGO' => ['de_DE', 'en_US', 'nl', ],
'*.LY' => ['LilyPond', ],
'*.Logo' => ['de_DE', 'en_US', 'nl', ],
'*.M' => ['Matlab', 'Octave', ],
'*.MAB' => ['MAB-DB', ],
'*.Mab' => ['MAB-DB', ],
'*.PER' => ['4GL-PER', ],
'*.PIC' => ['PicAsm', ],
'*.PRG' => ['xHarbour', 'Clipper', ],
'*.R' => ['R Script', ],
'*.S' => ['GNU Assembler', ],
'*.SQL' => ['SQL', 'SQL (MySQL)', 'SQL (PostgreSQL)', ],
'*.SRC' => ['PicAsm', ],
'*.V' => ['Verilog', ],
'*.VCG' => ['GDL', ],
'*.a' => ['Ada', ],
'*.abc' => ['ABC', ],
'*.ada' => ['Ada', ],
'*.adb' => ['Ada', ],
'*.ado' => ['Stata', ],
'*.ads' => ['Ada', ],
'*.ahdl' => ['AHDL', ],
'*.ai' => ['PostScript', ],
'*.ans' => ['Ansys', ],
'*.asm' => ['AVR Assembler', 'Asm6502', 'Intel x86 (NASM)', 'PicAsm', ],
'*.asm-avr' => ['AVR Assembler', ],
'*.asp' => ['ASP', ],
'*.awk' => ['AWK', ],
'*.bas' => ['FreeBASIC', ],
'*.basetest' => ['BaseTest', ],
'*.bash' => ['Bash', ],
'*.bi' => ['FreeBASIC', ],
'*.bib' => ['BibTeX', ],
'*.bro' => ['Component-Pascal', ],
'*.c' => ['C', 'ANSI C89', 'LPC', ],
'*.c++' => ['C++', ],
'*.cc' => ['C++', ],
'*.cfc' => ['ColdFusion', ],
'*.cfg' => ['Quake Script', ],
'*.cfm' => ['ColdFusion', ],
'*.cfml' => ['ColdFusion', ],
'*.cg' => ['Cg', ],
'*.cgis' => ['CGiS', ],
'*.ch' => ['xHarbour', 'Clipper', ],
'*.cis' => ['Cisco', ],
'*.cl' => ['Common Lisp', ],
'*.cmake' => ['CMake', ],
'*.config' => ['Logtalk', ],
'*.cp' => ['Component-Pascal', ],
'*.cpp' => ['C++', ],
'*.cs' => ['C#', ],
'*.css' => ['CSS', ],
'*.cue' => ['CUE Sheet', ],
'*.cxx' => ['C++', ],
'*.d' => ['D', ],
'*.daml' => ['XML', ],
'*.dbm' => ['ColdFusion', ],
'*.def' => ['Modula-2', ],
'*.desktop' => ['.desktop', ],
'*.diff' => ['Diff', ],
'*.do' => ['Stata', ],
'*.docbook' => ['XML', ],
'*.dox' => ['Doxygen', ],
'*.doxygen' => ['Doxygen', ],
'*.e' => ['E Language', 'Eiffel', 'Euphoria', ],
'*.ebuild' => ['Bash', ],
'*.eclass' => ['Bash', ],
'*.eml' => ['Email', ],
'*.eps' => ['PostScript', ],
'*.err' => ['4GL', ],
'*.ex' => ['Euphoria', ],
'*.exu' => ['Euphoria', ],
'*.exw' => ['Euphoria', ],
'*.f' => ['Fortran', ],
'*.f90' => ['Fortran', ],
'*.f95' => ['Fortran', ],
'*.fe' => ['ferite', ],
'*.feh' => ['ferite', ],
'*.flex' => ['Lex/Flex', ],
'*.for' => ['Fortran', ],
'*.fpp' => ['Fortran', ],
'*.frag' => ['GLSL', ],
'*.gdl' => ['GDL', ],
'*.glsl' => ['GLSL', ],
'*.guile' => ['Scheme', ],
'*.h' => ['C++', 'C', 'ANSI C89', 'Inform', 'LPC', 'Objective-C', ],
'*.h++' => ['C++', ],
'*.hcc' => ['C++', ],
'*.hpp' => ['C++', ],
'*.hs' => ['Haskell', ],
'*.hsp' => ['Spice', ],
'*.ht' => ['Apache Configuration', ],
'*.htm' => ['HTML', ],
'*.html' => ['HTML', 'Mason', ],
'*.hxx' => ['C++', ],
'*.i' => ['progress', ],
'*.idl' => ['IDL', ],
'*.inc' => ['POV-Ray', 'PHP (HTML)', 'LPC', ],
'*.inf' => ['Inform', ],
'*.ini' => ['INI Files', ],
'*.java' => ['Java', ],
'*.js' => ['JavaScript', ],
'*.jsp' => ['JSP', ],
'*.katetemplate' => ['Kate File Template', ],
'*.kbasic' => ['KBasic', ],
'*.kdelnk' => ['.desktop', ],
'*.l' => ['Lex/Flex', ],
'*.ldif' => ['LDIF', ],
'*.lex' => ['Lex/Flex', ],
'*.lgo' => ['de_DE', 'en_US', 'nl', ],
'*.lgt' => ['Logtalk', ],
'*.lhs' => ['Literate Haskell', ],
'*.lisp' => ['Common Lisp', ],
'*.logo' => ['de_DE', 'en_US', 'nl', ],
'*.lsp' => ['Common Lisp', ],
'*.lua' => ['Lua', ],
'*.ly' => ['LilyPond', ],
'*.m' => ['Matlab', 'Objective-C', 'Octave', ],
'*.m3u' => ['M3U', ],
'*.mab' => ['MAB-DB', ],
'*.md' => ['Modula-2', ],
'*.mi' => ['Modula-2', ],
'*.ml' => ['Objective Caml', 'SML', ],
'*.mli' => ['Objective Caml', ],
'*.moc' => ['C++', ],
'*.mod' => ['Modula-2', ],
'*.mup' => ['Music Publisher', ],
'*.not' => ['Music Publisher', ],
'*.o' => ['LPC', ],
'*.octave' => ['Octave', ],
'*.p' => ['Pascal', 'progress', ],
'*.pas' => ['Pascal', ],
'*.pb' => ['PureBasic', ],
'*.per' => ['4GL-PER', ],
'*.per.err' => ['4GL-PER', ],
'*.php' => ['PHP (HTML)', ],
'*.php3' => ['PHP (HTML)', ],
'*.phtm' => ['PHP (HTML)', ],
'*.phtml' => ['PHP (HTML)', ],
'*.pic' => ['PicAsm', ],
'*.pike' => ['Pike', ],
'*.pl' => ['Perl', ],
'*.pls' => ['INI Files', ],
'*.pm' => ['Perl', ],
'*.po' => ['GNU Gettext', ],
'*.pot' => ['GNU Gettext', ],
'*.pov' => ['POV-Ray', ],
'*.pp' => ['Pascal', ],
'*.prg' => ['xHarbour', 'Clipper', ],
'*.pro' => ['RSI IDL', ],
'*.prolog' => ['Prolog', ],
'*.ps' => ['PostScript', ],
'*.py' => ['Python', ],
'*.pyw' => ['Python', ],
'*.rb' => ['Ruby', ],
'*.rc' => ['XML', ],
'*.rdf' => ['XML', ],
'*.reg' => ['WINE Config', ],
'*.rex' => ['REXX', ],
'*.rib' => ['RenderMan RIB', ],
'*.s' => ['GNU Assembler', 'MIPS Assembler', ],
'*.sa' => ['Sather', ],
'*.sce' => ['scilab', ],
'*.scheme' => ['Scheme', ],
'*.sci' => ['scilab', ],
'*.scm' => ['Scheme', ],
'*.sgml' => ['SGML', ],
'*.sh' => ['Bash', ],
'*.shtm' => ['HTML', ],
'*.shtml' => ['HTML', ],
'*.siv' => ['Sieve', ],
'*.sml' => ['SML', ],
'*.sp' => ['Spice', ],
'*.spec' => ['RPM Spec', ],
'*.sql' => ['SQL', 'SQL (MySQL)', 'SQL (PostgreSQL)', ],
'*.src' => ['PicAsm', ],
'*.ss' => ['Scheme', ],
'*.t2t' => ['txt2tags', ],
'*.tcl' => ['Tcl/Tk', ],
'*.tdf' => ['AHDL', ],
'*.tex' => ['LaTeX', ],
'*.tji' => ['TaskJuggler', ],
'*.tjp' => ['TaskJuggler', ],
'*.tk' => ['Tcl/Tk', ],
'*.tst' => ['BaseTestchild', ],
'*.uc' => ['UnrealScript', ],
'*.v' => ['Verilog', ],
'*.vcg' => ['GDL', ],
'*.vert' => ['GLSL', ],
'*.vhd' => ['VHDL', ],
'*.vhdl' => ['VHDL', ],
'*.vl' => ['Verilog', ],
'*.vm' => ['Velocity', ],
'*.w' => ['progress', ],
'*.wml' => ['PHP (HTML)', ],
'*.wrl' => ['VRML', ],
'*.xml' => ['XML', ],
'*.xsl' => ['xslt', ],
'*.xslt' => ['xslt', ],
'*.y' => ['Yacc/Bison', ],
'*.ys' => ['yacas', ],
'*Makefile*' => ['Makefile', ],
'*makefile*' => ['Makefile', ],
'*patch' => ['Diff', ],
'CMakeLists.txt' => ['CMake', ],
'ChangeLog' => ['ChangeLog', ],
'QRPGLESRC.*' => ['ILERPG', ],
'apache.conf' => ['Apache Configuration', ],
'apache2.conf' => ['Apache Configuration', ],
'httpd.conf' => ['Apache Configuration', ],
'httpd2.conf' => ['Apache Configuration', ],
'xorg.conf' => ['x.org Configuration', ],
};
$self->{'sections'} = {
'Assembler' => [
'AVR Assembler',
'Asm6502',
'GNU Assembler',
'Intel x86 (NASM)',
'MIPS Assembler',
'PicAsm',
],
'Configuration' => [
'.desktop',
'Apache Configuration',
'Cisco',
'INI Files',
'WINE Config',
'x.org Configuration',
],
'Database' => [
'4GL',
'4GL-PER',
'LDIF',
'SQL',
'SQL (MySQL)',
'SQL (PostgreSQL)',
'progress',
],
'Hardware' => [
'AHDL',
'Spice',
'VHDL',
'Verilog',
],
'Logo' => [
'de_DE',
'en_US',
'nl',
],
'Markup' => [
'ASP',
'BibTeX',
'CSS',
'ColdFusion',
'Doxygen',
'GNU Gettext',
'HTML',
'JSP',
'Javadoc',
'Kate File Template',
'LaTeX',
'MAB-DB',
'PostScript',
'SGML',
'VRML',
'Wikimedia',
'XML',
'txt2tags',
'xslt',
],
'Other' => [
'ABC',
'Alerts',
'CMake',
'CSS/PHP',
'CUE Sheet',
'ChangeLog',
'Debian Changelog',
'Debian Control',
'Diff',
'Email',
'JavaScript/PHP',
'LilyPond',
t/perl/before/kate.pl view on Meta::CPAN
'Pike',
'Python',
'Quake Script',
'R Script',
'REXX',
'Ruby',
'Scheme',
'Sieve',
'TaskJuggler',
'Tcl/Tk',
'UnrealScript',
'Velocity',
'ferite',
],
'Sources' => [
'ANSI C89',
'Ada',
'C',
'C#',
'C++',
'CGiS',
'Cg',
'Clipper',
'Component-Pascal',
'D',
'E Language',
'Eiffel',
'Fortran',
'FreeBASIC',
'GLSL',
'Haskell',
'IDL',
'ILERPG',
'Inform',
'Java',
'KBasic',
'LPC',
'Lex/Flex',
'Literate Haskell',
'Logtalk',
'Modula-2',
'Objective Caml',
'Objective-C',
'Pascal',
'Prolog',
'PureBasic',
'RSI IDL',
'SML',
'Sather',
'Stata',
'Yacc/Bison',
'xHarbour',
'yacas',
],
'Test' => [
'BaseTest',
'BaseTestchild',
],
};
$self->{'syntaxes'} = {
'.desktop' => 'Desktop',
'4GL' => 'FourGL',
'4GL-PER' => 'FourGLminusPER',
'ABC' => 'ABC',
'AHDL' => 'AHDL',
'ANSI C89' => 'ANSI_C89',
'ASP' => 'ASP',
'AVR Assembler' => 'AVR_Assembler',
'AWK' => 'AWK',
'Ada' => 'Ada',
'Alerts' => 'Alerts',
'Ansys' => 'Ansys',
'Apache Configuration' => 'Apache_Configuration',
'Asm6502' => 'Asm6502',
'BaseTest' => 'BaseTest',
'BaseTestchild' => 'BaseTestchild',
'Bash' => 'Bash',
'BibTeX' => 'BibTeX',
'C' => 'C',
'C#' => 'Cdash',
'C++' => 'Cplusplus',
'CGiS' => 'CGiS',
'CMake' => 'CMake',
'CSS' => 'CSS',
'CSS/PHP' => 'CSS_PHP',
'CUE Sheet' => 'CUE_Sheet',
'Cg' => 'Cg',
'ChangeLog' => 'ChangeLog',
'Cisco' => 'Cisco',
'Clipper' => 'Clipper',
'ColdFusion' => 'ColdFusion',
'Common Lisp' => 'Common_Lisp',
'Component-Pascal' => 'ComponentminusPascal',
'D' => 'D',
'Debian Changelog' => 'Debian_Changelog',
'Debian Control' => 'Debian_Control',
'Diff' => 'Diff',
'Doxygen' => 'Doxygen',
'E Language' => 'E_Language',
'Eiffel' => 'Eiffel',
'Email' => 'Email',
'Euphoria' => 'Euphoria',
'Fortran' => 'Fortran',
'FreeBASIC' => 'FreeBASIC',
'GDL' => 'GDL',
'GLSL' => 'GLSL',
'GNU Assembler' => 'GNU_Assembler',
'GNU Gettext' => 'GNU_Gettext',
'HTML' => 'HTML',
'Haskell' => 'Haskell',
'IDL' => 'IDL',
'ILERPG' => 'ILERPG',
'INI Files' => 'INI_Files',
'Inform' => 'Inform',
'Intel x86 (NASM)' => 'Intel_x86_NASM',
'JSP' => 'JSP',
'Java' => 'Java',
'JavaScript' => 'JavaScript',
'JavaScript/PHP' => 'JavaScript_PHP',
'Javadoc' => 'Javadoc',
'KBasic' => 'KBasic',
t/perl/before/kate.pl view on Meta::CPAN
=back
=head1 METHODS
=over 4
=item B<extensions>
returns a reference to the extensions hash,
=item B<language>(I<?$language?>)
Sets and returns the current language that is highlighted. when setting the language a reset is also done.
=item B<languageAutoSet>(I<$filename>);
Suggests language name for the fiven file B<$filename>
=item B<languageList>
returns a list of languages for which plugins have been defined.
=item B<languagePlug>(I<$language>);
returns the module name of the plugin for B<$language>
=item B<languagePropose>(I<$filename>);
Suggests language name for the fiven file B<$filename>
=item B<sections>
Returns a reference to the sections hash.
=back
=head1 ATTRIBUTES
In the kate XML syntax files you find under the section B<<itemDatas>> entries like
<itemData name="Unknown Property" defStyleNum="dsError" italic="1"/>. Kate is an editor
so it is ok to have definitions for forground and background colors and so on. However,
since this Module is supposed to be a more universal highlight engine, the attributes need
to be fully abstract. In which case, Kate does not have enough default attributes defined
to fullfill all needs. Kate defines the following standard attributes: B<dsNormal>, B<dsKeyword>,
B<dsDataType>, B<dsDecVal>, B<dsBaseN>, B<dsFloat>, B<dsChar>, B<dsString>, B<dsComment>, B<dsOthers>,
B<dsAlert>, B<dsFunction>, B<dsRegionMarker>, B<dsError>. This module leaves out the "ds" part and uses
following additional attributes: B<BString>, B<IString>, B<Operator>, B<Reserved>, B<Variable>. I have
modified the XML files so that each highlight mode would get it's own attribute. In quite a few cases
still not enough attributes were defined. So in some languages different modes have the same attribute.
=head1 PLUGINS
Below an overview of existing plugins. All have been tested on use and can be created. The ones for which no samplefile
is available are marked. Those marked OK have highlighted the testfile without appearant mistakes. This does
not mean that all bugs are shaken out.
LANGUAGE MODULE COMMENT
******** ****** ******
.desktop Desktop OK
4GL FourGL No sample file
4GL-PER FourGLminusPER No sample file
ABC ABC OK
AHDL AHDL OK
ANSI C89 ANSI_C89 No sample file
ASP ASP OK
AVR Assembler AVR_Assembler OK
AWK AWK OK
Ada Ada No sample file
Alerts OK hidden module
Ansys Ansys No sample file
Apache Configuration Apache_Configuration No sample file
Asm6502 Asm6502 No sample file
Bash Bash OK
BibTeX BibTeX OK
C C No sample file
C# Cdash No sample file
C++ Cplusplus OK
CGiS CGiS No sample file
CMake CMake OK
CSS CSS OK
CUE Sheet CUE_Sheet No sample file
Cg Cg No sample file
ChangeLog ChangeLog No sample file
Cisco Cisco No sample file
Clipper Clipper OK
ColdFusion ColdFusion No sample file
Common Lisp Common_Lisp OK
Component-Pascal ComponentminusPascal No sample file
D D No sample file
Debian Changelog Debian_Changelog No sample file
Debian Control Debian_Control No sample file
Diff Diff No sample file
Doxygen Doxygen OK
E Language E_Language OK
Eiffel Eiffel No sample file
Email Email OK
Euphoria Euphoria OK
Fortran Fortran OK
FreeBASIC FreeBASIC No sample file
GDL GDL No sample file
GLSL GLSL OK
GNU Assembler GNU_Assembler No sample file
GNU Gettext GNU_Gettext No sample file
HTML HTML OK
Haskell Haskell OK
IDL IDL No sample file
ILERPG ILERPG No sample file
INI Files INI_Files No sample file
Inform Inform No sample file
Intel x86 (NASM) Intel_X86_NASM seems to have issues
JSP JSP OK
Java Java OK
JavaScript JavaScript OK
Javadoc Javadoc No sample file
KBasic KBasic No sample file
Kate File Template Kate_File_Template No sample file
LDIF LDIF No sample file
LPC LPC No sample file
LaTeX LaTex OK
( run in 0.669 second using v1.01-cache-2.11-cpan-df04353d9ac )