Guest User

Untitled

a guest
Feb 21st, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. // - 糸くす~------------------------------------- Copyright(C)2015-2018 inuuik -
  2. // 改行と行頭の空白削除(Shift+Alt+Z).js
  3. //
  4. // 選択範囲の行頭にある空白文字とすべての改行を削除。
  5. // 選択範囲がなければその行から削除。
  6. // 選択範囲の最後の改行は削除しない。
  7. //
  8. // 置換
  9. // 検索する文字列
  10. // /(?:(?:\n|^)[ \t\u3000\u2028\u2029\f\v\xa0]+)|(?:\n(?!$))/g
  11. // 置換後の文字列
  12. //
  13. //
  14. // Mery の検索オプションと検索履歴に影響しない。
  15. //
  16. // revised inuuik 2015-12-18 新版
  17. // revised inuuik 2018-02-07 改行と行頭の空白削除.js から派生
  18. // - ------------------------ --------------------------------------------------
  19. {
  20. var s = document.selection;
  21. var cp = s.GetActivePos();
  22. var bp = s.GetAnchorPos();
  23. var diff;
  24. var t, tt;
  25.  
  26. Redraw = false;
  27. if (s.IsEmpty) { // 選択範囲がなければ…
  28. s.StartOfLine(false, mePosView); // 行頭から行末まで選択
  29. s.EndOfLine(true, mePosView);
  30. }
  31. if (! s.IsEmpty) {
  32. t = s.Text;
  33. tt = t.replace(/(?:(?:\n|^)[ \t\u3000\u2028\u2029\f\v\xa0]+)|(?:\n(?!$))/g, "");
  34. diff = t.length - tt.length;
  35. cp -= diff;
  36. if ((cp + diff) === bp) {
  37. bp = cp;
  38. }
  39. s.Text = tt;
  40. s.SetAnchorPos(bp);
  41. s.SetActivePos(cp, true);
  42. }
  43. Redraw = true;
  44. }
  45. // - ------------------------ --------------------------------------------------
Add Comment
Please, Sign In to add comment