From 0dfa779ebbdc4b9abba167bb6d1b2b1a3908aa2e Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Sat, 8 Nov 2014 14:28:41 +0800 Subject: [PATCH] :yellow_heart: Fix #131 --- data/user_workspaces/admin/src/time/main.go | 1 + i18n/en_US.json | 4 +- i18n/ja_JP.json | 4 +- i18n/zh_CN.json | 4 +- i18n/zh_TW.json | 4 +- static/js/editors.js | 42 ++++++++++++++------- views/keyboard_shortcuts.html | 4 +- 7 files changed, 40 insertions(+), 23 deletions(-) diff --git a/data/user_workspaces/admin/src/time/main.go b/data/user_workspaces/admin/src/time/main.go index a95a3fd..1413c32 100644 --- a/data/user_workspaces/admin/src/time/main.go +++ b/data/user_workspaces/admin/src/time/main.go @@ -8,6 +8,7 @@ import ( func main() { for i := 0; i < 50; i++ { + fmt.Println("Hello, 世界", pkg.Now()) time.Sleep(time.Second) diff --git a/i18n/en_US.json b/i18n/en_US.json index 60ba8b5..1642a81 100644 --- a/i18n/en_US.json +++ b/i18n/en_US.json @@ -74,8 +74,8 @@ "show_expr_info": "Show Expression Info", "find_usages": "Find Usages", "delete_line": "Delete Line", - "copy_line_up": "Copy Line Up", - "copy_line_down": "Copy Line Down", + "copy_lines_up": "Copy Lines Up", + "copy_lines_down": "Copy Lines Down", "save_editor_file": "Save File", "save_all_editors_files": "Save All", "close_editor": "Close File", diff --git a/i18n/ja_JP.json b/i18n/ja_JP.json index 7e66d72..e4b8471 100644 --- a/i18n/ja_JP.json +++ b/i18n/ja_JP.json @@ -74,8 +74,8 @@ "show_expr_info": "式の情報を表示", "find_usages": "使用方法を検索する", "delete_line": "行を削除", - "copy_line_up": "前行にコピー", - "copy_line_down": "次行にコピー", + "copy_lines_up": "フロントへのコピー", + "copy_lines_down": "一番下にコピー", "save_editor_file": "保存", "save_all_editors_files": "全てを保存", "close_editor": "エディタを閉じる", diff --git a/i18n/zh_CN.json b/i18n/zh_CN.json index 3298653..7c81870 100644 --- a/i18n/zh_CN.json +++ b/i18n/zh_CN.json @@ -74,8 +74,8 @@ "show_expr_info": "查看表达式信息", "find_usages": "查找使用", "delete_line": "删除当前行", - "copy_line_up": "复制当前行到上一行", - "copy_line_down": "复制当前行到下一行", + "copy_lines_up": "复制到上方", + "copy_lines_down": "复制到下方", "save_editor_file": "保存当前编辑器文件", "save_all_editors_files": "保存所有编辑器文件", "close_editor": "关闭当前编辑器", diff --git a/i18n/zh_TW.json b/i18n/zh_TW.json index 854dd43..c829bae 100644 --- a/i18n/zh_TW.json +++ b/i18n/zh_TW.json @@ -74,8 +74,8 @@ "show_expr_info": "查看表達式信息", "find_usages": "尋找使用", "delete_line": "删除當前行", - "copy_line_up": "插入當前行到上一行", - "copy_line_down": "插入當前行到下一行", + "copy_lines_up": "複製到上方", + "copy_lines_down": "複製到下方", "save_editor_file": "保存當前編輯器文件", "save_all_editors_files": "保存所有編輯器文件", "close_editor": "關閉當前編輯器", diff --git a/static/js/editors.js b/static/js/editors.js index ec41e0b..52af677 100644 --- a/static/js/editors.js +++ b/static/js/editors.js @@ -628,26 +628,42 @@ var editors = { } }, "Shift-Ctrl-Up": function (cm) { - var cursor = cm.getCursor(); - var line = cursor.line; - var content = cm.getLine(line); + var content = '', + selectoion = cm.listSelections()[0], + cursor = cm.getCursor(); - if (0 === line) { - cm.replaceRange("", CodeMirror.Pos(0)); - line++; + var from = selectoion.anchor.line, + to = selectoion.head.line; + if (from > to) { + from = selectoion.head.line; + to = selectoion.anchor.line; } - cm.replaceRange("\n" + content, CodeMirror.Pos(line - 1)); + for (var i = from, max = to; i <= max; i++) { + content += '\n' + cm.getLine(i); + } + + cm.replaceRange(content, CodeMirror.Pos(to)); cm.setCursor(cursor); }, "Shift-Ctrl-Down": function (cm) { - var cursor = cm.getCursor(); - var line = cursor.line; - var content = cm.getLine(line); + var content = '', + selectoion = cm.listSelections()[0], + cursor = cm.getCursor(); - cm.replaceRange("\n", CodeMirror.Pos(line)); - cm.replaceRange(content, CodeMirror.Pos(line + 1)); - cm.setCursor(CodeMirror.Pos(line + 1, cursor.ch)); + var from = selectoion.anchor.line, + to = selectoion.head.line; + if (from > to) { + from = selectoion.head.line; + to = selectoion.anchor.line; + } + + for (var i = from, max = to; i <= max; i++) { + content += '\n' + cm.getLine(i); + } + + cm.replaceRange(content, CodeMirror.Pos(to)); + cm.setCursor(CodeMirror.Pos(to + (to - from) + 1, cursor.ch)); } } }); diff --git a/views/keyboard_shortcuts.html b/views/keyboard_shortcuts.html index 4a9d66d..541fb1e 100644 --- a/views/keyboard_shortcuts.html +++ b/views/keyboard_shortcuts.html @@ -15,8 +15,8 @@
  • Alt-Shift-F{{.i18n.colon}}{{.i18n.format}}
  • Ctrl-L{{.i18n.colon}}{{.i18n.goto_line}}
  • Ctrl-E{{.i18n.colon}}{{.i18n.delete_line}}
  • -
  • Shift-Ctrl-Up{{.i18n.colon}}{{.i18n.copy_line_up}}
  • -
  • Shift-Ctrl-Down{{.i18n.colon}}{{.i18n.copy_line_down}}
  • +
  • Shift-Ctrl-Up{{.i18n.colon}}{{.i18n.copy_lines_up}}
  • +
  • Shift-Ctrl-Down{{.i18n.colon}}{{.i18n.copy_lines_down}}
  • Ctrl-S{{.i18n.colon}}{{.i18n.save_editor_file}}
  • Shift-Ctrl-S{{.i18n.colon}}{{.i18n.save_all_editors_files}}
  • Ctrl-Q{{.i18n.colon}}{{.i18n.close_editor}}