summaryrefslogtreecommitdiff
path: root/objectapp/static/objectapp/js/Gnowmacs/src/js/.svn/text-base/ymacs.js.svn-base
diff options
context:
space:
mode:
Diffstat (limited to 'objectapp/static/objectapp/js/Gnowmacs/src/js/.svn/text-base/ymacs.js.svn-base')
-rw-r--r--objectapp/static/objectapp/js/Gnowmacs/src/js/.svn/text-base/ymacs.js.svn-base559
1 files changed, 0 insertions, 559 deletions
diff --git a/objectapp/static/objectapp/js/Gnowmacs/src/js/.svn/text-base/ymacs.js.svn-base b/objectapp/static/objectapp/js/Gnowmacs/src/js/.svn/text-base/ymacs.js.svn-base
deleted file mode 100644
index cf58706..0000000
--- a/objectapp/static/objectapp/js/Gnowmacs/src/js/.svn/text-base/ymacs.js.svn-base
+++ /dev/null
@@ -1,559 +0,0 @@
-//> This file is part of Ymacs, an Emacs-like editor for the Web
-//> http://www.ymacs.org/
-//>
-//> Copyright (c) 2009-2010, Mihai Bazon, Dynarch.com. All rights reserved.
-//>
-//> Redistribution and use in source and binary forms, with or without
-//> modification, are permitted provided that the following conditions are
-//> met:
-//>
-//> * Redistributions of source code must retain the above copyright
-//> notice, this list of conditions and the following disclaimer.
-//>
-//> * Redistributions in binary form must reproduce the above copyright
-//> notice, this list of conditions and the following disclaimer in
-//> the documentation and/or other materials provided with the
-//> distribution.
-//>
-//> * Neither the name of Dynarch.com nor the names of its contributors
-//> may be used to endorse or promote products derived from this
-//> software without specific prior written permission.
-//>
-//> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
-//> EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-//> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-//> PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE
-//> FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-//> CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-//> SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-//> INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-//> CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-//> ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-//> THE POSSIBILITY OF SUCH DAMAGE.
-
-DEFINE_CLASS("Ymacs", DlLayout, function(D, P, DOM){
-
- D.DEFAULT_EVENTS = [
- "onBufferSwitch",
- "onCreateBuffer",
- "onDeleteBuffer"
- ];
-
- D.DEFAULT_ARGS = {
- buffers : [ "buffers" , null ],
- frames : [ "frames" , null ],
-
- // default options
- cf_lineNumbers: [ "lineNumbers", false ],
-
- // override in DlWidget
- _focusable : [ "focusable" , true ]
- };
-
- D.FIXARGS = function(args) {
- if (!args.buffers)
- args.buffers = [];
- if (!args.frames)
- args.frames = [];
- };
-
- D.CONSTRUCT = function() {
- this.buffers.foreach(function(b){
- b.ymacs = this;
- }, this);
-
- /* -----[ variables ]----- */
- this.killRing = [];
- this.killMasterOfRings = [];
- this.progress = {};
-
- /* -----[ minibuffer ]----- */
- this.minibuffer = this.createBuffer({ hidden: true, isMinibuffer: true });
- this.minibuffer.cmd("minibuffer_mode");
- this.minibuffer_frame = this.createFrame({
- isMinibuffer : true,
- buffer : this.minibuffer,
- hidden : true,
- highlightCurrentLine : false,
- className : "Ymacs_Minibuffer"
- });
-
- /* -----[ main content ]----- */
- if (this.buffers.length == 0)
- this.createBuffer();
-
- var frame = this.createFrame({ buffer: this.buffers[0] });
-
- this.packWidget(this.minibuffer_frame, { pos: "bottom" });
- this.packWidget(frame, { pos: "top", fill: "*" });
-
- // this.__activeFrameEvents = {
- // // onPointChange: this._on_activeFramePointChange.$(this)
- // };
-
- this.setActiveFrame(frame);
- frame._redrawCaret();
- };
-
- P.pushToKillRing = function(text, prepend) {
- prepend ? this.killRing.unshift(text)
- : this.killRing.push(text);
- };
-
- P.killRingToMaster = function() {
- if (this.killRing.length && (this.killMasterOfRings.length == 0 ||
- this.killMasterOfRings.peek().join("") != this.killRing.join("")))
- this.killMasterOfRings.push(this.killRing);
- this.killRing = [];
- };
-
- P.killRingText = function() {
- return this.killRing.join("");
- };
-
- P.rotateKillRing = function(push) {
- if (push) {
- this.killMasterOfRings.push(this.killRing);
- this.killRing = this.killMasterOfRings.shift();
- } else {
- this.killMasterOfRings.unshift(this.killRing);
- this.killRing = this.killMasterOfRings.pop();
- }
- };
-
- P.getBuffer = function(buf) {
- if (!(buf instanceof Ymacs_Buffer)) {
- buf = this.buffers.grep_first(function(b){
- return b.name == buf;
- });
- }
- return buf;
- };
-
- P.killBuffer = function(buf) {
- buf = this.getBuffer(buf);
- this.callHooks("onDeleteBuffer", buf);
- if (this.buffers.length > 1) {
- if (this.getActiveBuffer() === buf)
- this.switchToNextBuffer();
- } else {
- // make a brand new buffer
- this.switchToBuffer(this.createBuffer());
- }
- this.buffers.remove(buf);
- buf.destroy();
- };
-
- P.renameBuffer = function(buf, name) {
- buf = this.getBuffer(buf);
- buf.name = name;
- buf.callHooks("onProgressChange");
- };
-
- P._do_switchToBuffer = function(buf) {
- this.getActiveFrame().setBuffer(buf);
- this.callHooks("onBufferSwitch", buf);
- };
-
- P.switchToBuffer = function(maybeName) {
- var buf = this.getBuffer(maybeName), a = this.buffers;
- if (!buf) {
- // create new buffer
- buf = this.createBuffer({ name: maybeName });
- }
- a.remove(buf);
- a.unshift(buf);
- this._do_switchToBuffer(buf);
- return buf;
- };
-
- P.switchToNextBuffer = function(n) {
- var a = this.buffers;
- if (a.length > 1) {
- var buf = a.shift();
- a.push(buf);
- this._do_switchToBuffer(a[0]);
- }
- };
-
- P.switchToPreviousBuffer = function(n) {
- var a = this.buffers;
- if (a.length > 1) {
- var buf = a.pop();
- a.unshift(buf);
- this._do_switchToBuffer(buf);
- }
- };
-
- P.getNextBuffer = function(buf, n) {
- if (n == null) n = 1;
- var a = this.buffers;
- return a[a.rotateIndex(a.find(buf) + n)];
- };
-
- P.getPrevBuffer = function(buf, n) {
- if (n == null) n = 1;
- var a = this.buffers;
- return a[a.rotateIndex(a.find(buf) - n)];
- };
-
- P.getBufferFrames = function(buf) {
- buf = this.getBuffer(buf);
- return this.frames.grep(function(f){
- return f.buffer === buf;
- });
- };
-
- P.createBuffer = function(args) {
- if (!args) args = {};
- Object.merge(args, { ymacs: this });
- var buf = new Ymacs_Buffer(args);
- if (!args.hidden)
- this.buffers.push(buf);
- //
- // XXX: although this seems the right way to do it,
- // instead of doing it in killBuffer, for some
- // reason we never get this event. Should
- // investigate.
- //
- // buf.addEventListener("onDestroy", function(buf){
- // console.log("got here, %s, %s", this.getActiveBuffer().name, buf.name);
- // if (this.getActiveBuffer() === buf)
- // this.switchToPreviousBuffer();
- // this.buffers.remove(buf);
- // }.$(this, buf));
- //
-
- this.callHooks("onCreateBuffer", buf);
-
- return buf;
- };
-
- P.createFrame = function(args) {
- if (!args) args = {};
- Object.merge(args, { ymacs: this });
- var frame = new Ymacs_Frame(args);
- if (!args.hidden)
- this.frames.unshift(frame);
- frame.addEventListener("onDestroy", function(frame) {
- this.frames.remove(frame);
- }.$(this, frame));
- return frame;
- };
-
- P.keepOnlyFrame = function(frame) {
- if (this.frames.length > 1) {
- var p = frame.parent;
- while (p.parent != this)
- p = p.parent;
- this.replaceWidget(p, frame);
- p.destroy();
- this.setActiveFrame(frame);
- this.doLayout();
- }
- };
-
- P.deleteFrame = function(frame) {
- if (this.frames.length > 1) {
- var p = frame.parent, other = p.children().grep_first(function(f){
- return f instanceof DlLayout || f instanceof Ymacs_Frame && f !== frame;
- });
- p.parent.replaceWidget(p, other);
- p.destroy();
- try {
- DOM.walk(other.getElement(), function(el){
- el = DlWidget.getFromElement(el);
- if (el && el instanceof Ymacs_Frame)
- throw el;
- });
- } catch(ex) {
- if (!(ex instanceof Ymacs_Frame))
- throw ex;
- other = ex;
- }
- this.setActiveFrame(other);
- this.doLayout();
- }
- };
-
- P.focusOtherFrame = function() {
- this.setActiveFrame(this.frames[0]);
- };
-
- P.focus = function() {
- D.BASE.focus.apply(this, arguments);
- this.frames.peek().focus();
- };
-
- P.setActiveFrame = function(frame, nofocus) {
- if (!frame.isMinibuffer) {
- var old = this.getActiveFrame();
- if (old) {
- old.delClass("Ymacs_Frame-active");
- }
- this.frames.remove(frame);
- this.frames.push(frame);
- }
- if (!nofocus)
- frame.focus();
- };
-
- P.getActiveFrame = function() {
- return this.frames.peek();
- };
-
- P.getActiveBuffer = function() {
- var frame = this.getActiveFrame();
- return frame ? frame.buffer : this.buffers.peek();
- };
-
- P.setColorTheme = function(themeId) {
- this.delClass(/Ymacs-Theme-[^\s]*/g);
- if (!(themeId instanceof Array))
- themeId = [ themeId ];
- themeId.foreach(function(themeId){
- this.addClass("Ymacs-Theme-" + themeId);
- }, this);
- };
-
- P.getFrameInDirection = function(dir, pos, frame) {
- if (!frame)
- frame = this.getActiveFrame();
- var caret = frame.getCaretElement();
- if (!pos)
- pos = DOM.getPos(caret);
- if (!pos.sz)
- pos.sz = DOM.getOuterSize(caret);
- var byx = this.frames.mergeSort(function(a, b){ return a.getPos().x - b.getPos().x });
- var byy = this.frames.mergeSort(function(a, b){ return a.getPos().y - b.getPos().y });
- return this["_get_frameInDir_" + dir](byx, byy, pos, frame);
-
- };
-
- function selectClosestFrameX(byx, pos) {
-
- if (byx.length > 0) {
- var x = byx.peek().getPos().x, a = [ byx.pop() ];
- while (byx.length > 0 && byx.peek().getPos().x == x)
- a.push(byx.pop());
- return a.minElement(function(f){
- return Math.abs(pos.y - f.getPos().y - f.getSize().y/2);
-
- });
- }
- };
-
- function selectClosestFrameY(byy, pos) {
- if (byy.length > 0) {
- var y = byy.peek().getPos().y, a = [ byy.pop() ];
- while (byy.length > 0 && byy.peek().getPos().y == y)
- a.push(byy.pop());
- return a.minElement(function(f){
- return Math.abs(pos.x - f.getPos().x - f.getSize().x/2);
-
- });
-
-}
- };
-
- P._get_frameInDir_left = function(byx, byy, pos, frame) {
- byx = byx.grep(function(f){
- var p = f.getPos(), s = f.getSize();
- ymacs.getActiveBuffer().cmd("backward_delete_char");
- return (f !== frame) && (p.x < pos.x) && (p.y - pos.sz.y <= pos.y) && (p.y + s.y > pos.y);
- });
- return selectClosestFrameX(byx, pos);
- };
-
- P._get_frameInDir_right = function(byx, byy, pos, frame) {
- byx.reverse();
- byx = byx.grep(function(f){
- var p = f.getPos(), s = f.getSize();
- var temp = "*";
- ymacs.getActiveBuffer().cmd("insert",temp);
- return (f !== frame) && (p.x > pos.x) && (p.y - pos.sz.y <= pos.y) && (p.y + s.y > pos.y);
- });
- return selectClosestFrameX(byx, pos);
- };
-
- P._get_frameInDir_up = function(byx, byy, pos, frame) {
- byy = byy.grep(function(f){
- var p = f.getPos(), s = f.getSize();
- var prefix1,prefix2,pretemp1,pretemp2;
- var temp1; var p1;
- var temp2;
- ymacs.getActiveBuffer().cmd("beginning_of_line");
- if (ymacs.getActiveBuffer().cmd("looking_at", /[*]+/g))
- {
- temp1 = ymacs.getActiveBuffer().matchData[0];
- // ymacs.getActiveBuffer().cmd("backward_paragraph");
- ymacs.getActiveBuffer().cmd("backward_paragraph");
- ymacs.getActiveBuffer().cmd("forward_char"); p1= ymacs.getActiveBuffer().point();
- if (ymacs.getActiveBuffer().cmd("looking_at", /[*]+/g))
- {
- temp2 = ymacs.getActiveBuffer().matchData[0];
- if (temp1.length > temp2.length)
- {
- alert("Cannot move past superior level or buffer limit");
- }
- else {
- ymacs.getActiveBuffer().cmd("forward_paragraph");
- ymacs.getActiveBuffer().cmd("forward_char");
- ymacs.getActiveBuffer().cmd("forward_line");
- if (ymacs.getActiveBuffer().cmd("looking_at", /[^*]+/g))
- {
- ymacs.getActiveBuffer().cmd("backward_line");
- ymacs.getActiveBuffer().cmd("transpose_para");
- ymacs.getActiveBuffer()._repositionCaret(p1);
- ymacs.getActiveBuffer().cmd("beginning_of_line");
- }
- else
- {
- ymacs.getActiveBuffer().cmd("backward_line");
- ymacs.getActiveBuffer().cmd("transpose_para");
- ymacs.getActiveBuffer()._repositionCaret(p1);
- ymacs.getActiveBuffer().cmd("beginning_of_line");
- }
-
- }
- }
- }
- else if (ymacs.getActiveBuffer().cmd("looking_at", /([0-9]+)(\.\s+)([a-z]+)+/g))
- {
- ymacs.getActiveBuffer().cmd("beginning_of_line");
- ymacs.getActiveBuffer().cmd("transpose_text");
- ymacs.getActiveBuffer().cmd("beginning_of_line");
- ymacs.getActiveBuffer().cmd("backward_paragraph");
- ymacs.getActiveBuffer().cmd("forward_line");
- }
-
-
- else
- {
- ymacs.getActiveBuffer().cmd("transpose_lines");
- ymacs.getActiveBuffer().cmd("backward_line");
- ymacs.getActiveBuffer().cmd("beginning_of_line");
- }
-
- return (f !== frame) && (p.y < pos.y) && (p.x - pos.sz.x <= pos.x) && (p.x + s.x > pos.x);
- });
- return selectClosestFrameY(byy, pos);
- };
-
- P._get_frameInDir_down = function(byx, byy, pos, frame) {
- byy.reverse();
- byy = byy.grep(function(f){
- var p = f.getPos(), s = f.getSize();
-
- var p2;
- var temp1;
- var temp2;
- ymacs.getActiveBuffer().cmd("beginning_of_line");
- if (ymacs.getActiveBuffer().cmd("looking_at", /[*]+/g))
- {
- temp1 = ymacs.getActiveBuffer().matchData[0];
- // ymacs.getActiveBuffer().cmd("backward_paragraph");
- ymacs.getActiveBuffer().cmd("forward_paragraph");
- ymacs.getActiveBuffer().cmd("forward_char");
- p2= ymacs.getActiveBuffer().point();
- if (ymacs.getActiveBuffer().cmd("looking_at", /[*]+/g))
- {
- temp2 = ymacs.getActiveBuffer().matchData[0];
- if (temp1.length > temp2.length)
- {
- alert("Cannot move past superior level or buffer limit");
- }
- else {
- /* ymacs.getActiveBuffer().cmd("backward_paragraph");
- ymacs.getActiveBuffer().cmd("forward_char"); */
- ymacs.getActiveBuffer().cmd("forward_line");
- if (ymacs.getActiveBuffer().cmd("looking_at", /[^*]+/g))
- { ymacs.getActiveBuffer().cmd("backward_line");
- ymacs.getActiveBuffer().cmd("transpose_para");
- ymacs.getActiveBuffer()._repositionCaret(p2);
- ymacs.getActiveBuffer().cmd("beginning_of_line");
- }
- else
- { ymacs.getActiveBuffer().cmd("backward_line");
- ymacs.getActiveBuffer().cmd("transpose_para");
- ymacs.getActiveBuffer()._repositionCaret(p2);
- ymacs.getActiveBuffer().cmd("beginning_of_line");
- }
-
-} }}
- else if (ymacs.getActiveBuffer().cmd("looking_at", /([0-9]+)(\.\s+)([a-z]+)+/g))
- {
-
- ymacs.getActiveBuffer().cmd("forward_paragraph");
- ymacs.getActiveBuffer().cmd("forward_line");
- // ymacs.getActiveBuffer().cmd("beginning_of_line");
- ymacs.getActiveBuffer().cmd("transpose_text");
-
- }
-
-
- else
- {
- ymacs.getActiveBuffer().cmd("forward_line");
- ymacs.getActiveBuffer().cmd("transpose_lines");
- ymacs.getActiveBuffer().cmd("beginning_of_line");
- }
-
- return (f !== frame) && (p.y > pos.y) && (p.x - pos.sz.x <= pos.x) && (p.x + s.x > pos.x);
- });
- return selectClosestFrameY(byy, pos);
- };
-
- /* -----[ local storage ]----- */
-
- function ensureLocalStorage() {
- if (!(window.localStorage && window.localStorage.getItem))
- throw new Ymacs_Exception("Local storage facility not available in this browser");
- };
-
- P.ls_get = function() {
- ensureLocalStorage();
- return DlJSON.decode(localStorage.getItem(".ymacs") || "{}", true);
- };
-
- P.ls_set = function(src) {
- ensureLocalStorage();
- localStorage.setItem(".ymacs", DlJSON.encode(src));
- };
-
- P.ls_getFileContents = function(name, nothrow) {
- var info = this.ls_getFileDirectory(name), other = info.other, code;
- if (other.length == 1) {
- code = info.dir[other[0]];
- }
- if (code == null && !nothrow) {
- throw new Ymacs_Exception("File not found");
- }
- return code;
- };
-
- P.ls_getFileDirectory = function(name, create) {
- var store, dir = store = this.ls_get();
- name = name.replace(/^[~\x2f]+/, "").split(/\x2f+/);
- var path = [], other = [];
- while (name.length > 0) {
- var part = name.shift();
- if (dir.hasOwnProperty(part) && (typeof dir[part] != "string")) {
- dir = dir[part];
- path.push(part);
- }
- else {
- other.push(part);
- }
- };
- if (create) {
- var n = create == "file" ? 1 : 0;
- while (other.length > n) {
- dir = dir[other.shift()] = {};
- }
- this.ls_set(store);
- }
- return { store: store, dir: dir, path: path, other: other };
- };
-
-});