Skip to content
Snippets Groups Projects

ES6ify all the things!

Merged Fatih Acet requested to merge es6ify into master
1 unresolved thread

Merge request reports

Pipeline #3776387 passed

Pipeline passed for aaa9509d on es6ify

Approval is optional

Merged by avatar (Mar 7, 2025 1:36pm UTC)

Merge details

  • Changes merged into master with 1b6de302.
  • Deleted the source branch.

Pipeline #3776736 passed

Pipeline passed for 1b6de302 on master

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
1 # The MIT License (MIT)
2 #
3 # Copyright (c) 2014 GitHub, Inc.
  • Lost comments:

    $ git checkout 1b6de30^1
    $ grep --perl-regexp --line-number -r "^((\"[^\"]*\")|('[^']*')|[^\"'])*#[^{].+$" app/assets/javascripts/ spec/javascripts/ vendor/assets/javascripts/ | grep --invert-match '#= require'
    app/assets/javascripts/merge_request_tabs.js.coffee:1:# MergeRequestTabs
    app/assets/javascripts/merge_request_tabs.js.coffee:3:# Handles persisting and restoring the current tab selection and lazily-loading
    app/assets/javascripts/merge_request_tabs.js.coffee:4:# content on the MergeRequests#show page.
    app/assets/javascripts/merge_request_tabs.js.coffee:8:# ### Example Markup
    app/assets/javascripts/merge_request_tabs.js.coffee:10:#   <ul class="nav-links merge-request-tabs">
    app/assets/javascripts/merge_request_tabs.js.coffee:11:#     <li class="notes-tab active">
    app/assets/javascripts/merge_request_tabs.js.coffee:12:#       <a data-action="notes" data-target="#notes" data-toggle="tab" href="/foo/bar/merge_requests/1">
    app/assets/javascripts/merge_request_tabs.js.coffee:13:#         Discussion
    app/assets/javascripts/merge_request_tabs.js.coffee:14:#       </a>
    app/assets/javascripts/merge_request_tabs.js.coffee:15:#     </li>
    app/assets/javascripts/merge_request_tabs.js.coffee:16:#     <li class="commits-tab">
    app/assets/javascripts/merge_request_tabs.js.coffee:17:#       <a data-action="commits" data-target="#commits" data-toggle="tab" href="/foo/bar/merge_requests/1/commits">
    app/assets/javascripts/merge_request_tabs.js.coffee:18:#         Commits
    app/assets/javascripts/merge_request_tabs.js.coffee:19:#       </a>
    app/assets/javascripts/merge_request_tabs.js.coffee:20:#     </li>
    app/assets/javascripts/merge_request_tabs.js.coffee:21:#     <li class="diffs-tab">
    app/assets/javascripts/merge_request_tabs.js.coffee:22:#       <a data-action="diffs" data-target="#diffs" data-toggle="tab" href="/foo/bar/merge_requests/1/diffs">
    app/assets/javascripts/merge_request_tabs.js.coffee:23:#         Diffs
    app/assets/javascripts/merge_request_tabs.js.coffee:24:#       </a>
    app/assets/javascripts/merge_request_tabs.js.coffee:25:#     </li>
    app/assets/javascripts/merge_request_tabs.js.coffee:26:#   </ul>
    app/assets/javascripts/merge_request_tabs.js.coffee:28:#   <div class="tab-content">
    app/assets/javascripts/merge_request_tabs.js.coffee:29:#     <div class="notes tab-pane active" id="notes">
    app/assets/javascripts/merge_request_tabs.js.coffee:30:#       Notes Content
    app/assets/javascripts/merge_request_tabs.js.coffee:31:#     </div>
    app/assets/javascripts/merge_request_tabs.js.coffee:32:#     <div class="commits tab-pane" id="commits">
    app/assets/javascripts/merge_request_tabs.js.coffee:33:#       Commits Content
    app/assets/javascripts/merge_request_tabs.js.coffee:34:#     </div>
    app/assets/javascripts/merge_request_tabs.js.coffee:35:#     <div class="diffs tab-pane" id="diffs">
    app/assets/javascripts/merge_request_tabs.js.coffee:36:#       Diffs Content
    app/assets/javascripts/merge_request_tabs.js.coffee:37:#     </div>
    app/assets/javascripts/merge_request_tabs.js.coffee:38:#   </div>
    app/assets/javascripts/merge_request_tabs.js.coffee:40:#   <div class="mr-loading-status">
    app/assets/javascripts/merge_request_tabs.js.coffee:41:#     <div class="loading">
    app/assets/javascripts/merge_request_tabs.js.coffee:42:#       Loading Animation
    app/assets/javascripts/merge_request_tabs.js.coffee:43:#     </div>
    app/assets/javascripts/merge_request_tabs.js.coffee:44:#   </div>
    app/assets/javascripts/merge_request_tabs.js.coffee:52:    # Store the `location` object, allowing for easier stubbing in tests
    app/assets/javascripts/merge_request_tabs.js.coffee:96:  # Activate a tab based on the current action
    app/assets/javascripts/merge_request_tabs.js.coffee:101:  # Replaces the current Merge Request-specific action in the URL with a new one
    app/assets/javascripts/merge_request_tabs.js.coffee:103:  # If the action is "notes", the URL is reset to the standard
    app/assets/javascripts/merge_request_tabs.js.coffee:104:  # `MergeRequests#show` route.
    app/assets/javascripts/merge_request_tabs.js.coffee:106:  # Examples:
    app/assets/javascripts/merge_request_tabs.js.coffee:108:  #   location.pathname # => "/namespace/project/merge_requests/1"
    app/assets/javascripts/merge_request_tabs.js.coffee:109:  #   setCurrentAction('diffs')
    app/assets/javascripts/merge_request_tabs.js.coffee:110:  #   location.pathname # => "/namespace/project/merge_requests/1/diffs"
    app/assets/javascripts/merge_request_tabs.js.coffee:112:  #   location.pathname # => "/namespace/project/merge_requests/1/diffs"
    app/assets/javascripts/merge_request_tabs.js.coffee:113:  #   setCurrentAction('notes')
    app/assets/javascripts/merge_request_tabs.js.coffee:114:  #   location.pathname # => "/namespace/project/merge_requests/1"
    app/assets/javascripts/merge_request_tabs.js.coffee:116:  #   location.pathname # => "/namespace/project/merge_requests/1/diffs"
    app/assets/javascripts/merge_request_tabs.js.coffee:117:  #   setCurrentAction('commits')
    app/assets/javascripts/merge_request_tabs.js.coffee:118:  #   location.pathname # => "/namespace/project/merge_requests/1/commits"
    app/assets/javascripts/merge_request_tabs.js.coffee:120:  # Returns the new URL String
    app/assets/javascripts/merge_request_tabs.js.coffee:122:    # Normalize action, just to be safe
    app/assets/javascripts/merge_request_tabs.js.coffee:125:    # Remove a trailing '/commits' or '/diffs'
    app/assets/javascripts/merge_request_tabs.js.coffee:128:    # Append the new action if we're on a tab other than 'notes'
    app/assets/javascripts/merge_request_tabs.js.coffee:132:    # Ensure parameters and hash come along for the ride
    app/assets/javascripts/merge_request_tabs.js.coffee:135:    # Replace the current history state with the new one without breaking
    app/assets/javascripts/merge_request_tabs.js.coffee:136:    # Turbolinks' history.
    app/assets/javascripts/merge_request_tabs.js.coffee:138:    # See https://github.com/rails/turbolinks/issues/363
    app/assets/javascripts/merge_request_tabs.js.coffee:206:  # Show or hide the loading spinner
    app/assets/javascripts/merge_request_tabs.js.coffee:208:  # status - Boolean, true to show, false to hide
    app/assets/javascripts/merge_request_tabs.js.coffee:224:  # Returns diff view type
    app/assets/javascripts/merge_request_tabs.js.coffee:234:    # Wait until listeners are set
    app/assets/javascripts/merge_request_tabs.js.coffee:236:      # Only when sidebar is expanded
    app/assets/javascripts/merge_request_tabs.js.coffee:241:  # Expand the issuable sidebar unless the user explicitly collapsed it
    app/assets/javascripts/merge_request_tabs.js.coffee:247:    # Wait until listeners are set
    app/assets/javascripts/merge_request_tabs.js.coffee:249:      # Only when sidebar is collapsed
    app/assets/javascripts/application.js.coffee:1:# This is a manifest file that'll be compiled into including all the files listed below.
    app/assets/javascripts/application.js.coffee:2:# Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
    app/assets/javascripts/application.js.coffee:3:# be included in the compiled file accessible from http://example.com/assets/application.js
    app/assets/javascripts/application.js.coffee:4:# It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
    app/assets/javascripts/application.js.coffee:5:# the compiled file.
    app/assets/javascripts/application.js.coffee:72:# Disable button if text field is empty
    app/assets/javascripts/application.js.coffee:85:# Disable button if any input field with given selector is empty
    app/assets/javascripts/application.js.coffee:115:  # Scroll the window to avoid the topnav bar
    app/assets/javascripts/application.js.coffee:116:  # https://github.com/twitter/bootstrap/issues/1768
    app/assets/javascripts/application.js.coffee:131:  # Click a .js-select-on-focus field, select the contents
    app/assets/javascripts/application.js.coffee:133:    # Prevent a mouseup event from deselecting the input
    app/assets/javascripts/application.js.coffee:146:  # Initialize select2 selects
    app/assets/javascripts/application.js.coffee:149:  # Close select2 on escape
    app/assets/javascripts/application.js.coffee:156:  # Initialize tooltips
    app/assets/javascripts/application.js.coffee:164:  # Form submitter
    app/assets/javascripts/application.js.coffee:170:  # Flash
    app/assets/javascripts/application.js.coffee:175:  # Disable form buttons while a form is submitting
    app/assets/javascripts/application.js.coffee:194:  # Show/Hide the profile menu when hovering the account box
    app/assets/javascripts/application.js.coffee:197:  # Commit show suppressed diff
    app/assets/javascripts/application.js.coffee:209:  # Show/hide comments on diff
    app/assets/javascripts/application.js.coffee:268:  # Sidenav pinning
    app/assets/javascripts/application.js.coffee:294:        $tooltip.remove() # Remove it immediately when collapsing the sidebar
    app/assets/javascripts/application.js.coffee:300:      # Save settings
    app/assets/javascripts/application.js.coffee:306:      # Update tooltip text immediately
    app/assets/javascripts/application.js.coffee:309:      # Persist tooltip title
    app/assets/javascripts/gl_dropdown.js.coffee:16:    # Clear click
    app/assets/javascripts/gl_dropdown.js.coffee:25:    # Key events
    app/assets/javascripts/gl_dropdown.js.coffee:40:      # Only filter asynchronously only if option remote is set
    app/assets/javascripts/gl_dropdown.js.coffee:66:        # When data is an array of objects therefore [object Array] e.g.
    app/assets/javascripts/gl_dropdown.js.coffee:67:        # [
    app/assets/javascripts/gl_dropdown.js.coffee:68:        #   { prop: 'foo' },
    app/assets/javascripts/gl_dropdown.js.coffee:69:        #   { prop: 'baz' }
    app/assets/javascripts/gl_dropdown.js.coffee:70:        # ]
    app/assets/javascripts/gl_dropdown.js.coffee:76:          # If data is grouped therefore an [object Object]. e.g.
    app/assets/javascripts/gl_dropdown.js.coffee:77:          # {
    app/assets/javascripts/gl_dropdown.js.coffee:78:          #   groupName1: [
    app/assets/javascripts/gl_dropdown.js.coffee:79:          #     { prop: 'foo' },
    app/assets/javascripts/gl_dropdown.js.coffee:80:          #     { prop: 'baz' }
    app/assets/javascripts/gl_dropdown.js.coffee:81:          #   ],
    app/assets/javascripts/gl_dropdown.js.coffee:82:          #   groupName2: [
    app/assets/javascripts/gl_dropdown.js.coffee:83:          #     { prop: 'abc' },
    app/assets/javascripts/gl_dropdown.js.coffee:84:          #     { prop: 'def' }
    app/assets/javascripts/gl_dropdown.js.coffee:85:          #   ]
    app/assets/javascripts/gl_dropdown.js.coffee:86:          # }
    app/assets/javascripts/gl_dropdown.js.coffee:124:      # Fetch the data by calling the data funcfion
    app/assets/javascripts/gl_dropdown.js.coffee:132:  # Fetch the data through ajax if the data is a string
    app/assets/javascripts/gl_dropdown.js.coffee:159:    # Set Defaults
    app/assets/javascripts/gl_dropdown.js.coffee:161:      # If no input is passed create a default one
    app/assets/javascripts/gl_dropdown.js.coffee:169:    # If selector was passed
    app/assets/javascripts/gl_dropdown.js.coffee:176:      # If we provided data
    app/assets/javascripts/gl_dropdown.js.coffee:177:      # data could be an array of objects or a group of arrays
    app/assets/javascripts/gl_dropdown.js.coffee:182:        # Remote data
    app/assets/javascripts/gl_dropdown.js.coffee:194:    # Init filterable
    app/assets/javascripts/gl_dropdown.js.coffee:229:    # Event listeners
    app/assets/javascripts/gl_dropdown.js.coffee:236:      if e.which is 27 # Escape key
    app/assets/javascripts/gl_dropdown.js.coffee:268:  # Finds an element inside wrapper element
    app/assets/javascripts/gl_dropdown.js.coffee:284:    # Focus first visible input on active page
    app/assets/javascripts/gl_dropdown.js.coffee:291:      # render no matching results
    app/assets/javascripts/gl_dropdown.js.coffee:294:      # Handle array groups
    app/assets/javascripts/gl_dropdown.js.coffee:298:          # Add header for each group
    app/assets/javascripts/gl_dropdown.js.coffee:305:        # Render each row
    app/assets/javascripts/gl_dropdown.js.coffee:308:    # Render the full menu
    app/assets/javascripts/gl_dropdown.js.coffee:336:    # Makes indeterminate items effective
    app/assets/javascripts/gl_dropdown.js.coffee:359:    # Triggering 'keyup' will re-render the dropdown which is not always required
    app/assets/javascripts/gl_dropdown.js.coffee:360:    # specially if we want to keep the state of the dropdown needed for bulk-assignment
    app/assets/javascripts/gl_dropdown.js.coffee:373:  # Render the full menu
    app/assets/javascripts/gl_dropdown.js.coffee:385:  # Append the menu into the dropdown
    app/assets/javascripts/gl_dropdown.js.coffee:394:  # Render the row
    app/assets/javascripts/gl_dropdown.js.coffee:398:    # Divider
    app/assets/javascripts/gl_dropdown.js.coffee:401:    # Separator is a full-width divider
    app/assets/javascripts/gl_dropdown.js.coffee:404:    # Header
    app/assets/javascripts/gl_dropdown.js.coffee:408:      # Call the render function
    app/assets/javascripts/gl_dropdown.js.coffee:418:      # Set URL
    app/assets/javascripts/gl_dropdown.js.coffee:424:      # Set Text
    app/assets/javascripts/gl_dropdown.js.coffee:500:      # Toggle the dropdown label
    app/assets/javascripts/gl_dropdown.js.coffee:526:      # Toggle active class for the tick mark
    app/assets/javascripts/gl_dropdown.js.coffee:529:      # Toggle the dropdown label
    app/assets/javascripts/gl_dropdown.js.coffee:543:    # Create hidden input for form
    app/assets/javascripts/gl_dropdown.js.coffee:559:    # simulate a click on the first link
    app/assets/javascripts/gl_dropdown.js.coffee:585:        # if @options.filterable
    app/assets/javascripts/gl_dropdown.js.coffee:586:        #   $input.blur()
    app/assets/javascripts/gl_dropdown.js.coffee:589:          # Move down
    app/assets/javascripts/gl_dropdown.js.coffee:592:          # Move up
    app/assets/javascripts/gl_dropdown.js.coffee:606:    # Remove the class for the previously focused row
    app/assets/javascripts/gl_dropdown.js.coffee:609:    # Update the class for the row at the specific index
    app/assets/javascripts/gl_dropdown.js.coffee:613:    # Dropdown content scroll area
    app/assets/javascripts/gl_dropdown.js.coffee:620:    # Get the offset bottom of the list item
    app/assets/javascripts/gl_dropdown.js.coffee:626:      # Scroll the dropdown content down
    app/assets/javascripts/gl_dropdown.js.coffee:629:      # Scroll the dropdown content up
    app/assets/javascripts/syntax_highlight.coffee:1:# Syntax Highlighter
    app/assets/javascripts/syntax_highlight.coffee:3:# Applies a syntax highlighting color scheme CSS class to any element with the
    app/assets/javascripts/syntax_highlight.coffee:4:# `js-syntax-highlight` class
    app/assets/javascripts/syntax_highlight.coffee:6:# ### Example Markup
    app/assets/javascripts/syntax_highlight.coffee:8:#   <div class="js-syntax-highlight"></div>
    app/assets/javascripts/syntax_highlight.coffee:12:    # Given the element itself, apply highlighting
    app/assets/javascripts/syntax_highlight.coffee:15:    # Given a parent element, recurse to any of its applicable children
    app/assets/javascripts/shortcuts.js.coffee:55:    # allowed shortcuts if textarea, input, contenteditable are focused
    app/assets/javascripts/project_show.js.coffee:3:    # I kept class for future
    app/assets/javascripts/graphs/stat_graph_contributors_graph.js.coffee:124:    # Don't split graph size in half for mobile devices.
    app/assets/javascripts/graphs/graphs_bundle.js.coffee:1:# This is a manifest file that'll be compiled into including all the files listed below.
    app/assets/javascripts/graphs/graphs_bundle.js.coffee:2:# Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
    app/assets/javascripts/graphs/graphs_bundle.js.coffee:3:# be included in the compiled file accessible from http://example.com/assets/application.js
    app/assets/javascripts/graphs/graphs_bundle.js.coffee:4:# It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
    app/assets/javascripts/graphs/graphs_bundle.js.coffee:5:# the compiled file.
    app/assets/javascripts/merge_request_widget.js.coffee:2:  # Initialize MergeRequestWidget behavior
    app/assets/javascripts/merge_request_widget.js.coffee:4:  #   check_enable           - Boolean, whether to check automerge status
    app/assets/javascripts/merge_request_widget.js.coffee:5:  #   merge_check_url - String, URL to use to check automerge status
    app/assets/javascripts/merge_request_widget.js.coffee:6:  #   ci_status_url        - String, URL to use to check CI status
    app/assets/javascripts/merge_request_widget.js.coffee:92:        # The first check should only update the UI, a notification
    app/assets/javascripts/merge_request_widget.js.coffee:93:        # should only be displayed on status changes
    app/assets/javascripts/extensions/jquery.js.coffee:1:# Disable an element and add the 'disabled' Bootstrap class
    app/assets/javascripts/extensions/jquery.js.coffee:7:# Enable an element and remove the 'disabled' Bootstrap class
    app/assets/javascripts/shortcuts_find_file.js.coffee:7:    # override to fire shortcuts action when focus in textbox
    app/assets/javascripts/shortcuts_find_file.js.coffee:10:        # when press up/down key in textbox, cusor prevent to move to home/end
    app/assets/javascripts/copy_to_clipboard.js.coffee:6:  # Clear the selection and blur the trigger so it loses its border
    app/assets/javascripts/copy_to_clipboard.js.coffee:10:# Safari doesn't support `execCommand`, so instead we inform the user to
    app/assets/javascripts/copy_to_clipboard.js.coffee:11:# copy manually.
    app/assets/javascripts/copy_to_clipboard.js.coffee:13:# See http://clipboardjs.com/#browser-support
    app/assets/javascripts/copy_to_clipboard.js.coffee:16:    key = '&#8984;' # Command
    app/assets/javascripts/labels_select.js.coffee:46:        # Suggested colors in the dropdown to chose from pre-chosen colors
    app/assets/javascripts/labels_select.js.coffee:58:        # Cancel button takes back to first page
    app/assets/javascripts/labels_select.js.coffee:80:        # Listen for change and keyup events on label and color field
    app/assets/javascripts/labels_select.js.coffee:81:        # This allows us to enable the button when ready
    app/assets/javascripts/labels_select.js.coffee:90:          # Create new label with API
    app/assets/javascripts/labels_select.js.coffee:111:        # Send the API call to create the label
    app/assets/javascripts/labels_select.js.coffee:219:              # Remove is-indeterminate class if the item will be marked as active
    app/assets/javascripts/labels_select.js.coffee:225:              # Add input manually
    app/assets/javascripts/labels_select.js.coffee:239:            # Reduce the colors to 4
    app/assets/javascripts/labels_select.js.coffee:258:          # We need to identify which items are actually labels
    app/assets/javascripts/labels_select.js.coffee:266:          # Return generated html
    app/assets/javascripts/labels_select.js.coffee:301:          # display:block overrides the hide-collapse rule
    app/assets/javascripts/labels_select.js.coffee:316:            # If we are persisting state we need the classes
    app/assets/javascripts/labels_select.js.coffee:359:    # Remove inputs
    app/assets/javascripts/labels_select.js.coffee:362:    # Also restore button text
    app/assets/javascripts/milestone_select.js.coffee:91:          # display:block overrides the hide-collapse rule
    app/assets/javascripts/api.js.coffee:24:  # Return groups list. Filtered by query
    app/assets/javascripts/api.js.coffee:25:  # Only active groups retrieved
    app/assets/javascripts/api.js.coffee:39:  # Return namespaces list. Filtered by query
    app/assets/javascripts/api.js.coffee:53:  # Return projects list. Filtered by query
    app/assets/javascripts/api.js.coffee:83:  # Return group projects list. Filtered by query
    app/assets/javascripts/api.js.coffee:98:  # Return text for a specific license
    app/assets/javascripts/issues-bulk-assignment.js.coffee:3:    # Set defaults
    app/assets/javascripts/issues-bulk-assignment.js.coffee:10:    # Save instance
    app/assets/javascripts/issues-bulk-assignment.js.coffee:17:    # Fixes bulk-assign not working when navigating through pages
    app/assets/javascripts/issues-bulk-assignment.js.coffee:64:  ###*
    app/assets/javascripts/issues-bulk-assignment.js.coffee:67:  ###
    app/assets/javascripts/issues-bulk-assignment.js.coffee:76:      # Only the ones that we are not going to keep
    app/assets/javascripts/issues-bulk-assignment.js.coffee:81:  ###*
    app/assets/javascripts/issues-bulk-assignment.js.coffee:84:  ###
    app/assets/javascripts/issues-bulk-assignment.js.coffee:114:  ###*
    app/assets/javascripts/issues-bulk-assignment.js.coffee:117:  ###
    app/assets/javascripts/issues-bulk-assignment.js.coffee:124:      # We need to exclude label IDs that will be applied
    app/assets/javascripts/issues-bulk-assignment.js.coffee:125:      # By not doing this will cause issues from selection to not add labels at all
    app/assets/javascripts/todos.js.coffee:80:    # Refresh if no remaining Todos
    app/assets/javascripts/todos.js.coffee:85:    # Do nothing if no pagination
    app/assets/javascripts/todos.js.coffee:89:    url = location.href # Includes query strings
    app/assets/javascripts/todos.js.coffee:91:    # If new total of pages is different than we have now
    app/assets/javascripts/todos.js.coffee:93:      # Redirect to previous page if there's one available
    app/assets/javascripts/todos.js.coffee:105:    # Allow Meta-Click or Mouse3-click to open in a new tab
    app/assets/javascripts/line_highlighter.js.coffee:1:# LineHighlighter
    app/assets/javascripts/line_highlighter.js.coffee:3:# Handles single- and multi-line selection and highlight for blob views.
    app/assets/javascripts/line_highlighter.js.coffee:7:# ### Example Markup
    app/assets/javascripts/line_highlighter.js.coffee:9:#   <div id="blob-content-holder">
    app/assets/javascripts/line_highlighter.js.coffee:10:#     <div class="file-content">
    app/assets/javascripts/line_highlighter.js.coffee:11:#       <div class="line-numbers">
    app/assets/javascripts/line_highlighter.js.coffee:12:#         <a href="#L1" id="L1" data-line-number="1">1</a>
    app/assets/javascripts/line_highlighter.js.coffee:13:#         <a href="#L2" id="L2" data-line-number="2">2</a>
    app/assets/javascripts/line_highlighter.js.coffee:14:#         <a href="#L3" id="L3" data-line-number="3">3</a>
    app/assets/javascripts/line_highlighter.js.coffee:15:#         <a href="#L4" id="L4" data-line-number="4">4</a>
    app/assets/javascripts/line_highlighter.js.coffee:16:#         <a href="#L5" id="L5" data-line-number="5">5</a>
    app/assets/javascripts/line_highlighter.js.coffee:17:#       </div>
    app/assets/javascripts/line_highlighter.js.coffee:18:#       <pre class="code highlight">
    app/assets/javascripts/line_highlighter.js.coffee:19:#         <code>
    app/assets/javascripts/line_highlighter.js.coffee:20:#           <span id="LC1" class="line">...</span>
    app/assets/javascripts/line_highlighter.js.coffee:21:#           <span id="LC2" class="line">...</span>
    app/assets/javascripts/line_highlighter.js.coffee:22:#           <span id="LC3" class="line">...</span>
    app/assets/javascripts/line_highlighter.js.coffee:23:#           <span id="LC4" class="line">...</span>
    app/assets/javascripts/line_highlighter.js.coffee:24:#           <span id="LC5" class="line">...</span>
    app/assets/javascripts/line_highlighter.js.coffee:25:#         </code>
    app/assets/javascripts/line_highlighter.js.coffee:26:#       </pre>
    app/assets/javascripts/line_highlighter.js.coffee:27:#     </div>
    app/assets/javascripts/line_highlighter.js.coffee:28:#   </div>
    app/assets/javascripts/line_highlighter.js.coffee:31:  # CSS class applied to highlighted lines
    app/assets/javascripts/line_highlighter.js.coffee:34:  # Internal copy of location.hash so we're not dependent on `location` in tests
    app/assets/javascripts/line_highlighter.js.coffee:37:  # Initialize a LineHighlighter object
    app/assets/javascripts/line_highlighter.js.coffee:39:  # hash - String URL hash for dependency injection in tests
    app/assets/javascripts/line_highlighter.js.coffee:51:        # Scroll to the first highlighted line on initial load
    app/assets/javascripts/line_highlighter.js.coffee:52:        # Offset -50 for the sticky top bar, and another -100 for some context
    app/assets/javascripts/line_highlighter.js.coffee:58:    # While it may seem odd to bind to the mousedown event and then throw away
    app/assets/javascripts/line_highlighter.js.coffee:59:    # the click event, there is a method to our madness.
    app/assets/javascripts/line_highlighter.js.coffee:61:    # If not done this way, the line number anchor will sometimes keep its
    app/assets/javascripts/line_highlighter.js.coffee:62:    # active state even when the event is cancelled, resulting in an ugly border
    app/assets/javascripts/line_highlighter.js.coffee:63:    # around the link and/or a persisted underline text decoration.
    app/assets/javascripts/line_highlighter.js.coffee:77:      # If there's no current selection, or there is but Shift wasn't held,
    app/assets/javascripts/line_highlighter.js.coffee:78:      # treat this like a single-line selection.
    app/assets/javascripts/line_highlighter.js.coffee:90:  # Unhighlight previously highlighted lines
    app/assets/javascripts/line_highlighter.js.coffee:94:  # Convert a URL hash String into line numbers
    app/assets/javascripts/line_highlighter.js.coffee:96:  # hash - Hash String
    app/assets/javascripts/line_highlighter.js.coffee:98:  # Examples:
    app/assets/javascripts/line_highlighter.js.coffee:100:  #   hashToRange('#L5')    # => [5, null]
    app/assets/javascripts/line_highlighter.js.coffee:101:  #   hashToRange('#L5-15') # => [5, 15]
    app/assets/javascripts/line_highlighter.js.coffee:102:  #   hashToRange('#foo')   # => [null, null]
    app/assets/javascripts/line_highlighter.js.coffee:104:  # Returns an Array
    app/assets/javascripts/line_highlighter.js.coffee:106:    matches = hash.match(/^#?L(\d+)(?:-(\d+))?$/)
    app/assets/javascripts/line_highlighter.js.coffee:116:  # Highlight a single line
    app/assets/javascripts/line_highlighter.js.coffee:118:  # lineNumber - Line number to highlight
    app/assets/javascripts/line_highlighter.js.coffee:122:  # Highlight all lines within a range
    app/assets/javascripts/line_highlighter.js.coffee:124:  # range - Array containing the starting and ending line numbers
    app/assets/javascripts/line_highlighter.js.coffee:132:  # Set the URL hash string
    app/assets/javascripts/line_highlighter.js.coffee:142:  # Make the actual hash change in the browser
    app/assets/javascripts/line_highlighter.js.coffee:144:  # This method is stubbed in tests.
    app/assets/javascripts/line_highlighter.js.coffee:146:    # We're using pushState instead of assigning location.hash directly to
    app/assets/javascripts/line_highlighter.js.coffee:147:    # prevent the page from scrolling on the hashchange event
    app/assets/javascripts/project.js.coffee:3:    # Git protocol switcher
    app/assets/javascripts/project.js.coffee:8:      # Remove the active class for all buttons (ssh, http, kerberos if shown)
    app/assets/javascripts/project.js.coffee:10:      # Add the active class for the clicked button
    app/assets/javascripts/project.js.coffee:15:      # Update the input field
    app/assets/javascripts/project.js.coffee:18:      # Update the command line instructions
    app/assets/javascripts/project.js.coffee:21:    # Ref switcher
    app/assets/javascripts/logo.js.coffee:35:  # If we hit the last piece, reset the index and then reverse the array to
    app/assets/javascripts/logo.js.coffee:36:  # get a nice back-and-forth sweeping look
    app/assets/javascripts/shortcuts_issuable.coffee:31:      # Put a '>' character before each non-empty line in the selection
    app/assets/javascripts/shortcuts_issuable.coffee:35:      # If replyField already has some content, add a newline before our quote
    app/assets/javascripts/shortcuts_issuable.coffee:41:      # Trigger autosave for the added text
    app/assets/javascripts/shortcuts_issuable.coffee:44:      # Focus the input field
    app/assets/javascripts/markdown_preview.js.coffee:1:# MarkdownPreview
    app/assets/javascripts/markdown_preview.js.coffee:3:# Handles toggling the "Write" and "Preview" tab clicks, rendering the preview,
    app/assets/javascripts/markdown_preview.js.coffee:4:# and showing a warning when more than `x` users are referenced.
    app/assets/javascripts/markdown_preview.js.coffee:7:  # Minimum number of users referenced before triggering a warning
    app/assets/javascripts/markdown_preview.js.coffee:72:  # toggle tabs
    app/assets/javascripts/markdown_preview.js.coffee:76:  # toggle content
    app/assets/javascripts/markdown_preview.js.coffee:87:  # toggle tabs
    app/assets/javascripts/markdown_preview.js.coffee:91:  # toggle content
    app/assets/javascripts/build.coffee:8:    # Init breakpoint checker
    app/assets/javascripts/build.coffee:28:      # Bind autoscroll button to follow build output
    app/assets/javascripts/build.coffee:40:      # Check for new build output if user still watching build page
    app/assets/javascripts/build.coffee:41:      # Only valid for runnig build when output changes during time
    app/assets/javascripts/due_date_select.js.coffee:3:    # Milestone edit/new form
    app/assets/javascripts/due_date_select.js.coffee:18:    # Issuable sidebar
    app/assets/javascripts/due_date_select.js.coffee:44:        # Create the post date
    app/assets/javascripts/LabelManager.js.coffee:5:    # Defaults
    app/assets/javascripts/LabelManager.js.coffee:31:    # Make sure tooltip will hide
    app/assets/javascripts/LabelManager.js.coffee:44:    # Optimistic update
    app/assets/javascripts/LabelManager.js.coffee:57:    # Return if we are not persisting state
    app/assets/javascripts/LabelManager.js.coffee:63:      # Restore empty message
    app/assets/javascripts/breakpoints.coffee:15:      # Create all the elements
    app/assets/javascripts/breakpoints.coffee:27:      # the page refreshed via turbolinks
    app/assets/javascripts/user_tabs.js.coffee:1:# UserTabs
    app/assets/javascripts/user_tabs.js.coffee:3:# Handles persisting and restoring the current tab selection and lazily-loading
    app/assets/javascripts/user_tabs.js.coffee:4:# content on the Users#show page.
    app/assets/javascripts/user_tabs.js.coffee:6:# ### Example Markup
    app/assets/javascripts/user_tabs.js.coffee:8:#   <ul class="nav-links">
    app/assets/javascripts/user_tabs.js.coffee:9:#     <li class="activity-tab active">
    app/assets/javascripts/user_tabs.js.coffee:10:#       <a data-action="activity" data-target="#activity" data-toggle="tab" href="/u/username">
    app/assets/javascripts/user_tabs.js.coffee:11:#         Activity
    app/assets/javascripts/user_tabs.js.coffee:12:#       </a>
    app/assets/javascripts/user_tabs.js.coffee:13:#     </li>
    app/assets/javascripts/user_tabs.js.coffee:14:#     <li class="groups-tab">
    app/assets/javascripts/user_tabs.js.coffee:15:#       <a data-action="groups" data-target="#groups" data-toggle="tab" href="/u/username/groups">
    app/assets/javascripts/user_tabs.js.coffee:16:#         Groups
    app/assets/javascripts/user_tabs.js.coffee:17:#       </a>
    app/assets/javascripts/user_tabs.js.coffee:18:#     </li>
    app/assets/javascripts/user_tabs.js.coffee:19:#     <li class="contributed-tab">
    app/assets/javascripts/user_tabs.js.coffee:20:#       <a data-action="contributed" data-target="#contributed" data-toggle="tab" href="/u/username/contributed">
    app/assets/javascripts/user_tabs.js.coffee:21:#         Contributed projects
    app/assets/javascripts/user_tabs.js.coffee:22:#       </a>
    app/assets/javascripts/user_tabs.js.coffee:23:#     </li>
    app/assets/javascripts/user_tabs.js.coffee:24:#     <li class="projects-tab">
    app/assets/javascripts/user_tabs.js.coffee:25:#       <a data-action="projects" data-target="#projects" data-toggle="tab" href="/u/username/projects">
    app/assets/javascripts/user_tabs.js.coffee:26:#         Personal projects
    app/assets/javascripts/user_tabs.js.coffee:27:#       </a>
    app/assets/javascripts/user_tabs.js.coffee:28:#     </li>
    app/assets/javascripts/user_tabs.js.coffee:29:#    <li class="snippets-tab">
    app/assets/javascripts/user_tabs.js.coffee:30:#       <a data-action="snippets" data-target="#snippets" data-toggle="tab" href="/u/username/snippets">
    app/assets/javascripts/user_tabs.js.coffee:31:#       </a>
    app/assets/javascripts/user_tabs.js.coffee:32:#     </li>
    app/assets/javascripts/user_tabs.js.coffee:33:#   </ul>
    app/assets/javascripts/user_tabs.js.coffee:35:#   <div class="tab-content">
    app/assets/javascripts/user_tabs.js.coffee:36:#     <div class="tab-pane" id="activity">
    app/assets/javascripts/user_tabs.js.coffee:37:#       Activity Content
    app/assets/javascripts/user_tabs.js.coffee:38:#     </div>
    app/assets/javascripts/user_tabs.js.coffee:39:#     <div class="tab-pane" id="groups">
    app/assets/javascripts/user_tabs.js.coffee:40:#       Groups Content
    app/assets/javascripts/user_tabs.js.coffee:41:#     </div>
    app/assets/javascripts/user_tabs.js.coffee:42:#     <div class="tab-pane" id="contributed">
    app/assets/javascripts/user_tabs.js.coffee:43:#       Contributed projects content
    app/assets/javascripts/user_tabs.js.coffee:44:#     </div>
    app/assets/javascripts/user_tabs.js.coffee:45:#     <div class="tab-pane" id="projects">
    app/assets/javascripts/user_tabs.js.coffee:46:#       Projects content
    app/assets/javascripts/user_tabs.js.coffee:47:#     </div>
    app/assets/javascripts/user_tabs.js.coffee:48:#     <div class="tab-pane" id="snippets">
    app/assets/javascripts/user_tabs.js.coffee:49:#       Snippets content
    app/assets/javascripts/user_tabs.js.coffee:50:#     </div>
    app/assets/javascripts/user_tabs.js.coffee:51:#   </div>
    app/assets/javascripts/user_tabs.js.coffee:53:#   <div class="loading-status">
    app/assets/javascripts/user_tabs.js.coffee:54:#     <div class="loading">
    app/assets/javascripts/user_tabs.js.coffee:55:#       Loading Animation
    app/assets/javascripts/user_tabs.js.coffee:56:#     </div>
    app/assets/javascripts/user_tabs.js.coffee:57:#   </div>
    app/assets/javascripts/user_tabs.js.coffee:67:    # Make jQuery object if selector is provided
    app/assets/javascripts/user_tabs.js.coffee:70:    # Store the `location` object, allowing for easier stubbing in tests
    app/assets/javascripts/user_tabs.js.coffee:73:    # Set tab states
    app/assets/javascripts/user_tabs.js.coffee:78:    # Actions
    app/assets/javascripts/user_tabs.js.coffee:83:    # Set active tab
    app/assets/javascripts/user_tabs.js.coffee:88:    # Toggle event listeners
    app/assets/javascripts/user_tabs.js.coffee:125:        # Fix tooltips
    app/assets/javascripts/user_tabs.js.coffee:141:    # Remove possible actions from URL
    app/assets/javascripts/user_tabs.js.coffee:144:    new_state = new_state.replace(/\/+$/, "") # remove trailing slashes
    app/assets/javascripts/user_tabs.js.coffee:147:    # Append the new action if we're on a tab other than 'activity'
    app/assets/javascripts/user_tabs.js.coffee:151:    # Ensure parameters and hash come along for the ride
    app/assets/javascripts/users/calendar.js.coffee:10:    # Loop through the timestamps to create a group of objects
    app/assets/javascripts/users/calendar.js.coffee:11:    # The group of objects will be grouped based on the day of the week they are
    app/assets/javascripts/users/calendar.js.coffee:19:      # Create a new group array if this is the first day of the week
    app/assets/javascripts/users/calendar.js.coffee:20:      # or if is first object
    app/assets/javascripts/users/calendar.js.coffee:27:      # Push to the inner array the values that will be used to render map
    app/assets/javascripts/users/calendar.js.coffee:35:    # Init color functions
    app/assets/javascripts/users/calendar.js.coffee:39:    # Init the svg element
    app/assets/javascripts/labels.js.coffee:16:  # Updates the the preview color with the hex-color input
    app/assets/javascripts/labels.js.coffee:21:  # Updates the preview color with a click on a suggested color
    app/assets/javascripts/labels.js.coffee:26:    # Notify the form, that color has changed
    app/assets/javascripts/network/network_bundle.js.coffee:1:# This is a manifest file that'll be compiled into including all the files listed below.
    app/assets/javascripts/network/network_bundle.js.coffee:2:# Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
    app/assets/javascripts/network/network_bundle.js.coffee:3:# be included in the compiled file accessible from http://example.com/assets/application.js
    app/assets/javascripts/network/network_bundle.js.coffee:4:# It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
    app/assets/javascripts/network/network_bundle.js.coffee:5:# the compiled file.
    app/assets/javascripts/network/branch-graph.js.coffee:55:      # Skipping a few colors in the spectrum to get more contrast between colors
    app/assets/javascripts/network/branch-graph.js.coffee:70:        # Dates
    app/assets/javascripts/network/branch-graph.js.coffee:79:        # Months
    app/assets/javascripts/network/branch-graph.js.coffee:159:    # Truncate if longer than 15 chars
    app/assets/javascripts/network/branch-graph.js.coffee:168:    # Create rectangle based on the size of the textbox
    app/assets/javascripts/network/branch-graph.js.coffee:183:    # Set text to front
    app/assets/javascripts/network/branch-graph.js.coffee:231:      # Set line color
    app/assets/javascripts/network/branch-graph.js.coffee:238:      # Build line shape
    app/assets/javascripts/network/branch-graph.js.coffee:251:      # Start point
    app/assets/javascripts/network/branch-graph.js.coffee:254:      # Add arrow if not first parent
    app/assets/javascripts/network/branch-graph.js.coffee:258:      # Circumvent if overlap
    app/assets/javascripts/network/branch-graph.js.coffee:265:      # End point
    app/assets/javascripts/network/branch-graph.js.coffee:284:      # Displayed in the center
    app/assets/javascripts/zen_mode.js.coffee:1:# Zen Mode (full screen) textarea
    app/assets/javascripts/zen_mode.js.coffee:3:#= provides zen_mode:enter
    app/assets/javascripts/zen_mode.js.coffee:4:#= provides zen_mode:leave
    app/assets/javascripts/zen_mode.js.coffee:11:# ### Events
    app/assets/javascripts/zen_mode.js.coffee:13:# `zen_mode:enter`
    app/assets/javascripts/zen_mode.js.coffee:15:# Fired when the "Edit in fullscreen" link is clicked.
    app/assets/javascripts/zen_mode.js.coffee:17:# **Synchronicity** Sync
    app/assets/javascripts/zen_mode.js.coffee:18:# **Bubbles** Yes
    app/assets/javascripts/zen_mode.js.coffee:19:# **Cancelable** No
    app/assets/javascripts/zen_mode.js.coffee:20:# **Target** a.js-zen-enter
    app/assets/javascripts/zen_mode.js.coffee:22:# `zen_mode:leave`
    app/assets/javascripts/zen_mode.js.coffee:24:# Fired when the "Leave Fullscreen" link is clicked.
    app/assets/javascripts/zen_mode.js.coffee:26:# **Synchronicity** Sync
    app/assets/javascripts/zen_mode.js.coffee:27:# **Bubbles** Yes
    app/assets/javascripts/zen_mode.js.coffee:28:# **Cancelable** No
    app/assets/javascripts/zen_mode.js.coffee:29:# **Target** a.js-zen-leave
    app/assets/javascripts/zen_mode.js.coffee:50:      if e.keyCode == 27 # Esc
    app/assets/javascripts/zen_mode.js.coffee:62:    # Prevent a user-resized textarea from persisting to fullscreen
    app/assets/javascripts/notes.js.coffee:29:    # add note to UI after creation
    app/assets/javascripts/notes.js.coffee:33:    # catch note ajax errors
    app/assets/javascripts/notes.js.coffee:36:    # change note in UI after update
    app/assets/javascripts/notes.js.coffee:39:    # Edit note link
    app/assets/javascripts/notes.js.coffee:43:    # Reopen and close actions for Issue/MR combined with note form submit
    app/assets/javascripts/notes.js.coffee:47:    # remove a note (in general)
    app/assets/javascripts/notes.js.coffee:50:    # delete note attachment
    app/assets/javascripts/notes.js.coffee:53:    # reset main target form after submit
    app/assets/javascripts/notes.js.coffee:57:    # reset main target form when clicking discard
    app/assets/javascripts/notes.js.coffee:60:    # update the file name when an attachment is selected
    app/assets/javascripts/notes.js.coffee:63:    # reply to diff/discussion notes
    app/assets/javascripts/notes.js.coffee:66:    # add diff note
    app/assets/javascripts/notes.js.coffee:69:    # hide diff note form
    app/assets/javascripts/notes.js.coffee:72:    # fetch notes when tab becomes visible
    app/assets/javascripts/notes.js.coffee:75:    # when issue status changes, we need to refresh data
    app/assets/javascripts/notes.js.coffee:78:    # when a key is clicked on the notes
    app/assets/javascripts/notes.js.coffee:108:    # Edit previous note when UP arrow is hit
    app/assets/javascripts/notes.js.coffee:118:      # Cancel creating diff note or editing any note when ESCAPE is hit
    app/assets/javascripts/notes.js.coffee:172:  ###
    app/assets/javascripts/notes.js.coffee:179:  ###
    app/assets/javascripts/notes.js.coffee:189:  ###
    app/assets/javascripts/notes.js.coffee:193:  ###
    app/assets/javascripts/notes.js.coffee:205:    # render note if it not present in loaded list
    app/assets/javascripts/notes.js.coffee:206:    # or skip if rendered
    app/assets/javascripts/notes.js.coffee:216:      # Update datetime format on the recent note
    app/assets/javascripts/notes.js.coffee:223:  ###
    app/assets/javascripts/notes.js.coffee:225:  ###
    app/assets/javascripts/notes.js.coffee:232:  ###
    app/assets/javascripts/notes.js.coffee:236:  ###
    app/assets/javascripts/notes.js.coffee:248:    # is this the first note of discussion?
    app/assets/javascripts/notes.js.coffee:253:      # insert the note and the reply button after the temp row
    app/assets/javascripts/notes.js.coffee:256:      # remove the note (will be added again below)
    app/assets/javascripts/notes.js.coffee:259:      # Before that, the container didn't exist
    app/assets/javascripts/notes.js.coffee:262:      # Add note to 'Changes' page discussions
    app/assets/javascripts/notes.js.coffee:265:      # Init discussion on 'Discussion' page if it is merge request page
    app/assets/javascripts/notes.js.coffee:271:      # append new note to all matching discussions
    app/assets/javascripts/notes.js.coffee:278:  ###
    app/assets/javascripts/notes.js.coffee:284:  ###
    app/assets/javascripts/notes.js.coffee:288:    # remove validation errors
    app/assets/javascripts/notes.js.coffee:291:    # reset text and preview
    app/assets/javascripts/notes.js.coffee:304:  ###
    app/assets/javascripts/notes.js.coffee:308:  ###
    app/assets/javascripts/notes.js.coffee:310:    # find the form
    app/assets/javascripts/notes.js.coffee:313:    # Set a global clone of the form for later cloning
    app/assets/javascripts/notes.js.coffee:316:    # show the form
    app/assets/javascripts/notes.js.coffee:319:    # fix classes
    app/assets/javascripts/notes.js.coffee:329:  ###
    app/assets/javascripts/notes.js.coffee:336:  ###
    app/assets/javascripts/notes.js.coffee:352:  ###
    app/assets/javascripts/notes.js.coffee:356:  ###
    app/assets/javascripts/notes.js.coffee:363:  ###
    app/assets/javascripts/notes.js.coffee:367:  ###
    app/assets/javascripts/notes.js.coffee:371:    # cleanup after successfully creating a diff/discussion note
    app/assets/javascripts/notes.js.coffee:374:  ###
    app/assets/javascripts/notes.js.coffee:378:  ###
    app/assets/javascripts/notes.js.coffee:380:    # Convert returned HTML to a jQuery object so we can modify it further
    app/assets/javascripts/notes.js.coffee:388:    # Find the note's `li` element by ID and replace it with the updated HTML
    app/assets/javascripts/notes.js.coffee:392:  ###
    app/assets/javascripts/notes.js.coffee:397:  ###
    app/assets/javascripts/notes.js.coffee:406:    # Show the attachment delete link
    app/assets/javascripts/notes.js.coffee:410:      # Neat little trick to put the cursor at the end
    app/assets/javascripts/notes.js.coffee:412:      # Store the original note text in a data attribute to retrieve if a user cancels edit.
    app/assets/javascripts/notes.js.coffee:418:      # scroll to the bottom
    app/assets/javascripts/notes.js.coffee:419:      # so the open of the last element doesn't make a jump
    app/assets/javascripts/notes.js.coffee:433:  ###
    app/assets/javascripts/notes.js.coffee:437:  ###
    app/assets/javascripts/notes.js.coffee:447:    # Replace markdown textarea text with original note text.
    app/assets/javascripts/notes.js.coffee:450:  ###
    app/assets/javascripts/notes.js.coffee:455:  ###
    app/assets/javascripts/notes.js.coffee:461:    # A same note appears in the "Discussion" and in the "Changes" tab, we have
    app/assets/javascripts/notes.js.coffee:462:    # to remove all. Using $(".note[id='noteId']") ensure we get all the notes,
    app/assets/javascripts/notes.js.coffee:463:    # where $("#noteId") would return only one.
    app/assets/javascripts/notes.js.coffee:468:      # check if this is the last note for this line
    app/assets/javascripts/notes.js.coffee:471:        # "Discussions" tab
    app/assets/javascripts/notes.js.coffee:474:        # "Changes" tab / commit view
    app/assets/javascripts/notes.js.coffee:479:    # Decrement the "Discussions" counter only once
    app/assets/javascripts/notes.js.coffee:482:  ###
    app/assets/javascripts/notes.js.coffee:487:  ###
    app/assets/javascripts/notes.js.coffee:495:  ###
    app/assets/javascripts/notes.js.coffee:499:  ###
    app/assets/javascripts/notes.js.coffee:505:    # insert the form after the button
    app/assets/javascripts/notes.js.coffee:508:    # show the form
    app/assets/javascripts/notes.js.coffee:511:  ###
    app/assets/javascripts/notes.js.coffee:518:  ###
    app/assets/javascripts/notes.js.coffee:520:    # setup note target
    app/assets/javascripts/notes.js.coffee:541:  ###
    app/assets/javascripts/notes.js.coffee:546:  ###
    app/assets/javascripts/notes.js.coffee:557:    # In parallel view, look inside the correct left/right pane
    app/assets/javascripts/notes.js.coffee:571:          # In parallel view, the form may not be present in one of the panes
    app/assets/javascripts/notes.js.coffee:576:      # add a notes row and insert the form
    app/assets/javascripts/notes.js.coffee:584:      # show the form
    app/assets/javascripts/notes.js.coffee:587:  ###
    app/assets/javascripts/notes.js.coffee:592:  ###
    app/assets/javascripts/notes.js.coffee:601:    # show the reply button (will only work for replies)
    app/assets/javascripts/notes.js.coffee:604:      # remove temporary row for diff lines
    app/assets/javascripts/notes.js.coffee:607:      # only remove the form
    app/assets/javascripts/notes.js.coffee:615:  ###
    app/assets/javascripts/notes.js.coffee:619:  ###
    app/assets/javascripts/notes.js.coffee:623:    # get only the basename
    app/assets/javascripts/notes.js.coffee:627:  ###
    app/assets/javascripts/notes.js.coffee:629:  ###
    app/assets/javascripts/issue.js.coffee:7:    # Prevent duplicate event bindings
    app/assets/javascripts/issue.js.coffee:66:  # TODO (rspeicher): Make the issue description inline-editable like a note so
    app/assets/javascripts/issue.js.coffee:67:  # that we can re-use its form here
    app/assets/javascripts/issue.js.coffee:100:    # If the user doesn't have the required permissions the container isn't
    app/assets/javascripts/issue.js.coffee:101:    # rendered at all.
    app/assets/javascripts/protected_branch_select.js.coffee:20:      # Refresh the dropdown's data, which ends up calling `getProtectedBranches`
    app/assets/javascripts/profile/profile.js.coffee:7:    # Automatically submit the Preferences form when any of its radio buttons change
    app/assets/javascripts/profile/profile.js.coffee:11:    # Automatically submit email form when it changes
    app/assets/javascripts/profile/profile.js.coffee:70:        # Enable submit button after requests ends
    app/assets/javascripts/profile/profile.js.coffee:74:  # Extract the SSH Key title from its comment
    app/assets/javascripts/profile/gl_crop.js.coffee:2:  # Matches everything but the file name
    app/assets/javascripts/profile/gl_crop.js.coffee:8:    # We should rename to avoid spec to fail
    app/assets/javascripts/profile/gl_crop.js.coffee:9:    # Form will submit the proper input filed with a file using FormData
    app/assets/javascripts/profile/gl_crop.js.coffee:14:    # Set defaults
    app/assets/javascripts/profile/gl_crop.js.coffee:22:      # Required params
    app/assets/javascripts/profile/gl_crop.js.coffee:31:    # Ensure needed elements are jquery objects
    app/assets/javascripts/profile/gl_crop.js.coffee:32:    # If selector is provided we will convert them to a jQuery Object
    app/assets/javascripts/profile/gl_crop.js.coffee:37:    # Modal elements usually are outside the @form element
    app/assets/javascripts/profile/gl_crop.js.coffee:100:      .attr('src', '') # Remove attached image
    app/assets/javascripts/profile/gl_crop.js.coffee:101:      .cropper('destroy') # Destroy cropper instance
    app/assets/javascripts/users_select.js.coffee:107:                # Move current user to the front of the list
    app/assets/javascripts/users_select.js.coffee:136:            # Send the data back
    app/assets/javascripts/users_select.js.coffee:155:          # display:block overrides the hide-collapse rule
    app/assets/javascripts/users_select.js.coffee:192:          # split into three parts so we can remove the username section if nessesary
    app/assets/javascripts/users_select.js.coffee:233:                # Move current user to the front of the list
    app/assets/javascripts/users_select.js.coffee:273:        escapeMarkup: (m) -> # we do not want to escape markup since we are displaying html in results
    app/assets/javascripts/users_select.js.coffee:309:  # Return users list. Filtered by query
    app/assets/javascripts/users_select.js.coffee:310:  # Only active users retrieved
    app/assets/javascripts/merge_request.js.coffee:7:  # Initialize MergeRequest behavior
    app/assets/javascripts/merge_request.js.coffee:9:  # Options:
    app/assets/javascripts/merge_request.js.coffee:10:  #   action - String, current controller action
    app/assets/javascripts/merge_request.js.coffee:20:    # Prevent duplicate event bindings
    app/assets/javascripts/merge_request.js.coffee:27:  # Local jQuery finder
    app/assets/javascripts/merge_request.js.coffee:33:      # `MergeRequests#new` has no tab-persisting or lazy-loading behavior
    app/assets/javascripts/merge_request.js.coffee:36:      # Show the first tab (Commits)
    app/assets/javascripts/merge_request.js.coffee:73:  # TODO (rspeicher): Make the merge request description inline-editable like a
    app/assets/javascripts/merge_request.js.coffee:74:  # note so that we can re-use its form here
    app/assets/javascripts/lib/utils/url_utility.js.coffee:6:  # Returns an array containing the value(s) of the
    app/assets/javascripts/lib/utils/url_utility.js.coffee:7:  # of the key passed as an argument
    app/assets/javascripts/lib/utils/url_utility.js.coffee:21:  # #
    app/assets/javascripts/lib/utils/url_utility.js.coffee:22:  #  @param {Object} params - url keys and value to merge
    app/assets/javascripts/lib/utils/url_utility.js.coffee:23:  #  @param {String} url
    app/assets/javascripts/lib/utils/url_utility.js.coffee:24:  # #
    app/assets/javascripts/lib/utils/url_utility.js.coffee:36:    # Remove a trailing ampersand
    app/assets/javascripts/lib/utils/url_utility.js.coffee:44:  # removes parameter query string from url. returns the modified url
    app/assets/javascripts/lib/utils/datetime_utility.js.coffee:23:      # Recreate with custom template
    app/assets/javascripts/lib/utils/notify.js.coffee:5:    # Hide the notification after X amount of seconds
    app/assets/javascripts/lib/utils/notify.js.coffee:21:    # Let's check if the browser supports notifications
    app/assets/javascripts/lib/utils/notify.js.coffee:23:      # do nothing
    app/assets/javascripts/lib/utils/notify.js.coffee:25:      # If it's okay let's create a notification
    app/assets/javascripts/lib/utils/notify.js.coffee:29:        # If the user accepts, let's create a notification
    app/assets/javascripts/lib/utils/text_utility.js.coffee:25:      # To remove the block tag we have to select the line before & after
    app/assets/javascripts/search_autocomplete.js.coffee:19:    # Dropdown Element
    app/assets/javascripts/search_autocomplete.js.coffee:34:    # Only when user is logged in
    app/assets/javascripts/search_autocomplete.js.coffee:43:  # Finds an element inside wrapper element
    app/assets/javascripts/search_autocomplete.js.coffee:77:    # Prevent multiple ajax calls
    app/assets/javascripts/search_autocomplete.js.coffee:87:        # Hide dropdown menu if no suggestions returns
    app/assets/javascripts/search_autocomplete.js.coffee:94:        # List results
    app/assets/javascripts/search_autocomplete.js.coffee:98:          # Add group header before list each group
    app/assets/javascripts/search_autocomplete.js.coffee:115:        # Add option to proceed with the search
    app/assets/javascripts/search_autocomplete.js.coffee:162:      # Search Criteria
    app/assets/javascripts/search_autocomplete.js.coffee:169:      # Location badge
    app/assets/javascripts/search_autocomplete.js.coffee:184:    # No need to enable anything if user is not logged in
    app/assets/javascripts/search_autocomplete.js.coffee:197:    # Saves last length of the entered text
    app/assets/javascripts/search_autocomplete.js.coffee:203:        # when trying to remove the location badge
    app/assets/javascripts/search_autocomplete.js.coffee:207:        # When removing the last character and no badge is present
    app/assets/javascripts/search_autocomplete.js.coffee:211:        # When removing any character from existin value
    app/assets/javascripts/search_autocomplete.js.coffee:219:        # Handle the case when deleting the input value other than backspace
    app/assets/javascripts/search_autocomplete.js.coffee:220:        # e.g. Pressing ctrl + backspace or ctrl + x
    app/assets/javascripts/search_autocomplete.js.coffee:224:          # We should display the menu only when input is not empty
    app/assets/javascripts/search_autocomplete.js.coffee:229:    # Avoid falsy value to be returned
    app/assets/javascripts/search_autocomplete.js.coffee:233:    # Prevents closing the dropdown menu
    app/assets/javascripts/search_autocomplete.js.coffee:254:    # If input is blank then restore state
    app/assets/javascripts/search_autocomplete.js.coffee:291:      # _location isnt a input
    app/assets/javascripts/commits.js.coffee:37:        # Change url so if user reload a page - search results are saved
    app/assets/javascripts/blob/blob_file_dropzone.js.coffee:9:      # Rails uses a hidden input field for PUT
    app/assets/javascripts/blob/blob_file_dropzone.js.coffee:10:      # http://stackoverflow.com/questions/21056482/how-to-set-method-put-in-form-tag-in-rails
    app/assets/javascripts/blob/blob_file_dropzone.js.coffee:43:      # Override behavior of adding error underneath preview
    app/assets/javascripts/blob/edit_blob.js.coffee:9:    # Before a form submission, move the content from the Ace editor into the
    app/assets/javascripts/blob/edit_blob.js.coffee:10:    # submitted textarea
    app/assets/javascripts/blob/template_selector.js.coffee:54:    # To be implemented on the extending class
    app/assets/javascripts/blob/template_selector.js.coffee:55:    # e.g.
    app/assets/javascripts/blob/template_selector.js.coffee:56:    # Api.gitignoreText item.name, @requestFileSuccess.bind(@)
    app/assets/javascripts/gfm_auto_complete.js.coffee:1:# Creates the variables for setting up GFM auto-completion
    app/assets/javascripts/gfm_auto_complete.js.coffee:10:  # Emoji
    app/assets/javascripts/gfm_auto_complete.js.coffee:14:  # Team Members
    app/assets/javascripts/gfm_auto_complete.js.coffee:21:  # Issues and MergeRequests
    app/assets/javascripts/gfm_auto_complete.js.coffee:25:  # Milestones
    app/assets/javascripts/gfm_auto_complete.js.coffee:47:  # Add GFM auto-completion to all input fields, that accept GFM input.
    app/assets/javascripts/gfm_auto_complete.js.coffee:51:    # destroy previous instances
    app/assets/javascripts/gfm_auto_complete.js.coffee:54:    # set up instances
    app/assets/javascripts/gfm_auto_complete.js.coffee:61:        # We should wait until initializations are done
    app/assets/javascripts/gfm_auto_complete.js.coffee:62:        # and only trigger the last .setup since
    app/assets/javascripts/gfm_auto_complete.js.coffee:63:        # The previous .dataSource belongs to the previous issuable
    app/assets/javascripts/gfm_auto_complete.js.coffee:64:        # and the last one will have the **proper** .dataSource property
    app/assets/javascripts/gfm_auto_complete.js.coffee:65:        # TODO: Make this a singleton and turn off events when moving to another page
    app/assets/javascripts/gfm_auto_complete.js.coffee:77:    # Emoji
    app/assets/javascripts/gfm_auto_complete.js.coffee:92:    # Team Members
    app/assets/javascripts/gfm_auto_complete.js.coffee:213:    # load members
    app/assets/javascripts/gfm_auto_complete.js.coffee:215:    # load issues
    app/assets/javascripts/gfm_auto_complete.js.coffee:217:    # load milestones
    app/assets/javascripts/gfm_auto_complete.js.coffee:219:    # load merge requests
    app/assets/javascripts/gfm_auto_complete.js.coffee:221:    # load emojis
    app/assets/javascripts/gfm_auto_complete.js.coffee:223:    # load labels
    app/assets/javascripts/gfm_auto_complete.js.coffee:226:    # This trigger at.js again
    app/assets/javascripts/gfm_auto_complete.js.coffee:227:    # otherwise we would be stuck with loading until the user types
    app/assets/javascripts/u2f/authenticate.js.coffee:1:# Authenticate U2F (universal 2nd factor) devices for users to authenticate with.
    app/assets/javascripts/u2f/authenticate.js.coffee:3:# State Flow #1: setup -> in_progress -> authenticated -> POST to server
    app/assets/javascripts/u2f/authenticate.js.coffee:4:# State Flow #2: setup -> in_progress -> error -> setup
    app/assets/javascripts/u2f/authenticate.js.coffee:11:    # The U2F Javascript API v1.1 requires a single challenge, with
    app/assets/javascripts/u2f/authenticate.js.coffee:12:    # _no challenges per-request_. The U2F Javascript API v1.0 requires a
    app/assets/javascripts/u2f/authenticate.js.coffee:13:    # challenge per-request, which is done by copying the single challenge
    app/assets/javascripts/u2f/authenticate.js.coffee:14:    # into every request.
    app/assets/javascripts/u2f/authenticate.js.coffee:16:    # In either case, we don't need the per-request challenges that the server
    app/assets/javascripts/u2f/authenticate.js.coffee:17:    # has generated, so we can remove them.
    app/assets/javascripts/u2f/authenticate.js.coffee:19:    # Note: The server library fixes this behaviour in (unreleased) version 1.0.0.
    app/assets/javascripts/u2f/authenticate.js.coffee:20:    # This can be removed once we upgrade.
    app/assets/javascripts/u2f/authenticate.js.coffee:21:    # https://github.com/castle/ruby-u2f/commit/103f428071a81cd3d5f80c2e77d522d5029946a4
    app/assets/javascripts/u2f/authenticate.js.coffee:39:  #############
    app/assets/javascripts/u2f/authenticate.js.coffee:40:  # Rendering #
    app/assets/javascripts/u2f/authenticate.js.coffee:41:  #############
    app/assets/javascripts/u2f/authenticate.js.coffee:70:    # Prefer to do this instead of interpolating using Underscore templates
    app/assets/javascripts/u2f/authenticate.js.coffee:71:    # because of JSON escaping issues.
    app/assets/javascripts/u2f/register.js.coffee:1:# Register U2F (universal 2nd factor) devices for users to authenticate with.
    app/assets/javascripts/u2f/register.js.coffee:3:# State Flow #1: setup -> in_progress -> registered -> POST to server
    app/assets/javascripts/u2f/register.js.coffee:4:# State Flow #2: setup -> in_progress -> error -> setup
    app/assets/javascripts/u2f/register.js.coffee:27:  #############
    app/assets/javascripts/u2f/register.js.coffee:28:  # Rendering #
    app/assets/javascripts/u2f/register.js.coffee:29:  #############
    app/assets/javascripts/u2f/register.js.coffee:58:    # Prefer to do this instead of interpolating using Underscore templates
    app/assets/javascripts/u2f/register.js.coffee:59:    # because of JSON escaping issues.
    app/assets/javascripts/projects_list.js.coffee:29:        # Change url so if user reload a page - search results are saved
    app/assets/javascripts/milestone.js.coffee:81:        # Prevents sorting from container which element has been removed.
    app/assets/javascripts/behaviors/toggler_behavior.coffee:2:  # Toggle button. Show/hide content inside parent container.
    app/assets/javascripts/behaviors/toggler_behavior.coffee:3:  # Button does not change visibility. If button has icon - it changes chevron style.
    app/assets/javascripts/behaviors/toggler_behavior.coffee:5:  # %div.js-toggle-container
    app/assets/javascripts/behaviors/toggler_behavior.coffee:6:  #   %a.js-toggle-button
    app/assets/javascripts/behaviors/toggler_behavior.coffee:7:  #   %div.js-toggle-content
    app/assets/javascripts/behaviors/quick_submit.js.coffee:1:# Quick Submit behavior
    app/assets/javascripts/behaviors/quick_submit.js.coffee:3:# When a child field of a form with a `js-quick-submit` class receives a
    app/assets/javascripts/behaviors/quick_submit.js.coffee:4:# "Meta+Enter" (Mac) or "Ctrl+Enter" (Linux/Windows) key combination, the form
    app/assets/javascripts/behaviors/quick_submit.js.coffee:5:# is submitted.
    app/assets/javascripts/behaviors/quick_submit.js.coffee:9:# ### Example Markup
    app/assets/javascripts/behaviors/quick_submit.js.coffee:11:#   <form action="/foo" class="js-quick-submit">
    app/assets/javascripts/behaviors/quick_submit.js.coffee:12:#     <input type="text" />
    app/assets/javascripts/behaviors/quick_submit.js.coffee:13:#     <textarea></textarea>
    app/assets/javascripts/behaviors/quick_submit.js.coffee:14:#     <input type="submit" value="Submit" />
    app/assets/javascripts/behaviors/quick_submit.js.coffee:15:#   </form>
    app/assets/javascripts/behaviors/quick_submit.js.coffee:25:  return unless keyCodeIs(e, 13) # Enter
    app/assets/javascripts/behaviors/quick_submit.js.coffee:39:# If the user tabs to a submit button on a `js-quick-submit` form, display a
    app/assets/javascripts/behaviors/quick_submit.js.coffee:40:# tooltip to let them know they could've used the hotkey
    app/assets/javascripts/behaviors/quick_submit.js.coffee:42:  return unless keyCodeIs(e, 9) # Tab
    app/assets/javascripts/behaviors/details_behavior.coffee:6:  # Show details content. Hides link after click.
    app/assets/javascripts/behaviors/details_behavior.coffee:8:  # %div
    app/assets/javascripts/behaviors/details_behavior.coffee:9:  #   %a.js-details-expand
    app/assets/javascripts/behaviors/details_behavior.coffee:10:  #   %div.js-details-content
    app/assets/javascripts/behaviors/requires_input.js.coffee:1:# Requires Input behavior
    app/assets/javascripts/behaviors/requires_input.js.coffee:3:# When called on a form with input fields with the `required` attribute, the
    app/assets/javascripts/behaviors/requires_input.js.coffee:4:# form's submit button will be disabled until all required fields have values.
    app/assets/javascripts/behaviors/requires_input.js.coffee:8:# ### Example Markup
    app/assets/javascripts/behaviors/requires_input.js.coffee:10:#   <form class="js-requires-input">
    app/assets/javascripts/behaviors/requires_input.js.coffee:11:#     <input type="text" required="required">
    app/assets/javascripts/behaviors/requires_input.js.coffee:12:#     <input type="submit" value="Submit">
    app/assets/javascripts/behaviors/requires_input.js.coffee:13:#   </form>
    app/assets/javascripts/behaviors/requires_input.js.coffee:23:    # Collect the input values of *all* required fields
    app/assets/javascripts/behaviors/requires_input.js.coffee:26:    # Disable the button if any required fields are empty
    app/assets/javascripts/behaviors/requires_input.js.coffee:32:  # Set initial button state
    app/assets/javascripts/behaviors/requires_input.js.coffee:41:  # Hide or Show the help block when creating a new project
    app/assets/javascripts/behaviors/requires_input.js.coffee:42:  # based on the option selected
    app/assets/javascripts/diff.js.coffee:37:        # indent is used to compensate for single space indent to fit
    app/assets/javascripts/diff.js.coffee:38:        # '+' and '-' prepended to diff lines,
    app/assets/javascripts/diff.js.coffee:39:        # see https://gitlab.com/gitlab-org/gitlab-ce/issues/707
    app/assets/javascripts/commit/image-file.js.coffee:3:  # Width where images must fits in, for 2-up this gets divided by 2
    app/assets/javascripts/commit/image-file.js.coffee:8:    # Determine if old and new file has same dimensions, if not show 'two-up' view
    app/assets/javascripts/groups_select.js.coffee:26:        escapeMarkup: (m) -> # we do not want to escape markup since we are displaying html in results
    app/assets/javascripts/tree.js.coffee:5:    # Code browser tree slider
    app/assets/javascripts/tree.js.coffee:6:    # Make the entire tree-item row clickable, but not if clicking another link (like a commit message)
    app/assets/javascripts/tree.js.coffee:18:    # Show the "Loading commit data" for only the first element
    app/assets/javascripts/issuable.js.coffee:48:        # Remove the label input box
    app/assets/javascripts/issuable.js.coffee:53:        # Submit the form to get new data
    app/assets/javascripts/project_find_file.js.coffee:6:    # init event
    app/assets/javascripts/project_find_file.js.coffee:9:    # focus text input box
    app/assets/javascripts/project_find_file.js.coffee:12:    # load file list
    app/assets/javascripts/project_find_file.js.coffee:15:  # init event
    app/assets/javascripts/project_find_file.js.coffee:33:  # find file
    app/assets/javascripts/project_find_file.js.coffee:39:  # files pathes load
    app/assets/javascripts/project_find_file.js.coffee:51:  # render result
    app/assets/javascripts/project_find_file.js.coffee:66:  # highlight text(awefwbwgtc -> <b>a</b>wefw<b>b</b>wgt<b>c</b> )
    app/assets/javascripts/project_find_file.js.coffee:86:  # make tbody row html
    app/assets/javascripts/gl_form.js.coffee:5:    # Before we start, we should clean up any previous data for this form
    app/assets/javascripts/gl_form.js.coffee:8:    # Setup the form
    app/assets/javascripts/gl_form.js.coffee:14:    # Clean form listeners
    app/assets/javascripts/gl_form.js.coffee:28:      # remove notify commit author checkbox for non-commit notes
    app/assets/javascripts/gl_form.js.coffee:34:      # form and textarea event listeners
    app/assets/javascripts/gl_form.js.coffee:39:    # hide discard button
    app/assets/javascripts/dispatcher.js.coffee:111:        # Ensure we don't create a particular shortcut handler here. This is
    app/assets/javascripts/dispatcher.js.coffee:112:        # already created, where the network graph is created.
    app/assets/javascripts/dispatcher.js.coffee:164:    # If we haven't installed a custom shortcut handler, install the default one
    app/assets/javascripts/dispatcher.js.coffee:170:    # Only when search form is present
    app/assets/javascripts/awards_handler.coffee:88:    # The menu could potentially be off-screen or in a hidden overflow element
    app/assets/javascripts/awards_handler.coffee:89:    # So we position the element absolute in the body
    app/assets/javascripts/awards_handler.coffee:245:    # 'destroy' call is asynchronous and there is no appropriate callback on it, this is why we need to set timeout.
    app/assets/javascripts/awards_handler.coffee:295:      # Find by alias
    app/assets/javascripts/awards_handler.coffee:356:      # Clean previous search results
    app/assets/javascripts/awards_handler.coffee:360:        # Generate a search result block
    spec/javascripts/shortcuts_issuable_spec.js.coffee:11:    # Stub window.getSelection to return the provided String.
    spec/javascripts/awards_handler_spec.js.coffee:15:  setTimeout -> # Maybe jasmine.clock here?
    spec/javascripts/fixtures/zen_mode.html.haml:3:    %textarea#note_note.js-gfm-input.markdown-area
    spec/javascripts/fixtures/line_highlighter.html.haml:1:#blob-content-holder
    spec/javascripts/fixtures/merge_request_tabs.html.haml:13:  #notes.notes.tab-pane
    spec/javascripts/fixtures/merge_request_tabs.html.haml:15:  #commits.commits.tab-pane
    spec/javascripts/fixtures/merge_request_tabs.html.haml:17:  #diffs.diffs.tab-pane
    spec/javascripts/fixtures/application.html.haml:1:%a#test-link.btn.disabled{:href => "/foo"} Test link
    spec/javascripts/fixtures/application.html.haml:2:%button#test-button.btn.disabled Test Button
    spec/javascripts/fixtures/issuable.html.haml:2:  %textarea#note_note
    spec/javascripts/fixtures/awards_handler.html.haml:23:      #notes
    spec/javascripts/fixtures/awards_handler.html.haml:24:        %ul#notes-list.notes.main-notes-list.timeline
    spec/javascripts/fixtures/awards_handler.html.haml:25:          %li#note_348.note.note-row-348.timeline-entry{"data-author-id" => "18", "data-editable" => ""}
    spec/javascripts/fixtures/search_autocomplete.html.haml:8:          %input#search.search-input.dropdown-menu-toggle
    spec/javascripts/search_autocomplete_spec.js.coffee:24:# Add required attributes to body before starting the test.
    spec/javascripts/search_autocomplete_spec.js.coffee:25:# section would be dashboard|group|project
    spec/javascripts/search_autocomplete_spec.js.coffee:45:# Mock `gl` object in window for dashboard specific page. App code will need it.
    spec/javascripts/search_autocomplete_spec.js.coffee:54:# Mock `gl` object in window for project specific page. App code will need it.
    spec/javascripts/behaviors/quick_submit_spec.js.coffee:9:    # Prevent a form submit from moving us off the testing page
    spec/javascripts/behaviors/quick_submit_spec.js.coffee:37:  # We cannot stub `navigator.userAgent` for CI's `rake teaspoon` task, so we'll
    spec/javascripts/behaviors/quick_submit_spec.js.coffee:38:  # only run the tests that apply to the current platform
    spec/javascripts/spec_helper.coffee:1:# PhantomJS (Teaspoons default driver) doesn't have support for
    spec/javascripts/spec_helper.coffee:2:# Function.prototype.bind, which has caused confusion.  Use this polyfill to
    spec/javascripts/spec_helper.coffee:3:# avoid the confusion.
    spec/javascripts/spec_helper.coffee:7:# You can require your own javascript files here. By default this will include
    spec/javascripts/spec_helper.coffee:8:# everything in application, however you may get better load performance if you
    spec/javascripts/spec_helper.coffee:9:# require the specific files that are being used in the spec that tests them.
    spec/javascripts/spec_helper.coffee:16:# Teaspoon includes some support files, but you can use anything from your own
    spec/javascripts/spec_helper.coffee:17:# support path too.
    spec/javascripts/spec_helper.coffee:19:# require support/jasmine-jquery-1.7.0
    spec/javascripts/spec_helper.coffee:20:# require support/jasmine-jquery-2.0.0
    spec/javascripts/spec_helper.coffee:22:# require support/sinon
    spec/javascripts/spec_helper.coffee:23:# require support/your-support-file
    spec/javascripts/spec_helper.coffee:25:# Deferring execution
    spec/javascripts/spec_helper.coffee:27:# If you're using CommonJS, RequireJS or some other asynchronous library you can
    spec/javascripts/spec_helper.coffee:28:# defer execution. Call Teaspoon.execute() after everything has been loaded.
    spec/javascripts/spec_helper.coffee:29:# Simple example of a timeout:
    spec/javascripts/spec_helper.coffee:31:# Teaspoon.defer = true
    spec/javascripts/spec_helper.coffee:32:# setTimeout(Teaspoon.execute, 1000)
    spec/javascripts/spec_helper.coffee:34:# Matching files
    spec/javascripts/spec_helper.coffee:36:# By default Teaspoon will look for files that match
    spec/javascripts/spec_helper.coffee:37:# _spec.{js,js.coffee,.coffee}. Add a filename_spec.js file in your spec path
    spec/javascripts/spec_helper.coffee:38:# and it'll be included in the default suite automatically. If you want to
    spec/javascripts/spec_helper.coffee:39:# customize suites, check out the configuration in teaspoon_env.rb
    spec/javascripts/spec_helper.coffee:41:# Manifest
    spec/javascripts/spec_helper.coffee:43:# If you'd rather require your spec files manually (to control order for
    spec/javascripts/spec_helper.coffee:44:# instance) you can disable the suite matcher in the configuration and use this
    spec/javascripts/spec_helper.coffee:45:# file as a manifest.
    spec/javascripts/spec_helper.coffee:47:# For more information: http://github.com/modeset/teaspoon
    spec/javascripts/zen_mode_spec.js.coffee:9:    # Stub Dropzone.forElement(...).enable()
    spec/javascripts/zen_mode_spec.js.coffee:15:    # Set this manually because we can't actually scroll the window
    spec/javascripts/zen_mode_spec.js.coffee:49:enterZen      = -> $('a.js-zen-enter').click() # Ohmmmmmmm
    vendor/assets/javascripts/g.raphael.js:849:            return (label + "").replace(/(##+(?:\.#+)?)|(%%+(?:\.%+)?)/g, function (all, value, percent) {
    vendor/assets/javascripts/g.raphael.js:851:                    return (+val).toFixed(value.replace(/^#+\.?/g, "").length);
    vendor/assets/javascripts/cropper.js:138:    var parts = url.match(/^(https?:)\/\/([^\:\/\?#]+):?(\d*)/i);
    vendor/assets/javascripts/cropper.js:160:    // Modern browsers (ignore Safari, #120 & #509)
    vendor/assets/javascripts/cropper.js:377:          // Override the orientation with its default value for Safari (#120)
    vendor/assets/javascripts/cropper.js:602:          // Bust cache (#148) when there is not a "crossOrigin" property
    vendor/assets/javascripts/cropper.js:1104:      // The width of auto crop area must large than "minWidth", and the height too. (#164)
    vendor/assets/javascripts/cropper.js:1654:      // Locking aspect ratio in "free mode" by holding shift key (#259)
    vendor/assets/javascripts/cropper.js:2312:     * https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function#rotate()
    vendor/assets/javascripts/cropper.js:2328:     * https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function#scale()
    vendor/assets/javascripts/cropper.js:2746:        // All the numerical parameters should be integer for `drawImage` (#476)
    vendor/assets/javascripts/cropper.js:2813:          // Sync drag mode to crop box when it is not movable(#300)
    vendor/assets/javascripts/clipboard.js:202:    // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910
    vendor/assets/javascripts/task_list.js.coffee:1:# The MIT License (MIT)
    vendor/assets/javascripts/task_list.js.coffee:3:# Copyright (c) 2014 GitHub, Inc.
    vendor/assets/javascripts/task_list.js.coffee:5:# Permission is hereby granted, free of charge, to any person obtaining a copy
    vendor/assets/javascripts/task_list.js.coffee:6:# of this software and associated documentation files (the "Software"), to deal
    vendor/assets/javascripts/task_list.js.coffee:7:# in the Software without restriction, including without limitation the rights
    vendor/assets/javascripts/task_list.js.coffee:8:# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    vendor/assets/javascripts/task_list.js.coffee:9:# copies of the Software, and to permit persons to whom the Software is
    vendor/assets/javascripts/task_list.js.coffee:10:# furnished to do so, subject to the following conditions:
    vendor/assets/javascripts/task_list.js.coffee:12:# The above copyright notice and this permission notice shall be included in all
    vendor/assets/javascripts/task_list.js.coffee:13:# copies or substantial portions of the Software.
    vendor/assets/javascripts/task_list.js.coffee:15:# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    vendor/assets/javascripts/task_list.js.coffee:16:# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    vendor/assets/javascripts/task_list.js.coffee:17:# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    vendor/assets/javascripts/task_list.js.coffee:18:# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    vendor/assets/javascripts/task_list.js.coffee:19:# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    vendor/assets/javascripts/task_list.js.coffee:20:# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    vendor/assets/javascripts/task_list.js.coffee:21:# SOFTWARE.
    vendor/assets/javascripts/task_list.js.coffee:23:# TaskList Behavior
    vendor/assets/javascripts/task_list.js.coffee:25:#= provides tasklist:enabled
    vendor/assets/javascripts/task_list.js.coffee:26:#= provides tasklist:disabled
    vendor/assets/javascripts/task_list.js.coffee:27:#= provides tasklist:change
    vendor/assets/javascripts/task_list.js.coffee:28:#= provides tasklist:changed
    vendor/assets/javascripts/task_list.js.coffee:31:# Enables Task List update behavior.
    vendor/assets/javascripts/task_list.js.coffee:33:# ### Example Markup
    vendor/assets/javascripts/task_list.js.coffee:35:#   <div class="js-task-list-container">
    vendor/assets/javascripts/task_list.js.coffee:36:#     <ul class="task-list">
    vendor/assets/javascripts/task_list.js.coffee:37:#       <li class="task-list-item">
    vendor/assets/javascripts/task_list.js.coffee:38:#         <input type="checkbox" class="js-task-list-item-checkbox" disabled />
    vendor/assets/javascripts/task_list.js.coffee:39:#         text
    vendor/assets/javascripts/task_list.js.coffee:40:#       </li>
    vendor/assets/javascripts/task_list.js.coffee:41:#     </ul>
    vendor/assets/javascripts/task_list.js.coffee:42:#     <form>
    vendor/assets/javascripts/task_list.js.coffee:43:#       <textarea class="js-task-list-field">- [ ] text</textarea>
    vendor/assets/javascripts/task_list.js.coffee:44:#     </form>
    vendor/assets/javascripts/task_list.js.coffee:45:#   </div>
    vendor/assets/javascripts/task_list.js.coffee:47:# ### Specification
    vendor/assets/javascripts/task_list.js.coffee:49:# TaskLists MUST be contained in a `(div).js-task-list-container`.
    vendor/assets/javascripts/task_list.js.coffee:51:# TaskList Items SHOULD be an a list (`UL`/`OL`) element.
    vendor/assets/javascripts/task_list.js.coffee:53:# Task list items MUST match `(input).task-list-item-checkbox` and MUST be
    vendor/assets/javascripts/task_list.js.coffee:54:# `disabled` by default.
    vendor/assets/javascripts/task_list.js.coffee:56:# TaskLists MUST have a `(textarea).js-task-list-field` form element whose
    vendor/assets/javascripts/task_list.js.coffee:57:# `value` attribute is the source (Markdown) to be udpated. The source MUST
    vendor/assets/javascripts/task_list.js.coffee:58:# follow the syntax guidelines.
    vendor/assets/javascripts/task_list.js.coffee:60:# TaskList updates trigger `tasklist:change` events. If the change is
    vendor/assets/javascripts/task_list.js.coffee:61:# successful, `tasklist:changed` is fired. The change can be canceled.
    vendor/assets/javascripts/task_list.js.coffee:63:# jQuery is required.
    vendor/assets/javascripts/task_list.js.coffee:65:# ### Methods
    vendor/assets/javascripts/task_list.js.coffee:67:# `.taskList('enable')` or `.taskList()`
    vendor/assets/javascripts/task_list.js.coffee:69:# Enables TaskList updates for the container.
    vendor/assets/javascripts/task_list.js.coffee:71:# `.taskList('disable')`
    vendor/assets/javascripts/task_list.js.coffee:73:# Disables TaskList updates for the container.
    vendor/assets/javascripts/task_list.js.coffee:75:## ### Events
    vendor/assets/javascripts/task_list.js.coffee:77:# `tasklist:enabled`
    vendor/assets/javascripts/task_list.js.coffee:79:# Fired when the TaskList is enabled.
    vendor/assets/javascripts/task_list.js.coffee:81:# * **Synchronicity** Sync
    vendor/assets/javascripts/task_list.js.coffee:82:# * **Bubbles** Yes
    vendor/assets/javascripts/task_list.js.coffee:83:# * **Cancelable** No
    vendor/assets/javascripts/task_list.js.coffee:84:# * **Target** `.js-task-list-container`
    vendor/assets/javascripts/task_list.js.coffee:86:# `tasklist:disabled`
    vendor/assets/javascripts/task_list.js.coffee:88:# Fired when the TaskList is disabled.
    vendor/assets/javascripts/task_list.js.coffee:90:# * **Synchronicity** Sync
    vendor/assets/javascripts/task_list.js.coffee:91:# * **Bubbles** Yes
    vendor/assets/javascripts/task_list.js.coffee:92:# * **Cancelable** No
    vendor/assets/javascripts/task_list.js.coffee:93:# * **Target** `.js-task-list-container`
    vendor/assets/javascripts/task_list.js.coffee:95:# `tasklist:change`
    vendor/assets/javascripts/task_list.js.coffee:97:# Fired before the TaskList item change takes affect.
    vendor/assets/javascripts/task_list.js.coffee:99:# * **Synchronicity** Sync
    vendor/assets/javascripts/task_list.js.coffee:100:# * **Bubbles** Yes
    vendor/assets/javascripts/task_list.js.coffee:101:# * **Cancelable** Yes
    vendor/assets/javascripts/task_list.js.coffee:102:# * **Target** `.js-task-list-field`
    vendor/assets/javascripts/task_list.js.coffee:104:# `tasklist:changed`
    vendor/assets/javascripts/task_list.js.coffee:106:# Fired once the TaskList item change has taken affect.
    vendor/assets/javascripts/task_list.js.coffee:108:# * **Synchronicity** Sync
    vendor/assets/javascripts/task_list.js.coffee:109:# * **Bubbles** Yes
    vendor/assets/javascripts/task_list.js.coffee:110:# * **Cancelable** No
    vendor/assets/javascripts/task_list.js.coffee:111:# * **Target** `.js-task-list-field`
    vendor/assets/javascripts/task_list.js.coffee:113:# ### NOTE
    vendor/assets/javascripts/task_list.js.coffee:115:# Task list checkboxes are rendered as disabled by default because rendered
    vendor/assets/javascripts/task_list.js.coffee:116:# user content is cached without regard for the viewer.
    vendor/assets/javascripts/task_list.js.coffee:121:# Escapes the String for regular expression matching.
    vendor/assets/javascripts/task_list.js.coffee:124:    replace(/([\[\]])/g, "\\$1"). # escape square brackets
    vendor/assets/javascripts/task_list.js.coffee:125:    replace(/\s/, "\\s").         # match all white space
    vendor/assets/javascripts/task_list.js.coffee:126:    replace("x", "[xX]")          # match all cases
    vendor/assets/javascripts/task_list.js.coffee:135:# Pattern used to identify all task list items.
    vendor/assets/javascripts/task_list.js.coffee:136:# Useful when you need iterate over all items.
    vendor/assets/javascripts/task_list.js.coffee:139:  (?:                     # prefix, consisting of
    vendor/assets/javascripts/task_list.js.coffee:140:    \s*                   # optional leading whitespace
    vendor/assets/javascripts/task_list.js.coffee:141:    (?:>\s*)*             # zero or more blockquotes
    vendor/assets/javascripts/task_list.js.coffee:142:    (?:[-+*]|(?:\d+\.))   # list item indicator
    vendor/assets/javascripts/task_list.js.coffee:144:  \s*                     # optional whitespace prefix
    vendor/assets/javascripts/task_list.js.coffee:145:  (                       # checkbox
    vendor/assets/javascripts/task_list.js.coffee:149:  \s+                     # is followed by whitespace
    vendor/assets/javascripts/task_list.js.coffee:151:    \(.*?\)               # is not part of a [foo](url) link
    vendor/assets/javascripts/task_list.js.coffee:153:  (?=                     # and is followed by zero or more links
    vendor/assets/javascripts/task_list.js.coffee:155:    (?:[^\[]|$)           # and either a non-link or the end of the string
    vendor/assets/javascripts/task_list.js.coffee:159:# Used to filter out code fences from the source for comparison only.
    vendor/assets/javascripts/task_list.js.coffee:160:# http://rubular.com/r/x5EwZVrloI
    vendor/assets/javascripts/task_list.js.coffee:161:# Modified slightly due to issues with JS
    vendor/assets/javascripts/task_list.js.coffee:163:  ^`{3}           # ```
    vendor/assets/javascripts/task_list.js.coffee:164:    (?:\s*\w+)?   # followed by optional language
    vendor/assets/javascripts/task_list.js.coffee:165:    [\S\s]        # whitespace
    vendor/assets/javascripts/task_list.js.coffee:166:  .*              # code
    vendor/assets/javascripts/task_list.js.coffee:167:  [\S\s]          # whitespace
    vendor/assets/javascripts/task_list.js.coffee:168:  ^`{3}$          # ```
    vendor/assets/javascripts/task_list.js.coffee:171:# Used to filter out potential mismatches (items not in lists).
    vendor/assets/javascripts/task_list.js.coffee:172:# http://rubular.com/r/OInl6CiePy
    vendor/assets/javascripts/task_list.js.coffee:183:# Given the source text, updates the appropriate task list item to match the
    vendor/assets/javascripts/task_list.js.coffee:184:# given checked value.
    vendor/assets/javascripts/task_list.js.coffee:186:# Returns the updated String text.
    vendor/assets/javascripts/task_list.js.coffee:203:# Updates the $field value to reflect the state of $item.
    vendor/assets/javascripts/task_list.js.coffee:204:# Triggers the `tasklist:change` event before the value has changed, and fires
    vendor/assets/javascripts/task_list.js.coffee:205:# a `tasklist:changed` event once the value has changed.
    vendor/assets/javascripts/task_list.js.coffee:220:# When the task list item checkbox is updated, submit the change
    vendor/assets/javascripts/task_list.js.coffee:224:# Enables TaskList item changes.
    vendor/assets/javascripts/task_list.js.coffee:233:# Enables a collection of TaskList containers.
    vendor/assets/javascripts/task_list.js.coffee:238:# Disable TaskList item changes.
    vendor/assets/javascripts/task_list.js.coffee:246:# Disables a collection of TaskList containers.
    vendor/assets/javascripts/jquery.nicescroll.js:365:    //## Check WebKit-based desktop with touch support
    vendor/assets/javascripts/jquery.nicescroll.js:366:    //## + Firefox 18 nightly build (desktop) false positive (or desktop with touch support)
    vendor/assets/javascripts/jquery.nicescroll.js:372:    //## disable MouseLock API on user request
    vendor/assets/javascripts/raphael.js:246:     - subname (string) #optional subname of the event
    vendor/assets/javascripts/raphael.js:413:     - callback (function) #optional callback function which is going to be executed in the context of newly created paper
    vendor/assets/javascripts/raphael.js:419:     - callback (function) #optional callback function which is going to be executed in the context of newly created paper
    vendor/assets/javascripts/raphael.js:422:     - callback (function) #optional callback function which is going to be executed in the context of newly created paper
    vendor/assets/javascripts/raphael.js:431:     | // Canvas is created at the top left corner of the #notepad element
    vendor/assets/javascripts/raphael.js:550:        colourRegExp = /^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i,
    vendor/assets/javascripts/raphael.js:816:     - x3 (number) #optional x coord of third point
    vendor/assets/javascripts/raphael.js:817:     - y3 (number) #optional y coord of third point
    vendor/assets/javascripts/raphael.js:864:     - tolerance (number) #optional tolerance for snapping. Default is `10`.
    vendor/assets/javascripts/raphael.js:1011:     o     hex (string) color in HTML/CSS format: #••••••,
    vendor/assets/javascripts/raphael.js:1066:     o     hex (string) color in HTML/CSS format: #••••••
    vendor/assets/javascripts/raphael.js:1103:     o     hex (string) color in HTML/CSS format: #••••••
    vendor/assets/javascripts/raphael.js:1253:     # <ul>
    vendor/assets/javascripts/raphael.js:1254:     #     <li>Colour name (“<code>red</code>”, “<code>green</code>”, “<code>cornflowerblue</code>”, etc)</li>
    vendor/assets/javascripts/raphael.js:1255:     #     <li>#••• — shortened HTML colour: (“<code>#000</code>”, “<code>#fc0</code>”, etc)</li>
    vendor/assets/javascripts/raphael.js:1256:     #     <li>#•••••• — full length HTML colour: (“<code>#000000</code>”, “<code>#bd2300</code>”)</li>
    vendor/assets/javascripts/raphael.js:1257:     #     <li>rgb(•••, •••, •••) — red, green and blue channels’ values: (“<code>rgb(200,&nbsp;100,&nbsp;0)</code>”)</li>
    vendor/assets/javascripts/raphael.js:1258:     #     <li>rgb(•••%, •••%, •••%) — same as above, but in %: (“<code>rgb(100%,&nbsp;175%,&nbsp;0%)</code>”)</li>
    vendor/assets/javascripts/raphael.js:1259:     #     <li>hsb(•••, •••, •••) — hue, saturation and brightness values: (“<code>hsb(0.5,&nbsp;0.25,&nbsp;1)</code>”)</li>
    vendor/assets/javascripts/raphael.js:1260:     #     <li>hsb(•••%, •••%, •••%) — same as above, but in %</li>
    vendor/assets/javascripts/raphael.js:1261:     #     <li>hsl(•••, •••, •••) — same as hsb</li>
    vendor/assets/javascripts/raphael.js:1262:     #     <li>hsl(•••%, •••%, •••%) — same as hsb</li>
    vendor/assets/javascripts/raphael.js:1263:     # </ul>
    vendor/assets/javascripts/raphael.js:1269:     o     hex (string) color in HTML/CSS format: #••••••,
    vendor/assets/javascripts/raphael.js:1392:     - value (number) #optional brightness, default is `0.75`
    vendor/assets/javascripts/raphael.js:2218:            // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes
    vendor/assets/javascripts/raphael.js:2934:         - y (number) #optional
    vendor/assets/javascripts/raphael.js:2935:         - cx (number) #optional
    vendor/assets/javascripts/raphael.js:2936:         - cy (number) #optional
    vendor/assets/javascripts/raphael.js:3266:     - handler (function) #optional handler for the event
    vendor/assets/javascripts/raphael.js:3285:     - handler (function) #optional handler for the event
    vendor/assets/javascripts/raphael.js:3304:     - handler (function) #optional handler for the event
    vendor/assets/javascripts/raphael.js:3323:     - handler (function) #optional handler for the event
    vendor/assets/javascripts/raphael.js:3342:     - handler (function) #optional handler for the event
    vendor/assets/javascripts/raphael.js:3361:     - handler (function) #optional handler for the event
    vendor/assets/javascripts/raphael.js:3380:     - handler (function) #optional handler for the event
    vendor/assets/javascripts/raphael.js:3399:     - handler (function) #optional handler for the event
    vendor/assets/javascripts/raphael.js:3418:     - handler (function) #optional handler for the event
    vendor/assets/javascripts/raphael.js:3437:     - handler (function) #optional handler for the event
    vendor/assets/javascripts/raphael.js:3456:     - handler (function) #optional handler for the event
    vendor/assets/javascripts/raphael.js:3492:     - value (any) #optional value to store
    vendor/assets/javascripts/raphael.js:3534:     - key (string) #optional key
    vendor/assets/javascripts/raphael.js:3563:     - icontext (object) #optional context for hover in handler
    vendor/assets/javascripts/raphael.js:3564:     - ocontext (object) #optional context for hover out handler
    vendor/assets/javascripts/raphael.js:3593:     - mcontext (object) #optional context for moving handler
    vendor/assets/javascripts/raphael.js:3594:     - scontext (object) #optional context for drag start handler
    vendor/assets/javascripts/raphael.js:3595:     - econtext (object) #optional context for drag end handler
    vendor/assets/javascripts/raphael.js:3708:     - r (number) #optional radius for rounded corners, default is 0
    vendor/assets/javascripts/raphael.js:3750:     - pathString (string) #optional path string in SVG format.
    vendor/assets/javascripts/raphael.js:3755:     # <p>Here is short list of commands available, for more details see <a href="http://www.w3.org/TR/SVG/paths.html#PathData" title="Details of a path's data attribute's format are described in the SVG specification.">SVG path string format</a>.</p>
    vendor/assets/javascripts/raphael.js:3756:     # <table><thead><tr><th>Command</th><th>Name</th><th>Parameters</th></tr></thead><tbody>
    vendor/assets/javascripts/raphael.js:3757:     # <tr><td>M</td><td>moveto</td><td>(x y)+</td></tr>
    vendor/assets/javascripts/raphael.js:3758:     # <tr><td>Z</td><td>closepath</td><td>(none)</td></tr>
    vendor/assets/javascripts/raphael.js:3759:     # <tr><td>L</td><td>lineto</td><td>(x y)+</td></tr>
    vendor/assets/javascripts/raphael.js:3760:     # <tr><td>H</td><td>horizontal lineto</td><td>x+</td></tr>
    vendor/assets/javascripts/raphael.js:3761:     # <tr><td>V</td><td>vertical lineto</td><td>y+</td></tr>
    vendor/assets/javascripts/raphael.js:3762:     # <tr><td>C</td><td>curveto</td><td>(x1 y1 x2 y2 x y)+</td></tr>
    vendor/assets/javascripts/raphael.js:3763:     # <tr><td>S</td><td>smooth curveto</td><td>(x2 y2 x y)+</td></tr>
    vendor/assets/javascripts/raphael.js:3764:     # <tr><td>Q</td><td>quadratic Bézier curveto</td><td>(x1 y1 x y)+</td></tr>
    vendor/assets/javascripts/raphael.js:3765:     # <tr><td>T</td><td>smooth quadratic Bézier curveto</td><td>(x y)+</td></tr>
    vendor/assets/javascripts/raphael.js:3766:     # <tr><td>A</td><td>elliptical arc</td><td>(rx ry x-axis-rotation large-arc-flag sweep-flag x y)+</td></tr>
    vendor/assets/javascripts/raphael.js:3767:     # <tr><td>R</td><td><a href="http://en.wikipedia.org/wiki/Catmull–Rom_spline#Catmull.E2.80.93Rom_spline">Catmull-Rom curveto</a>*</td><td>x1 y1 (x y)+</td></tr></tbody></table>
    vendor/assets/javascripts/raphael.js:4186:     - glow (object) #optional parameters object with all properties optional:
    vendor/assets/javascripts/raphael.js:4424:     # <ul>
    vendor/assets/javascripts/raphael.js:4425:     #     <li>“linear”</li>
    vendor/assets/javascripts/raphael.js:4426:     #     <li>“&lt;” or “easeIn” or “ease-in”</li>
    vendor/assets/javascripts/raphael.js:4427:     #     <li>“>” or “easeOut” or “ease-out”</li>
    vendor/assets/javascripts/raphael.js:4428:     #     <li>“&lt;>” or “easeInOut” or “ease-in-out”</li>
    vendor/assets/javascripts/raphael.js:4429:     #     <li>“backIn” or “back-in”</li>
    vendor/assets/javascripts/raphael.js:4430:     #     <li>“backOut” or “back-out”</li>
    vendor/assets/javascripts/raphael.js:4431:     #     <li>“elastic”</li>
    vendor/assets/javascripts/raphael.js:4432:     #     <li>“bounce”</li>
    vendor/assets/javascripts/raphael.js:4433:     # </ul>
    vendor/assets/javascripts/raphael.js:4434:     # <p>See also <a href="http://raphaeljs.com/easing.html">Easing demo</a>.</p>
    vendor/assets/javascripts/raphael.js:4646:     - params (object) #optional final attributes for the element, see also @Element.attr
    vendor/assets/javascripts/raphael.js:4647:     - ms (number) #optional number of milliseconds for animation to run
    vendor/assets/javascripts/raphael.js:4648:     - easing (string) #optional easing type. Accept on of @Raphael.easing_formulas or CSS format: `cubic&#x2010;bezier(XX,&#160;XX,&#160;XX,&#160;XX)`
    vendor/assets/javascripts/raphael.js:4649:     - callback (function) #optional callback function. Will be called at the end of animation.
    vendor/assets/javascripts/raphael.js:4653:     - animation (object) #optional animation object, see @Raphael.animation
    vendor/assets/javascripts/raphael.js:5007:     - easing (string) #optional easing type. Accept one of @Raphael.easing_formulas or CSS format: `cubic&#x2010;bezier(XX,&#160;XX,&#160;XX,&#160;XX)`
    vendor/assets/javascripts/raphael.js:5008:     - callback (function) #optional callback function. Will be called at the end of animation.
    vendor/assets/javascripts/raphael.js:5061:     - easing (string) #optional easing type. Accept one of @Raphael.easing_formulas or CSS format: `cubic&#x2010;bezier(XX,&#160;XX,&#160;XX,&#160;XX)`
    vendor/assets/javascripts/raphael.js:5062:     - callback (function) #optional callback function. Will be called at the end of animation.
    vendor/assets/javascripts/raphael.js:5108:     - anim (object) #optional animation object
    vendor/assets/javascripts/raphael.js:5109:     - value (number) #optional 0 – 1. If specified, method works like a setter and sets the status of a given animation to the value. This will cause animation to jump to the given position.
    vendor/assets/javascripts/raphael.js:5157:     - anim (object) #optional animation object
    vendor/assets/javascripts/raphael.js:5177:     - anim (object) #optional animation object
    vendor/assets/javascripts/raphael.js:5199:     - anim (object) #optional animation object
    vendor/assets/javascripts/raphael.js:5333:     - insertion… (object) #optional elements to insert
    vendor/assets/javascripts/raphael.js:5487:     # <a href="http://wiki.github.com/sorccu/cufon/about">More about Cufón and how to convert your font form TTF, OTF, etc to JavaScript file.</a>
    vendor/assets/javascripts/raphael.js:5544:     - weight (string) #optional font weight
    vendor/assets/javascripts/raphael.js:5545:     - style (string) #optional font style
    vendor/assets/javascripts/raphael.js:5546:     - stretch (string) #optional font stretch
    vendor/assets/javascripts/raphael.js:5592:     - size (number) #optional size of the font, default is `16`
    vendor/assets/javascripts/raphael.js:5593:     - origin (string) #optional could be `"baseline"` or `"middle"`, default is `"middle"`
    vendor/assets/javascripts/raphael.js:5594:     - letter_spacing (number) #optional number in range `-1..1`, default is `0`
    vendor/assets/javascripts/raphael.js:5595:     - line_spacing (number) #optional number in range `1..3`, default is `1`
    vendor/assets/javascripts/raphael.js:5915:            id = id.replace(/[\(\)\s,\xb0#]/g, "_");
    vendor/assets/javascripts/raphael.js:6201:                                var clip = R._g.doc.getElementById(path.replace(/(^url\(#|\)$)/g, E));
    vendor/assets/javascripts/raphael.js:6328:                                var gradient = R._g.doc.getElementById(node.getAttribute("fill").replace(/^url\(#|\)$/g, E));
    vendor/assets/javascripts/raphael.js:6358:                            gradient = R._g.doc.getElementById(node.getAttribute("fill").replace(/^url\(#|\)$/g, E));
    vendor/assets/javascripts/raphael.js:6535:     - cx (number) #optional x coordinate of the centre of rotation
    vendor/assets/javascripts/raphael.js:6536:     - cy (number) #optional y coordinate of the centre of rotation
    vendor/assets/javascripts/raphael.js:6569:     - cx (number) #optional x coordinate of the centre of scale
    vendor/assets/javascripts/raphael.js:6570:     - cy (number) #optional y coordinate of the centre of scale
    vendor/assets/javascripts/raphael.js:6650:     - tstr (string) #optional transformation string
    vendor/assets/javascripts/raphael.js:6782:     # <p>Please refer to the <a href="http://www.w3.org/TR/SVG/" title="The W3C Recommendation for the SVG language describes these properties in detail.">SVG specification</a> for an explanation of these parameters.</p>
    vendor/assets/javascripts/raphael.js:6818:     * Linear gradient format: “`‹angle›-‹colour›[-‹colour›[:‹offset›]]*-‹colour›`”, example: “`90-#fff-#000`” – 90°
    vendor/assets/javascripts/raphael.js:6819:     * gradient from white to black or “`0-#fff-#f00:20-#000`” – 0° gradient from white via red (at 20%) to black.
    vendor/assets/javascripts/raphael.js:6821:     * radial gradient: “`r[(‹fx›, ‹fy›)]‹colour›[-‹colour›[:‹offset›]]*-‹colour›`”, example: “`r#fff-#000`” –
    vendor/assets/javascripts/raphael.js:6822:     * gradient from white to black or “`r(0.25, 0.75)#fff-#000`” – gradient from white to black with focus point
    vendor/assets/javascripts/raphael.js:6825:     # <p>Please refer to <a href="http://www.w3.org/TR/SVG/paths.html#PathData" title="Details of a path’s data attribute’s format are described in the SVG specification.">SVG documentation regarding path string</a>. Raphaël fully supports it.</p>
    vendor/assets/javascripts/raphael.js:6827:     # <ul>
    vendor/assets/javascripts/raphael.js:6828:     #     <li>Colour name (“<code>red</code>”, “<code>green</code>”, “<code>cornflowerblue</code>”, etc)</li>
    vendor/assets/javascripts/raphael.js:6829:     #     <li>#••• — shortened HTML colour: (“<code>#000</code>”, “<code>#fc0</code>”, etc)</li>
    vendor/assets/javascripts/raphael.js:6830:     #     <li>#•••••• — full length HTML colour: (“<code>#000000</code>”, “<code>#bd2300</code>”)</li>
    vendor/assets/javascripts/raphael.js:6831:     #     <li>rgb(•••, •••, •••) — red, green and blue channels’ values: (“<code>rgb(200,&nbsp;100,&nbsp;0)</code>”)</li>
    vendor/assets/javascripts/raphael.js:6832:     #     <li>rgb(•••%, •••%, •••%) — same as above, but in %: (“<code>rgb(100%,&nbsp;175%,&nbsp;0%)</code>”)</li>
    vendor/assets/javascripts/raphael.js:6833:     #     <li>rgba(•••, •••, •••, •••) — red, green and blue channels’ values: (“<code>rgba(200,&nbsp;100,&nbsp;0, .5)</code>”)</li>
    vendor/assets/javascripts/raphael.js:6834:     #     <li>rgba(•••%, •••%, •••%, •••%) — same as above, but in %: (“<code>rgba(100%,&nbsp;175%,&nbsp;0%, 50%)</code>”)</li>
    vendor/assets/javascripts/raphael.js:6835:     #     <li>hsb(•••, •••, •••) — hue, saturation and brightness values: (“<code>hsb(0.5,&nbsp;0.25,&nbsp;1)</code>”)</li>
    vendor/assets/javascripts/raphael.js:6836:     #     <li>hsb(•••%, •••%, •••%) — same as above, but in %</li>
    vendor/assets/javascripts/raphael.js:6837:     #     <li>hsba(•••, •••, •••, •••) — same as above, but with opacity</li>
    vendor/assets/javascripts/raphael.js:6838:     #     <li>hsl(•••, •••, •••) — almost the same as hsb, see <a href="http://en.wikipedia.org/wiki/HSL_and_HSV" title="HSL and HSV - Wikipedia, the free encyclopedia">Wikipedia page</a></li>
    vendor/assets/javascripts/raphael.js:6839:     #     <li>hsl(•••%, •••%, •••%) — same as above, but in %</li>
    vendor/assets/javascripts/raphael.js:6840:     #     <li>hsla(•••, •••, •••, •••) — same as above, but with opacity</li>
    vendor/assets/javascripts/raphael.js:6841:     #     <li>Optionally for hsb and hsl you could specify hue as a degree: “<code>hsl(240deg,&nbsp;1,&nbsp;.5)</code>” or, if you want to go fancy, “<code>hsl(240°,&nbsp;1,&nbsp;.5)</code>”</li>
    vendor/assets/javascripts/raphael.js:6842:     # </ul>
    Edited by Winnie
  • Winnie mentioned in issue #20098 (closed)

    mentioned in issue #20098 (closed)

  • That's an unacceptable amount of lost comments.

  • ...oh dear

  • @rspeicher This was expected. They are not lost, as they still exist in history. We can restore them as needed. coffee removes single line comments. So those were single line comments when sometimes they should have been multi line.

    # here are some docs
    # here are more docs

    Should have been

    ###
    # here are some docs
    # here are some more docs
    ###

    Made an issue https://gitlab.com/gitlab-org/gitlab-ce/issues/20300

    Edited by Jacob Schatz
  • @jschatz1 That's a bad reason to lose comments. I'm not going to turn two lines of comments into four just to make them multi-line. "Restore them as-needed"? I'd imagine they were written because they were needed.

  • @rspeicher Not four lines of code. It would be:

    # here is a comment

    to

    ### here is a comment ###

    Anyway I am not saying you should have done that. I am saying that multi line comments should have been written as multi line comments. Anyways this should have all happened before the conversion. But we are restoring the comments anyway. There wasn't an easy way to bring them over. coffee doesn't keep comments. And regexing was a mess because comments can be complicated.

    app.run() # some comment
  • @jschatz1 @fatihacet I'm struggling getting an .es6 spec to run. Looks like it's not liking the /*= require ... syntax.

    UPDATE: https://github.com/TannerRogalsky/sprockets-es6/pull/19

    We can probably fix this right?

    Edited by Luke Bennett
  • Jared Deckard mentioned in merge request !5541 (closed)

    mentioned in merge request !5541 (closed)

  • Jacob Schatz mentioned in commit 2b3a1da6

    mentioned in commit 2b3a1da6

  • Jacob Schatz Mentioned in commit 2b3a1da6

    Mentioned in commit 2b3a1da6

  • Jacob Schatz Mentioned in commit 1b6de302

    Mentioned in commit 1b6de302

  • mentioned in issue #34831 (closed)

  • Please register or sign in to reply
    Loading