[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/media/vendor/codemirror/mode/properties/ -> properties.js (source)

   1  // CodeMirror, copyright (c) by Marijn Haverbeke and others
   2  // Distributed under an MIT license: https://codemirror.net/5/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  "use strict";
  13  
  14  CodeMirror.defineMode("properties", function() {
  15    return {
  16      token: function(stream, state) {
  17        var sol = stream.sol() || state.afterSection;
  18        var eol = stream.eol();
  19  
  20        state.afterSection = false;
  21  
  22        if (sol) {
  23          if (state.nextMultiline) {
  24            state.inMultiline = true;
  25            state.nextMultiline = false;
  26          } else {
  27            state.position = "def";
  28          }
  29        }
  30  
  31        if (eol && ! state.nextMultiline) {
  32          state.inMultiline = false;
  33          state.position = "def";
  34        }
  35  
  36        if (sol) {
  37          while(stream.eatSpace()) {}
  38        }
  39  
  40        var ch = stream.next();
  41  
  42        if (sol && (ch === "#" || ch === "!" || ch === ";")) {
  43          state.position = "comment";
  44          stream.skipToEnd();
  45          return "comment";
  46        } else if (sol && ch === "[") {
  47          state.afterSection = true;
  48          stream.skipTo("]"); stream.eat("]");
  49          return "header";
  50        } else if (ch === "=" || ch === ":") {
  51          state.position = "quote";
  52          return null;
  53        } else if (ch === "\\" && state.position === "quote") {
  54          if (stream.eol()) {  // end of line?
  55            // Multiline value
  56            state.nextMultiline = true;
  57          }
  58        }
  59  
  60        return state.position;
  61      },
  62  
  63      startState: function() {
  64        return {
  65          position : "def",       // Current position, "def", "quote" or "comment"
  66          nextMultiline : false,  // Is the next line multiline value
  67          inMultiline : false,    // Is the current line a multiline value
  68          afterSection : false    // Did we just open a section
  69        };
  70      }
  71  
  72    };
  73  });
  74  
  75  CodeMirror.defineMIME("text/x-properties", "properties");
  76  CodeMirror.defineMIME("text/x-ini", "properties");
  77  
  78  });


Generated: Wed Sep 7 05:41:13 2022 Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer