1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- ace.define("ace/ext/linking",[], function(require, exports, module) {
- var Editor = require("ace/editor").Editor;
- require("../config").defineOptions(Editor.prototype, "editor", {
- enableLinking: {
- set: function(val) {
- if (val) {
- this.on("click", onClick);
- this.on("mousemove", onMouseMove);
- } else {
- this.off("click", onClick);
- this.off("mousemove", onMouseMove);
- }
- },
- value: false
- }
- });
- exports.previousLinkingHover = false;
- 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);
- if (exports.previousLinkingHover && exports.previousLinkingHover != token) {
- editor._emit("linkHoverOut");
- }
- editor._emit("linkHover", {position: docPos, token: token});
- exports.previousLinkingHover = token;
- } else if (exports.previousLinkingHover) {
- editor._emit("linkHoverOut");
- exports.previousLinkingHover = false;
- }
- }
- function onClick(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("linkClick", {position: docPos, token: token});
- }
- }
- });
- (function() {
- ace.require(["ace/ext/linking"], function(m) {
- if (typeof module == "object" && typeof exports == "object" && module) {
- module.exports = m;
- }
- });
- })();
-
|