Advertisement
Guest User

Untitled

a guest
May 28th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. package fnn.smirl.note.util;
  2. import java.util.regex.*;
  3. import android.text.*;
  4. import android.text.style.*;
  5. import android.graphics.*;
  6. import java.util.*;
  7.  
  8. public class EditorUtils implements Tokenize {
  9.  
  10. public static void formatEditor(Editable ssb) {
  11. Matcher mat = END.matcher(ssb);
  12. // while (!mat.hitEnd()) {
  13. // mat.usePattern(SPACE);
  14. // mat.find();
  15. StyleSpan[] ss = ssb.getSpans(0, ssb.toString().length(), StyleSpan.class);
  16. for (StyleSpan as : ss)ssb.removeSpan(as);
  17.  
  18. ForegroundColorSpan[] dss = ssb.getSpans(0, ssb.toString().length(), ForegroundColorSpan.class);
  19. for (ForegroundColorSpan as : dss)ssb.removeSpan(as);
  20.  
  21. mat.usePattern(NUMBER);
  22. while (mat.find()) {
  23. ssb.setSpan(new StyleSpan(Typeface.BOLD),
  24. mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  25. }
  26.  
  27. mat.usePattern(BLOCK_NAME);
  28. while (mat.find()) {
  29. ssb.setSpan(new StyleSpan(Typeface.BOLD),
  30. mat.start(), mat.end() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  31. ssb.setSpan(new ForegroundColorSpan(Color.parseColor(BLOCK_NAME_COLOR)),
  32. mat.start(), mat.end() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  33.  
  34. }
  35.  
  36. mat.usePattern(RESERVED_KEYS);
  37. while (mat.find()) {
  38. ssb.setSpan(new StyleSpan(Typeface.BOLD),
  39. mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  40. ssb.setSpan(new ForegroundColorSpan(Color.parseColor(RESERVED_KEYS_COLOR)),
  41. mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  42.  
  43. }
  44. mat.usePattern(PRIMITIVE_TYPE);
  45. while (mat.find()) {
  46. ssb.setSpan(new StyleSpan(Typeface.BOLD_ITALIC),
  47. mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  48. ssb.setSpan(new ForegroundColorSpan(Color.parseColor(PRIMITIVE_TYPE_COLOR)),
  49. mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  50.  
  51. }
  52.  
  53.  
  54. mat.usePattern(BLOCK_SIGN);
  55. while (mat.find()) {
  56. ssb.setSpan(new StyleSpan(Typeface.BOLD),
  57. mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  58. ssb.setSpan(new ForegroundColorSpan(Color.parseColor(BLOCK_SIGN_COLOR)),
  59. mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  60.  
  61. }
  62.  
  63. mat.usePattern(INV_COMMA);
  64. while (mat.find()) {
  65. ssb.setSpan(new StyleSpan(Typeface.ITALIC),
  66. mat.start() + 1, mat.end() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  67. ssb.setSpan(new ForegroundColorSpan(Color.parseColor(INV_COMMA_COLOR)),
  68. mat.start() + 1, mat.end() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  69.  
  70.  
  71. }
  72. mat.usePattern(COMMENT_BLOCK);
  73. while (mat.find()) {
  74. ssb.setSpan(new StyleSpan(Typeface.ITALIC),
  75. mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  76. ssb.setSpan(new ForegroundColorSpan(Color.parseColor(COMMENT_BLOCK_COLOR)),
  77. mat.start(), mat.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  78.  
  79. }
  80.  
  81. // mat.usePattern(END);
  82. // if(mat.find()) {
  83. // }
  84. // }
  85. }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement