Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fnn.smirl.note.util;
- import java.util.regex.*;
- import android.text.*;
- import android.text.style.*;
- import android.graphics.*;
- import java.util.*;
- public class EditorUtils implements Tokenize {
- public static void formatEditor(Editable ssb) {
- Matcher mat = END.matcher(ssb);
- // while (!mat.hitEnd()) {
- // mat.usePattern(SPACE);
- // mat.find();
- StyleSpan[] ss = ssb.getSpans(0, ssb.toString().length(), StyleSpan.class);
- for (StyleSpan as : ss)ssb.removeSpan(as);
- ForegroundColorSpan[] dss = ssb.getSpans(0, ssb.toString().length(), ForegroundColorSpan.class);
- for (ForegroundColorSpan as : dss)ssb.removeSpan(as);
- mat.usePattern(NUMBER);
- while (mat.find()) {
- ssb.setSpan(new StyleSpan(Typeface.BOLD),
- mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- }
- mat.usePattern(BLOCK_NAME);
- while (mat.find()) {
- ssb.setSpan(new StyleSpan(Typeface.BOLD),
- mat.start(), mat.end() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- ssb.setSpan(new ForegroundColorSpan(Color.parseColor(BLOCK_NAME_COLOR)),
- mat.start(), mat.end() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- }
- mat.usePattern(RESERVED_KEYS);
- while (mat.find()) {
- ssb.setSpan(new StyleSpan(Typeface.BOLD),
- mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- ssb.setSpan(new ForegroundColorSpan(Color.parseColor(RESERVED_KEYS_COLOR)),
- mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- }
- mat.usePattern(PRIMITIVE_TYPE);
- while (mat.find()) {
- ssb.setSpan(new StyleSpan(Typeface.BOLD_ITALIC),
- mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- ssb.setSpan(new ForegroundColorSpan(Color.parseColor(PRIMITIVE_TYPE_COLOR)),
- mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- }
- mat.usePattern(BLOCK_SIGN);
- while (mat.find()) {
- ssb.setSpan(new StyleSpan(Typeface.BOLD),
- mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- ssb.setSpan(new ForegroundColorSpan(Color.parseColor(BLOCK_SIGN_COLOR)),
- mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- }
- mat.usePattern(INV_COMMA);
- while (mat.find()) {
- ssb.setSpan(new StyleSpan(Typeface.ITALIC),
- mat.start() + 1, mat.end() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- ssb.setSpan(new ForegroundColorSpan(Color.parseColor(INV_COMMA_COLOR)),
- mat.start() + 1, mat.end() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- }
- mat.usePattern(COMMENT_BLOCK);
- while (mat.find()) {
- ssb.setSpan(new StyleSpan(Typeface.ITALIC),
- mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- ssb.setSpan(new ForegroundColorSpan(Color.parseColor(COMMENT_BLOCK_COLOR)),
- mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- }
- // mat.usePattern(END);
- // if(mat.find()) {
- // }
- // }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement