Files @ 9dd726706178
Branch filter:

Location: kallithea/rhodecode/public/js/mode/groovy/index.html - annotation

Bradley M. Kuhn
Complete copyright notices for web interface; change footer to link to them.

The original copyright notice found in the footer was not accurate as it
included only one of the many copyright holders in this project. This change
creates an "about" page, which currently contains just the copyright and
license information. It links to repository for additional potential copyright
holders not listed on the about page.

Unlisted contributors are mentioned in template comments.

Html links for Kallithea is fixed and we link to Conservancy.

Display of version information in the footer is improved.
<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>CodeMirror: Groovy mode</title>
    <link rel="stylesheet" href="../../lib/codemirror.css">
    <script src="../../lib/codemirror.js"></script>
    <script src="../../addon/edit/matchbrackets.js"></script>
    <script src="groovy.js"></script>
    <link rel="stylesheet" href="../../doc/docs.css">
    <style>.CodeMirror {border-top: 1px solid #500; border-bottom: 1px solid #500;}</style>
  </head>
  <body>
    <h1>CodeMirror: Groovy mode</h1>

<form><textarea id="code" name="code">
//Pattern for groovy script
def p = ~/.*\.groovy/
new File( 'd:\\scripts' ).eachFileMatch(p) {f ->
  // imports list
  def imports = []
  f.eachLine {
    // condition to detect an import instruction
    ln -> if ( ln =~ '^import .*' ) {
      imports << "${ln - 'import '}"
    }
  }
  // print thmen
  if ( ! imports.empty ) {
    println f
    imports.each{ println "   $it" }
  }
}

/* Coin changer demo code from http://groovy.codehaus.org */

enum UsCoin {
  quarter(25), dime(10), nickel(5), penny(1)
  UsCoin(v) { value = v }
  final value
}

enum OzzieCoin {
  fifty(50), twenty(20), ten(10), five(5)
  OzzieCoin(v) { value = v }
  final value
}

def plural(word, count) {
  if (count == 1) return word
  word[-1] == 'y' ? word[0..-2] + "ies" : word + "s"
}

def change(currency, amount) {
  currency.values().inject([]){ list, coin ->
     int count = amount / coin.value
     amount = amount % coin.value
     list += "$count ${plural(coin.toString(), count)}"
  }
}
</textarea></form>

    <script>
      var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
        lineNumbers: true,
        matchBrackets: true,
        mode: "text/x-groovy"
      });
    </script>

    <p><strong>MIME types defined:</strong> <code>text/x-groovy</code></p>
  </body>
</html>