github.com/jancarloviray/community@v0.41.1-0.20170124221257-33a66c87cf2f/app/public/codemirror/addon/edit/trailingspace.js (about)

     1  // CodeMirror, copyright (c) by Marijn Haverbeke and others
     2  // Distributed under an MIT license: http://codemirror.net/LICENSE
     3  
     4  (function(mod) {
     5    if (typeof exports == "object" && typeof module == "object") // CommonJS
     6      mod(require("../../lib/codemirror"));
     7    else if (typeof define == "function" && define.amd) // AMD
     8      define(["../../lib/codemirror"], mod);
     9    else // Plain browser env
    10      mod(CodeMirror);
    11  })(function(CodeMirror) {
    12    CodeMirror.defineOption("showTrailingSpace", false, function(cm, val, prev) {
    13      if (prev == CodeMirror.Init) prev = false;
    14      if (prev && !val)
    15        cm.removeOverlay("trailingspace");
    16      else if (!prev && val)
    17        cm.addOverlay({
    18          token: function(stream) {
    19            for (var l = stream.string.length, i = l; i && /\s/.test(stream.string.charAt(i - 1)); --i) {}
    20            if (i > stream.pos) { stream.pos = i; return null; }
    21            stream.pos = l;
    22            return "trailingspace";
    23          },
    24          name: "trailingspace"
    25        });
    26    });
    27  });