瀏覽代碼

[pig] Fix autocomplete

Now you can enable it with shift+space
Enrico Berti 12 年之前
父節點
當前提交
d97c2ff

+ 1 - 1
apps/oozie/src/oozie/templates/dashboard/list_oozie_bundle.mako

@@ -291,7 +291,7 @@ ${ layout.menubar(section='dashboard') }
 
 <script src="/oozie/static/js/bundles.utils.js" type="text/javascript" charset="utf-8"></script>
 <script src="/static/ext/js/knockout-2.1.0.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/codemirror-3.0.js"></script>
+<script src="/static/ext/js/codemirror-3.11.js"></script>
 <link rel="stylesheet" href="/static/ext/css/codemirror.css">
 <script src="/static/ext/js/codemirror-xml.js"></script>
 

+ 1 - 1
apps/oozie/src/oozie/templates/dashboard/list_oozie_coordinator.mako

@@ -299,7 +299,7 @@ ${ layout.menubar(section='dashboard') }
 
 <script src="/oozie/static/js/bundles.utils.js" type="text/javascript" charset="utf-8"></script>
 <script src="/static/ext/js/knockout-2.1.0.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/codemirror-3.0.js"></script>
+<script src="/static/ext/js/codemirror-3.11.js"></script>
 <link rel="stylesheet" href="/static/ext/css/codemirror.css">
 <script src="/static/ext/js/codemirror-xml.js"></script>
 

+ 1 - 1
apps/oozie/src/oozie/templates/dashboard/list_oozie_workflow.mako

@@ -309,7 +309,7 @@ ${ layout.menubar(section='dashboard') }
 <link rel="stylesheet" href="/oozie/static/css/workflow.css">
 <script src="/static/ext/js/knockout-2.1.0.js" type="text/javascript" charset="utf-8"></script>
 <script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/codemirror-3.0.js"></script>
+<script src="/static/ext/js/codemirror-3.11.js"></script>
 <link rel="stylesheet" href="/static/ext/css/codemirror.css">
 <script src="/static/ext/js/codemirror-xml.js"></script>
 

+ 1 - 1
apps/oozie/src/oozie/templates/dashboard/list_oozie_workflow_action.mako

@@ -181,7 +181,7 @@ ${ layout.menubar(section='running') }
 
 </div>
 
-<script src="/static/ext/js/codemirror-3.0.js"></script>
+<script src="/static/ext/js/codemirror-3.11.js"></script>
 <link rel="stylesheet" href="/static/ext/css/codemirror.css">
 <script src="/static/ext/js/codemirror-xml.js"></script>
 

+ 1 - 1
apps/oozie/src/oozie/templates/editor/edit_workflow.mako

@@ -271,7 +271,7 @@ ${ layout.menubar(section='workflows') }
 <div id="submit-wf-modal" class="modal hide"></div>
 
 
-<script src="/static/ext/js/codemirror-3.0.js"></script>
+<script src="/static/ext/js/codemirror-3.11.js"></script>
 <link rel="stylesheet" href="/static/ext/css/codemirror.css">
 <script src="/static/ext/js/codemirror-xml.js"></script>
 <script src="/static/ext/js/codemirror-closetag.js"></script>

+ 1 - 1
apps/pig/src/pig/templates/app.mako

@@ -229,7 +229,7 @@ ${ commonheader(_('Pig'), "pig", user, "100px") | n,unicode }
 <script src="/pig/static/js/pig.ko.js" type="text/javascript" charset="utf-8"></script>
 <script src="/static/ext/js/routie-0.3.0.min.js" type="text/javascript" charset="utf-8"></script>
 <link rel="stylesheet" href="/pig/static/css/pig.css">
-<script src="/static/ext/js/codemirror-3.0.js"></script>
+<script src="/static/ext/js/codemirror-3.11.js"></script>
 <link rel="stylesheet" href="/static/ext/css/codemirror.css">
 <script src="/static/ext/js/codemirror-pig.js"></script>
 <script src="/static/ext/js/codemirror-show-hint.js"></script>

