summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/redmine/wiki_formatting.rb15
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/redmine/wiki_formatting.rb b/lib/redmine/wiki_formatting.rb
index 9a62bf6b8..748e366e7 100644
--- a/lib/redmine/wiki_formatting.rb
+++ b/lib/redmine/wiki_formatting.rb
@@ -28,9 +28,14 @@ module Redmine
yield self
end
- def register(name, formatter, helper)
- raise ArgumentError, "format name '#{name}' is already taken" if @@formatters[name.to_s]
- @@formatters[name.to_s] = {:formatter => formatter, :helper => helper}
+ def register(name, formatter, helper, options={})
+ name = name.to_s
+ raise ArgumentError, "format name '#{name}' is already taken" if @@formatters[name]
+ @@formatters[name] = {
+ :formatter => formatter,
+ :helper => helper,
+ :label => options[:label] || name.humanize
+ }
end
def formatter
@@ -51,6 +56,10 @@ module Redmine
@@formatters.keys.map
end
+ def formats_for_select
+ @@formatters.map {|name, options| [options[:label], name]}
+ end
+
def to_html(format, text, options = {})
text = if Setting.cache_formatted_text? && text.size > 2.kilobyte && cache_store && cache_key = cache_key_for(format, text, options[:object], options[:attribute])
# Text retrieved from the cache store may be frozen