master
Joey Hess 2009-05-21 17:23:42 -04:00
parent d00484b40c
commit 3adacbac47
1 changed files with 20 additions and 8 deletions

View File

@ -21,13 +21,13 @@ things easier for the user.
* [[plugins/contrib/syntax]] only operates as a directive * [[plugins/contrib/syntax]] only operates as a directive
([[not_on_source_code_files|automatic_use_of_syntax_plugin_on_source_code_files]]), ([[not_on_source_code_files|automatic_use_of_syntax_plugin_on_source_code_files]]),
and uses [[!cpan Text::VimColor]]. and uses [[!cpan Text::VimColor]].
* [[plugins/contrib/sourcehighlight]] uses src-highlight, and operates on * [[plugins/contrib/sourcehighlight]] uses source-highlight, and operates on
whole source files only. Needs to be updated to whole source files only. Needs to be updated to
support [[bugs/multiple_pages_with_same_name]]. support [[bugs/multiple_pages_with_same_name]].
* [[sourcecode|todo/automatic_use_of_syntax_plugin_on_source_code_files/discussion]] * [[sourcecode|todo/automatic_use_of_syntax_plugin_on_source_code_files/discussion]]
also uses src-highlight, and operates on whole source files. also uses source-highlight, and operates on whole source files.
Updated to work with the fix for [[bugs/multiple_pages_with_same_name]]. Untested with files with no extension, e.g. `Makefile`. Updated to work with the fix for [[bugs/multiple_pages_with_same_name]]. Untested with files with no extension, e.g. `Makefile`.
* [[users/jasonblevins]]'s code plugin uses src-highlight, and supports both * [[users/jasonblevins]]'s code plugin uses source-highlight, and supports both
while file and directive use. while file and directive use.
* [hlsimple](http://pivot.cs.unb.ca/git/?p=ikiplugins.git;a=blob_plain;f=IkiWiki/Plugin/hlsimple.pm;hb=HEAD) is a wrapper for the the perl module [[!cpan Syntax::Highlight::Engine::Simple]]. This is pure perl, pretty simple, uses css. It ought to be pretty fast (according to the author, and just because it is not external). * [hlsimple](http://pivot.cs.unb.ca/git/?p=ikiplugins.git;a=blob_plain;f=IkiWiki/Plugin/hlsimple.pm;hb=HEAD) is a wrapper for the the perl module [[!cpan Syntax::Highlight::Engine::Simple]]. This is pure perl, pretty simple, uses css. It ought to be pretty fast (according to the author, and just because it is not external).
@ -37,16 +37,28 @@ releases the 5 or 6 language definitions he has running on his web site, it migh
## General problems / requirements ## General problems / requirements
* Using non-perl syntax highlighting backends is slow. I'd prefer either * Using non-perl syntax highlighting backends is slower. All things equal,
using a perl module, or a multiple-backend solution that can use a perl I'd prefer either using a perl module, or a multiple-backend solution that
module as one option. (Or, if there's a great highlighter python module, can use a perl module as one option. (Or, if there's a great highlighter
we could use an external plugin..) python module, we could use an external plugin..)
Of course, some perl modules are also rather slow.. Kate, for example
can only process about 33 lines of C code, or 14 lines of
debian/changelog per second. That's **30 times slower than markdown**!
By comparison, source-highlight can do about 5000 lines of C code per
second... And launching the program 100 times on an empty file takes about
5 seconds.
* Engines that already support a wide variety of file types are of * Engines that already support a wide variety of file types are of
course preferred. If the engine doesn't support a particular type course preferred. If the engine doesn't support a particular type
of file, it could fall back to doing something simple like of file, it could fall back to doing something simple like
adding line numbers. (IkiWiki-Plugin-syntax does this.) adding line numbers. (IkiWiki-Plugin-syntax does this.)
* XHTML output.
* Emitting html that uses CSS to control the display is preferred, * Emitting html that uses CSS to control the display is preferred,
since it allows for easy user customization. since it allows for easy user customization. (Engine::Simple does
this; Kate can be configured to do it; source-highlight can be
made to do it via the switches `--css /dev/null --no-doc`)
* Nothing seems to support * Nothing seems to support
[[wiki-formatted_comments|wiki-formatted_comments_with_syntax_plugin]] [[wiki-formatted_comments|wiki-formatted_comments_with_syntax_plugin]]
inside source files. Doing this probably means post-processing the inside source files. Doing this probably means post-processing the