<!--
Copyright (C) 2017 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<link rel="import" href="./gr-editor-styles.html">

<dom-module id="gr-editor">
  <template>
    <style include="gr-editor-styles">
      .CodeMirror,
      #wrapper {
        height: 100%;
      }
      .CodeMirror {
        font-family: 'Roboto Mono', Menlo, 'Lucida Console', Monaco, monospace;
      }
    </style>
    <div id="wrapper"></div>
  </template>
  <script src="../bower_components/codemirror-minified/lib/codemirror.js"></script>
  <script src="../bower_components/codemirror-minified/mode/python/python.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/ruby/ruby.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/php/php.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/sql/sql.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/clike/clike.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/xml/xml.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/javascript/javascript.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/css/css.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/htmlmixed/htmlmixed.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/markdown/markdown.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/clojure/clojure.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/dart/dart.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/haskell/haskell.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/sass/sass.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/shell/shell.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/xml/xml.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/yaml/yaml.js" ></script>
  <script src="../bower_components/codemirror-minified/addon/fold/foldcode.js" ></script>
  <script src="../bower_components/codemirror-minified/addon/fold/foldgutter.js" ></script>
  <script src="../bower_components/codemirror-minified/addon/fold/brace-fold.js" ></script>
  <script src="../bower_components/codemirror-minified/addon/fold/xml-fold.js" ></script>
  <script src="../bower_components/codemirror-minified/addon/fold/markdown-fold.js" ></script>
  <script src="./gr-editor.js"></script>
</dom-module>
