Sha256: a442eae3b57475f44b8fae5a44c5177f7a19eef84ac491376478c76cadced495

Contents?: true

Size: 1.38 KB

Versions: 13

Compression:

Stored size: 1.38 KB

Contents

CodeMirror.defineMode("properties", function() {
  return {
    token: function(stream, state) {
      var sol = stream.sol();
      var eol = stream.eol();

      if (sol) {
        if (state.nextMultiline) {
          state.inMultiline = true;
          state.nextMultiline = false;
        } else {
          state.position = "key";
        }
      }

      if (eol && ! state.nextMultiline) {
        state.inMultiline = false;
        state.position = "key";
      }

      if (sol) {
        while(stream.eatSpace());
      }

      var ch = stream.next();

      if (sol && (ch === "#" || ch === "!")) {
        state.position = "comment";
        stream.skipToEnd();
        return "comment";

      } else if (ch === "=" || ch === ":") {
        state.position = "value";
        return "equals";

      } else if (ch === "\\" && state.position === "value") {
        if (stream.next() !== "u") {    // u = Unicode sequence \u1234
          // Multiline value
          state.nextMultiline = true;
        }
      }

      return state.position;
    },

    startState: function() {
      return {
        position : "key",       // Current position, "key", "value" or "comment"
        nextMultiline : false,  // Is the next line multiline value
        inMultiline : false     // Is the current line a multiline value
      };
    }

  };
});

CodeMirror.defineMIME("text/x-properties", "properties");

Version data entries

13 entries across 13 versions & 2 rubygems

Version Path
milksteak-0.0.15 lib/public/milksteak/codemirror2/mode/properties/properties.js
milksteak-0.0.13 lib/public/milksteak/codemirror2/mode/properties/properties.js
milksteak-0.0.12 lib/public/milksteak/codemirror2/mode/properties/properties.js
milksteak-0.0.11 lib/public/milksteak/codemirror2/mode/properties/properties.js
milksteak-0.0.10 lib/public/milksteak/codemirror2/mode/properties/properties.js
milksteak-0.0.9 lib/public/milksteak/codemirror2/mode/properties/properties.js
milksteak-0.0.8 lib/public/milksteak/codemirror2/mode/properties/properties.js
milksteak-0.0.7 lib/public/milksteak/codemirror2/mode/properties/properties.js
milksteak-0.0.6 lib/public/milksteak/codemirror2/mode/properties/properties.js
milksteak-0.0.4 lib/public/milksteak/codemirror2/mode/properties/properties.js
milksteak-0.0.3 lib/public/milksteak/codemirror2/mode/properties/properties.js
milksteak-0.0.2 lib/public/milksteak/codemirror2/mode/properties/properties.js
codemirror-rails-2.22 vendor/assets/javascripts/codemirror/modes/properties.js