summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/syntax_highlight.js
blob: 77ad4f30b7a5b55df7ee9eb326aae0d5b433a36c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* eslint-disable */
// 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>
//
(function() {
  $.fn.syntaxHighlight = function() {
    var $children;
    if ($(this).hasClass('js-syntax-highlight')) {
      // Given the element itself, apply highlighting
      return $(this).addClass(gon.user_color_scheme);
    } else {
      // Given a parent element, recurse to any of its applicable children
      $children = $(this).find('.js-syntax-highlight');
      if ($children.length) {
        return $children.syntaxHighlight();
      }
    }
  };

  $(document).on('ready page:load', function() {
    return $('.js-syntax-highlight').syntaxHighlight();
  });

}).call(this);