<!--
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/pascal/pascal.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/vbscript/vbscript.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/htmlmixed/htmlmixed.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/apl/apl.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/asciiarmor/asciiarmor.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/cmake/cmake.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/dart/dart.js" ></script>
  <script src="../bower_components/codemirror-minified/mode/fortran/fortran.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>