Turned linking.js into extension. Merged linking_handler into linking.js.

This commit is contained in:
Eric Arnold 2014-05-09 16:24:02 -07:00
commit 0582153019
3 changed files with 18 additions and 71 deletions

View file

@ -47,7 +47,6 @@ var EditSession = require("./edit_session").EditSession;
var UndoManager = require("./undomanager").UndoManager;
var Renderer = require("./virtual_renderer").VirtualRenderer;
var MultiSelect = require("./multi_select").MultiSelect;
var Linking = require("ace/linking").Linking;
// The following require()s are for inclusion in the built ace file
require("./worker/worker_client");
@ -88,7 +87,6 @@ exports.edit = function(el) {
var editor = new Editor(new Renderer(el));
new MultiSelect(editor);
new Linking(editor);
editor.setSession(doc);
var env = {

View file

@ -30,27 +30,11 @@
define(function(require, exports, module) {
var oop = require("./lib/oop");
var EventEmitter = require("./lib/event_emitter").EventEmitter;
var onMouseDown = require("./mouse/linking_handler").onMouseDown;
var onMouseMove = require("./mouse/linking_handler").onMouseMove;
var Editor = require("./editor").Editor;
var Editor = require("ace/editor").Editor;
// Linking(editor)
// adds linking support to the editor
function Linking(editor) {
}
(function() {
oop.implement(this, EventEmitter);
}).call(Linking.prototype);
exports.Linking = Linking;
require("./config").defineOptions(Editor.prototype, "editor", {
require("../config").defineOptions(Editor.prototype, "editor", {
enableLinking: {
set: function(val) {
Linking(this);
if (val) {
this.on("mousedown", onMouseDown);
this.on("mousemove", onMouseMove);
@ -63,4 +47,35 @@ require("./config").defineOptions(Editor.prototype, "editor", {
}
})
function onMouseMove(e) {
var editor = e.editor;
var ctrl = e.getAccelKey();
if (ctrl) {
var editor = e.editor;
var docPos = e.getDocumentPosition();
var session = editor.session;
var token = session.getTokenAt(docPos.row, docPos.column);
editor._emit("link_hover", {position: docPos, token: token});
}
}
function onMouseDown(e) {
var ctrl = e.getAccelKey();
var button = e.getButton();
if (button == 0 && ctrl) {
var editor = e.editor;
var docPos = e.getDocumentPosition();
var session = editor.session;
var token = session.getTokenAt(docPos.row, docPos.column);
editor._emit("link", {position: docPos, token: token});
}
}
exports.onMouseMove = onMouseMove;
exports.onMouseDown = onMouseDown;
});