+ 24 - 17
desktop/core/static/ext/css/codemirror.css

@@ -39,26 +39,24 @@
 
 /* CURSOR */
 
-.CodeMirror pre.CodeMirror-cursor {
+.CodeMirror div.CodeMirror-cursor {
   border-left: 1px solid black;
+  z-index: 3;
 }
 /* Shown when moving in bi-directional text */
-.CodeMirror pre.CodeMirror-secondarycursor {
+.CodeMirror div.CodeMirror-secondarycursor {
   border-left: 1px solid silver;
 }
-.cm-keymap-fat-cursor pre.CodeMirror-cursor {
+.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor {
   width: auto;
   border: 0;
-  background: transparent;
-  background: rgba(0, 200, 0, .4);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#6600c800, endColorstr=#4c00c800);
-}
-/* Kludge to turn off filter in ie9+, which also accepts rgba */
-.cm-keymap-fat-cursor pre.CodeMirror-cursor:not(#nonsense_id) {
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+  background: #7e7;
+  z-index: 1;
 }
 /* Can style cursor different in overwrite (non-insert) mode */
-.CodeMirror pre.CodeMirror-cursor.CodeMirror-overwrite {}
+.CodeMirror div.CodeMirror-cursor.CodeMirror-overwrite {}
+
+.cm-tab { display: inline-block; }
 
 /* DEFAULT THEME */
 
@@ -90,7 +88,6 @@
 .cm-positive {color: #292;}
 .cm-header, .cm-strong {font-weight: bold;}
 .cm-em {font-style: italic;}
-.cm-emstrong {font-style: italic; font-weight: bold;}
 .cm-link {text-decoration: underline;}
 
 .cm-invalidchar {color: #f00;}
@@ -107,6 +104,8 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
   line-height: 1;
   position: relative;
   overflow: hidden;
+  background: white;
+  color: black;
 }
 
 .CodeMirror-scroll {
@@ -148,10 +147,13 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
 .CodeMirror-gutters {
   position: absolute; left: 0; top: 0;
   height: 100%;
+  padding-bottom: 30px;
   z-index: 3;
 }
 .CodeMirror-gutter {
   height: 100%;
+  padding-bottom: 30px;
+  margin-bottom: -32px;
   display: inline-block;
   /* Hack to make IE7 behave */
   *zoom:1;
@@ -168,7 +170,7 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
 }
 .CodeMirror pre {
   /* Reset some styles that the rest of the page might have set */
-  -moz-border-radius: 0; -webkit-border-radius: 0; -o-border-radius: 0; border-radius: 0;
+  -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
   border-width: 0;
   background: transparent;
   font-family: inherit;
@@ -196,6 +198,11 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
 .CodeMirror-linewidget {
   position: relative;
   z-index: 2;
+  overflow: auto;
+}
+
+.CodeMirror-widget {
+  display: inline-block;
 }
 
 .CodeMirror-wrap .CodeMirror-scroll {
@@ -210,20 +217,20 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
 }
 .CodeMirror-measure pre { position: static; }
 
-.CodeMirror pre.CodeMirror-cursor {
+.CodeMirror div.CodeMirror-cursor {
   position: absolute;
   visibility: hidden;
   border-right: none;
   width: 0;
 }
-.CodeMirror-focused pre.CodeMirror-cursor {
+.CodeMirror-focused div.CodeMirror-cursor {
   visibility: visible;
 }
 
 .CodeMirror-selected { background: #d9d9d9; }
 .CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
 
-.CodeMirror-searching {
+.cm-searching {
   background: #ffa;
   background: rgba(255, 255, 0, .4);
 }
@@ -233,7 +240,7 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
 
 @media print {
   /* Hide the cursor when printing */
-  .CodeMirror pre.CodeMirror-cursor {
+  .CodeMirror div.CodeMirror-cursor {
     visibility: hidden;
   }
 }

File diff suppressed because it is too large
+ 377 - 223
desktop/core/static/ext/js/codemirror-3.11.js


+ 9 - 9
desktop/core/static/ext/js/codemirror-closetag.js

@@ -27,9 +27,9 @@
     if (val && (old == CodeMirror.Init || !old)) {
       var map = {name: "autoCloseTags"};
       if (typeof val != "object" || val.whenClosing)
-        map["'/'"] = function(cm) { autoCloseTag(cm, '/'); };
+        map["'/'"] = function(cm) { return autoCloseTag(cm, '/'); };
       if (typeof val != "object" || val.whenOpening)
-        map["'>'"] = function(cm) { autoCloseTag(cm, '>'); };
+        map["'>'"] = function(cm) { return autoCloseTag(cm, '>'); };
       cm.addKeyMap(map);
     } else if (!val && (old != CodeMirror.Init && old)) {
       cm.removeKeyMap("autoCloseTags");
@@ -44,7 +44,7 @@
   function autoCloseTag(cm, ch) {
     var pos = cm.getCursor(), tok = cm.getTokenAt(pos);
     var inner = CodeMirror.innerMode(cm.getMode(), tok.state), state = inner.state;
-    if (inner.mode.name != "xml") throw CodeMirror.Pass;
+    if (inner.mode.name != "xml") return CodeMirror.Pass;
 
     var opt = cm.getOption("autoCloseTags"), html = inner.mode.configuration == "html";
     var dontCloseTags = (typeof opt == "object" && opt.dontCloseTags) || (html && htmlDontClose);
@@ -55,25 +55,25 @@
       if (tok.end > pos.ch) tagName = tagName.slice(0, tagName.length - tok.end + pos.ch);
       var lowerTagName = tagName.toLowerCase();
       // Don't process the '>' at the end of an end-tag or self-closing tag
-      if (tok.type == "tag" && state.type == "closeTag" ||
-          /\/\s*$/.test(tok.string) ||
+      if (tok.type == "tag" && state.type == "closeTag" || tok.string.indexOf("/") > -1 ||
           dontCloseTags && indexOf(dontCloseTags, lowerTagName) > -1)
-        throw CodeMirror.Pass;
+        return CodeMirror.Pass;
 
       var doIndent = indentTags && indexOf(indentTags, lowerTagName) > -1;
+      var curPos = doIndent ? CodeMirror.Pos(pos.line + 1, 0) : CodeMirror.Pos(pos.line, pos.ch + 1);
       cm.replaceSelection(">" + (doIndent ? "\n\n" : "") + "</" + tagName + ">",
-                          doIndent ? {line: pos.line + 1, ch: 0} : {line: pos.line, ch: pos.ch + 1});
+                          {head: curPos, anchor: curPos});
       if (doIndent) {
         cm.indentLine(pos.line + 1);
         cm.indentLine(pos.line + 2);
       }
       return;
-    } else if (ch == "/" && tok.type == "tag" && tok.string == "<") {
+    } else if (ch == "/" && tok.string == "<") {
       var tagName = state.context && state.context.tagName;
       if (tagName) cm.replaceSelection("/" + tagName + ">", "end");
       return;
     }
-    throw CodeMirror.Pass;
+    return CodeMirror.Pass;
   }
 
   function indexOf(collection, elt) {

+ 1 - 5
desktop/core/static/ext/js/codemirror-pig-hint.js

@@ -102,12 +102,8 @@
       // If this is a property, see if it belongs to some object we can
       // find in the current environment.
       var obj = context.pop(), base;
+      base = obj.string;
 
-      if (obj.type == "variable") 
-          base = obj.string;
-      else if(obj.type == "variable-3")
-          base = ":" + obj.string;
-        
       while (base != null && context.length)
         base = base[context.pop().string];
       if (base != null) gatherCompletions(base);

Some files were not shown because too many files changed in this diff