Change markwon render return type to Spanned

This commit is contained in:
Dimitry Ivanov 2018-12-17 16:19:31 +03:00
parent 414a8763f2
commit 7c473b3d37
2 changed files with 7 additions and 5 deletions

View File

@ -2,6 +2,7 @@ package ru.noties.markwon;
import android.content.Context; import android.content.Context;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.text.Spanned;
import android.widget.TextView; import android.widget.TextView;
import org.commonmark.node.Node; import org.commonmark.node.Node;
@ -17,11 +18,11 @@ public abstract class Markwon {
public abstract Node parse(@NonNull String input); public abstract Node parse(@NonNull String input);
@NonNull @NonNull
public abstract CharSequence render(@NonNull Node node); public abstract Spanned render(@NonNull Node node);
// parse + render // parse + render
@NonNull @NonNull
public abstract CharSequence toMarkdown(@NonNull String input); public abstract Spanned toMarkdown(@NonNull String input);
public abstract void setMarkdown(@NonNull TextView textView, @NonNull String markdown); public abstract void setMarkdown(@NonNull TextView textView, @NonNull String markdown);

View File

@ -1,6 +1,7 @@
package ru.noties.markwon; package ru.noties.markwon;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.text.Spanned;
import android.widget.TextView; import android.widget.TextView;
import org.commonmark.node.Node; import org.commonmark.node.Node;
@ -39,7 +40,7 @@ class MarkwonImpl extends Markwon {
@NonNull @NonNull
@Override @Override
public CharSequence render(@NonNull Node node) { public Spanned render(@NonNull Node node) {
for (MarkwonPlugin plugin : plugins) { for (MarkwonPlugin plugin : plugins) {
plugin.beforeRender(node); plugin.beforeRender(node);
@ -51,12 +52,12 @@ class MarkwonImpl extends Markwon {
plugin.afterRender(node, visitor); plugin.afterRender(node, visitor);
} }
return visitor.builder().text(); return visitor.builder().spannableStringBuilder();
} }
@NonNull @NonNull
@Override @Override
public CharSequence toMarkdown(@NonNull String input) { public Spanned toMarkdown(@NonNull String input) {
return render(parse(input)); return render(parse(input));
} }