gitlab-org--gitlab-foss/app/assets/javascripts/syntax_highlight.js

27 lines
712 B
JavaScript
Raw Normal View History

2018-06-16 09:20:30 -04:00
/* eslint-disable consistent-return, no-else-return */
import $ from 'jquery';
// Syntax Highlighter
//
// Applies a syntax highlighting color scheme CSS class to any element with the
// `js-syntax-highlight` class
//
// ### Example Markup
//
// <div class="js-syntax-highlight"></div>
//
2017-12-13 04:26:44 -05:00
export default function syntaxHighlight(el) {
if ($(el).hasClass('js-syntax-highlight')) {
// Given the element itself, apply highlighting
2017-12-13 04:26:44 -05:00
return $(el).addClass(gon.user_color_scheme);
} else {
// Given a parent element, recurse to any of its applicable children
2017-12-13 04:26:44 -05:00
const $children = $(el).find('.js-syntax-highlight');
if ($children.length) {
2017-12-13 04:26:44 -05:00
return syntaxHighlight($children);
2016-07-24 16:45:11 -04:00
}
}
2017-12-13 04:26:44 -05:00
}