• Skip to sidebar navigation
  • Skip to content

Bitbucket

  • More
    ProjectsRepositories
    • Help
      • Online help
      • Learn Git
      • Welcome to Bitbucket
      • Keyboard shortcuts
    • Log In
    Blackrock
    1. Blackrock

    main

    Public
    Actions
    • Clone

    Learn more about cloning repositories

    You have read-only access

    Navigation
    • Source
    • Commits
    • Branches
    • All Branches Graph
    • Graphs
    • Forks
    1. Blackrock
    2. main

    Source

    main/wp-content/plugins/wpml-translation-management/libraries/CodeMirror/addon/fold/xml-fold.js
    Артем ШиряевАртем Ширяев committed 554847ddcb906 Apr 2021
    Raw file
    Source viewDiff to previous
     
    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
      "use strict";
    13
    ​
    14
      var Pos = CodeMirror.Pos;
    15
      function cmp(a, b) { return a.line - b.line || a.ch - b.ch; }
    16
    ​
    17
      var nameStartChar = "A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD";
    18
      var nameChar = nameStartChar + "\-\:\.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040";
    19
      var xmlTagStart = new RegExp("<(/?)([" + nameStartChar + "][" + nameChar + "]*)", "g");
    20
    ​
    21
      function Iter(cm, line, ch, range) {
    22
        this.line = line; this.ch = ch;
    23
        this.cm = cm; this.text = cm.getLine(line);
    24
        this.min = range ? Math.max(range.from, cm.firstLine()) : cm.firstLine();
    25
        this.max = range ? Math.min(range.to - 1, cm.lastLine()) : cm.lastLine();
    26
      }
    27
    ​
    28
      function tagAt(iter, ch) {
    29
        var type = iter.cm.getTokenTypeAt(Pos(iter.line, ch));
    30
        return type && /\btag\b/.test(type);
    31
      }
    32
    ​
    33
      function nextLine(iter) {
    34
        if (iter.line >= iter.max) return;
    35
        iter.ch = 0;
    36
        iter.text = iter.cm.getLine(++iter.line);
    37
        return true;
    38
      }
    39
      function prevLine(iter) {
    40
        if (iter.line <= iter.min) return;
    41
        iter.text = iter.cm.getLine(--iter.line);
    42
        iter.ch = iter.text.length;
    43
        return true;
    44
      }
    45
    ​
    46
      function toTagEnd(iter) {
    47
        for (;;) {
    48
          var gt = iter.text.indexOf(">", iter.ch);
    49
          if (gt == -1) { if (nextLine(iter)) continue; else return; }
    50
          if (!tagAt(iter, gt + 1)) { iter.ch = gt + 1; continue; }
    51
          var lastSlash = iter.text.lastIndexOf("/", gt);
    52
          var selfClose = lastSlash > -1 && !/\S/.test(iter.text.slice(lastSlash + 1, gt));
    53
          iter.ch = gt + 1;
    54
          return selfClose ? "selfClose" : "regular";
    55
        }
    56
      }
    57
      function toTagStart(iter) {
    58
        for (;;) {
    59
          var lt = iter.ch ? iter.text.lastIndexOf("<", iter.ch - 1) : -1;
    60
          if (lt == -1) { if (prevLine(iter)) continue; else return; }
    61
          if (!tagAt(iter, lt + 1)) { iter.ch = lt; continue; }
    62
          xmlTagStart.lastIndex = lt;
    63
          iter.ch = lt;
    • Git repository management for enterprise teams powered by Atlassian Bitbucket
    • Atlassian Bitbucket v5.10.1
    • Documentation
    • Contact Support
    • Request a feature
    • About
    • Contact Atlassian
    Atlassian

    Everything looks good. Well let you know here if theres anything you should know about.