Project

General

Profile

Actions

Feature #2985

closed

Make syntax highlighting pluggable

Added by Jean-Baptiste Barth almost 16 years ago. Updated almost 15 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Text formatting
Target version:
Start date:
2009-03-16
Due date:
% Done:

0%

Estimated time:
Resolution:
Fixed

Description

As discussed in #1651, actual CodeRay support in Redmine is limited, and it could be interesting to make syntax highlighting pluggable. Here is a proposal which keeps actual CodeRay behaviour by default, and allow plugins to implement syntax highlighting. See syntax_highlighting.diff

The second patch prevents Redcloth from escaping some chars when they're in a code block which will be treated by syntax highlighter. There's also a minor change to desactivate a broken (useless?) facility. It doesn't matter for coderay, but other highlighters like Ultraviolet cannot parse code with ampersands everywhere... Note this patch is necessary if you want the plugin below to work well in wikis sections (no impact on attached files). Also note the same kind of trick can easily solve #1416. See redcloth.diff

As an example, I leave a basic plugin to support Ultraviolet syntax highlighting, with active4d theme. It's quite simple, you just have to make your own module under Redmine::SyntaxHighlighting and define some methods. See ultraviolet_highlighter.zip

Any comment about all that is welcome !


Files

syntax_highlighting.diff (9.11 KB) syntax_highlighting.diff Jean-Baptiste Barth, 2009-03-16 17:38
redcloth.diff (3.54 KB) redcloth.diff Jean-Baptiste Barth, 2009-03-16 17:38
ultraviolet_highlighter.zip (21.8 KB) ultraviolet_highlighter.zip Sample plugin to support Ultraviolet. Read the README before installing. Jean-Baptiste Barth, 2009-03-16 17:38
ultraviolet_highlighter.zip (3.04 KB) ultraviolet_highlighter.zip Compatible with r3584 Jean-Philippe Lang, 2010-03-14 15:38

Related issues

Related to Redmine - Patch #1651: Hack to make redmine use pygmentize instead of CodeRayClosed2008-07-15

Actions
Related to Redmine - Feature #3032: Use google Prettify for syntax highlighting instead of CodeRayClosed2009-03-23

Actions
Related to Redmine - Feature #1313: Optionally use ultraviolet for syntax highlightingClosed2008-05-27

Actions
Actions

Also available in: Atom PDF