-
Notifications
You must be signed in to change notification settings - Fork 44
Commit
* Fix slice issues * Increase slice test coverage * Fix typo in slice benchmark * Bump version * Generate dist * Generate docs * Generate benchmarks
- Loading branch information
There are no files selected for viewing
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
(function() { | ||
|
||
if (typeof self === 'undefined' || !self.Prism || !self.document) { | ||
return; | ||
} | ||
|
||
Prism.hooks.add('complete', function (env) { | ||
if (!env.code) { | ||
return; | ||
} | ||
|
||
// works only for <code> wrapped inside <pre> (not inline) | ||
var pre = env.element.parentNode; | ||
var clsReg = /\s*\bline-numbers\b\s*/; | ||
if ( | ||
!pre || !/pre/i.test(pre.nodeName) || | ||
// Abort only if nor the <pre> nor the <code> have the class | ||
(!clsReg.test(pre.className) && !clsReg.test(env.element.className)) | ||
) { | ||
return; | ||
} | ||
|
||
if (env.element.querySelector(".line-numbers-rows")) { | ||
// Abort if line numbers already exists | ||
return; | ||
} | ||
|
||
if (clsReg.test(env.element.className)) { | ||
// Remove the class "line-numbers" from the <code> | ||
env.element.className = env.element.className.replace(clsReg, ''); | ||
} | ||
if (!clsReg.test(pre.className)) { | ||
// Add the class "line-numbers" to the <pre> | ||
pre.className += ' line-numbers'; | ||
} | ||
|
||
var match = env.code.match(/\n(?!$)/g); | ||
var linesNum = match ? match.length + 1 : 1; | ||
var lineNumbersWrapper; | ||
|
||
var lines = new Array(linesNum + 1); | ||
lines = lines.join('<span></span>'); | ||
|
||
lineNumbersWrapper = document.createElement('span'); | ||
lineNumbersWrapper.setAttribute('aria-hidden', 'true'); | ||
lineNumbersWrapper.className = 'line-numbers-rows'; | ||
lineNumbersWrapper.innerHTML = lines; | ||
|
||
if (pre.hasAttribute('data-start')) { | ||
pre.style.counterReset = 'linenumber ' + (parseInt(pre.getAttribute('data-start'), 10) - 1); | ||
} | ||
|
||
env.element.appendChild(lineNumbersWrapper); | ||
|
||
}); | ||
|
||
}()); |