diff --git a/editor-build.html b/editor-build.html
index da01e173..b506decc 100644
--- a/editor-build.html
+++ b/editor-build.html
@@ -78,7 +78,7 @@
-
+
@@ -90,7 +90,7 @@
-
+
@@ -100,7 +100,7 @@
-
+
@@ -118,7 +118,9 @@
-
+
+ info
+
|
@@ -163,6 +165,7 @@ import string, sys
if len(sys.argv)==1:
print 'Usage: celsius temp1 temp2 ...'
sys.exit(0)
+ print '这里是中文'
# Loop over the arguments
for i in sys.argv[1:]:
@@ -200,6 +203,9 @@ echo $output;
diff --git a/lib/ace/edit_session.js b/lib/ace/edit_session.js
index 1177e245..3d768a58 100644
--- a/lib/ace/edit_session.js
+++ b/lib/ace/edit_session.js
@@ -241,7 +241,7 @@ var EditSession = function(text, mode) {
};
this.tokenRe = /^[\w\d]+/g;
- this.nonTokenRe = /^[^\w\d]+/g;
+ this.nonTokenRe = /^[^\w\d|\x00-\xff]+/g;
this.getWordRange = function(row, column) {
var line = this.getLine(row);
@@ -633,19 +633,23 @@ var EditSession = function(text, mode) {
var screenColumn = 0;
var remaining = docColumn;
-
- var line = this.getLine(row).split("\t");
- for (var i=0; i len) {
- remaining -= (len + 1);
- screenColumn += len + tabSize;
- }
- else {
- screenColumn += remaining;
- break;
- }
- }
+ var line = this.getLine(row);
+
+ for(var i=0; i 0){
+ remaining -= 1;
+ if(c == '\t'){
+ screenColumn += tabSize;
+ } else if(/[^\x00-\xff]/.exec(c)){
+ screenColumn += 2;
+ } else {
+ screenColumn += 1;
+ }
+ }else{
+ break;
+ }
+ }
return screenColumn;
};
@@ -655,23 +659,24 @@ var EditSession = function(text, mode) {
var docColumn = 0;
var remaining = screenColumn;
-
- var line = this.getLine(row).split("\t");
- for (var i=0; i= len + tabSize) {
- remaining -= (len + tabSize);
- docColumn += (len + 1);
- }
- else if (remaining > len){
- docColumn += len;
- break;
- }
- else {
- docColumn += remaining;
- break;
- }
- }
+ var line = this.getLine(row);
+
+ for(var i=0; i 0){
+ docColumn += 1;
+ if(c == '\t'){
+ remaining -= tabSize;
+ } else if(/[^\x00-\xff]/.exec(c)){
+ remaining -= 2;
+ } else {
+ remaining -= 1;
+ }
+ }else{
+ break;
+ }
+ }
+
return docColumn;
};
diff --git a/lib/ace/layer/text.js b/lib/ace/layer/text.js
index ecaa6698..815f669a 100644
--- a/lib/ace/layer/text.js
+++ b/lib/ace/layer/text.js
@@ -274,6 +274,17 @@ var Text = function(parentEl) {
.replace(/" + w + "";
+ }else{
+ buffer = buffer + w;
+ }
+ }
+ output = buffer;
if (!this.$textToken[token.type]) {
var classes = "ace_" + token.type.replace(/\./g, " ace_");
diff --git a/lib/ace/virtual_renderer.js b/lib/ace/virtual_renderer.js
index affce7fb..0ae38f7d 100644
--- a/lib/ace/virtual_renderer.js
+++ b/lib/ace/virtual_renderer.js
@@ -591,12 +591,35 @@ var VirtualRenderer = function(container, theme) {
};
this.showComposition = function(position) {
+ var cur = this.$cursorLayer.element.firstChild;
+ var scroll = this.scroller;
+ var top = (parseInt(cur.style.top) || 0) + (parseInt(scroll.style.top) || 0);
+ var left = (parseInt(cur.style.left) || 0) + (parseInt(scroll.style.left) || 0);
+
+ var edit = document.getElementById("editor").lastChild;
+ edit.style.color = '#66ff33';
+ edit.style.top = (top - 1) + "px";
+ edit.style.left = (left + 3) + "px";
+ edit.style.background = "transparent";
+ edit.style.border = "none";
+ edit.style.resize = "none";
+ edit.style.outline = "none";
+ edit.style.width = "10000px";
+ edit.style.height = "10000px";
+ edit.style.fontSize = "12px";
+
+ this.hideCursor();
};
this.setCompositionText = function(text) {
};
this.hideComposition = function() {
+ this.showCursor();
+ var edit = document.getElementById("editor").lastChild;
+ edit.className = '';
+ edit.style.top = "-10000px";
+ edit.style.left = "-10000px";
};
this.setTheme = function(theme) {
diff --git a/static.py b/static.py
index 8cac3b7a..801a70d7 100755
--- a/static.py
+++ b/static.py
@@ -231,7 +231,7 @@ def test():
app = Cling(getcwd())
try:
print "Serving " + getcwd() + " to http://localhost:9999"
- make_server('localhost', 9999, validator(app)).serve_forever()
+ make_server('0.0.0.0', 9999, validator(app)).serve_forever()
except KeyboardInterrupt, ki:
print ""
print "Ciao, baby!"