commit
994a0b3cc3
23 changed files with 94 additions and 43 deletions
|
|
@ -25,7 +25,7 @@ var EventEmitter = require("../lib/event_emitter").EventEmitter;
|
||||||
|
|
||||||
var CommandManager = function(platform, commands) {
|
var CommandManager = function(platform, commands) {
|
||||||
this.platform = platform;
|
this.platform = platform;
|
||||||
this.commands = {};
|
this.commands = this.byName = {};
|
||||||
this.commmandKeyBinding = {};
|
this.commmandKeyBinding = {};
|
||||||
|
|
||||||
this.addCommands(commands);
|
this.addCommands(commands);
|
||||||
|
|
|
||||||
|
|
@ -262,9 +262,8 @@
|
||||||
|
|
||||||
margin: 0 -12px 0 1px;
|
margin: 0 -12px 0 1px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
height: 100%;
|
|
||||||
width: 11px;
|
width: 11px;
|
||||||
vertical-align: bottom;
|
vertical-align: top;
|
||||||
|
|
||||||
background-image: url("data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%00%05%08%06%00%00%00%8Do%26%E5%00%00%004IDATx%DAe%8A%B1%0D%000%0C%C2%F2%2CK%96%BC%D0%8F9%81%88H%E9%D0%0E%96%C0%10%92%3E%02%80%5E%82%E4%A9*-%EEsw%C8%CC%11%EE%96w%D8%DC%E9*Eh%0C%151(%00%00%00%00IEND%AEB%60%82");
|
background-image: url("data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%00%05%08%06%00%00%00%8Do%26%E5%00%00%004IDATx%DAe%8A%B1%0D%000%0C%C2%F2%2CK%96%BC%D0%8F9%81%88H%E9%D0%0E%96%C0%10%92%3E%02%80%5E%82%E4%A9*-%EEsw%C8%CC%11%EE%96w%D8%DC%E9*Eh%0C%151(%00%00%00%00IEND%AEB%60%82");
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,6 @@ var useragent = require("./lib/useragent");
|
||||||
var TextInput = require("./keyboard/textinput").TextInput;
|
var TextInput = require("./keyboard/textinput").TextInput;
|
||||||
var MouseHandler = require("./mouse/mouse_handler").MouseHandler;
|
var MouseHandler = require("./mouse/mouse_handler").MouseHandler;
|
||||||
var FoldHandler = require("./mouse/fold_handler").FoldHandler;
|
var FoldHandler = require("./mouse/fold_handler").FoldHandler;
|
||||||
//var TouchHandler = require("./touch_handler").TouchHandler;
|
|
||||||
var KeyBinding = require("./keyboard/keybinding").KeyBinding;
|
var KeyBinding = require("./keyboard/keybinding").KeyBinding;
|
||||||
var EditSession = require("./edit_session").EditSession;
|
var EditSession = require("./edit_session").EditSession;
|
||||||
var Search = require("./search").Search;
|
var Search = require("./search").Search;
|
||||||
|
|
@ -74,12 +73,8 @@ var Editor = function(renderer, session) {
|
||||||
this.keyBinding = new KeyBinding(this);
|
this.keyBinding = new KeyBinding(this);
|
||||||
|
|
||||||
// TODO detect touch event support
|
// TODO detect touch event support
|
||||||
if (useragent.isIPad) {
|
this.$mouseHandler = new MouseHandler(this);
|
||||||
//this.$mouseHandler = new TouchHandler(this);
|
new FoldHandler(this);
|
||||||
} else {
|
|
||||||
this.$mouseHandler = new MouseHandler(this);
|
|
||||||
new FoldHandler(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.$blockScrolling = 0;
|
this.$blockScrolling = 0;
|
||||||
this.$search = new Search().set({
|
this.$search = new Search().set({
|
||||||
|
|
|
||||||
|
|
@ -212,7 +212,8 @@ exports.emacsKeys = {
|
||||||
"S-C-Home" : "selecttostart",
|
"S-C-Home" : "selecttostart",
|
||||||
"S-C-End" : "selecttoend",
|
"S-C-End" : "selecttoend",
|
||||||
|
|
||||||
"C-l|M-s" : "centerselection",
|
"C-l" : "recenterTopBottom",
|
||||||
|
"M-s" : "centerselection",
|
||||||
"M-g": "gotoline",
|
"M-g": "gotoline",
|
||||||
"C-x C-p": "selectall",
|
"C-x C-p": "selectall",
|
||||||
|
|
||||||
|
|
@ -270,6 +271,20 @@ exports.emacsKeys = {
|
||||||
exports.handler.bindKeys(exports.emacsKeys);
|
exports.handler.bindKeys(exports.emacsKeys);
|
||||||
|
|
||||||
exports.handler.addCommands({
|
exports.handler.addCommands({
|
||||||
|
recenterTopBottom: function(editor) {
|
||||||
|
var renderer = editor.renderer;
|
||||||
|
var pos = renderer.$cursorLayer.getPixelPosition();
|
||||||
|
var h = renderer.$size.scrollerHeight - renderer.lineHeight;
|
||||||
|
var scrollTop = renderer.scrollTop;
|
||||||
|
if (Math.abs(pos.top - scrollTop) < 2) {
|
||||||
|
scrollTop = pos.top - h;
|
||||||
|
} else if (Math.abs(pos.top - scrollTop - h * 0.5) < 2) {
|
||||||
|
scrollTop = pos.top;
|
||||||
|
} else {
|
||||||
|
scrollTop = pos.top - h * 0.5;
|
||||||
|
}
|
||||||
|
editor.session.setScrollTop(scrollTop);
|
||||||
|
},
|
||||||
selectRectangularRegion: function(editor) {
|
selectRectangularRegion: function(editor) {
|
||||||
editor.multiSelect.toggleBlockSelection();
|
editor.multiSelect.toggleBlockSelection();
|
||||||
},
|
},
|
||||||
|
|
@ -323,7 +338,7 @@ exports.handler.addCommands({
|
||||||
},
|
},
|
||||||
killRegion: function(editor) {
|
killRegion: function(editor) {
|
||||||
exports.killRing.add(editor.getCopyText());
|
exports.killRing.add(editor.getCopyText());
|
||||||
editor.cut();
|
editor.commands.byName.cut.exec(editor);
|
||||||
},
|
},
|
||||||
killRingSave: function(editor) {
|
killRingSave: function(editor) {
|
||||||
exports.killRing.add(editor.getCopyText());
|
exports.killRing.add(editor.getCopyText());
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,9 @@ exports.handler = {
|
||||||
if (hashId == 1)
|
if (hashId == 1)
|
||||||
key = "ctrl-" + key;
|
key = "ctrl-" + key;
|
||||||
|
|
||||||
if (data.state == "start") {
|
if ((key == "esc" && hashId == 0) || key == "ctrl-[") {
|
||||||
|
return {command: coreCommands.stop};
|
||||||
|
} else if (data.state == "start") {
|
||||||
if (useragent.isMac && this.handleMacRepeat(data, hashId, key)) {
|
if (useragent.isMac && this.handleMacRepeat(data, hashId, key)) {
|
||||||
hashId = -1;
|
hashId = -1;
|
||||||
key = data.inputChar;
|
key = data.inputChar;
|
||||||
|
|
@ -109,10 +111,7 @@ exports.handler = {
|
||||||
return {command: coreCommands.stop};
|
return {command: coreCommands.stop};
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (key == "esc" || key == "ctrl-[") {
|
if (key == "ctrl-w") {
|
||||||
data.state = "start";
|
|
||||||
return {command: coreCommands.stop};
|
|
||||||
} else if (key == "ctrl-w") {
|
|
||||||
return {command: "removewordleft"};
|
return {command: "removewordleft"};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* ***** END LICENSE BLOCK ***** */
|
* ***** END LICENSE BLOCK ***** */
|
||||||
|
|
||||||
"use strict"
|
"use strict"
|
||||||
|
|
||||||
define(function(require, exports, module) {
|
define(function(require, exports, module) {
|
||||||
|
|
@ -598,6 +598,25 @@ module.exports = {
|
||||||
|
|
||||||
return match;
|
return match;
|
||||||
}),
|
}),
|
||||||
|
"{": new Motion(function(ed) {
|
||||||
|
var session = ed.session;
|
||||||
|
var row = session.selection.lead.row;
|
||||||
|
while(row > 0 && !/\S/.test(session.getLine(row)))
|
||||||
|
row--;
|
||||||
|
while(/\S/.test(session.getLine(row)))
|
||||||
|
row--;
|
||||||
|
return {column: 0, row: row};
|
||||||
|
}),
|
||||||
|
"}": new Motion(function(ed) {
|
||||||
|
var session = ed.session;
|
||||||
|
var l = session.getLength();
|
||||||
|
var row = session.selection.lead.row;
|
||||||
|
while(row < l && !/\S/.test(session.getLine(row)))
|
||||||
|
row++;
|
||||||
|
while(/\S/.test(session.getLine(row)))
|
||||||
|
row++;
|
||||||
|
return {column: 0, row: row};
|
||||||
|
}),
|
||||||
"ctrl-d": {
|
"ctrl-d": {
|
||||||
nav: function(editor, range, count, param) {
|
nav: function(editor, range, count, param) {
|
||||||
editor.selection.clearSelection();
|
editor.selection.clearSelection();
|
||||||
|
|
|
||||||
|
|
@ -148,6 +148,10 @@ var Cursor = function(parentEl) {
|
||||||
for (var i = selections.length; i--; ) {
|
for (var i = selections.length; i--; ) {
|
||||||
sel = selections[i];
|
sel = selections[i];
|
||||||
var pixelPos = this.getPixelPosition(sel.cursor, true);
|
var pixelPos = this.getPixelPosition(sel.cursor, true);
|
||||||
|
if ((pixelPos.top > config.height + config.offset ||
|
||||||
|
pixelPos.top < -config.offset) && i > 1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
var style = (this.cursors[cursorIndex++] || this.addCursor()).style;
|
var style = (this.cursors[cursorIndex++] || this.addCursor()).style;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -131,6 +131,7 @@ var Gutter = function(parentEl) {
|
||||||
html.push(
|
html.push(
|
||||||
"<span class='ace_fold-widget ", c,
|
"<span class='ace_fold-widget ", c,
|
||||||
c == "start" && i == foldStart && i < fold.end.row ? " closed" : " open",
|
c == "start" && i == foldStart && i < fold.end.row ? " closed" : " open",
|
||||||
|
"' style='height:", config.lineHeight, "px",
|
||||||
"'></span>"
|
"'></span>"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,9 @@ var Keys = (function() {
|
||||||
ret.enter = ret["return"];
|
ret.enter = ret["return"];
|
||||||
ret.escape = ret.esc;
|
ret.escape = ret.esc;
|
||||||
ret.del = ret["delete"];
|
ret.del = ret["delete"];
|
||||||
|
|
||||||
|
// workaround for firefox bug
|
||||||
|
ret[173] = '-';
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
})();
|
})();
|
||||||
|
|
|
||||||
|
|
@ -123,7 +123,7 @@ var ScrollBar = function(parent) {
|
||||||
* Sets the scroll top of the scroll bar.
|
* Sets the scroll top of the scroll bar.
|
||||||
*
|
*
|
||||||
**/
|
**/
|
||||||
// TODO: on chrome 17+ after for small zoom levels after this function
|
// TODO: on chrome 17+ for small zoom levels after calling this function
|
||||||
// this.element.scrollTop != scrollTop which makes page to scroll up.
|
// this.element.scrollTop != scrollTop which makes page to scroll up.
|
||||||
this.setScrollTop = function(scrollTop) {
|
this.setScrollTop = function(scrollTop) {
|
||||||
this.element.scrollTop = scrollTop;
|
this.element.scrollTop = scrollTop;
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,8 @@
|
||||||
background: #e8e8e8;
|
background: #e8e8e8;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace-chrome .ace_text-layer {
|
.ace-chrome .ace_scroller {
|
||||||
|
background-color: #FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace-chrome .ace_cursor {
|
.ace-chrome .ace_cursor {
|
||||||
|
|
@ -69,7 +70,7 @@
|
||||||
|
|
||||||
.ace-chrome .ace_variable.ace_parameter {
|
.ace-chrome .ace_variable.ace_parameter {
|
||||||
font-style:italic;
|
font-style:italic;
|
||||||
color:#FD971F;
|
color:#FD971F;
|
||||||
}
|
}
|
||||||
.ace-chrome .ace_line .ace_keyword.ace_operator {
|
.ace-chrome .ace_line .ace_keyword.ace_operator {
|
||||||
color: rgb(104, 118, 135);
|
color: rgb(104, 118, 135);
|
||||||
|
|
@ -103,7 +104,7 @@ color:#FD971F;
|
||||||
color: #0000A2;
|
color: #0000A2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace-chrome .ace_markup.ace_markupine {
|
.ace-chrome .ace_markup.ace_underline {
|
||||||
text-decoration:underline;
|
text-decoration:underline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -155,11 +156,11 @@ color:#FD971F;
|
||||||
color: rgb(255, 0, 0)
|
color: rgb(255, 0, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace-chrome .ace_line .ace_string{
|
.ace-chrome .ace_line .ace_string {
|
||||||
color: #1A1AA6;
|
color: #1A1AA6;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace-chrome .ace_entity.ace_other.ace_attribute-name{
|
.ace-chrome .ace_entity.ace_other.ace_attribute-name {
|
||||||
color: #994409;
|
color: #994409;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,10 @@
|
||||||
background: #e8e8e8;
|
background: #e8e8e8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ace-crimson-editor .ace_scroller {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
.ace-crimson-editor .ace_text-layer {
|
.ace-crimson-editor .ace_text-layer {
|
||||||
color: rgb(64, 64, 64);
|
color: rgb(64, 64, 64);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,10 @@
|
||||||
background: #e8e8e8;
|
background: #e8e8e8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ace-dreamweaver .ace_scroller {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
.ace-dreamweaver .ace_fold {
|
.ace-dreamweaver .ace_fold {
|
||||||
background-color: #757AD8;
|
background-color: #757AD8;
|
||||||
}
|
}
|
||||||
|
|
@ -111,7 +115,7 @@
|
||||||
color: #00F;
|
color: #00F;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace-dreamweaver .ace_markup.ace_markupine {
|
.ace-dreamweaver .ace_markup.ace_underline {
|
||||||
text-decoration:underline;
|
text-decoration:underline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,10 @@
|
||||||
background: #ebebeb;
|
background: #ebebeb;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ace-eclipse .ace_scroller {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
.ace-eclipse .ace_fold {
|
.ace-eclipse .ace_fold {
|
||||||
background-color: rgb(60, 76, 114);
|
background-color: rgb(60, 76, 114);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -117,7 +117,7 @@
|
||||||
border: 1px solid rgb(192, 192, 192);
|
border: 1px solid rgb(192, 192, 192);
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace-github .ace_gutter_active_line{
|
.ace-github .ace_gutter_active_line {
|
||||||
background-color : rgba(0, 0, 0, 0.07);
|
background-color : rgba(0, 0, 0, 0.07);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ color:#66D9EF;
|
||||||
color:#F92672;
|
color:#F92672;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace-monokai .ace_storage.ace_type, .ace-monokai .ace_support.ace_type{
|
.ace-monokai .ace_storage.ace_type, .ace-monokai .ace_support.ace_type {
|
||||||
font-style:italic;
|
font-style:italic;
|
||||||
color:#66D9EF;
|
color:#66D9EF;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,8 @@
|
||||||
background-color: #6B72E6;
|
background-color: #6B72E6;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace-tm .ace_text-layer {
|
.ace-tm .ace_scroller {
|
||||||
|
background-color: #FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace-tm .ace_cursor {
|
.ace-tm .ace_cursor {
|
||||||
|
|
@ -111,7 +112,7 @@
|
||||||
color: #0000A2;
|
color: #0000A2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace-tm .ace_markup.ace_markupine {
|
.ace-tm .ace_markup.ace_underline {
|
||||||
text-decoration:underline;
|
text-decoration:underline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -123,6 +124,14 @@
|
||||||
color:rgb(185, 6, 144);
|
color:rgb(185, 6, 144);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ace-tm .ace_meta.ace_tag {
|
||||||
|
color:rgb(0, 22, 142);
|
||||||
|
}
|
||||||
|
|
||||||
|
.ace-tm .ace_string.ace_regex {
|
||||||
|
color: rgb(255, 0, 0)
|
||||||
|
}
|
||||||
|
|
||||||
.ace-tm .ace_marker-layer .ace_selection {
|
.ace-tm .ace_marker-layer .ace_selection {
|
||||||
background: rgb(181, 213, 255);
|
background: rgb(181, 213, 255);
|
||||||
}
|
}
|
||||||
|
|
@ -156,14 +165,6 @@
|
||||||
border: 1px solid rgb(200, 200, 250);
|
border: 1px solid rgb(200, 200, 250);
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace-tm .ace_meta.ace_tag {
|
|
||||||
color:rgb(0, 22, 142);
|
|
||||||
}
|
|
||||||
|
|
||||||
.ace-tm .ace_string.ace_regex {
|
|
||||||
color: rgb(255, 0, 0)
|
|
||||||
}
|
|
||||||
|
|
||||||
.ace-tm .ace_indent-guide {
|
.ace-tm .ace_indent-guide {
|
||||||
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
|
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@ background-color:#8959A8;
|
||||||
color:#8959A8;
|
color:#8959A8;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace-tomorrow .ace_storage.ace_type, .ace-tomorrow .ace_support.ace_type{
|
.ace-tomorrow .ace_storage.ace_type, .ace-tomorrow .ace_support.ace_type {
|
||||||
color:#8959A8;
|
color:#8959A8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@ background-color:#B798BF;
|
||||||
color:#B294BB;
|
color:#B294BB;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace-tomorrow-night .ace_storage.ace_type, .ace-tomorrow-night .ace_support.ace_type{
|
.ace-tomorrow-night .ace_storage.ace_type, .ace-tomorrow-night .ace_support.ace_type {
|
||||||
color:#B294BB;
|
color:#B294BB;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@ background-color:#EBBBFF;
|
||||||
color:#EBBBFF;
|
color:#EBBBFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace-tomorrow-night-blue .ace_storage.ace_type, .ace-tomorrow-night-blue .ace_support.ace_type{
|
.ace-tomorrow-night-blue .ace_storage.ace_type, .ace-tomorrow-night-blue .ace_support.ace_type {
|
||||||
color:#EBBBFF;
|
color:#EBBBFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@ background-color:#B798BF;
|
||||||
color:#C397D8;
|
color:#C397D8;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace-tomorrow-night-bright .ace_storage.ace_type, .ace-tomorrow-night-bright .ace_support.ace_type{
|
.ace-tomorrow-night-bright .ace_storage.ace_type, .ace-tomorrow-night-bright .ace_support.ace_type {
|
||||||
color:#C397D8;
|
color:#C397D8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@ background-color:#CC99CC;
|
||||||
color:#CC99CC;
|
color:#CC99CC;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace-tomorrow-night-eighties .ace_storage.ace_type, .ace-tomorrow-night-eighties .ace_support.ace_type{
|
.ace-tomorrow-night-eighties .ace_storage.ace_type, .ace-tomorrow-night-eighties .ace_support.ace_type {
|
||||||
color:#CC99CC;
|
color:#CC99CC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1038,9 +1038,11 @@ var VirtualRenderer = function(container, theme) {
|
||||||
cursor = {row: cursor, column: 0};
|
cursor = {row: cursor, column: 0};
|
||||||
|
|
||||||
var pos = this.$cursorLayer.getPixelPosition(cursor);
|
var pos = this.$cursorLayer.getPixelPosition(cursor);
|
||||||
var offset = pos.top - this.$size.scrollerHeight * (alignment || 0);
|
var h = this.$size.scrollerHeight - this.lineHeight;
|
||||||
|
var offset = pos.top - h * (alignment || 0);
|
||||||
|
|
||||||
this.session.setScrollTop(offset);
|
this.session.setScrollTop(offset);
|
||||||
|
return offset;
|
||||||
};
|
};
|
||||||
|
|
||||||
this.STEPS = 8;
|
this.STEPS = 8;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue