Sha256: 4c08df29eb40030def2d6da22ccaf90ccf0424627cc9625df7dba7f08397ab07

Contents?: true

Size: 1.23 KB

Versions: 4

Compression:

Stored size: 1.23 KB

Contents

import { elt, removeChildren } from "../util/dom.js"
import { indexOf } from "../util/misc.js"

import { updateGutterSpace } from "./update_display.js"

// Rebuild the gutter elements, ensure the margin to the left of the
// code matches their width.
export function updateGutters(cm) {
  let gutters = cm.display.gutters, specs = cm.options.gutters
  removeChildren(gutters)
  let i = 0
  for (; i < specs.length; ++i) {
    let gutterClass = specs[i]
    let gElt = gutters.appendChild(elt("div", null, "CodeMirror-gutter " + gutterClass))
    if (gutterClass == "CodeMirror-linenumbers") {
      cm.display.lineGutter = gElt
      gElt.style.width = (cm.display.lineNumWidth || 1) + "px"
    }
  }
  gutters.style.display = i ? "" : "none"
  updateGutterSpace(cm)
}

// Make sure the gutters options contains the element
// "CodeMirror-linenumbers" when the lineNumbers option is true.
export function setGuttersForLineNumbers(options) {
  let found = indexOf(options.gutters, "CodeMirror-linenumbers")
  if (found == -1 && options.lineNumbers) {
    options.gutters = options.gutters.concat(["CodeMirror-linenumbers"])
  } else if (found > -1 && !options.lineNumbers) {
    options.gutters = options.gutters.slice(0)
    options.gutters.splice(found, 1)
  }
}

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
administrate-field-simple_mde_markdown-0.1.2 node_modules/codemirror/src/display/gutters.js
administrate-field-simple_mde_markdown-0.1.1 node_modules/codemirror/src/display/gutters.js
administrate-field-simple_mde_markdown-0.1.0 node_modules/codemirror/src/display/gutters.js
tui_editor-rails-1.0.2.0 vendor/assets/components/codemirror/src/display/gutters.js