summaryrefslogtreecommitdiffstats
path: root/sonar-markdown/src/main
diff options
context:
space:
mode:
authorFreddy Mallet <freddy.mallet@gmail.com>2011-04-23 15:33:33 +0200
committerFreddy Mallet <freddy.mallet@gmail.com>2011-04-23 15:33:33 +0200
commit3e265a43011c4bc6c9b8c5df4484fcef8ac7965b (patch)
tree310dc035bfa52ddc2435085bc024ce325ef5ffcd /sonar-markdown/src/main
parent327a952a2f36f3a4eef2d76c3671a1737e550ce5 (diff)
downloadsonarqube-3e265a43011c4bc6c9b8c5df4484fcef8ac7965b.tar.gz
sonarqube-3e265a43011c4bc6c9b8c5df4484fcef8ac7965b.zip
SONAR-2384 Add a new HtmlCodeChannel to transform ''printf()'' into <code>printf()</code>
Diffstat (limited to 'sonar-markdown/src/main')
-rw-r--r--sonar-markdown/src/main/java/org/sonar/markdown/HtmlCodeChannel.java36
-rw-r--r--sonar-markdown/src/main/java/org/sonar/markdown/HtmlEmphasisChannel.java2
-rw-r--r--sonar-markdown/src/main/java/org/sonar/markdown/HtmlUrlChannel.java2
-rw-r--r--sonar-markdown/src/main/java/org/sonar/markdown/IdentifierAndNumberChannel.java2
-rw-r--r--sonar-markdown/src/main/java/org/sonar/markdown/MarkdownEngine.java1
5 files changed, 40 insertions, 3 deletions
diff --git a/sonar-markdown/src/main/java/org/sonar/markdown/HtmlCodeChannel.java b/sonar-markdown/src/main/java/org/sonar/markdown/HtmlCodeChannel.java
new file mode 100644
index 00000000000..4fd5d3fd11c
--- /dev/null
+++ b/sonar-markdown/src/main/java/org/sonar/markdown/HtmlCodeChannel.java
@@ -0,0 +1,36 @@
+/*
+ * Sonar, open source software quality management tool.
+ * Copyright (C) 2008-2011 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * Sonar is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * Sonar is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with Sonar; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
+ */
+package org.sonar.markdown;
+
+import org.sonar.channel.RegexChannel;
+
+class HtmlCodeChannel extends RegexChannel<MarkdownOutput> {
+
+ public HtmlCodeChannel() {
+ super("''.+?''");
+ }
+
+ @Override
+ protected void consume(CharSequence token, MarkdownOutput output) {
+ output.append("<code>");
+ output.append(token.subSequence(2, token.length() - 2));
+ output.append("</code>");
+ }
+}
diff --git a/sonar-markdown/src/main/java/org/sonar/markdown/HtmlEmphasisChannel.java b/sonar-markdown/src/main/java/org/sonar/markdown/HtmlEmphasisChannel.java
index 48d42b1114b..ffaf0ac60e7 100644
--- a/sonar-markdown/src/main/java/org/sonar/markdown/HtmlEmphasisChannel.java
+++ b/sonar-markdown/src/main/java/org/sonar/markdown/HtmlEmphasisChannel.java
@@ -24,7 +24,7 @@ import org.sonar.channel.RegexChannel;
class HtmlEmphasisChannel extends RegexChannel<MarkdownOutput> {
public HtmlEmphasisChannel() {
- super("\\*\\S[^\n\r\\*\\s]*\\*");
+ super("\\*[^\n\r\\*\\s]++\\*");
}
@Override
diff --git a/sonar-markdown/src/main/java/org/sonar/markdown/HtmlUrlChannel.java b/sonar-markdown/src/main/java/org/sonar/markdown/HtmlUrlChannel.java
index 6bfa51d8508..14933ca029a 100644
--- a/sonar-markdown/src/main/java/org/sonar/markdown/HtmlUrlChannel.java
+++ b/sonar-markdown/src/main/java/org/sonar/markdown/HtmlUrlChannel.java
@@ -24,7 +24,7 @@ import org.sonar.channel.RegexChannel;
class HtmlUrlChannel extends RegexChannel<MarkdownOutput> {
public HtmlUrlChannel() {
- super("https?://[\\w\\d:#@%/;$()~_?\\+-=\\.&]*");
+ super("https?://[\\w\\d:#@%/;$()~_?\\+-=\\.&]++");
}
@Override
diff --git a/sonar-markdown/src/main/java/org/sonar/markdown/IdentifierAndNumberChannel.java b/sonar-markdown/src/main/java/org/sonar/markdown/IdentifierAndNumberChannel.java
index cb94f4b205e..74b8dffb3b3 100644
--- a/sonar-markdown/src/main/java/org/sonar/markdown/IdentifierAndNumberChannel.java
+++ b/sonar-markdown/src/main/java/org/sonar/markdown/IdentifierAndNumberChannel.java
@@ -24,7 +24,7 @@ import org.sonar.channel.RegexChannel;
class IdentifierAndNumberChannel extends RegexChannel<MarkdownOutput> {
public IdentifierAndNumberChannel() {
- super("[\\p{Alpha}\\d]++");
+ super("[\\w\\d]++");
}
@Override
diff --git a/sonar-markdown/src/main/java/org/sonar/markdown/MarkdownEngine.java b/sonar-markdown/src/main/java/org/sonar/markdown/MarkdownEngine.java
index fb51e9c4b2f..6a7f84dd7d4 100644
--- a/sonar-markdown/src/main/java/org/sonar/markdown/MarkdownEngine.java
+++ b/sonar-markdown/src/main/java/org/sonar/markdown/MarkdownEngine.java
@@ -37,6 +37,7 @@ public class MarkdownEngine {
markdownChannels.add(new HtmlUrlChannel());
markdownChannels.add(new HtmlEndOfLineChannel());
markdownChannels.add(new HtmlEmphasisChannel());
+ markdownChannels.add(new HtmlCodeChannel());
markdownChannels.add(new IdentifierAndNumberChannel());
markdownChannels.add(new BlackholeChannel());
dispatcher = new ChannelDispatcher<MarkdownOutput>(markdownChannels);