@Override protected void addStandardPhraseModifiers(PatternBasedSyntax phraseModifierSyntax) { boolean escapingHtml = configuration == null ? false : configuration.isEscapingHtmlAndXml(); phraseModifierSyntax.add(new HtmlEndTagPhraseModifier(escapingHtml)); phraseModifierSyntax.add(new HtmlStartTagPhraseModifier(escapingHtml)); phraseModifierSyntax.beginGroup("(?:(?<=[\\s\\.,\\\"'?!;:\\)\\(\\{\\}\\[\\]])|^)(?:", 0); //$NON-NLS-1$ phraseModifierSyntax.add(new EscapeTextilePhraseModifier()); phraseModifierSyntax.add(new SimpleTextilePhraseModifier("**", SpanType.BOLD, Mode.NESTING)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimpleTextilePhraseModifier("??", SpanType.CITATION, Mode.NESTING)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimpleTextilePhraseModifier("__", SpanType.ITALIC, Mode.NESTING)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimpleTextilePhraseModifier("_", SpanType.EMPHASIS, Mode.NESTING)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimpleTextilePhraseModifier("*", SpanType.STRONG, Mode.NESTING)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimpleTextilePhraseModifier("+", SpanType.INSERTED, Mode.NESTING)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimpleTextilePhraseModifier("~", SpanType.SUBSCRIPT, Mode.NORMAL)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimpleTextilePhraseModifier("^", SpanType.SUPERSCRIPT, Mode.NORMAL)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimpleTextilePhraseModifier("@", SpanType.CODE, Mode.SPECIAL)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimpleTextilePhraseModifier("%", SpanType.SPAN, Mode.NESTING)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimpleTextilePhraseModifier("-", SpanType.DELETED, Mode.NESTING)); //$NON-NLS-1$ phraseModifierSyntax.add(new ImageTextilePhraseModifier()); phraseModifierSyntax.add(new HyperlinkPhraseModifier()); // hyperlinks are actually a phrase modifier see bug 283093 phraseModifierSyntax.endGroup(")(?=\\W|$)", 0); //$NON-NLS-1$ }
@Override protected void addStandardTokens(PatternBasedSyntax tokenSyntax) { // IMPORTANT NOTE: Most items below have order dependencies. DO NOT REORDER ITEMS BELOW!! tokenSyntax.add(new BangEscapeToken()); tokenSyntax.add(new LineBreakToken()); tokenSyntax.beginGroup("(?:(?<=[\\s\\.\\\"'?!;:\\)\\(\\{\\}\\[\\]-])|^)(?:", 0); // always starts at the start of a line or after a non-word character excluding '!' and '-' //$NON-NLS-1$ tokenSyntax.add(new RevisionLogReplacementToken()); tokenSyntax.add(new ChangesetLinkReplacementToken()); tokenSyntax.add(new HyperlinkReplacementToken()); tokenSyntax.add(new ImpliedHyperlinkReplacementToken()); tokenSyntax.add(new TicketAttachmentLinkReplacementToken()); tokenSyntax.add(new TicketLinkReplacementToken()); tokenSyntax.add(new ReportLinkReplacementToken()); tokenSyntax.add(new MilestoneLinkReplacementToken()); tokenSyntax.add(new SourceLinkReplacementToken()); tokenSyntax.add(new WikiLinkReplacementToken()); if (configuration == null || configuration.isWikiWordLinking() == null || configuration.isWikiWordLinking()) { tokenSyntax.add(new WikiWordReplacementToken()); } tokenSyntax.endGroup(")(?=\\W|$)", 0); //$NON-NLS-1$ }
@Override protected void addStandardPhraseModifiers(PatternBasedSyntax phraseModifierSyntax) { phraseModifierSyntax.beginGroup("(?:(?<=[\\s\\.,\\\"'?!;:\\)\\(\\[\\]])|^)(?:", 0); //$NON-NLS-1$ // phraseModifierSyntax.add(new HyperlinkPhraseModifier()); phraseModifierSyntax.add(new StrangePhraseModifier("*", SpanType.STRONG, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new StrangePhraseModifier("_", SpanType.EMPHASIS, true)); phraseModifierSyntax.add(new StrangePhraseModifier("??", SpanType.CITATION, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new StrangePhraseModifier("-", SpanType.DELETED, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new StrangePhraseModifier("+", SpanType.UNDERLINED, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new StrangePhraseModifier("^", SpanType.SUPERSCRIPT, false)); //$NON-NLS-1$ phraseModifierSyntax.add(new StrangePhraseModifier("~", SpanType.SUBSCRIPT, false)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimpleWrappedPhraseModifier("{{", "}}", SpanType.MONOSPACE, true)); //$NON-NLS-1$ //$NON-NLS-2$ phraseModifierSyntax.add(new ConfluenceWrappedPhraseModifier("{quote}", SpanType.QUOTE, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new ImagePhraseModifier()); //phraseModifierSyntax.endGroup(")(?=\\W|$)", 0); // Lookahead expression causes problems! phraseModifierSyntax.endGroup(")", 0); //$NON-NLS-1$ phraseModifierSyntax.beginGroup("(?:", 0); //$NON-NLS-1$ phraseModifierSyntax.add(new HyperlinkPhraseModifier()); phraseModifierSyntax.endGroup(")", 0); //$NON-NLS-1$ }
@Override protected void addStandardTokens(PatternBasedSyntax tokenSyntax) { // IMPORTANT NOTE: Most items below have order dependencies. DO NOT REORDER ITEMS BELOW!! tokenSyntax.add(new BangEscapeToken()); tokenSyntax.add(new LineBreakToken()); tokenSyntax.beginGroup("(?:(?<=[\\s\\.\\\"'?!;:\\)\\(\\{\\}\\[\\]-])|^)(?:", 0); // always starts at the start of a line or after a non-word character excluding '!' and '-' //$NON-NLS-1$ tokenSyntax.add(new MacroReplacementToken()); tokenSyntax.add(new RevisionLogReplacementToken()); tokenSyntax.add(new ChangesetLinkReplacementToken()); tokenSyntax.add(new HyperlinkReplacementToken()); tokenSyntax.add(new ImpliedHyperlinkReplacementToken()); tokenSyntax.add(new TicketAttachmentLinkReplacementToken()); tokenSyntax.add(new TicketLinkReplacementToken()); tokenSyntax.add(new ReportLinkReplacementToken()); tokenSyntax.add(new MilestoneLinkReplacementToken()); tokenSyntax.add(new SourceLinkReplacementToken()); tokenSyntax.add(new WikiLinkReplacementToken()); if (configuration == null || configuration.isWikiWordLinking() == null || configuration.isWikiWordLinking()) { tokenSyntax.add(new WikiWordReplacementToken()); } tokenSyntax.endGroup(")(?=\\W|$)", 0); //$NON-NLS-1$ }
@Override protected void addStandardPhraseModifiers(PatternBasedSyntax phraseModifierSyntax) { // IMPORTANT NOTE: Most items below have order dependencies. DO NOT REORDER ITEMS BELOW!! boolean escapingHtml = configuration == null ? false : configuration.isEscapingHtmlAndXml(); phraseModifierSyntax.add(new AutoLinkSwitchPhraseModifier()); if (!escapingHtml) { phraseModifierSyntax.add(new HtmlStartTagPhraseModifier()); phraseModifierSyntax.add(new HtmlEndTagPhraseModifier()); } phraseModifierSyntax.beginGroup("(?:(?<=[\\s\\.,\\\"'?!;:\\)\\(\\{\\}\\[\\]])|^)(?:", 0); //$NON-NLS-1$ phraseModifierSyntax.add(new SimplePhraseModifier("*", SpanType.BOLD)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimplePhraseModifier("__", new SpanType[] { SpanType.BOLD, SpanType.ITALIC })); //$NON-NLS-1$ phraseModifierSyntax.add(new SimplePhraseModifier("_", SpanType.ITALIC)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimplePhraseModifier("==", new SpanType[] { SpanType.BOLD, SpanType.MONOSPACE })); //$NON-NLS-1$ phraseModifierSyntax.add(new SimplePhraseModifier("=", SpanType.MONOSPACE)); //$NON-NLS-1$ phraseModifierSyntax.endGroup(")(?=\\W|$)", 0); //$NON-NLS-1$ literalPhraseModifierSyntax.add(new HtmlStartTagPhraseModifier()); literalPhraseModifierSyntax.add(new HtmlEndTagPhraseModifier()); }
@Override protected void addStandardPhraseModifiers(PatternBasedSyntax phraseModifierSyntax) { phraseModifierSyntax.beginGroup("(?:(?<=[\\s\\.,\\\"'?!;:\\)\\(\\[\\]])|^)(?:", 0); //$NON-NLS-1$ phraseModifierSyntax.add(new HyperlinkPhraseModifier()); phraseModifierSyntax.add(new SimplePhraseModifier("*", SpanType.STRONG, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new EmphasisPhraseModifier()); phraseModifierSyntax.add(new SimplePhraseModifier("??", SpanType.CITATION, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimplePhraseModifier("-", SpanType.DELETED, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimplePhraseModifier("+", SpanType.UNDERLINED, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimplePhraseModifier("^", SpanType.SUPERSCRIPT, false)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimplePhraseModifier("~", SpanType.SUBSCRIPT, false)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimpleWrappedPhraseModifier("{{", "}}", SpanType.MONOSPACE, false)); //$NON-NLS-1$ //$NON-NLS-2$ phraseModifierSyntax.add(new ConfluenceWrappedPhraseModifier("{quote}", SpanType.QUOTE, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new ColorPhraseModifier()); phraseModifierSyntax.add(new ImagePhraseModifier()); phraseModifierSyntax.endGroup(")(?=\\W|$)", 0); //$NON-NLS-1$ }
@Override protected void addStandardPhraseModifiers(PatternBasedSyntax phraseModifierSyntax) { // IMPORTANT NOTE: Most items below have order dependencies. DO NOT REORDER ITEMS BELOW!! phraseModifierSyntax.add(new MonospacePhraseModifier()); phraseModifierSyntax.beginGroup("(?:(?<=[\\s\\.\\\"'?!;:\\)\\(\\{\\}\\[\\]-])|^)(?:", 0); // always starts at the start of a line or after a non-word character excluding '!' and '-' //$NON-NLS-1$ phraseModifierSyntax.add(new EscapePhraseModifier()); phraseModifierSyntax.add(new SimplePhraseModifier("'''''", new SpanType[] { SpanType.BOLD, SpanType.ITALIC }, //$NON-NLS-1$ true)); phraseModifierSyntax.add(new SimplePhraseModifier("'''", SpanType.BOLD, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimplePhraseModifier("''", SpanType.ITALIC, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimplePhraseModifier("__", SpanType.UNDERLINED, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new DeletedPhraseModifier()); phraseModifierSyntax.add(new SimplePhraseModifier("^", SpanType.SUPERSCRIPT, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimplePhraseModifier(",,", SpanType.SUBSCRIPT, true)); //$NON-NLS-1$ phraseModifierSyntax.endGroup(")(?=\\W|$)", 0); //$NON-NLS-1$ }
@Override protected void addStandardPhraseModifiers(PatternBasedSyntax phraseModifierSyntax) { // IMPORTANT NOTE: Most items below have order dependencies. DO NOT REORDER ITEMS BELOW!! phraseModifierSyntax.add(new MonospacePhraseModifier()); phraseModifierSyntax.beginGroup("(?:(?<=[\\s\\.\\\"'?!;:\\)\\(\\{\\}\\[\\]-])|^)(?:", 0); // always starts at the start of a line or after a non-word character excluding '!' and '-' //$NON-NLS-1$ phraseModifierSyntax.add(new EscapePhraseModifier()); phraseModifierSyntax.add(new SimplePhraseModifier("'''''", new SpanType[] { SpanType.BOLD, SpanType.ITALIC }, //$NON-NLS-1$ true)); phraseModifierSyntax.add(new SimplePhraseModifier("'''", SpanType.BOLD, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimplePhraseModifier("''", SpanType.ITALIC, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimplePhraseModifier("__", SpanType.UNDERLINED, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimplePhraseModifier("~~", SpanType.DELETED, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimplePhraseModifier("^", SpanType.SUPERSCRIPT, true)); //$NON-NLS-1$ phraseModifierSyntax.add(new SimplePhraseModifier(",,", SpanType.SUBSCRIPT, true)); //$NON-NLS-1$ phraseModifierSyntax.endGroup(")(?=\\W|$)", 0); //$NON-NLS-1$ }