mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-22 20:57:58 +01:00
whitespace formatting fixes
This commit is contained in:
@@ -27,7 +27,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
|
|||||||
}}} ***** END LICENSE BLOCK *****/
|
}}} ***** END LICENSE BLOCK *****/
|
||||||
|
|
||||||
// also includes methods for dealing with keywords and search engines
|
// also includes methods for dealing with keywords and search engines
|
||||||
vimperator.Bookmarks = function() //{{{
|
vimperator.Bookmarks = function () //{{{
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
||||||
@@ -42,7 +42,7 @@ vimperator.Bookmarks = function() //{{{
|
|||||||
var keywords = null;
|
var keywords = null;
|
||||||
|
|
||||||
if (vimperator.options["preload"])
|
if (vimperator.options["preload"])
|
||||||
setTimeout(function() { load(); } , 100);
|
setTimeout(function () { load(); } , 100);
|
||||||
|
|
||||||
function load()
|
function load()
|
||||||
{
|
{
|
||||||
@@ -78,7 +78,7 @@ vimperator.Bookmarks = function() //{{{
|
|||||||
|
|
||||||
// FIXME: add filtering here rather than having to calling
|
// FIXME: add filtering here rather than having to calling
|
||||||
// get_bookmark_completions()
|
// get_bookmark_completions()
|
||||||
this.get = function()
|
this.get = function ()
|
||||||
{
|
{
|
||||||
if (!bookmarks)
|
if (!bookmarks)
|
||||||
load();
|
load();
|
||||||
@@ -105,7 +105,7 @@ vimperator.Bookmarks = function() //{{{
|
|||||||
|
|
||||||
// NOTE: no idea what it does, it Just Works (TM)
|
// NOTE: no idea what it does, it Just Works (TM)
|
||||||
// returns number of deleted bookmarks
|
// returns number of deleted bookmarks
|
||||||
this.remove = function(url)
|
this.remove = function (url)
|
||||||
{
|
{
|
||||||
var deleted = 0;
|
var deleted = 0;
|
||||||
if (!url)
|
if (!url)
|
||||||
@@ -157,7 +157,7 @@ vimperator.Bookmarks = function() //{{{
|
|||||||
}
|
}
|
||||||
|
|
||||||
// also ensures that each search engine has a Vimperator-friendly alias
|
// also ensures that each search engine has a Vimperator-friendly alias
|
||||||
this.getSearchEngines = function()
|
this.getSearchEngines = function ()
|
||||||
{
|
{
|
||||||
var search_engines = [];
|
var search_engines = [];
|
||||||
var firefox_engines = search_service.getVisibleEngines({ });
|
var firefox_engines = search_service.getVisibleEngines({ });
|
||||||
@@ -173,7 +173,7 @@ vimperator.Bookmarks = function() //{{{
|
|||||||
var newalias = alias;
|
var newalias = alias;
|
||||||
for (var j = 1; j <= 10; j++) // <=10 is intentional
|
for (var j = 1; j <= 10; j++) // <=10 is intentional
|
||||||
{
|
{
|
||||||
if (!search_engines.some(function(item) { return (item[0] == newalias); }))
|
if (!search_engines.some(function (item) { return (item[0] == newalias); }))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
newalias = alias + j;
|
newalias = alias + j;
|
||||||
@@ -190,7 +190,7 @@ vimperator.Bookmarks = function() //{{{
|
|||||||
|
|
||||||
// format of returned array:
|
// format of returned array:
|
||||||
// [keyword, helptext, url]
|
// [keyword, helptext, url]
|
||||||
this.getKeywords = function()
|
this.getKeywords = function ()
|
||||||
{
|
{
|
||||||
if (!keywords)
|
if (!keywords)
|
||||||
load();
|
load();
|
||||||
@@ -201,7 +201,7 @@ vimperator.Bookmarks = function() //{{{
|
|||||||
// if @param engine_name is null, it uses the default search engine
|
// if @param engine_name is null, it uses the default search engine
|
||||||
// @returns the url for the search string
|
// @returns the url for the search string
|
||||||
// if the search also requires a postdata, [url, postdata] is returned
|
// if the search also requires a postdata, [url, postdata] is returned
|
||||||
this.getSearchURL = function(text, engine_name)
|
this.getSearchURL = function (text, engine_name)
|
||||||
{
|
{
|
||||||
var url = null;
|
var url = null;
|
||||||
var postdata = null;
|
var postdata = null;
|
||||||
@@ -249,7 +249,7 @@ vimperator.Bookmarks = function() //{{{
|
|||||||
return url; // can be null
|
return url; // can be null
|
||||||
}
|
}
|
||||||
|
|
||||||
this.list = function(filter, fullmode)
|
this.list = function (filter, fullmode)
|
||||||
{
|
{
|
||||||
if (fullmode)
|
if (fullmode)
|
||||||
{
|
{
|
||||||
@@ -290,7 +290,7 @@ vimperator.Bookmarks = function() //{{{
|
|||||||
// res.title is the title or "" if no one was given
|
// res.title is the title or "" if no one was given
|
||||||
// res.url is the url as a string
|
// res.url is the url as a string
|
||||||
// returns null, if parsing failed
|
// returns null, if parsing failed
|
||||||
this.parseBookmarkString = function(str)
|
this.parseBookmarkString = function (str)
|
||||||
{
|
{
|
||||||
var res = {};
|
var res = {};
|
||||||
res.tags = [];
|
res.tags = [];
|
||||||
@@ -356,7 +356,7 @@ vimperator.Bookmarks = function() //{{{
|
|||||||
//}}}
|
//}}}
|
||||||
} //}}}
|
} //}}}
|
||||||
|
|
||||||
vimperator.History = function() //{{{
|
vimperator.History = function () //{{{
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
||||||
@@ -370,7 +370,7 @@ vimperator.History = function() //{{{
|
|||||||
var history = null;
|
var history = null;
|
||||||
|
|
||||||
if (vimperator.options["preload"])
|
if (vimperator.options["preload"])
|
||||||
setTimeout(function() { load(); } , 100);
|
setTimeout(function () { load(); } , 100);
|
||||||
|
|
||||||
function load()
|
function load()
|
||||||
{
|
{
|
||||||
@@ -418,7 +418,7 @@ vimperator.History = function() //{{{
|
|||||||
|
|
||||||
// FIXME: add filtering here rather than having to call
|
// FIXME: add filtering here rather than having to call
|
||||||
// get_bookmark_completions()
|
// get_bookmark_completions()
|
||||||
this.get = function()
|
this.get = function ()
|
||||||
{
|
{
|
||||||
if (!history)
|
if (!history)
|
||||||
load();
|
load();
|
||||||
@@ -431,7 +431,7 @@ vimperator.History = function() //{{{
|
|||||||
if (!history)
|
if (!history)
|
||||||
load();
|
load();
|
||||||
|
|
||||||
history = history.filter(function(elem) {
|
history = history.filter(function (elem) {
|
||||||
return elem[0] != url;
|
return elem[0] != url;
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -441,7 +441,7 @@ vimperator.History = function() //{{{
|
|||||||
|
|
||||||
// TODO: better names?
|
// TODO: better names?
|
||||||
// and move to vimperator.buffer.?
|
// and move to vimperator.buffer.?
|
||||||
this.stepTo = function(steps)
|
this.stepTo = function (steps)
|
||||||
{
|
{
|
||||||
var index = getWebNavigation().sessionHistory.index + steps;
|
var index = getWebNavigation().sessionHistory.index + steps;
|
||||||
|
|
||||||
@@ -455,7 +455,7 @@ vimperator.History = function() //{{{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.goToStart = function()
|
this.goToStart = function ()
|
||||||
{
|
{
|
||||||
var index = getWebNavigation().sessionHistory.index;
|
var index = getWebNavigation().sessionHistory.index;
|
||||||
|
|
||||||
@@ -468,7 +468,7 @@ vimperator.History = function() //{{{
|
|||||||
getWebNavigation().gotoIndex(0);
|
getWebNavigation().gotoIndex(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.goToEnd = function()
|
this.goToEnd = function ()
|
||||||
{
|
{
|
||||||
var index = getWebNavigation().sessionHistory.index;
|
var index = getWebNavigation().sessionHistory.index;
|
||||||
var max = getWebNavigation().sessionHistory.count - 1;
|
var max = getWebNavigation().sessionHistory.count - 1;
|
||||||
@@ -482,7 +482,7 @@ vimperator.History = function() //{{{
|
|||||||
getWebNavigation().gotoIndex(max);
|
getWebNavigation().gotoIndex(max);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.list = function(filter, fullmode)
|
this.list = function (filter, fullmode)
|
||||||
{
|
{
|
||||||
if (fullmode)
|
if (fullmode)
|
||||||
{
|
{
|
||||||
@@ -519,7 +519,7 @@ vimperator.History = function() //{{{
|
|||||||
//}}}
|
//}}}
|
||||||
} //}}}
|
} //}}}
|
||||||
|
|
||||||
vimperator.Marks = function() //{{{
|
vimperator.Marks = function () //{{{
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
||||||
@@ -608,7 +608,7 @@ vimperator.Marks = function() //{{{
|
|||||||
umarks.push([mark, url_marks[mark]]);
|
umarks.push([mark, url_marks[mark]]);
|
||||||
// FIXME: why does umarks.sort() cause a "Component is not available =
|
// FIXME: why does umarks.sort() cause a "Component is not available =
|
||||||
// NS_ERROR_NOT_AVAILABLE" exception when used here?
|
// NS_ERROR_NOT_AVAILABLE" exception when used here?
|
||||||
umarks.sort(function(a, b) {
|
umarks.sort(function (a, b) {
|
||||||
if (a[0] < b[0])
|
if (a[0] < b[0])
|
||||||
return -1;
|
return -1;
|
||||||
else if (a[0] > b[0])
|
else if (a[0] > b[0])
|
||||||
@@ -625,7 +625,7 @@ vimperator.Marks = function() //{{{
|
|||||||
/////////////////////////////////////////////////////////////////////////////{{{
|
/////////////////////////////////////////////////////////////////////////////{{{
|
||||||
|
|
||||||
// TODO: add support for frameset pages
|
// TODO: add support for frameset pages
|
||||||
this.add = function(mark)
|
this.add = function (mark)
|
||||||
{
|
{
|
||||||
var win = window.content;
|
var win = window.content;
|
||||||
|
|
||||||
@@ -655,7 +655,7 @@ vimperator.Marks = function() //{{{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.remove = function(filter, special)
|
this.remove = function (filter, special)
|
||||||
{
|
{
|
||||||
if (special)
|
if (special)
|
||||||
{
|
{
|
||||||
@@ -679,7 +679,7 @@ vimperator.Marks = function() //{{{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.jumpTo = function(mark)
|
this.jumpTo = function (mark)
|
||||||
{
|
{
|
||||||
var ok = false;
|
var ok = false;
|
||||||
|
|
||||||
@@ -733,7 +733,7 @@ vimperator.Marks = function() //{{{
|
|||||||
vimperator.echoerr("E20: Mark not set"); // FIXME: move up?
|
vimperator.echoerr("E20: Mark not set"); // FIXME: move up?
|
||||||
}
|
}
|
||||||
|
|
||||||
this.list = function(filter)
|
this.list = function (filter)
|
||||||
{
|
{
|
||||||
var marks = getSortedMarks();
|
var marks = getSortedMarks();
|
||||||
|
|
||||||
@@ -745,7 +745,7 @@ vimperator.Marks = function() //{{{
|
|||||||
|
|
||||||
if (filter.length > 0)
|
if (filter.length > 0)
|
||||||
{
|
{
|
||||||
marks = marks.filter(function(mark) {
|
marks = marks.filter(function (mark) {
|
||||||
if (filter.indexOf(mark[0]) > -1)
|
if (filter.indexOf(mark[0]) > -1)
|
||||||
return mark;
|
return mark;
|
||||||
});
|
});
|
||||||
@@ -774,7 +774,7 @@ vimperator.Marks = function() //{{{
|
|||||||
//}}}
|
//}}}
|
||||||
} //}}}
|
} //}}}
|
||||||
|
|
||||||
vimperator.QuickMarks = function() //{{{
|
vimperator.QuickMarks = function () //{{{
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
||||||
@@ -793,12 +793,12 @@ vimperator.QuickMarks = function() //{{{
|
|||||||
////////////////////// PUBLIC SECTION //////////////////////////////////////////
|
////////////////////// PUBLIC SECTION //////////////////////////////////////////
|
||||||
/////////////////////////////////////////////////////////////////////////////{{{
|
/////////////////////////////////////////////////////////////////////////////{{{
|
||||||
|
|
||||||
this.add = function(qmark, location)
|
this.add = function (qmark, location)
|
||||||
{
|
{
|
||||||
qmarks[qmark] = location;
|
qmarks[qmark] = location;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.remove = function(filter)
|
this.remove = function (filter)
|
||||||
{
|
{
|
||||||
var pattern = new RegExp("[" + filter.replace(/\s+/g, "") + "]");
|
var pattern = new RegExp("[" + filter.replace(/\s+/g, "") + "]");
|
||||||
|
|
||||||
@@ -809,12 +809,12 @@ vimperator.QuickMarks = function() //{{{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.removeAll = function()
|
this.removeAll = function ()
|
||||||
{
|
{
|
||||||
qmarks = {};
|
qmarks = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
this.jumpTo = function(qmark, where)
|
this.jumpTo = function (qmark, where)
|
||||||
{
|
{
|
||||||
var url = qmarks[qmark];
|
var url = qmarks[qmark];
|
||||||
|
|
||||||
@@ -824,7 +824,7 @@ vimperator.QuickMarks = function() //{{{
|
|||||||
vimperator.echoerr("E20: QuickMark not set");
|
vimperator.echoerr("E20: QuickMark not set");
|
||||||
}
|
}
|
||||||
|
|
||||||
this.list = function(filter)
|
this.list = function (filter)
|
||||||
{
|
{
|
||||||
var marks = [];
|
var marks = [];
|
||||||
|
|
||||||
@@ -841,7 +841,7 @@ vimperator.QuickMarks = function() //{{{
|
|||||||
|
|
||||||
if (filter.length > 0)
|
if (filter.length > 0)
|
||||||
{
|
{
|
||||||
marks = marks.filter(function(mark) {
|
marks = marks.filter(function (mark) {
|
||||||
if (filter.indexOf(mark[0]) > -1)
|
if (filter.indexOf(mark[0]) > -1)
|
||||||
return mark;
|
return mark;
|
||||||
});
|
});
|
||||||
@@ -864,7 +864,7 @@ vimperator.QuickMarks = function() //{{{
|
|||||||
vimperator.commandline.echo(list, vimperator.commandline.HL_NORMAL, vimperator.commandline.FORCE_MULTILINE);
|
vimperator.commandline.echo(list, vimperator.commandline.HL_NORMAL, vimperator.commandline.FORCE_MULTILINE);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.destroy = function()
|
this.destroy = function ()
|
||||||
{
|
{
|
||||||
// save the quickmarks
|
// save the quickmarks
|
||||||
var saved_qmarks = "";
|
var saved_qmarks = "";
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ the provisions above, a recipient may use your version of this file under
|
|||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
the terms of any one of the MPL, the GPL or the LGPL.
|
||||||
}}} ***** END LICENSE BLOCK *****/
|
}}} ***** END LICENSE BLOCK *****/
|
||||||
|
|
||||||
vimperator.Buffer = function() //{{{
|
vimperator.Buffer = function () //{{{
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
||||||
@@ -116,35 +116,35 @@ vimperator.Buffer = function() //{{{
|
|||||||
////////////////////// PUBLIC SECTION //////////////////////////////////////////
|
////////////////////// PUBLIC SECTION //////////////////////////////////////////
|
||||||
/////////////////////////////////////////////////////////////////////////////{{{
|
/////////////////////////////////////////////////////////////////////////////{{{
|
||||||
|
|
||||||
this.__defineGetter__("URL", function()
|
this.__defineGetter__("URL", function ()
|
||||||
{
|
{
|
||||||
// TODO: .URL is not defined for XUL documents
|
// TODO: .URL is not defined for XUL documents
|
||||||
//return window.content.document.URL;
|
//return window.content.document.URL;
|
||||||
return window.content.document.location.href;
|
return window.content.document.location.href;
|
||||||
});
|
});
|
||||||
|
|
||||||
this.__defineGetter__("pageHeight", function()
|
this.__defineGetter__("pageHeight", function ()
|
||||||
{
|
{
|
||||||
return window.content.innerHeight;
|
return window.content.innerHeight;
|
||||||
});
|
});
|
||||||
|
|
||||||
this.__defineGetter__("textZoom", function()
|
this.__defineGetter__("textZoom", function ()
|
||||||
{
|
{
|
||||||
return zoom_manager.textZoom;
|
return zoom_manager.textZoom;
|
||||||
});
|
});
|
||||||
|
|
||||||
this.__defineSetter__("textZoom", function(value)
|
this.__defineSetter__("textZoom", function (value)
|
||||||
{
|
{
|
||||||
setZoom(value);
|
setZoom(value);
|
||||||
});
|
});
|
||||||
|
|
||||||
this.__defineGetter__("title", function()
|
this.__defineGetter__("title", function ()
|
||||||
{
|
{
|
||||||
return window.content.document.title;
|
return window.content.document.title;
|
||||||
});
|
});
|
||||||
|
|
||||||
// returns an XPathResult object
|
// returns an XPathResult object
|
||||||
this.evaluateXPath = function(expression, doc, elem, ordered)
|
this.evaluateXPath = function (expression, doc, elem, ordered)
|
||||||
{
|
{
|
||||||
if (!doc)
|
if (!doc)
|
||||||
doc = window.content.document;
|
doc = window.content.document;
|
||||||
@@ -167,7 +167,7 @@ vimperator.Buffer = function() //{{{
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.list = function(fullmode)
|
this.list = function (fullmode)
|
||||||
{
|
{
|
||||||
if (fullmode)
|
if (fullmode)
|
||||||
{
|
{
|
||||||
@@ -214,12 +214,12 @@ vimperator.Buffer = function() //{{{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.scrollBottom = function()
|
this.scrollBottom = function ()
|
||||||
{
|
{
|
||||||
scrollToPercentiles(-1, 100);
|
scrollToPercentiles(-1, 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.scrollColumns = function(cols)
|
this.scrollColumns = function (cols)
|
||||||
{
|
{
|
||||||
var win = window.document.commandDispatcher.focusedWindow;
|
var win = window.document.commandDispatcher.focusedWindow;
|
||||||
const COL_WIDTH = 20;
|
const COL_WIDTH = 20;
|
||||||
@@ -230,42 +230,42 @@ vimperator.Buffer = function() //{{{
|
|||||||
win.scrollBy(COL_WIDTH * cols, 0);
|
win.scrollBy(COL_WIDTH * cols, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.scrollEnd = function()
|
this.scrollEnd = function ()
|
||||||
{
|
{
|
||||||
scrollToPercentiles(100, -1);
|
scrollToPercentiles(100, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.scrollLines = function(lines)
|
this.scrollLines = function (lines)
|
||||||
{
|
{
|
||||||
var win = window.document.commandDispatcher.focusedWindow;
|
var win = window.document.commandDispatcher.focusedWindow;
|
||||||
checkScrollYBounds(win, lines);
|
checkScrollYBounds(win, lines);
|
||||||
win.scrollByLines(lines);
|
win.scrollByLines(lines);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.scrollPages = function(pages)
|
this.scrollPages = function (pages)
|
||||||
{
|
{
|
||||||
var win = window.document.commandDispatcher.focusedWindow;
|
var win = window.document.commandDispatcher.focusedWindow;
|
||||||
checkScrollYBounds(win, pages);
|
checkScrollYBounds(win, pages);
|
||||||
win.scrollByPages(pages);
|
win.scrollByPages(pages);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.scrollToPercentile = function(percentage)
|
this.scrollToPercentile = function (percentage)
|
||||||
{
|
{
|
||||||
scrollToPercentiles(-1, percentage);
|
scrollToPercentiles(-1, percentage);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.scrollStart = function()
|
this.scrollStart = function ()
|
||||||
{
|
{
|
||||||
scrollToPercentiles(0, -1);
|
scrollToPercentiles(0, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.scrollTop = function()
|
this.scrollTop = function ()
|
||||||
{
|
{
|
||||||
scrollToPercentiles(-1, 0);
|
scrollToPercentiles(-1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: allow callback for filtering out unwanted frames? User defined?
|
// TODO: allow callback for filtering out unwanted frames? User defined?
|
||||||
this.shiftFrameFocus = function(count, forward)
|
this.shiftFrameFocus = function (count, forward)
|
||||||
{
|
{
|
||||||
if (!window.content.document instanceof HTMLDocument)
|
if (!window.content.document instanceof HTMLDocument)
|
||||||
return;
|
return;
|
||||||
@@ -273,7 +273,7 @@ vimperator.Buffer = function() //{{{
|
|||||||
var frames = [];
|
var frames = [];
|
||||||
|
|
||||||
// find all frames - depth-first search
|
// find all frames - depth-first search
|
||||||
(function(frame)
|
(function (frame)
|
||||||
{
|
{
|
||||||
if (frame.document.body.localName.toLowerCase() == "body")
|
if (frame.document.body.localName.toLowerCase() == "body")
|
||||||
frames.push(frame);
|
frames.push(frame);
|
||||||
@@ -287,7 +287,7 @@ vimperator.Buffer = function() //{{{
|
|||||||
// remove all unfocusable frames
|
// remove all unfocusable frames
|
||||||
// TODO: find a better way to do this - walking the tree is too slow
|
// TODO: find a better way to do this - walking the tree is too slow
|
||||||
var start = document.commandDispatcher.focusedWindow;
|
var start = document.commandDispatcher.focusedWindow;
|
||||||
frames = frames.filter(function(frame) {
|
frames = frames.filter(function (frame) {
|
||||||
frame.focus();
|
frame.focus();
|
||||||
if (document.commandDispatcher.focusedWindow == frame)
|
if (document.commandDispatcher.focusedWindow == frame)
|
||||||
return frame;
|
return frame;
|
||||||
@@ -360,11 +360,11 @@ vimperator.Buffer = function() //{{{
|
|||||||
doc.body.appendChild(indicator);
|
doc.body.appendChild(indicator);
|
||||||
|
|
||||||
// remove the frame indicator
|
// remove the frame indicator
|
||||||
setTimeout(function() { doc.body.removeChild(indicator); }, 500);
|
setTimeout(function () { doc.body.removeChild(indicator); }, 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
// updates the buffer preview in place only if list is visible
|
// updates the buffer preview in place only if list is visible
|
||||||
this.updateBufferList = function()
|
this.updateBufferList = function ()
|
||||||
{
|
{
|
||||||
if (!vimperator.bufferwindow.visible())
|
if (!vimperator.bufferwindow.visible())
|
||||||
return false;
|
return false;
|
||||||
@@ -377,7 +377,7 @@ vimperator.Buffer = function() //{{{
|
|||||||
// XXX: should this be in v.buffers. or v.tabs.?
|
// XXX: should this be in v.buffers. or v.tabs.?
|
||||||
// "buffer" is a string which matches the URL or title of a buffer, if it
|
// "buffer" is a string which matches the URL or title of a buffer, if it
|
||||||
// is null, the last used string is used again
|
// is null, the last used string is used again
|
||||||
this.switchTo = function(buffer, allowNonUnique, count, reverse)
|
this.switchTo = function (buffer, allowNonUnique, count, reverse)
|
||||||
{
|
{
|
||||||
if (buffer != null)
|
if (buffer != null)
|
||||||
{
|
{
|
||||||
@@ -428,23 +428,23 @@ vimperator.Buffer = function() //{{{
|
|||||||
index += matches.length;
|
index += matches.length;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
index = (count-1) % matches.length;
|
index = (count - 1) % matches.length;
|
||||||
|
|
||||||
vimperator.tabs.select(matches[index], false);
|
vimperator.tabs.select(matches[index], false);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
this.zoomIn = function(steps)
|
this.zoomIn = function (steps)
|
||||||
{
|
{
|
||||||
bumpZoomLevel(steps);
|
bumpZoomLevel(steps);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.zoomOut = function(steps)
|
this.zoomOut = function (steps)
|
||||||
{
|
{
|
||||||
bumpZoomLevel(-steps);
|
bumpZoomLevel(-steps);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.pageInfo = function(verbose)
|
this.pageInfo = function (verbose)
|
||||||
{
|
{
|
||||||
// TODO: copied from firefox. Needs some review/work...
|
// TODO: copied from firefox. Needs some review/work...
|
||||||
// const feedTypes = {
|
// const feedTypes = {
|
||||||
@@ -481,7 +481,7 @@ vimperator.Buffer = function() //{{{
|
|||||||
urlSecurityCheck(aData.href, aPrincipal,
|
urlSecurityCheck(aData.href, aPrincipal,
|
||||||
Components.interfaces.nsIScriptSecurityManager.DISALLOW_INHERIT_PRINCIPAL);
|
Components.interfaces.nsIScriptSecurityManager.DISALLOW_INHERIT_PRINCIPAL);
|
||||||
}
|
}
|
||||||
catch(ex)
|
catch (ex)
|
||||||
{
|
{
|
||||||
aIsFeed = false;
|
aIsFeed = false;
|
||||||
}
|
}
|
||||||
@@ -497,7 +497,7 @@ vimperator.Buffer = function() //{{{
|
|||||||
function createTable(data)
|
function createTable(data)
|
||||||
{
|
{
|
||||||
var ret = "<table><tr><th class='hl-Title' style='font-weight: bold;' align='left' colspan='2'>" +
|
var ret = "<table><tr><th class='hl-Title' style='font-weight: bold;' align='left' colspan='2'>" +
|
||||||
data[data.length -1][0] + "</th></tr>";
|
data[data.length - 1][0] + "</th></tr>";
|
||||||
|
|
||||||
if (data.length - 1)
|
if (data.length - 1)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ the provisions above, a recipient may use your version of this file under
|
|||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
the terms of any one of the MPL, the GPL or the LGPL.
|
||||||
}}} ***** END LICENSE BLOCK *****/
|
}}} ***** END LICENSE BLOCK *****/
|
||||||
|
|
||||||
vimperator.Command = function(specs, action, extra_info) //{{{
|
vimperator.Command = function (specs, action, extra_info) //{{{
|
||||||
{
|
{
|
||||||
if (!specs || !action)
|
if (!specs || !action)
|
||||||
return null;
|
return null;
|
||||||
@@ -34,7 +34,7 @@ vimperator.Command = function(specs, action, extra_info) //{{{
|
|||||||
// convert command name abbreviation specs of the form
|
// convert command name abbreviation specs of the form
|
||||||
// 'shortname[optional-tail]' to short and long versions Eg. 'abc[def]' ->
|
// 'shortname[optional-tail]' to short and long versions Eg. 'abc[def]' ->
|
||||||
// 'abc', 'abcdef'
|
// 'abc', 'abcdef'
|
||||||
var parseSpecs = function(specs)
|
var parseSpecs = function (specs)
|
||||||
{
|
{
|
||||||
var short_names = [];
|
var short_names = [];
|
||||||
var long_names = [];
|
var long_names = [];
|
||||||
@@ -89,14 +89,14 @@ vimperator.Command = function(specs, action, extra_info) //{{{
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
vimperator.Command.prototype.execute = function(args, special, count, modifiers)
|
vimperator.Command.prototype.execute = function (args, special, count, modifiers)
|
||||||
{
|
{
|
||||||
this.action.call(this, args, special, count, modifiers);
|
this.action.call(this, args, special, count, modifiers);
|
||||||
}
|
}
|
||||||
|
|
||||||
// return true if the candidate name matches one of the command's aliases
|
// return true if the candidate name matches one of the command's aliases
|
||||||
// (including all acceptable abbreviations)
|
// (including all acceptable abbreviations)
|
||||||
vimperator.Command.prototype.hasName = function(name)
|
vimperator.Command.prototype.hasName = function (name)
|
||||||
{
|
{
|
||||||
// match a candidate name against a command name abbreviation spec - returning
|
// match a candidate name against a command name abbreviation spec - returning
|
||||||
// true if the candidate matches unambiguously
|
// true if the candidate matches unambiguously
|
||||||
@@ -126,7 +126,7 @@ vimperator.Command.prototype.hasName = function(name)
|
|||||||
}
|
}
|
||||||
//}}}
|
//}}}
|
||||||
|
|
||||||
vimperator.Commands = function() //{{{
|
vimperator.Commands = function () //{{{
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
||||||
@@ -138,7 +138,7 @@ vimperator.Commands = function() //{{{
|
|||||||
function addDefaultCommand(command)
|
function addDefaultCommand(command)
|
||||||
{
|
{
|
||||||
ex_commands.push(command);
|
ex_commands.push(command);
|
||||||
vimperator.Commands.prototype[command.name] = function(args, special, count, modifiers)
|
vimperator.Commands.prototype[command.name] = function (args, special, count, modifiers)
|
||||||
{
|
{
|
||||||
command.execute(args, special, count, modifiers);
|
command.execute(args, special, count, modifiers);
|
||||||
}
|
}
|
||||||
@@ -156,12 +156,12 @@ vimperator.Commands = function() //{{{
|
|||||||
////////////////////// PUBLIC SECTION //////////////////////////////////////////
|
////////////////////// PUBLIC SECTION //////////////////////////////////////////
|
||||||
/////////////////////////////////////////////////////////////////////////////{{{
|
/////////////////////////////////////////////////////////////////////////////{{{
|
||||||
|
|
||||||
this.__iterator__ = function()
|
this.__iterator__ = function ()
|
||||||
{
|
{
|
||||||
return commandsIterator();
|
return commandsIterator();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.add = function(command)
|
this.add = function (command)
|
||||||
{
|
{
|
||||||
if (!command)
|
if (!command)
|
||||||
return false;
|
return false;
|
||||||
@@ -171,7 +171,7 @@ vimperator.Commands = function() //{{{
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.get = function(name)
|
this.get = function (name)
|
||||||
{
|
{
|
||||||
for (var i = 0; i < ex_commands.length; i++)
|
for (var i = 0; i < ex_commands.length; i++)
|
||||||
{
|
{
|
||||||
@@ -186,7 +186,7 @@ vimperator.Commands = function() //{{{
|
|||||||
// FIXME: doesn't really belong here...
|
// FIXME: doesn't really belong here...
|
||||||
// return [null, null, null, null, heredoc_tag || false];
|
// return [null, null, null, null, heredoc_tag || false];
|
||||||
// [count, cmd, special, args] = match;
|
// [count, cmd, special, args] = match;
|
||||||
this.parseCommand = function(str, tag)
|
this.parseCommand = function (str, tag)
|
||||||
{
|
{
|
||||||
// remove comments
|
// remove comments
|
||||||
str.replace(/\s*".*$/, "");
|
str.replace(/\s*".*$/, "");
|
||||||
@@ -230,14 +230,14 @@ vimperator.Commands = function() //{{{
|
|||||||
/////////////////////////////////////////////////////////////////////////////{{{
|
/////////////////////////////////////////////////////////////////////////////{{{
|
||||||
|
|
||||||
addDefaultCommand(new vimperator.Command(["addo[ns]"],
|
addDefaultCommand(new vimperator.Command(["addo[ns]"],
|
||||||
function() { vimperator.open("chrome://mozapps/content/extensions/extensions.xul", vimperator.NEW_TAB); },
|
function () { vimperator.open("chrome://mozapps/content/extensions/extensions.xul", vimperator.NEW_TAB); },
|
||||||
{
|
{
|
||||||
short_help: "Show available Browser Extensions and Themes",
|
short_help: "Show available Browser Extensions and Themes",
|
||||||
help: "You can add/remove/disable browser extensions from this dialog.<br/>Be aware that not all Firefox extensions work, because Vimperator overrides some key bindings and changes Firefox's GUI."
|
help: "You can add/remove/disable browser extensions from this dialog.<br/>Be aware that not all Firefox extensions work, because Vimperator overrides some key bindings and changes Firefox's GUI."
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["ba[ck]"],
|
addDefaultCommand(new vimperator.Command(["ba[ck]"],
|
||||||
function(args, special, count)
|
function (args, special, count)
|
||||||
{
|
{
|
||||||
if (special)
|
if (special)
|
||||||
vimperator.history.goToStart();
|
vimperator.history.goToStart();
|
||||||
@@ -263,7 +263,7 @@ vimperator.Commands = function() //{{{
|
|||||||
short_help: "Go back in the browser history",
|
short_help: "Go back in the browser history",
|
||||||
help: "Count is supported, <code class=\"command\">:3back</code> goes back 3 pages in the browser history.<br/>" +
|
help: "Count is supported, <code class=\"command\">:3back</code> goes back 3 pages in the browser history.<br/>" +
|
||||||
"The special version <code class=\"command\">:back!</code> goes to the beginning of the browser history.",
|
"The special version <code class=\"command\">:back!</code> goes to the beginning of the browser history.",
|
||||||
completer: function(filter)
|
completer: function (filter)
|
||||||
{
|
{
|
||||||
var sh = getWebNavigation().sessionHistory;
|
var sh = getWebNavigation().sessionHistory;
|
||||||
var completions = [];
|
var completions = [];
|
||||||
@@ -280,7 +280,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["bd[elete]", "bw[ipeout]", "bun[load]", "tabc[lose]"],
|
addDefaultCommand(new vimperator.Command(["bd[elete]", "bw[ipeout]", "bun[load]", "tabc[lose]"],
|
||||||
function(args, special, count) { vimperator.tabs.remove(getBrowser().mCurrentTab, count > 0 ? count : 1, special, 0); },
|
function (args, special, count) { vimperator.tabs.remove(getBrowser().mCurrentTab, count > 0 ? count : 1, special, 0); },
|
||||||
{
|
{
|
||||||
usage: ["[count]bd[elete][!]"],
|
usage: ["[count]bd[elete][!]"],
|
||||||
short_help: "Delete current buffer (=tab)",
|
short_help: "Delete current buffer (=tab)",
|
||||||
@@ -289,7 +289,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["beep"],
|
addDefaultCommand(new vimperator.Command(["beep"],
|
||||||
function() { vimperator.beep(); },
|
function () { vimperator.beep(); },
|
||||||
{
|
{
|
||||||
short_help: "Play a system beep"
|
short_help: "Play a system beep"
|
||||||
}
|
}
|
||||||
@@ -297,7 +297,7 @@ vimperator.Commands = function() //{{{
|
|||||||
addDefaultCommand(new vimperator.Command(["bma[rk]"],
|
addDefaultCommand(new vimperator.Command(["bma[rk]"],
|
||||||
// takes: -t "foo" myurl
|
// takes: -t "foo" myurl
|
||||||
// converts that string to a useful url and title, and calls addBookmark
|
// converts that string to a useful url and title, and calls addBookmark
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
var result = vimperator.bookmarks.parseBookmarkString(args);
|
var result = vimperator.bookmarks.parseBookmarkString(args);
|
||||||
|
|
||||||
@@ -336,7 +336,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["bmarks"],
|
addDefaultCommand(new vimperator.Command(["bmarks"],
|
||||||
function(args, special) { vimperator.bookmarks.list(args, special); },
|
function (args, special) { vimperator.bookmarks.list(args, special); },
|
||||||
{
|
{
|
||||||
usage: ["bmarks [filter]", "bmarks!"],
|
usage: ["bmarks [filter]", "bmarks!"],
|
||||||
short_help: "Show bookmarks",
|
short_help: "Show bookmarks",
|
||||||
@@ -344,11 +344,11 @@ vimperator.Commands = function() //{{{
|
|||||||
"The special version <code class=\"command\">:bmarks!</code> opens the default Firefox bookmarks window.<br/>" +
|
"The special version <code class=\"command\">:bmarks!</code> opens the default Firefox bookmarks window.<br/>" +
|
||||||
"The following options WILL be interpreted in the future:<br/>" +
|
"The following options WILL be interpreted in the future:<br/>" +
|
||||||
" -T comma,separated,tag,list<br/>",
|
" -T comma,separated,tag,list<br/>",
|
||||||
completer: function(filter) { return vimperator.completion.get_bookmark_completions(filter); }
|
completer: function (filter) { return vimperator.completion.get_bookmark_completions(filter); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["b[uffer]"],
|
addDefaultCommand(new vimperator.Command(["b[uffer]"],
|
||||||
function(args, special) { vimperator.buffer.switchTo(args, special); },
|
function (args, special) { vimperator.buffer.switchTo(args, special); },
|
||||||
{
|
{
|
||||||
usage: ["b[uffer][!] {url|index}"],
|
usage: ["b[uffer][!] {url|index}"],
|
||||||
short_help: "Go to buffer from buffer list",
|
short_help: "Go to buffer from buffer list",
|
||||||
@@ -357,11 +357,11 @@ vimperator.Commands = function() //{{{
|
|||||||
"it is selected. With <code class=\"argument\">[!]</code> the next buffer matching the argument " +
|
"it is selected. With <code class=\"argument\">[!]</code> the next buffer matching the argument " +
|
||||||
"is selected, even if it cannot be identified uniquely.<br/>" +
|
"is selected, even if it cannot be identified uniquely.<br/>" +
|
||||||
"Use <code class=\"mapping\">b</code> as a shortcut to open this prompt.",
|
"Use <code class=\"mapping\">b</code> as a shortcut to open this prompt.",
|
||||||
completer: function(filter) { return vimperator.completion.get_buffer_completions(filter); }
|
completer: function (filter) { return vimperator.completion.get_buffer_completions(filter); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["buffers", "files", "ls", "tabs"],
|
addDefaultCommand(new vimperator.Command(["buffers", "files", "ls", "tabs"],
|
||||||
function(args, special)
|
function (args, special)
|
||||||
{
|
{
|
||||||
if (args)
|
if (args)
|
||||||
{
|
{
|
||||||
@@ -379,7 +379,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["delbm[arks]"],
|
addDefaultCommand(new vimperator.Command(["delbm[arks]"],
|
||||||
function(args, special)
|
function (args, special)
|
||||||
{
|
{
|
||||||
var result = vimperator.bookmarks.parseBookmarkString(args);
|
var result = vimperator.bookmarks.parseBookmarkString(args);
|
||||||
|
|
||||||
@@ -403,11 +403,11 @@ vimperator.Commands = function() //{{{
|
|||||||
"The following options WILL be interpreted in the future:<br/>" +
|
"The following options WILL be interpreted in the future:<br/>" +
|
||||||
" [!] a special version to delete ALL bookmarks <br/>" +
|
" [!] a special version to delete ALL bookmarks <br/>" +
|
||||||
" -T comma,separated,tag,list <br/>",
|
" -T comma,separated,tag,list <br/>",
|
||||||
completer: function(filter) { return vimperator.completion.get_bookmark_completions(filter); }
|
completer: function (filter) { return vimperator.completion.get_bookmark_completions(filter); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["delm[arks]"],
|
addDefaultCommand(new vimperator.Command(["delm[arks]"],
|
||||||
function(args, special)
|
function (args, special)
|
||||||
{
|
{
|
||||||
if (!special && !args)
|
if (!special && !args)
|
||||||
{
|
{
|
||||||
@@ -460,7 +460,7 @@ vimperator.Commands = function() //{{{
|
|||||||
|
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["delqm[arks]"],
|
addDefaultCommand(new vimperator.Command(["delqm[arks]"],
|
||||||
function(args, special)
|
function (args, special)
|
||||||
{
|
{
|
||||||
// TODO: finish arg parsing - we really need a proper way to do this. :)
|
// TODO: finish arg parsing - we really need a proper way to do this. :)
|
||||||
if (!special && !args)
|
if (!special && !args)
|
||||||
@@ -489,7 +489,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["downl[oads]", "dl"],
|
addDefaultCommand(new vimperator.Command(["downl[oads]", "dl"],
|
||||||
function() { vimperator.open("chrome://mozapps/content/downloads/downloads.xul", vimperator.NEW_TAB); },
|
function () { vimperator.open("chrome://mozapps/content/downloads/downloads.xul", vimperator.NEW_TAB); },
|
||||||
{
|
{
|
||||||
short_help: "Show progress of current downloads",
|
short_help: "Show progress of current downloads",
|
||||||
help: "Open the original Firefox download dialog in a new tab.<br/>" +
|
help: "Open the original Firefox download dialog in a new tab.<br/>" +
|
||||||
@@ -525,7 +525,7 @@ vimperator.Commands = function() //{{{
|
|||||||
return arg;
|
return arg;
|
||||||
}
|
}
|
||||||
addDefaultCommand(new vimperator.Command(["ec[ho]"],
|
addDefaultCommand(new vimperator.Command(["ec[ho]"],
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
var res = argToString(args, true);
|
var res = argToString(args, true);
|
||||||
if (res != null)
|
if (res != null)
|
||||||
@@ -537,11 +537,11 @@ vimperator.Commands = function() //{{{
|
|||||||
help: "Useful for showing informational messages. Multiple lines can be separated by \\n.<br/>" +
|
help: "Useful for showing informational messages. Multiple lines can be separated by \\n.<br/>" +
|
||||||
"<code class=\"argument\">{expr}</code> can either be a quoted string, or any expression which can be fed to eval() like 4+5. " +
|
"<code class=\"argument\">{expr}</code> can either be a quoted string, or any expression which can be fed to eval() like 4+5. " +
|
||||||
"You can also view the source code of objects and functions if the return value of <code class=\"argument\">{expr}</code> is an object or function.",
|
"You can also view the source code of objects and functions if the return value of <code class=\"argument\">{expr}</code> is an object or function.",
|
||||||
completer: function(filter) { return vimperator.completion.javascript(filter); }
|
completer: function (filter) { return vimperator.completion.javascript(filter); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["echoe[rr]"],
|
addDefaultCommand(new vimperator.Command(["echoe[rr]"],
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
var res = argToString(args, false);
|
var res = argToString(args, false);
|
||||||
if (res != null)
|
if (res != null)
|
||||||
@@ -551,11 +551,11 @@ vimperator.Commands = function() //{{{
|
|||||||
usage: ["echoe[rr] {expr}"],
|
usage: ["echoe[rr] {expr}"],
|
||||||
short_help: "Display an error string at the bottom of the window",
|
short_help: "Display an error string at the bottom of the window",
|
||||||
help: "Just like <code class=\"command\">:ec[ho]</code>, but echoes the result highlighted in red. Useful for showing important messages.",
|
help: "Just like <code class=\"command\">:ec[ho]</code>, but echoes the result highlighted in red. Useful for showing important messages.",
|
||||||
completer: function(filter) { return vimperator.completion.javascript(filter); }
|
completer: function (filter) { return vimperator.completion.javascript(filter); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["exe[cute]"],
|
addDefaultCommand(new vimperator.Command(["exe[cute]"],
|
||||||
function(args) { vimperator.execute(args) },
|
function (args) { vimperator.execute(args) },
|
||||||
{
|
{
|
||||||
usage: ["exe[cute] {expr1} [ ... ]"],
|
usage: ["exe[cute] {expr1} [ ... ]"],
|
||||||
short_help: "Execute the string that results from the evaluation of {expr1} as an Ex command.",
|
short_help: "Execute the string that results from the evaluation of {expr1} as an Ex command.",
|
||||||
@@ -563,13 +563,13 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["exu[sage]"],
|
addDefaultCommand(new vimperator.Command(["exu[sage]"],
|
||||||
function(args, special, count, modifiers) { vimperator.help("commands", special, null, modifiers); },
|
function (args, special, count, modifiers) { vimperator.help("commands", special, null, modifiers); },
|
||||||
{
|
{
|
||||||
short_help: "Show help for Ex commands"
|
short_help: "Show help for Ex commands"
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["fo[rward]", "fw"],
|
addDefaultCommand(new vimperator.Command(["fo[rward]", "fw"],
|
||||||
function(args, special, count)
|
function (args, special, count)
|
||||||
{
|
{
|
||||||
if (special)
|
if (special)
|
||||||
vimperator.history.goToEnd();
|
vimperator.history.goToEnd();
|
||||||
@@ -595,7 +595,7 @@ vimperator.Commands = function() //{{{
|
|||||||
short_help: "Go forward in the browser history",
|
short_help: "Go forward in the browser history",
|
||||||
help: "Count is supported, <code class=\"command\">:3forward</code> goes forward 3 pages in the browser history.<br/>" +
|
help: "Count is supported, <code class=\"command\">:3forward</code> goes forward 3 pages in the browser history.<br/>" +
|
||||||
"The special version <code class=\"command\">:forward!</code> goes to the end of the browser history.",
|
"The special version <code class=\"command\">:forward!</code> goes to the end of the browser history.",
|
||||||
completer: function(filter)
|
completer: function (filter)
|
||||||
{
|
{
|
||||||
var sh = getWebNavigation().sessionHistory;
|
var sh = getWebNavigation().sessionHistory;
|
||||||
var completions = [];
|
var completions = [];
|
||||||
@@ -612,14 +612,14 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["ha[rdcopy]"],
|
addDefaultCommand(new vimperator.Command(["ha[rdcopy]"],
|
||||||
function() { getBrowser().contentWindow.print(); },
|
function () { getBrowser().contentWindow.print(); },
|
||||||
{
|
{
|
||||||
short_help: "Print current document",
|
short_help: "Print current document",
|
||||||
help: "Open a GUI dialog where you can select the printer, number of copies, orientation, etc."
|
help: "Open a GUI dialog where you can select the printer, number of copies, orientation, etc."
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["h[elp]"],
|
addDefaultCommand(new vimperator.Command(["h[elp]"],
|
||||||
function(args, special, count, modifiers) { vimperator.help(args, special, null, modifiers); },
|
function (args, special, count, modifiers) { vimperator.help(args, special, null, modifiers); },
|
||||||
{
|
{
|
||||||
usage: ["h[elp] {subject}"],
|
usage: ["h[elp] {subject}"],
|
||||||
short_help: "Open the help window",
|
short_help: "Open the help window",
|
||||||
@@ -631,21 +631,21 @@ vimperator.Commands = function() //{{{
|
|||||||
"<li><code class=\"command\">:help o</code> for mappings (no pre- or postfix)</li>" +
|
"<li><code class=\"command\">:help o</code> for mappings (no pre- or postfix)</li>" +
|
||||||
"</ul>" +
|
"</ul>" +
|
||||||
"You can however use partial stings in the tab completion, so <code class=\"command\">:help he<Tab></code> completes <code class=\"command\">:help :help</code>.",
|
"You can however use partial stings in the tab completion, so <code class=\"command\">:help he<Tab></code> completes <code class=\"command\">:help :help</code>.",
|
||||||
completer: function(filter) { return vimperator.completion.get_help_completions(filter); }
|
completer: function (filter) { return vimperator.completion.get_help_completions(filter); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["hist[ory]", "hs"],
|
addDefaultCommand(new vimperator.Command(["hist[ory]", "hs"],
|
||||||
function(args, special) { vimperator.history.list(args, special); },
|
function (args, special) { vimperator.history.list(args, special); },
|
||||||
{
|
{
|
||||||
usage: ["hist[ory] [filter]", "history!"],
|
usage: ["hist[ory] [filter]", "history!"],
|
||||||
short_help: "Show recently visited URLs",
|
short_help: "Show recently visited URLs",
|
||||||
help: "Open the message window at the bottom of the screen with all history items which match <code class=\"argument\">[filter]</code> either in the title or URL.<br/>" +
|
help: "Open the message window at the bottom of the screen with all history items which match <code class=\"argument\">[filter]</code> either in the title or URL.<br/>" +
|
||||||
"The special version <code class=\"command\">:history!</code> opens the default Firefox history window.",
|
"The special version <code class=\"command\">:history!</code> opens the default Firefox history window.",
|
||||||
completer: function(filter) { return vimperator.completion.get_history_completions(filter); }
|
completer: function (filter) { return vimperator.completion.get_history_completions(filter); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["javas[cript]", "js"],
|
addDefaultCommand(new vimperator.Command(["javas[cript]", "js"],
|
||||||
function(args, special)
|
function (args, special)
|
||||||
{
|
{
|
||||||
if (special) // open javascript console
|
if (special) // open javascript console
|
||||||
vimperator.open("chrome://global/content/console.xul", vimperator.NEW_TAB);
|
vimperator.open("chrome://global/content/console.xul", vimperator.NEW_TAB);
|
||||||
@@ -656,7 +656,7 @@ vimperator.Commands = function() //{{{
|
|||||||
if (matches && matches[2])
|
if (matches && matches[2])
|
||||||
{
|
{
|
||||||
vimperator.commandline.inputMultiline(new RegExp("^" + matches[2] + "$", "m"),
|
vimperator.commandline.inputMultiline(new RegExp("^" + matches[2] + "$", "m"),
|
||||||
function(code) {
|
function (code) {
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
eval(matches[1] + "\n" + code);
|
eval(matches[1] + "\n" + code);
|
||||||
@@ -690,11 +690,11 @@ vimperator.Commands = function() //{{{
|
|||||||
"Rudimentary <code class=\"mapping\"><Tab></code> completion is available for <code class=\"command\">:javascript {cmd}<Tab></code> (but not yet for the " +
|
"Rudimentary <code class=\"mapping\"><Tab></code> completion is available for <code class=\"command\">:javascript {cmd}<Tab></code> (but not yet for the " +
|
||||||
"<code class=\"command\">:js <<EOF</code> multiline widget). Be aware that Vimperator needs to run {cmd} through eval() " +
|
"<code class=\"command\">:js <<EOF</code> multiline widget). Be aware that Vimperator needs to run {cmd} through eval() " +
|
||||||
"to get the completions, which could have unwanted side effects.",
|
"to get the completions, which could have unwanted side effects.",
|
||||||
completer: function(filter) { return vimperator.completion.javascript(filter); }
|
completer: function (filter) { return vimperator.completion.javascript(filter); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["let"],
|
addDefaultCommand(new vimperator.Command(["let"],
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
if (!args)
|
if (!args)
|
||||||
{
|
{
|
||||||
@@ -803,7 +803,7 @@ vimperator.Commands = function() //{{{
|
|||||||
if (rhs)
|
if (rhs)
|
||||||
{
|
{
|
||||||
vimperator.mappings.add(new vimperator.Map(vimperator.modes.NORMAL, [lhs],
|
vimperator.mappings.add(new vimperator.Map(vimperator.modes.NORMAL, [lhs],
|
||||||
function(count) { vimperator.events.feedkeys((count > 1 ? count : "") + rhs, noremap); },
|
function (count) { vimperator.events.feedkeys((count > 1 ? count : "") + rhs, noremap); },
|
||||||
{ flags: vimperator.Mappings.flags.COUNT, rhs: rhs }
|
{ flags: vimperator.Mappings.flags.COUNT, rhs: rhs }
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
@@ -814,7 +814,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
addDefaultCommand(new vimperator.Command(["map"],
|
addDefaultCommand(new vimperator.Command(["map"],
|
||||||
function(args) { map(args, false) },
|
function (args) { map(args, false) },
|
||||||
{
|
{
|
||||||
usage: ["map {lhs} {rhs}", "map {lhs}", "map"],
|
usage: ["map {lhs} {rhs}", "map {lhs}", "map"],
|
||||||
short_help: "Map the key sequence {lhs} to {rhs}",
|
short_help: "Map the key sequence {lhs} to {rhs}",
|
||||||
@@ -823,7 +823,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["mapc[lear]"],
|
addDefaultCommand(new vimperator.Command(["mapc[lear]"],
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
if (args)
|
if (args)
|
||||||
{
|
{
|
||||||
@@ -840,7 +840,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["ma[rk]"],
|
addDefaultCommand(new vimperator.Command(["ma[rk]"],
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
if (!args)
|
if (!args)
|
||||||
{
|
{
|
||||||
@@ -866,7 +866,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["marks"],
|
addDefaultCommand(new vimperator.Command(["marks"],
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
// ignore invalid mark characters unless there are no valid mark chars
|
// ignore invalid mark characters unless there are no valid mark chars
|
||||||
if (args && !/[a-zA-Z]/.test(args))
|
if (args && !/[a-zA-Z]/.test(args))
|
||||||
@@ -885,7 +885,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["mkv[imperatorrc]"],
|
addDefaultCommand(new vimperator.Command(["mkv[imperatorrc]"],
|
||||||
function(args, special)
|
function (args, special)
|
||||||
{
|
{
|
||||||
var filename;
|
var filename;
|
||||||
|
|
||||||
@@ -937,7 +937,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["noh[lsearch]"],
|
addDefaultCommand(new vimperator.Command(["noh[lsearch]"],
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
vimperator.search.clear();
|
vimperator.search.clear();
|
||||||
},
|
},
|
||||||
@@ -948,7 +948,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["norm[al]"],
|
addDefaultCommand(new vimperator.Command(["norm[al]"],
|
||||||
function(args, special)
|
function (args, special)
|
||||||
{
|
{
|
||||||
if (!args)
|
if (!args)
|
||||||
{
|
{
|
||||||
@@ -967,7 +967,7 @@ vimperator.Commands = function() //{{{
|
|||||||
));
|
));
|
||||||
// TODO: remove duplication in :map
|
// TODO: remove duplication in :map
|
||||||
addDefaultCommand(new vimperator.Command(["no[remap]"],
|
addDefaultCommand(new vimperator.Command(["no[remap]"],
|
||||||
function(args) { map(args, true) },
|
function (args) { map(args, true) },
|
||||||
{
|
{
|
||||||
usage: ["no[remap] {lhs} {rhs}", "no[remap] {lhs}", "no[remap]"],
|
usage: ["no[remap] {lhs} {rhs}", "no[remap] {lhs}", "no[remap]"],
|
||||||
short_help: "Map the key sequence {lhs} to {rhs}",
|
short_help: "Map the key sequence {lhs} to {rhs}",
|
||||||
@@ -975,7 +975,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["o[pen]", "e[dit]"],
|
addDefaultCommand(new vimperator.Command(["o[pen]", "e[dit]"],
|
||||||
function(args, special)
|
function (args, special)
|
||||||
{
|
{
|
||||||
if (args)
|
if (args)
|
||||||
{
|
{
|
||||||
@@ -1014,7 +1014,7 @@ vimperator.Commands = function() //{{{
|
|||||||
"The items which are completed on <code class=\"mapping\"><Tab></code> are specified in the <code class=\"option\">'complete'</code> option.<br/>" +
|
"The items which are completed on <code class=\"mapping\"><Tab></code> are specified in the <code class=\"option\">'complete'</code> option.<br/>" +
|
||||||
"Without argument, reloads the current page.<br/>" +
|
"Without argument, reloads the current page.<br/>" +
|
||||||
"Without argument but with <code class=\"command\">!</code>, reloads the current page skipping the cache.",
|
"Without argument but with <code class=\"command\">!</code>, reloads the current page skipping the cache.",
|
||||||
completer: function(filter) { return vimperator.completion.get_url_completions(filter); }
|
completer: function (filter) { return vimperator.completion.get_url_completions(filter); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["pa[geinfo]"],
|
addDefaultCommand(new vimperator.Command(["pa[geinfo]"],
|
||||||
@@ -1025,13 +1025,13 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["pc[lose]"],
|
addDefaultCommand(new vimperator.Command(["pc[lose]"],
|
||||||
function() { vimperator.previewwindow.hide(); },
|
function () { vimperator.previewwindow.hide(); },
|
||||||
{
|
{
|
||||||
short_help: "Close preview window on bottom of screen"
|
short_help: "Close preview window on bottom of screen"
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["pref[erences]", "prefs"],
|
addDefaultCommand(new vimperator.Command(["pref[erences]", "prefs"],
|
||||||
function(args, special, count, modifiers)
|
function (args, special, count, modifiers)
|
||||||
{
|
{
|
||||||
if (!args)
|
if (!args)
|
||||||
{
|
{
|
||||||
@@ -1063,7 +1063,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["qma[rk]"],
|
addDefaultCommand(new vimperator.Command(["qma[rk]"],
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
if (!args)
|
if (!args)
|
||||||
{
|
{
|
||||||
@@ -1087,7 +1087,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["qmarks"],
|
addDefaultCommand(new vimperator.Command(["qmarks"],
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
// ignore invalid mark characters unless there are no valid mark chars
|
// ignore invalid mark characters unless there are no valid mark chars
|
||||||
if (args && !/[a-zA-Z0-9]/.test(args))
|
if (args && !/[a-zA-Z0-9]/.test(args))
|
||||||
@@ -1106,7 +1106,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["q[uit]"],
|
addDefaultCommand(new vimperator.Command(["q[uit]"],
|
||||||
function() { vimperator.tabs.remove(getBrowser().mCurrentTab, 1, false, 1); },
|
function () { vimperator.tabs.remove(getBrowser().mCurrentTab, 1, false, 1); },
|
||||||
{
|
{
|
||||||
short_help: "Quit current tab",
|
short_help: "Quit current tab",
|
||||||
help: "If this is the last tab in the window, close the window. If this was the " +
|
help: "If this is the last tab in the window, close the window. If this was the " +
|
||||||
@@ -1114,14 +1114,14 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["quita[ll]", "qa[ll]"],
|
addDefaultCommand(new vimperator.Command(["quita[ll]", "qa[ll]"],
|
||||||
function() { vimperator.quit(false); },
|
function () { vimperator.quit(false); },
|
||||||
{
|
{
|
||||||
short_help: "Quit Vimperator",
|
short_help: "Quit Vimperator",
|
||||||
help: "Quit Vimperator, no matter how many tabs/windows are open. The session is not stored."
|
help: "Quit Vimperator, no matter how many tabs/windows are open. The session is not stored."
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["re[load]"],
|
addDefaultCommand(new vimperator.Command(["re[load]"],
|
||||||
function(args, special) { vimperator.tabs.reload(getBrowser().mCurrentTab, special); },
|
function (args, special) { vimperator.tabs.reload(getBrowser().mCurrentTab, special); },
|
||||||
{
|
{
|
||||||
usage: ["re[load][!]"],
|
usage: ["re[load][!]"],
|
||||||
short_help: "Reload current page",
|
short_help: "Reload current page",
|
||||||
@@ -1129,7 +1129,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["reloada[ll]"],
|
addDefaultCommand(new vimperator.Command(["reloada[ll]"],
|
||||||
function(args, special) { vimperator.tabs.reloadAll(special); },
|
function (args, special) { vimperator.tabs.reloadAll(special); },
|
||||||
{
|
{
|
||||||
usage: ["reloada[ll][!]"],
|
usage: ["reloada[ll][!]"],
|
||||||
short_help: "Reload all pages",
|
short_help: "Reload all pages",
|
||||||
@@ -1137,14 +1137,14 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["res[tart]"],
|
addDefaultCommand(new vimperator.Command(["res[tart]"],
|
||||||
function() { vimperator.restart(); },
|
function () { vimperator.restart(); },
|
||||||
{
|
{
|
||||||
short_help: "Force the browser to restart",
|
short_help: "Force the browser to restart",
|
||||||
help: "Useful when installing extensions."
|
help: "Useful when installing extensions."
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["sav[eas]", "w[rite]"],
|
addDefaultCommand(new vimperator.Command(["sav[eas]", "w[rite]"],
|
||||||
function() { saveDocument(window.content.document); },
|
function () { saveDocument(window.content.document); },
|
||||||
{
|
{
|
||||||
short_help: "Save current web page to disk",
|
short_help: "Save current web page to disk",
|
||||||
help: "Opens the original Firefox \"Save page as...\" dialog.<br/>" +
|
help: "Opens the original Firefox \"Save page as...\" dialog.<br/>" +
|
||||||
@@ -1153,7 +1153,7 @@ vimperator.Commands = function() //{{{
|
|||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["se[t]"],
|
addDefaultCommand(new vimperator.Command(["se[t]"],
|
||||||
// TODO: support setting multiple options at once
|
// TODO: support setting multiple options at once
|
||||||
function(args, special, count, modifiers)
|
function (args, special, count, modifiers)
|
||||||
{
|
{
|
||||||
if (special)
|
if (special)
|
||||||
{
|
{
|
||||||
@@ -1362,12 +1362,12 @@ vimperator.Commands = function() //{{{
|
|||||||
"<code class=\"command\">:set option+={value}</code>, <code class=\"command\">:set option^={value}</code> and <code class=\"command\">:set option-={value}</code> " +
|
"<code class=\"command\">:set option+={value}</code>, <code class=\"command\">:set option^={value}</code> and <code class=\"command\">:set option-={value}</code> " +
|
||||||
"adds/multiplies/subtracts <code class=\"argument\">{value}</code> from a number option and appends/prepends/removes <code class=\"argument\">{value}</code> from a string option.<br/>" +
|
"adds/multiplies/subtracts <code class=\"argument\">{value}</code> from a number option and appends/prepends/removes <code class=\"argument\">{value}</code> from a string option.<br/>" +
|
||||||
"<code class=\"command\">:set all</code> shows the current value of all options and <code class=\"command\">:set all&</code> resets all options to their default values.<br/>",
|
"<code class=\"command\">:set all</code> shows the current value of all options and <code class=\"command\">:set all&</code> resets all options to their default values.<br/>",
|
||||||
completer: function(filter) { return vimperator.completion.get_options_completions(filter); }
|
completer: function (filter) { return vimperator.completion.get_options_completions(filter); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
// TODO: sclose instead?
|
// TODO: sclose instead?
|
||||||
addDefaultCommand(new vimperator.Command(["sbcl[ose]"],
|
addDefaultCommand(new vimperator.Command(["sbcl[ose]"],
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
if (args)
|
if (args)
|
||||||
{
|
{
|
||||||
@@ -1385,7 +1385,7 @@ vimperator.Commands = function() //{{{
|
|||||||
// TODO: sopen instead? Separate :sidebar from :sbopen and make them behave
|
// TODO: sopen instead? Separate :sidebar from :sbopen and make them behave
|
||||||
// more like :cw, :cope etc
|
// more like :cw, :cope etc
|
||||||
addDefaultCommand(new vimperator.Command(["sideb[ar]", "sb[ar]", "sbope[n]"],
|
addDefaultCommand(new vimperator.Command(["sideb[ar]", "sb[ar]", "sbope[n]"],
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
if (!args)
|
if (!args)
|
||||||
{
|
{
|
||||||
@@ -1413,11 +1413,11 @@ vimperator.Commands = function() //{{{
|
|||||||
short_help: "Open the sidebar window",
|
short_help: "Open the sidebar window",
|
||||||
help: "<code class=\"argument\">{name}</code> is any of the menu items listed under the standard Firefox View->Sidebar " +
|
help: "<code class=\"argument\">{name}</code> is any of the menu items listed under the standard Firefox View->Sidebar " +
|
||||||
"menu. Add-ons, Preferences and Downloads are also available in the sidebar.",
|
"menu. Add-ons, Preferences and Downloads are also available in the sidebar.",
|
||||||
completer: function(filter) { return vimperator.completion.get_sidebar_completions(filter); }
|
completer: function (filter) { return vimperator.completion.get_sidebar_completions(filter); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["so[urce]"],
|
addDefaultCommand(new vimperator.Command(["so[urce]"],
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
// FIXME: implement proper filename quoting
|
// FIXME: implement proper filename quoting
|
||||||
//if (/[^\\]\s/.test(args))
|
//if (/[^\\]\s/.test(args))
|
||||||
@@ -1433,14 +1433,14 @@ vimperator.Commands = function() //{{{
|
|||||||
short_help: "Read Ex commands from {file}",
|
short_help: "Read Ex commands from {file}",
|
||||||
help: "You can either source files which mostly contain Ex commands like <code class=\"command\">map < gt</code> " +
|
help: "You can either source files which mostly contain Ex commands like <code class=\"command\">map < gt</code> " +
|
||||||
"and put JavaScript code within a:<br/><code class=\"code\">" +
|
"and put JavaScript code within a:<br/><code class=\"code\">" +
|
||||||
"js <<EOF<br/>hello = function() {<br/> alert(\"Hello world\");<br/>}<br/>EOF<br/></code> section.<br/>" +
|
"js <<EOF<br/>hello = function () {<br/> alert(\"Hello world\");<br/>}<br/>EOF<br/></code> section.<br/>" +
|
||||||
"Or you can alternatively source a file which ends in .js, these files are automatically sourced as pure JavaScript files.<br/>" +
|
"Or you can alternatively source a file which ends in .js, these files are automatically sourced as pure JavaScript files.<br/>" +
|
||||||
"NOTE: In both cases you must add functions to the global window object like shown above, functions written as:<br/>" +
|
"NOTE: In both cases you must add functions to the global window object like shown above, functions written as:<br/>" +
|
||||||
"<code class=\"code\">function hello2() {<br/> alert(\"Hello world\");<br/>}<br/></code>are only available within the scope of the script. <br/><br/>" +
|
"<code class=\"code\">function hello2() {<br/> alert(\"Hello world\");<br/>}<br/></code>are only available within the scope of the script. <br/><br/>" +
|
||||||
"The .vimperatorrc file in your home directory and any files in ~/.vimperator/plugin/ are always sourced at startup.<br/>" +
|
"The .vimperatorrc file in your home directory and any files in ~/.vimperator/plugin/ are always sourced at startup.<br/>" +
|
||||||
"~ is supported as a shortcut for the <var>$HOME</var> directory.<br/>" +
|
"~ is supported as a shortcut for the <var>$HOME</var> directory.<br/>" +
|
||||||
"If <code class=\"command\">!</code> is specified, errors are not printed.",
|
"If <code class=\"command\">!</code> is specified, errors are not printed.",
|
||||||
completer: function(filter) { return vimperator.completion.get_file_completions(filter); }
|
completer: function (filter) { return vimperator.completion.get_file_completions(filter); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["st[op]"],
|
addDefaultCommand(new vimperator.Command(["st[op]"],
|
||||||
@@ -1451,24 +1451,24 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["tab"],
|
addDefaultCommand(new vimperator.Command(["tab"],
|
||||||
function(args) { vimperator.execute(args, { inTab: true }); },
|
function (args) { vimperator.execute(args, { inTab: true }); },
|
||||||
{
|
{
|
||||||
usage: ["tab {cmd}"],
|
usage: ["tab {cmd}"],
|
||||||
short_help: "Execute {cmd} and tell it to output in a new tab",
|
short_help: "Execute {cmd} and tell it to output in a new tab",
|
||||||
help: "Works only for commands that support it, currently:" +
|
help: "Works only for commands that support it, currently:" +
|
||||||
"<ul><li>:tab help</li>" +
|
"<ul><li>:tab help</li>" +
|
||||||
"<li>:tab prefs[!]</li></ul>",
|
"<li>:tab prefs[!]</li></ul>",
|
||||||
completer: function(filter) { return vimperator.completion.get_command_completions(filter); }
|
completer: function (filter) { return vimperator.completion.get_command_completions(filter); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["tabl[ast]"],
|
addDefaultCommand(new vimperator.Command(["tabl[ast]"],
|
||||||
function() { vimperator.tabs.select("$", false); },
|
function () { vimperator.tabs.select("$", false); },
|
||||||
{
|
{
|
||||||
short_help: "Switch to the last tab"
|
short_help: "Switch to the last tab"
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["tabm[ove]"],
|
addDefaultCommand(new vimperator.Command(["tabm[ove]"],
|
||||||
function(args, special) { vimperator.tabs.move(getBrowser().mCurrentTab, args, special); },
|
function (args, special) { vimperator.tabs.move(getBrowser().mCurrentTab, args, special); },
|
||||||
{
|
{
|
||||||
usage: ["tabm[ove] [N]", "tabm[ove][!] +N | -N"],
|
usage: ["tabm[ove] [N]", "tabm[ove][!] +N | -N"],
|
||||||
short_help: "Move the current tab after tab N",
|
short_help: "Move the current tab after tab N",
|
||||||
@@ -1478,7 +1478,7 @@ vimperator.Commands = function() //{{{
|
|||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["tabn[ext]", "tn[ext]"],
|
addDefaultCommand(new vimperator.Command(["tabn[ext]", "tn[ext]"],
|
||||||
// TODO: count support
|
// TODO: count support
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
if (!args)
|
if (!args)
|
||||||
{
|
{
|
||||||
@@ -1504,13 +1504,13 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["tabo[nly]"],
|
addDefaultCommand(new vimperator.Command(["tabo[nly]"],
|
||||||
function() { vimperator.tabs.keepOnly(getBrowser().mCurrentTab); },
|
function () { vimperator.tabs.keepOnly(getBrowser().mCurrentTab); },
|
||||||
{
|
{
|
||||||
short_help: "Close all other tabs"
|
short_help: "Close all other tabs"
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["tabopen", "t[open]", "tabnew", "tabe[dit]"],
|
addDefaultCommand(new vimperator.Command(["tabopen", "t[open]", "tabnew", "tabe[dit]"],
|
||||||
function(args, special)
|
function (args, special)
|
||||||
{
|
{
|
||||||
var where = special ? vimperator.NEW_TAB : vimperator.NEW_BACKGROUND_TAB;
|
var where = special ? vimperator.NEW_TAB : vimperator.NEW_BACKGROUND_TAB;
|
||||||
if (/\btabopen\b/.test(vimperator.options["activate"]))
|
if (/\btabopen\b/.test(vimperator.options["activate"]))
|
||||||
@@ -1526,12 +1526,12 @@ vimperator.Commands = function() //{{{
|
|||||||
short_help: "Open one or more URLs in a new tab",
|
short_help: "Open one or more URLs in a new tab",
|
||||||
help: "Like <code class=\"command\">:open</code> but open URLs in a new tab.<br/>" +
|
help: "Like <code class=\"command\">:open</code> but open URLs in a new tab.<br/>" +
|
||||||
"If used with <code class=\"command\">!</code>, the 'tabopen' value of the <code class=\"option\">'activate'</code> option is negated.",
|
"If used with <code class=\"command\">!</code>, the 'tabopen' value of the <code class=\"option\">'activate'</code> option is negated.",
|
||||||
completer: function(filter) { return vimperator.completion.get_url_completions(filter); }
|
completer: function (filter) { return vimperator.completion.get_url_completions(filter); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["tabp[revious]", "tp[revious]", "tabN[ext]", "tN[ext]"],
|
addDefaultCommand(new vimperator.Command(["tabp[revious]", "tp[revious]", "tabN[ext]", "tN[ext]"],
|
||||||
// TODO: count support
|
// TODO: count support
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
if (!args)
|
if (!args)
|
||||||
vimperator.tabs.select("-1", true);
|
vimperator.tabs.select("-1", true);
|
||||||
@@ -1547,14 +1547,14 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["tabr[ewind]", "tabfir[st]"],
|
addDefaultCommand(new vimperator.Command(["tabr[ewind]", "tabfir[st]"],
|
||||||
function() { vimperator.tabs.select(0, false); },
|
function () { vimperator.tabs.select(0, false); },
|
||||||
{
|
{
|
||||||
usage: ["tabr[ewind]", "tabfir[st]"],
|
usage: ["tabr[ewind]", "tabfir[st]"],
|
||||||
short_help: "Switch to the first tab"
|
short_help: "Switch to the first tab"
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["time"],
|
addDefaultCommand(new vimperator.Command(["time"],
|
||||||
function(args, special, count)
|
function (args, special, count)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -1645,7 +1645,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["u[ndo]"],
|
addDefaultCommand(new vimperator.Command(["u[ndo]"],
|
||||||
function(args, special, count)
|
function (args, special, count)
|
||||||
{
|
{
|
||||||
if (count < 1)
|
if (count < 1)
|
||||||
count = 1;
|
count = 1;
|
||||||
@@ -1670,7 +1670,7 @@ vimperator.Commands = function() //{{{
|
|||||||
short_help: "Undo closing of a tab",
|
short_help: "Undo closing of a tab",
|
||||||
help: "If a count is given, don't close the last but the <code class=\"argument\">[count]</code>th last tab. " +
|
help: "If a count is given, don't close the last but the <code class=\"argument\">[count]</code>th last tab. " +
|
||||||
"With <code class=\"argument\">[url]</code> restores the tab matching the url.",
|
"With <code class=\"argument\">[url]</code> restores the tab matching the url.",
|
||||||
completer: function(filter)
|
completer: function (filter)
|
||||||
{
|
{
|
||||||
// get closed-tabs from nsSessionStore
|
// get closed-tabs from nsSessionStore
|
||||||
var ss = Cc["@mozilla.org/browser/sessionstore;1"].getService(Ci.nsISessionStore);
|
var ss = Cc["@mozilla.org/browser/sessionstore;1"].getService(Ci.nsISessionStore);
|
||||||
@@ -1689,7 +1689,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["undoa[ll]"],
|
addDefaultCommand(new vimperator.Command(["undoa[ll]"],
|
||||||
function(args, special, count)
|
function (args, special, count)
|
||||||
{
|
{
|
||||||
if (count > -1)
|
if (count > -1)
|
||||||
{
|
{
|
||||||
@@ -1713,7 +1713,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["unl[et]"],
|
addDefaultCommand(new vimperator.Command(["unl[et]"],
|
||||||
function(args, special)
|
function (args, special)
|
||||||
{
|
{
|
||||||
if (!args)
|
if (!args)
|
||||||
return vimperator.echoerr("E471: Argument required");
|
return vimperator.echoerr("E471: Argument required");
|
||||||
@@ -1742,7 +1742,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["unm[ap]"],
|
addDefaultCommand(new vimperator.Command(["unm[ap]"],
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
if (!args)
|
if (!args)
|
||||||
{
|
{
|
||||||
@@ -1764,7 +1764,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["ve[rsion]"],
|
addDefaultCommand(new vimperator.Command(["ve[rsion]"],
|
||||||
function(args, special)
|
function (args, special)
|
||||||
{
|
{
|
||||||
if (special)
|
if (special)
|
||||||
vimperator.open("about:");
|
vimperator.open("about:");
|
||||||
@@ -1779,13 +1779,13 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["viu[sage]"],
|
addDefaultCommand(new vimperator.Command(["viu[sage]"],
|
||||||
function(args, special, count, modifiers) { vimperator.help("mappings", special, null, modifiers); },
|
function (args, special, count, modifiers) { vimperator.help("mappings", special, null, modifiers); },
|
||||||
{
|
{
|
||||||
short_help: "Show help for normal mode commands"
|
short_help: "Show help for normal mode commands"
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["winc[lose]", "wc[lose]"],
|
addDefaultCommand(new vimperator.Command(["winc[lose]", "wc[lose]"],
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
window.close();
|
window.close();
|
||||||
},
|
},
|
||||||
@@ -1795,7 +1795,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["wino[pen]", "wo[pen]", "wine[dit]"],
|
addDefaultCommand(new vimperator.Command(["wino[pen]", "wo[pen]", "wine[dit]"],
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
if (args)
|
if (args)
|
||||||
vimperator.open(args, vimperator.NEW_WINDOW);
|
vimperator.open(args, vimperator.NEW_WINDOW);
|
||||||
@@ -1809,7 +1809,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["wqa[ll]", "wq", "xa[ll]"],
|
addDefaultCommand(new vimperator.Command(["wqa[ll]", "wq", "xa[ll]"],
|
||||||
function() { vimperator.quit(true); },
|
function () { vimperator.quit(true); },
|
||||||
{
|
{
|
||||||
usage: ["wqa[ll]", "xa[ll]"],
|
usage: ["wqa[ll]", "xa[ll]"],
|
||||||
short_help: "Save the session and quit",
|
short_help: "Save the session and quit",
|
||||||
@@ -1818,7 +1818,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["zo[om]"],
|
addDefaultCommand(new vimperator.Command(["zo[om]"],
|
||||||
function(args)
|
function (args)
|
||||||
{
|
{
|
||||||
var level;
|
var level;
|
||||||
|
|
||||||
@@ -1863,7 +1863,7 @@ vimperator.Commands = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultCommand(new vimperator.Command(["!", "run"],
|
addDefaultCommand(new vimperator.Command(["!", "run"],
|
||||||
function(args, special)
|
function (args, special)
|
||||||
{
|
{
|
||||||
// :!! needs to be treated specially as the command parser sets the special flag but removes the ! from args
|
// :!! needs to be treated specially as the command parser sets the special flag but removes the ! from args
|
||||||
if (special)
|
if (special)
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ the provisions above, a recipient may use your version of this file under
|
|||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
the terms of any one of the MPL, the GPL or the LGPL.
|
||||||
}}} ***** END LICENSE BLOCK *****/
|
}}} ***** END LICENSE BLOCK *****/
|
||||||
|
|
||||||
vimperator.Completion = function() // {{{
|
vimperator.Completion = function () // {{{
|
||||||
{
|
{
|
||||||
// The completion substrings, used for showing the longest common match
|
// The completion substrings, used for showing the longest common match
|
||||||
var g_substrings = [];
|
var g_substrings = [];
|
||||||
@@ -63,7 +63,7 @@ vimperator.Completion = function() // {{{
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
g_substrings = g_substrings.filter(function($_) {
|
g_substrings = g_substrings.filter(function ($_) {
|
||||||
return list[i][0][j].indexOf($_) >= 0;
|
return list[i][0][j].indexOf($_) >= 0;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -93,7 +93,7 @@ vimperator.Completion = function() // {{{
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
g_substrings = g_substrings.filter(function($_) {
|
g_substrings = g_substrings.filter(function ($_) {
|
||||||
return list[i][0][j].indexOf($_) == 0;
|
return list[i][0][j].indexOf($_) == 0;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -112,7 +112,7 @@ vimperator.Completion = function() // {{{
|
|||||||
// list them add the end of the array
|
// list them add the end of the array
|
||||||
var additional_completions = [];
|
var additional_completions = [];
|
||||||
|
|
||||||
if (!filter) return urls.map(function($_) {
|
if (!filter) return urls.map(function ($_) {
|
||||||
return [$_[0], $_[1]]
|
return [$_[0], $_[1]]
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -153,7 +153,7 @@ vimperator.Completion = function() // {{{
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
g_substrings = g_substrings.filter(function($_) {
|
g_substrings = g_substrings.filter(function ($_) {
|
||||||
return url.indexOf($_) >= 0;
|
return url.indexOf($_) >= 0;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -168,7 +168,7 @@ vimperator.Completion = function() // {{{
|
|||||||
* returns the longest common substring
|
* returns the longest common substring
|
||||||
* used for the 'longest' setting for wildmode
|
* used for the 'longest' setting for wildmode
|
||||||
*/
|
*/
|
||||||
get_longest_substring: function() //{{{
|
get_longest_substring: function () //{{{
|
||||||
{
|
{
|
||||||
if (g_substrings.length == 0)
|
if (g_substrings.length == 0)
|
||||||
return "";
|
return "";
|
||||||
@@ -189,7 +189,7 @@ vimperator.Completion = function() // {{{
|
|||||||
* depending on the 'complete' option
|
* depending on the 'complete' option
|
||||||
* if the 'complete' argument is passed like "h", it temporarily overrides the complete option
|
* if the 'complete' argument is passed like "h", it temporarily overrides the complete option
|
||||||
*/
|
*/
|
||||||
get_url_completions: function(filter, complete) //{{{
|
get_url_completions: function (filter, complete) //{{{
|
||||||
{
|
{
|
||||||
var completions = [];
|
var completions = [];
|
||||||
g_substrings = [];
|
g_substrings = [];
|
||||||
@@ -211,33 +211,33 @@ vimperator.Completion = function() // {{{
|
|||||||
return completions;
|
return completions;
|
||||||
}, //}}}
|
}, //}}}
|
||||||
|
|
||||||
get_search_completions: function(filter) //{{{
|
get_search_completions: function (filter) //{{{
|
||||||
{
|
{
|
||||||
var engines = vimperator.bookmarks.getSearchEngines().concat(vimperator.bookmarks.getKeywords());
|
var engines = vimperator.bookmarks.getSearchEngines().concat(vimperator.bookmarks.getKeywords());
|
||||||
|
|
||||||
if (!filter) return engines.map(function(engine) {
|
if (!filter) return engines.map(function (engine) {
|
||||||
return [engine[0], engine[1]];
|
return [engine[0], engine[1]];
|
||||||
});
|
});
|
||||||
var mapped = engines.map(function(engine) {
|
var mapped = engines.map(function (engine) {
|
||||||
return [[engine[0]], engine[1]];
|
return [[engine[0]], engine[1]];
|
||||||
});
|
});
|
||||||
return build_longest_common_substring(mapped, filter);
|
return build_longest_common_substring(mapped, filter);
|
||||||
}, //}}}
|
}, //}}}
|
||||||
|
|
||||||
get_history_completions: function(filter) //{{{
|
get_history_completions: function (filter) //{{{
|
||||||
{
|
{
|
||||||
var items = vimperator.history.get();
|
var items = vimperator.history.get();
|
||||||
return filter_url_array(items, filter);
|
return filter_url_array(items, filter);
|
||||||
}, //}}}
|
}, //}}}
|
||||||
|
|
||||||
get_bookmark_completions: function(filter) //{{{
|
get_bookmark_completions: function (filter) //{{{
|
||||||
{
|
{
|
||||||
var bookmarks = vimperator.bookmarks.get();
|
var bookmarks = vimperator.bookmarks.get();
|
||||||
return filter_url_array(bookmarks, filter);
|
return filter_url_array(bookmarks, filter);
|
||||||
}, //}}}
|
}, //}}}
|
||||||
|
|
||||||
// TODO: support file:// and \ or / path separators on both platforms
|
// TODO: support file:// and \ or / path separators on both platforms
|
||||||
get_file_completions: function(filter)
|
get_file_completions: function (filter)
|
||||||
{
|
{
|
||||||
// this is now also used as part of the url completion, so the
|
// this is now also used as part of the url completion, so the
|
||||||
// substrings shouldn't be cleared for that case
|
// substrings shouldn't be cleared for that case
|
||||||
@@ -256,7 +256,7 @@ vimperator.Completion = function() // {{{
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
files = vimperator.io.readDirectory(dir);
|
files = vimperator.io.readDirectory(dir);
|
||||||
mapped = files.map(function(file) {
|
mapped = files.map(function (file) {
|
||||||
return [[file.path], file.isDirectory() ? "Directory" : "File"];
|
return [[file.path], file.isDirectory() ? "Directory" : "File"];
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -269,7 +269,7 @@ vimperator.Completion = function() // {{{
|
|||||||
return build_longest_starting_substring(mapped, filter);
|
return build_longest_starting_substring(mapped, filter);
|
||||||
},
|
},
|
||||||
|
|
||||||
get_help_completions: function(filter) //{{{
|
get_help_completions: function (filter) //{{{
|
||||||
{
|
{
|
||||||
var help_array = [[["introduction"], "Introductory text"],
|
var help_array = [[["introduction"], "Introductory text"],
|
||||||
[["initialization"], "Initialization and startup"],
|
[["initialization"], "Initialization and startup"],
|
||||||
@@ -278,25 +278,25 @@ vimperator.Completion = function() // {{{
|
|||||||
[["options"], "Configuration options"]]; // TODO: hardcoded until we have proper 'pages'
|
[["options"], "Configuration options"]]; // TODO: hardcoded until we have proper 'pages'
|
||||||
g_substrings = [];
|
g_substrings = [];
|
||||||
for (var command in vimperator.commands)
|
for (var command in vimperator.commands)
|
||||||
help_array.push([command.long_names.map(function($_) { return ":" + $_; }), command.short_help]);
|
help_array.push([command.long_names.map(function ($_) { return ":" + $_; }), command.short_help]);
|
||||||
options = this.get_options_completions(filter, true);
|
options = this.get_options_completions(filter, true);
|
||||||
help_array = help_array.concat(options.map(function($_) {
|
help_array = help_array.concat(options.map(function ($_) {
|
||||||
return [
|
return [
|
||||||
$_[0].map(function($_) { return "'" + $_ + "'"; }),
|
$_[0].map(function ($_) { return "'" + $_ + "'"; }),
|
||||||
$_[1]
|
$_[1]
|
||||||
];
|
];
|
||||||
}));
|
}));
|
||||||
for (var map in vimperator.mappings)
|
for (var map in vimperator.mappings)
|
||||||
help_array.push([map.names, map.short_help]);
|
help_array.push([map.names, map.short_help]);
|
||||||
|
|
||||||
if (!filter) return help_array.map(function($_) {
|
if (!filter) return help_array.map(function ($_) {
|
||||||
return [$_[0][0], $_[1]]; // unfiltered, use the first command
|
return [$_[0][0], $_[1]]; // unfiltered, use the first command
|
||||||
});
|
});
|
||||||
|
|
||||||
return build_longest_common_substring(help_array, filter);
|
return build_longest_common_substring(help_array, filter);
|
||||||
}, //}}}
|
}, //}}}
|
||||||
|
|
||||||
get_command_completions: function(filter) //{{{
|
get_command_completions: function (filter) //{{{
|
||||||
{
|
{
|
||||||
g_substrings = [];
|
g_substrings = [];
|
||||||
var completions = [];
|
var completions = [];
|
||||||
@@ -312,7 +312,7 @@ vimperator.Completion = function() // {{{
|
|||||||
return build_longest_starting_substring(completions, filter);
|
return build_longest_starting_substring(completions, filter);
|
||||||
}, //}}}
|
}, //}}}
|
||||||
|
|
||||||
get_options_completions: function(filter, unfiltered) //{{{
|
get_options_completions: function (filter, unfiltered) //{{{
|
||||||
{
|
{
|
||||||
g_substrings = [];
|
g_substrings = [];
|
||||||
var options_completions = [];
|
var options_completions = [];
|
||||||
@@ -379,7 +379,7 @@ vimperator.Completion = function() // {{{
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
g_substrings = g_substrings.filter(function($_) {
|
g_substrings = g_substrings.filter(function ($_) {
|
||||||
return option.names[j].indexOf($_) == 0;
|
return option.names[j].indexOf($_) == 0;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -391,7 +391,7 @@ vimperator.Completion = function() // {{{
|
|||||||
return options_completions;
|
return options_completions;
|
||||||
}, //}}}
|
}, //}}}
|
||||||
|
|
||||||
get_buffer_completions: function(filter) //{{{
|
get_buffer_completions: function (filter) //{{{
|
||||||
{
|
{
|
||||||
g_substrings = [];
|
g_substrings = [];
|
||||||
var items = [];
|
var items = [];
|
||||||
@@ -421,13 +421,13 @@ vimperator.Completion = function() // {{{
|
|||||||
items.push([[(i + 1) + ": " + title, (i + 1) + ": " + url], url]);
|
items.push([[(i + 1) + ": " + title, (i + 1) + ": " + url], url]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!filter) return items.map(function($_) {
|
if (!filter) return items.map(function ($_) {
|
||||||
return [$_[0][0], $_[1]];
|
return [$_[0][0], $_[1]];
|
||||||
});
|
});
|
||||||
return build_longest_common_substring(items, filter);
|
return build_longest_common_substring(items, filter);
|
||||||
}, //}}}
|
}, //}}}
|
||||||
|
|
||||||
get_sidebar_completions: function(filter) //{{{
|
get_sidebar_completions: function (filter) //{{{
|
||||||
{
|
{
|
||||||
g_substrings = [];
|
g_substrings = [];
|
||||||
var menu = document.getElementById("viewSidebarMenu")
|
var menu = document.getElementById("viewSidebarMenu")
|
||||||
@@ -439,20 +439,20 @@ vimperator.Completion = function() // {{{
|
|||||||
if (!filter)
|
if (!filter)
|
||||||
return nodes;
|
return nodes;
|
||||||
|
|
||||||
var mapped = nodes.map(function(node) {
|
var mapped = nodes.map(function (node) {
|
||||||
return [[node[0]], node[1]];
|
return [[node[0]], node[1]];
|
||||||
});
|
});
|
||||||
|
|
||||||
return build_longest_common_substring(mapped, filter);
|
return build_longest_common_substring(mapped, filter);
|
||||||
}, //}}}
|
}, //}}}
|
||||||
|
|
||||||
javascript: function(str) // {{{
|
javascript: function (str) // {{{
|
||||||
{
|
{
|
||||||
g_substrings = [];
|
g_substrings = [];
|
||||||
var matches = str.match(/^(.*?)(\s*\.\s*)?(\w*)$/);
|
var matches = str.match(/^(.*?)(\s*\.\s*)?(\w*)$/);
|
||||||
var object = "window";
|
var object = "window";
|
||||||
var filter = matches[3] || "";
|
var filter = matches[3] || "";
|
||||||
var start = matches[1].length-1;
|
var start = matches[1].length - 1;
|
||||||
if (matches[2])
|
if (matches[2])
|
||||||
{
|
{
|
||||||
var brackets = 0, parentheses = 0;
|
var brackets = 0, parentheses = 0;
|
||||||
@@ -520,7 +520,7 @@ vimperator.Completion = function() // {{{
|
|||||||
// helper function which checks if the given arguments pass "filter"
|
// helper function which checks if the given arguments pass "filter"
|
||||||
// items must be an array of strings
|
// items must be an array of strings
|
||||||
// if case_sensitive == true, be sure to pass filter already in lowercased version
|
// if case_sensitive == true, be sure to pass filter already in lowercased version
|
||||||
match: function(filter, items, case_sensitive)
|
match: function (filter, items, case_sensitive)
|
||||||
{
|
{
|
||||||
if (typeof(filter) != "string" || !items)
|
if (typeof(filter) != "string" || !items)
|
||||||
return false;
|
return false;
|
||||||
@@ -544,7 +544,7 @@ vimperator.Completion = function() // {{{
|
|||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
|
||||||
exTabCompletion: function(str) //{{{
|
exTabCompletion: function (str) //{{{
|
||||||
{
|
{
|
||||||
var [count, cmd, special, args] = vimperator.commands.parseCommand(str);
|
var [count, cmd, special, args] = vimperator.commands.parseCommand(str);
|
||||||
var completions = [];
|
var completions = [];
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ the provisions above, a recipient may use your version of this file under
|
|||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
the terms of any one of the MPL, the GPL or the LGPL.
|
||||||
}}} ***** END LICENSE BLOCK *****/
|
}}} ***** END LICENSE BLOCK *****/
|
||||||
|
|
||||||
vimperator.Events = function() //{{{
|
vimperator.Events = function () //{{{
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
||||||
@@ -35,23 +35,23 @@ vimperator.Events = function() //{{{
|
|||||||
// this handler is for middle click only in the content
|
// this handler is for middle click only in the content
|
||||||
//window.addEventListener("mousedown", onVimperatorKeypress, true);
|
//window.addEventListener("mousedown", onVimperatorKeypress, true);
|
||||||
//content.mPanelContainer.addEventListener("mousedown", onVimperatorKeypress, true);
|
//content.mPanelContainer.addEventListener("mousedown", onVimperatorKeypress, true);
|
||||||
//document.getElementById("content").onclick = function(event) { alert("foo"); };
|
//document.getElementById("content").onclick = function (event) { alert("foo"); };
|
||||||
|
|
||||||
// any tab related events
|
// any tab related events
|
||||||
var tabcontainer = getBrowser().tabContainer;
|
var tabcontainer = getBrowser().tabContainer;
|
||||||
tabcontainer.addEventListener("TabMove", function(event) {
|
tabcontainer.addEventListener("TabMove", function (event) {
|
||||||
vimperator.statusline.updateTabCount();
|
vimperator.statusline.updateTabCount();
|
||||||
vimperator.buffer.updateBufferList();
|
vimperator.buffer.updateBufferList();
|
||||||
}, false);
|
}, false);
|
||||||
tabcontainer.addEventListener("TabOpen", function(event) {
|
tabcontainer.addEventListener("TabOpen", function (event) {
|
||||||
vimperator.statusline.updateTabCount();
|
vimperator.statusline.updateTabCount();
|
||||||
vimperator.buffer.updateBufferList();
|
vimperator.buffer.updateBufferList();
|
||||||
}, false);
|
}, false);
|
||||||
tabcontainer.addEventListener("TabClose", function(event) {
|
tabcontainer.addEventListener("TabClose", function (event) {
|
||||||
vimperator.statusline.updateTabCount();
|
vimperator.statusline.updateTabCount();
|
||||||
vimperator.buffer.updateBufferList();
|
vimperator.buffer.updateBufferList();
|
||||||
}, false);
|
}, false);
|
||||||
tabcontainer.addEventListener("TabSelect", function(event) {
|
tabcontainer.addEventListener("TabSelect", function (event) {
|
||||||
vimperator.commandline.clear();
|
vimperator.commandline.clear();
|
||||||
vimperator.setMode(); // trick to reshow the mode in the command line
|
vimperator.setMode(); // trick to reshow the mode in the command line
|
||||||
vimperator.statusline.updateTabCount();
|
vimperator.statusline.updateTabCount();
|
||||||
@@ -103,7 +103,7 @@ vimperator.Events = function() //{{{
|
|||||||
window.addEventListener("DOMMenuBarActive", enterMenuMode, true);
|
window.addEventListener("DOMMenuBarActive", enterMenuMode, true);
|
||||||
window.addEventListener("DOMMenuBarInactive", exitMenuMode, true);
|
window.addEventListener("DOMMenuBarInactive", exitMenuMode, true);
|
||||||
|
|
||||||
// window.document.addEventListener("DOMTitleChanged", function(event)
|
// window.document.addEventListener("DOMTitleChanged", function (event)
|
||||||
// {
|
// {
|
||||||
// vimperator.log("titlechanged");
|
// vimperator.log("titlechanged");
|
||||||
// }, null);
|
// }, null);
|
||||||
@@ -234,7 +234,7 @@ vimperator.Events = function() //{{{
|
|||||||
////////////////////// PUBLIC SECTION //////////////////////////////////////////
|
////////////////////// PUBLIC SECTION //////////////////////////////////////////
|
||||||
/////////////////////////////////////////////////////////////////////////////{{{
|
/////////////////////////////////////////////////////////////////////////////{{{
|
||||||
|
|
||||||
this.destroy = function()
|
this.destroy = function ()
|
||||||
{
|
{
|
||||||
// removeEventListeners() to avoid mem leaks
|
// removeEventListeners() to avoid mem leaks
|
||||||
window.dump("TODO: remove all eventlisteners\n");
|
window.dump("TODO: remove all eventlisteners\n");
|
||||||
@@ -256,7 +256,7 @@ vimperator.Events = function() //{{{
|
|||||||
//
|
//
|
||||||
// @param keys: a string like "2<C-f>" to pass
|
// @param keys: a string like "2<C-f>" to pass
|
||||||
// if you want < to be taken literally, prepend it with a \\
|
// if you want < to be taken literally, prepend it with a \\
|
||||||
this.feedkeys = function(keys, noremap)
|
this.feedkeys = function (keys, noremap)
|
||||||
{
|
{
|
||||||
var doc = window.document;
|
var doc = window.document;
|
||||||
var view = window.document.defaultView;
|
var view = window.document.defaultView;
|
||||||
@@ -320,7 +320,7 @@ vimperator.Events = function() //{{{
|
|||||||
// a keycode which can be used in mappings
|
// a keycode which can be used in mappings
|
||||||
// e.g. pressing ctrl+n would result in the string "<C-n>"
|
// e.g. pressing ctrl+n would result in the string "<C-n>"
|
||||||
// null if unknown key
|
// null if unknown key
|
||||||
this.toString = function(event) //{{{
|
this.toString = function (event) //{{{
|
||||||
{
|
{
|
||||||
if (!event)
|
if (!event)
|
||||||
return;
|
return;
|
||||||
@@ -396,17 +396,17 @@ vimperator.Events = function() //{{{
|
|||||||
|
|
||||||
} //}}}
|
} //}}}
|
||||||
|
|
||||||
this.isAcceptKey = function(key)
|
this.isAcceptKey = function (key)
|
||||||
{
|
{
|
||||||
return (key == "<Return>" || key == "<C-j>" || key == "<C-m>");
|
return (key == "<Return>" || key == "<C-j>" || key == "<C-m>");
|
||||||
}
|
}
|
||||||
this.isCancelKey = function(key)
|
this.isCancelKey = function (key)
|
||||||
{
|
{
|
||||||
return (key == "<Esc>" || key == "<C-[>" || key == "<C-c>");
|
return (key == "<Esc>" || key == "<C-[>" || key == "<C-c>");
|
||||||
}
|
}
|
||||||
|
|
||||||
// global escape handler, is called in ALL modes
|
// global escape handler, is called in ALL modes
|
||||||
this.onEscape = function()
|
this.onEscape = function ()
|
||||||
{
|
{
|
||||||
if (!vimperator.hasMode(vimperator.modes.ESCAPE_ONE_KEY))
|
if (!vimperator.hasMode(vimperator.modes.ESCAPE_ONE_KEY))
|
||||||
{
|
{
|
||||||
@@ -426,7 +426,7 @@ vimperator.Events = function() //{{{
|
|||||||
|
|
||||||
// this keypress handler gets always called first, even if e.g.
|
// this keypress handler gets always called first, even if e.g.
|
||||||
// the commandline has focus
|
// the commandline has focus
|
||||||
this.onKeyPress = function(event)
|
this.onKeyPress = function (event)
|
||||||
{
|
{
|
||||||
var key = vimperator.events.toString(event);
|
var key = vimperator.events.toString(event);
|
||||||
if (!key)
|
if (!key)
|
||||||
@@ -690,7 +690,7 @@ vimperator.Events = function() //{{{
|
|||||||
window.addEventListener("keypress", this.onKeyPress, true);
|
window.addEventListener("keypress", this.onKeyPress, true);
|
||||||
|
|
||||||
// this is need for sites like msn.com which focus the input field on keydown
|
// this is need for sites like msn.com which focus the input field on keydown
|
||||||
this.onKeyUpOrDown = function(event)
|
this.onKeyUpOrDown = function (event)
|
||||||
{
|
{
|
||||||
if (vimperator.hasMode(vimperator.modes.ESCAPE_ONE_KEY) || vimperator.hasMode(vimperator.modes.ESCAPE_ALL_KEYS) || isFormElemFocused())
|
if (vimperator.hasMode(vimperator.modes.ESCAPE_ONE_KEY) || vimperator.hasMode(vimperator.modes.ESCAPE_ALL_KEYS) || isFormElemFocused())
|
||||||
return true;
|
return true;
|
||||||
@@ -703,7 +703,7 @@ vimperator.Events = function() //{{{
|
|||||||
|
|
||||||
this.progressListener =
|
this.progressListener =
|
||||||
{
|
{
|
||||||
QueryInterface: function(aIID)
|
QueryInterface: function (aIID)
|
||||||
{
|
{
|
||||||
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
|
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
|
||||||
aIID.equals(Components.interfaces.nsIXULBrowserWindow) || // for setOverLink();
|
aIID.equals(Components.interfaces.nsIXULBrowserWindow) || // for setOverLink();
|
||||||
@@ -714,7 +714,7 @@ vimperator.Events = function() //{{{
|
|||||||
},
|
},
|
||||||
|
|
||||||
// XXX: function may later be needed to detect a canceled synchronous openURL()
|
// XXX: function may later be needed to detect a canceled synchronous openURL()
|
||||||
onStateChange: function(webProgress, aRequest, flags, aStatus)
|
onStateChange: function (webProgress, aRequest, flags, aStatus)
|
||||||
{
|
{
|
||||||
// STATE_IS_DOCUMENT | STATE_IS_WINDOW is important, because we also
|
// STATE_IS_DOCUMENT | STATE_IS_WINDOW is important, because we also
|
||||||
// receive statechange events for loading images and other parts of the web page
|
// receive statechange events for loading images and other parts of the web page
|
||||||
@@ -741,29 +741,29 @@ vimperator.Events = function() //{{{
|
|||||||
else if (aState & nsIWebProgressListener.STATE_IS_SECURE)
|
else if (aState & nsIWebProgressListener.STATE_IS_SECURE)
|
||||||
vimperator.statusline.setClass("secure");
|
vimperator.statusline.setClass("secure");
|
||||||
},
|
},
|
||||||
onStatusChange: function(webProgress, request, status, message)
|
onStatusChange: function (webProgress, request, status, message)
|
||||||
{
|
{
|
||||||
vimperator.statusline.updateUrl(message);
|
vimperator.statusline.updateUrl(message);
|
||||||
},
|
},
|
||||||
onProgressChange: function(webProgress, request, curSelfProgress, maxSelfProgress, curTotalProgress, maxTotalProgress)
|
onProgressChange: function (webProgress, request, curSelfProgress, maxSelfProgress, curTotalProgress, maxTotalProgress)
|
||||||
{
|
{
|
||||||
vimperator.statusline.updateProgress(curTotalProgress/maxTotalProgress);
|
vimperator.statusline.updateProgress(curTotalProgress/maxTotalProgress);
|
||||||
},
|
},
|
||||||
// happens when the users switches tabs
|
// happens when the users switches tabs
|
||||||
onLocationChange: function()
|
onLocationChange: function ()
|
||||||
{
|
{
|
||||||
vimperator.statusline.updateUrl();
|
vimperator.statusline.updateUrl();
|
||||||
vimperator.statusline.updateProgress();
|
vimperator.statusline.updateProgress();
|
||||||
|
|
||||||
// if this is not delayed we get the position of the old buffer
|
// if this is not delayed we get the position of the old buffer
|
||||||
setTimeout(function() { vimperator.statusline.updateBufferPosition(); }, 100);
|
setTimeout(function () { vimperator.statusline.updateBufferPosition(); }, 100);
|
||||||
},
|
},
|
||||||
// called at the very end of a page load
|
// called at the very end of a page load
|
||||||
asyncUpdateUI: function()
|
asyncUpdateUI: function ()
|
||||||
{
|
{
|
||||||
setTimeout(vimperator.statusline.updateUrl, 100);
|
setTimeout(vimperator.statusline.updateUrl, 100);
|
||||||
},
|
},
|
||||||
setOverLink : function(link, b)
|
setOverLink : function (link, b)
|
||||||
{
|
{
|
||||||
var ssli = vimperator.options["showstatuslinks"];
|
var ssli = vimperator.options["showstatuslinks"];
|
||||||
if (link && ssli)
|
if (link && ssli)
|
||||||
@@ -784,10 +784,10 @@ vimperator.Events = function() //{{{
|
|||||||
},
|
},
|
||||||
|
|
||||||
// stub functions for the interfaces
|
// stub functions for the interfaces
|
||||||
setJSStatus: function(status) { ; },
|
setJSStatus: function (status) { ; },
|
||||||
setJSDefaultStatus: function(status) { ; },
|
setJSDefaultStatus: function (status) { ; },
|
||||||
setDefaultStatus: function(status) { ; },
|
setDefaultStatus: function (status) { ; },
|
||||||
onLinkIconAvailable: function() { ; }
|
onLinkIconAvailable: function () { ; }
|
||||||
};
|
};
|
||||||
|
|
||||||
window.XULBrowserWindow = this.progressListener;
|
window.XULBrowserWindow = this.progressListener;
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
|
|||||||
// : incremental searches shouldn't permanently update search modifiers
|
// : incremental searches shouldn't permanently update search modifiers
|
||||||
|
|
||||||
// make sure you only create this object when the "vimperator" object is ready
|
// make sure you only create this object when the "vimperator" object is ready
|
||||||
vimperator.Search = function() //{{{
|
vimperator.Search = function () //{{{
|
||||||
{
|
{
|
||||||
var self = this; // needed for callbacks since "this" is the "vimperator" object in a callback
|
var self = this; // needed for callbacks since "this" is the "vimperator" object in a callback
|
||||||
var found = false; // true if the last search was successful
|
var found = false; // true if the last search was successful
|
||||||
@@ -51,13 +51,13 @@ vimperator.Search = function() //{{{
|
|||||||
var links_only = false; // search is limited to link text only
|
var links_only = false; // search is limited to link text only
|
||||||
|
|
||||||
// Event handlers for search - closure is needed
|
// Event handlers for search - closure is needed
|
||||||
vimperator.registerCallback("change", vimperator.modes.SEARCH_FORWARD, function(command) { self.searchKeyPressed(command); });
|
vimperator.registerCallback("change", vimperator.modes.SEARCH_FORWARD, function (command) { self.searchKeyPressed(command); });
|
||||||
vimperator.registerCallback("submit", vimperator.modes.SEARCH_FORWARD, function(command) { self.searchSubmitted(command); });
|
vimperator.registerCallback("submit", vimperator.modes.SEARCH_FORWARD, function (command) { self.searchSubmitted(command); });
|
||||||
vimperator.registerCallback("cancel", vimperator.modes.SEARCH_FORWARD, function() { self.searchCanceled(); });
|
vimperator.registerCallback("cancel", vimperator.modes.SEARCH_FORWARD, function () { self.searchCanceled(); });
|
||||||
// TODO: allow advanced modes in register/triggerCallback
|
// TODO: allow advanced modes in register/triggerCallback
|
||||||
vimperator.registerCallback("change", vimperator.modes.SEARCH_BACKWARD, function(command) { self.searchKeyPressed(command); });
|
vimperator.registerCallback("change", vimperator.modes.SEARCH_BACKWARD, function (command) { self.searchKeyPressed(command); });
|
||||||
vimperator.registerCallback("submit", vimperator.modes.SEARCH_BACKWARD, function(command) { self.searchSubmitted(command); });
|
vimperator.registerCallback("submit", vimperator.modes.SEARCH_BACKWARD, function (command) { self.searchSubmitted(command); });
|
||||||
vimperator.registerCallback("cancel", vimperator.modes.SEARCH_BACKWARD, function() { self.searchCanceled(); });
|
vimperator.registerCallback("cancel", vimperator.modes.SEARCH_BACKWARD, function () { self.searchCanceled(); });
|
||||||
|
|
||||||
// set search_string, search_pattern, case_sensitive, links_only
|
// set search_string, search_pattern, case_sensitive, links_only
|
||||||
function processUserPattern(pattern)
|
function processUserPattern(pattern)
|
||||||
@@ -81,7 +81,7 @@ vimperator.Search = function() //{{{
|
|||||||
links_only = false;
|
links_only = false;
|
||||||
|
|
||||||
// strip links-only modifiers
|
// strip links-only modifiers
|
||||||
pattern = pattern.replace(/(\\)?\\[uU]/g, function($0, $1) { return $1 ? $0 : ""; });
|
pattern = pattern.replace(/(\\)?\\[uU]/g, function ($0, $1) { return $1 ? $0 : ""; });
|
||||||
|
|
||||||
// case sensitivity - \c wins if both modifiers specified
|
// case sensitivity - \c wins if both modifiers specified
|
||||||
if (/\c/.test(pattern))
|
if (/\c/.test(pattern))
|
||||||
@@ -96,7 +96,7 @@ vimperator.Search = function() //{{{
|
|||||||
case_sensitive = true;
|
case_sensitive = true;
|
||||||
|
|
||||||
// strip case-sensitive modifiers
|
// strip case-sensitive modifiers
|
||||||
pattern = pattern.replace(/(\\)?\\[cC]/g, function($0, $1) { return $1 ? $0 : ""; });
|
pattern = pattern.replace(/(\\)?\\[cC]/g, function ($0, $1) { return $1 ? $0 : ""; });
|
||||||
|
|
||||||
// remove any modifer escape \
|
// remove any modifer escape \
|
||||||
pattern = pattern.replace(/\\(\\[cCuU])/g, "$1");
|
pattern = pattern.replace(/\\(\\[cCuU])/g, "$1");
|
||||||
@@ -106,7 +106,7 @@ vimperator.Search = function() //{{{
|
|||||||
|
|
||||||
// Called when the search dialog is asked for
|
// Called when the search dialog is asked for
|
||||||
// If you omit "mode", it will default to forward searching
|
// If you omit "mode", it will default to forward searching
|
||||||
this.openSearchDialog = function(mode)
|
this.openSearchDialog = function (mode)
|
||||||
{
|
{
|
||||||
if (mode == vimperator.modes.SEARCH_BACKWARD)
|
if (mode == vimperator.modes.SEARCH_BACKWARD)
|
||||||
{
|
{
|
||||||
@@ -124,7 +124,7 @@ vimperator.Search = function() //{{{
|
|||||||
|
|
||||||
// Finds text in a page
|
// Finds text in a page
|
||||||
// TODO: backwards seems impossible i fear :(
|
// TODO: backwards seems impossible i fear :(
|
||||||
this.find = function(str, backwards)
|
this.find = function (str, backwards)
|
||||||
{
|
{
|
||||||
var fastFind = getBrowser().fastFind;
|
var fastFind = getBrowser().fastFind;
|
||||||
|
|
||||||
@@ -134,13 +134,13 @@ vimperator.Search = function() //{{{
|
|||||||
found = fastFind.find(search_string, links_only) != Components.interfaces.nsITypeAheadFind.FIND_NOTFOUND;
|
found = fastFind.find(search_string, links_only) != Components.interfaces.nsITypeAheadFind.FIND_NOTFOUND;
|
||||||
|
|
||||||
if (!found)
|
if (!found)
|
||||||
setTimeout(function() { vimperator.echoerr("E486: Pattern not found: " + search_pattern); }, 0);
|
setTimeout(function () { vimperator.echoerr("E486: Pattern not found: " + search_pattern); }, 0);
|
||||||
|
|
||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Called when the current search needs to be repeated
|
// Called when the current search needs to be repeated
|
||||||
this.findAgain = function(reverse)
|
this.findAgain = function (reverse)
|
||||||
{
|
{
|
||||||
// this hack is needed to make n/N work with the correct string, if
|
// this hack is needed to make n/N work with the correct string, if
|
||||||
// we typed /foo<esc> after the original search. Since searchString is
|
// we typed /foo<esc> after the original search. Since searchString is
|
||||||
@@ -164,7 +164,7 @@ vimperator.Search = function() //{{{
|
|||||||
{
|
{
|
||||||
// hack needed, because wrapping causes a "scroll" event which clears
|
// hack needed, because wrapping causes a "scroll" event which clears
|
||||||
// our command line
|
// our command line
|
||||||
setTimeout(function() {
|
setTimeout(function () {
|
||||||
if (up)
|
if (up)
|
||||||
vimperator.commandline.echo("search hit TOP, continuing at BOTTOM", vimperator.commandline.HL_WARNING);
|
vimperator.commandline.echo("search hit TOP, continuing at BOTTOM", vimperator.commandline.HL_WARNING);
|
||||||
else
|
else
|
||||||
@@ -181,7 +181,7 @@ vimperator.Search = function() //{{{
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Called when the user types a key in the search dialog. Triggers a find attempt if 'incsearch' is set
|
// Called when the user types a key in the search dialog. Triggers a find attempt if 'incsearch' is set
|
||||||
this.searchKeyPressed = function(command)
|
this.searchKeyPressed = function (command)
|
||||||
{
|
{
|
||||||
if (vimperator.options["incsearch"])
|
if (vimperator.options["incsearch"])
|
||||||
this.find(command, backwards);
|
this.find(command, backwards);
|
||||||
@@ -189,7 +189,7 @@ vimperator.Search = function() //{{{
|
|||||||
|
|
||||||
// Called when the enter key is pressed to trigger a search
|
// Called when the enter key is pressed to trigger a search
|
||||||
// use forced_direction if you call this function directly
|
// use forced_direction if you call this function directly
|
||||||
this.searchSubmitted = function(command, forced_backward)
|
this.searchSubmitted = function (command, forced_backward)
|
||||||
{
|
{
|
||||||
if (typeof forced_backward === "boolean")
|
if (typeof forced_backward === "boolean")
|
||||||
backwards = forced_backward;
|
backwards = forced_backward;
|
||||||
@@ -208,7 +208,7 @@ vimperator.Search = function() //{{{
|
|||||||
// TODO: move to find() when reverse incremental searching is kludged in
|
// TODO: move to find() when reverse incremental searching is kludged in
|
||||||
// need to find again for reverse searching
|
// need to find again for reverse searching
|
||||||
if (backwards)
|
if (backwards)
|
||||||
setTimeout(function() { self.findAgain(false); }, 0);
|
setTimeout(function () { self.findAgain(false); }, 0);
|
||||||
|
|
||||||
if (vimperator.options["hlsearch"])
|
if (vimperator.options["hlsearch"])
|
||||||
this.highlight(search_string);
|
this.highlight(search_string);
|
||||||
@@ -219,14 +219,14 @@ vimperator.Search = function() //{{{
|
|||||||
|
|
||||||
// Called when the search is cancelled - for example if someone presses
|
// Called when the search is cancelled - for example if someone presses
|
||||||
// escape while typing a search
|
// escape while typing a search
|
||||||
this.searchCanceled = function()
|
this.searchCanceled = function ()
|
||||||
{
|
{
|
||||||
//removeMode(MODE_SEARCH);
|
//removeMode(MODE_SEARCH);
|
||||||
vimperator.setMode(vimperator.modes.NORMAL);
|
vimperator.setMode(vimperator.modes.NORMAL);
|
||||||
vimperator.focusContent();
|
vimperator.focusContent();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.highlight = function(text)
|
this.highlight = function (text)
|
||||||
{
|
{
|
||||||
// already highlighted?
|
// already highlighted?
|
||||||
if (window.content.document.getElementById("__firefox-findbar-search-id"))
|
if (window.content.document.getElementById("__firefox-findbar-search-id"))
|
||||||
@@ -243,7 +243,7 @@ vimperator.Search = function() //{{{
|
|||||||
|
|
||||||
// TODO: seems fast enough for now...just
|
// TODO: seems fast enough for now...just
|
||||||
// NOTE: FF2 highlighting spans all have the same id rather than a class attribute
|
// NOTE: FF2 highlighting spans all have the same id rather than a class attribute
|
||||||
(function(win)
|
(function (win)
|
||||||
{
|
{
|
||||||
for (var i = 0; i < win.frames.length; i++)
|
for (var i = 0; i < win.frames.length; i++)
|
||||||
arguments.callee(win.frames[i]);
|
arguments.callee(win.frames[i]);
|
||||||
@@ -258,7 +258,7 @@ vimperator.Search = function() //{{{
|
|||||||
// TODO: remove highlighting from non-link matches (HTML - A/AREA with href attribute; XML - Xlink [@type="simple"])
|
// TODO: remove highlighting from non-link matches (HTML - A/AREA with href attribute; XML - Xlink [@type="simple"])
|
||||||
}
|
}
|
||||||
|
|
||||||
this.clear = function()
|
this.clear = function ()
|
||||||
{
|
{
|
||||||
gFindBar.highlightDoc();
|
gFindBar.highlightDoc();
|
||||||
// need to manually collapse the selection if the document is not
|
// need to manually collapse the selection if the document is not
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ the provisions above, a recipient may use your version of this file under
|
|||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
the terms of any one of the MPL, the GPL or the LGPL.
|
||||||
}}} ***** END LICENSE BLOCK *****/
|
}}} ***** END LICENSE BLOCK *****/
|
||||||
|
|
||||||
vimperator.help = function(section, easter) //{{{
|
vimperator.help = function (section, easter) //{{{
|
||||||
{
|
{
|
||||||
if (easter)
|
if (easter)
|
||||||
{
|
{
|
||||||
@@ -220,7 +220,7 @@ vimperator.help = function(section, easter) //{{{
|
|||||||
{
|
{
|
||||||
doc.open();
|
doc.open();
|
||||||
}
|
}
|
||||||
catch(e)
|
catch (e)
|
||||||
{
|
{
|
||||||
// FIXME: what's this all about then, eh? Works the same for if it's removed. -- djk
|
// FIXME: what's this all about then, eh? Works the same for if it's removed. -- djk
|
||||||
// when the url is "about:" or any other xhtml page the doc is not open
|
// when the url is "about:" or any other xhtml page the doc is not open
|
||||||
@@ -255,7 +255,7 @@ vimperator.help = function(section, easter) //{{{
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FIXME
|
// FIXME
|
||||||
setTimeout(function() {
|
setTimeout(function () {
|
||||||
if (section)
|
if (section)
|
||||||
{
|
{
|
||||||
function findSectionElement(section)
|
function findSectionElement(section)
|
||||||
|
|||||||
@@ -22,13 +22,13 @@
|
|||||||
*
|
*
|
||||||
}}} ***** END LICENSE BLOCK *****/
|
}}} ***** END LICENSE BLOCK *****/
|
||||||
|
|
||||||
vimperator.Hints = function() //{{{
|
vimperator.Hints = function () //{{{
|
||||||
{
|
{
|
||||||
const HINT_PREFIX = "hah_hint_"; // prefix for the hint id
|
const HINT_PREFIX = "hah_hint_"; // prefix for the hint id
|
||||||
|
|
||||||
this.hintedElements = function() { return hintedElems; };
|
this.hintedElements = function () { return hintedElems; };
|
||||||
this.currentState = function() { return state;};
|
this.currentState = function () { return state;};
|
||||||
this.setCurrentState = function(s) { state = s;};
|
this.setCurrentState = function (s) { state = s;};
|
||||||
|
|
||||||
var isHahModeEnabled = false; // is typing mode on
|
var isHahModeEnabled = false; // is typing mode on
|
||||||
var hintedElems = [];
|
var hintedElems = [];
|
||||||
@@ -68,7 +68,7 @@ vimperator.Hints = function() //{{{
|
|||||||
win.coordLoaderId = window.setTimeout("vimperator.hints.loadCoord(" + win.winId + ", 0);", 1);
|
win.coordLoaderId = window.setTimeout("vimperator.hints.loadCoord(" + win.winId + ", 0);", 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.loadCoord = function(winId, i)
|
this.loadCoord = function (winId, i)
|
||||||
{
|
{
|
||||||
win = wins[winId];
|
win = wins[winId];
|
||||||
|
|
||||||
@@ -400,7 +400,7 @@ vimperator.Hints = function() //{{{
|
|||||||
* @return -1 if already enabled
|
* @return -1 if already enabled
|
||||||
*/
|
*/
|
||||||
//function enableHahMode(event, mode)
|
//function enableHahMode(event, mode)
|
||||||
this.enableHahMode = function(mode)
|
this.enableHahMode = function (mode)
|
||||||
{
|
{
|
||||||
vimperator.setMode(vimperator.modes.HINTS, mode);
|
vimperator.setMode(vimperator.modes.HINTS, mode);
|
||||||
state = 0;
|
state = 0;
|
||||||
@@ -424,7 +424,7 @@ vimperator.Hints = function() //{{{
|
|||||||
* @return -1 if already disabled
|
* @return -1 if already disabled
|
||||||
*/
|
*/
|
||||||
//function disableHahMode(event)
|
//function disableHahMode(event)
|
||||||
this.disableHahMode = function(win)
|
this.disableHahMode = function (win)
|
||||||
{
|
{
|
||||||
if (!isHahModeEnabled)
|
if (!isHahModeEnabled)
|
||||||
return;
|
return;
|
||||||
@@ -438,7 +438,7 @@ vimperator.Hints = function() //{{{
|
|||||||
return 0;
|
return 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
this.resetHintedElements = function()
|
this.resetHintedElements = function ()
|
||||||
{
|
{
|
||||||
linkNumString = "";
|
linkNumString = "";
|
||||||
state = 0;
|
state = 0;
|
||||||
@@ -454,7 +454,7 @@ vimperator.Hints = function() //{{{
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
this.reshowHints = function()
|
this.reshowHints = function ()
|
||||||
{
|
{
|
||||||
onResize(null);
|
onResize(null);
|
||||||
|
|
||||||
@@ -471,7 +471,7 @@ vimperator.Hints = function() //{{{
|
|||||||
|
|
||||||
// this function 'click' an element, which also works
|
// this function 'click' an element, which also works
|
||||||
// for javascript links
|
// for javascript links
|
||||||
this.openHints = function(new_tab, new_window)
|
this.openHints = function (new_tab, new_window)
|
||||||
{
|
{
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
|
|
||||||
@@ -517,7 +517,7 @@ vimperator.Hints = function() //{{{
|
|||||||
return 0;
|
return 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
this.yankUrlHints = function()
|
this.yankUrlHints = function ()
|
||||||
{
|
{
|
||||||
var loc = "";
|
var loc = "";
|
||||||
var elems = this.hintedElements();
|
var elems = this.hintedElements();
|
||||||
@@ -540,7 +540,7 @@ vimperator.Hints = function() //{{{
|
|||||||
vimperator.echo("Yanked " + loc);
|
vimperator.echo("Yanked " + loc);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.yankTextHints = function()
|
this.yankTextHints = function ()
|
||||||
{
|
{
|
||||||
var loc = "";
|
var loc = "";
|
||||||
var elems = this.hintedElements();
|
var elems = this.hintedElements();
|
||||||
@@ -563,7 +563,7 @@ vimperator.Hints = function() //{{{
|
|||||||
vimperator.echo("Yanked " + loc);
|
vimperator.echo("Yanked " + loc);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.saveHints = function(skip_prompt)
|
this.saveHints = function (skip_prompt)
|
||||||
{
|
{
|
||||||
var elems = this.hintedElements();
|
var elems = this.hintedElements();
|
||||||
|
|
||||||
@@ -622,7 +622,7 @@ vimperator.Hints = function() //{{{
|
|||||||
// returns nr. of fully parsed links when a new hint has been found,
|
// returns nr. of fully parsed links when a new hint has been found,
|
||||||
// otherwise 0 if current state is part of a hint, or -1 if an error occured
|
// otherwise 0 if current state is part of a hint, or -1 if an error occured
|
||||||
// (like we have typed keys which never can become a hint
|
// (like we have typed keys which never can become a hint
|
||||||
this.processEvent = function(event)
|
this.processEvent = function (event)
|
||||||
{
|
{
|
||||||
if (!isHahModeEnabled)
|
if (!isHahModeEnabled)
|
||||||
return -1;
|
return -1;
|
||||||
@@ -706,7 +706,7 @@ vimperator.Hints = function() //{{{
|
|||||||
linkNumString = "";
|
linkNumString = "";
|
||||||
isHahModeEnabled = true;
|
isHahModeEnabled = true;
|
||||||
|
|
||||||
setTimeout( function() {
|
setTimeout( function () {
|
||||||
createHints();
|
createHints();
|
||||||
showHints(null, 0);
|
showHints(null, 0);
|
||||||
}, 100);
|
}, 100);
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ the provisions above, a recipient may use your version of this file under
|
|||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
the terms of any one of the MPL, the GPL or the LGPL.
|
||||||
}}} ***** END LICENSE BLOCK *****/
|
}}} ***** END LICENSE BLOCK *****/
|
||||||
|
|
||||||
vimperator.IO = function()
|
vimperator.IO = function ()
|
||||||
{
|
{
|
||||||
var environment_service = Components.classes["@mozilla.org/process/environment;1"]
|
var environment_service = Components.classes["@mozilla.org/process/environment;1"]
|
||||||
.getService(Components.interfaces.nsIEnvironment);
|
.getService(Components.interfaces.nsIEnvironment);
|
||||||
@@ -43,7 +43,7 @@ vimperator.IO = function()
|
|||||||
MODE_SYNC: 0x40,
|
MODE_SYNC: 0x40,
|
||||||
MODE_EXCL: 0x80,
|
MODE_EXCL: 0x80,
|
||||||
|
|
||||||
expandPath: function(path)
|
expandPath: function (path)
|
||||||
{
|
{
|
||||||
const WINDOWS = navigator.platform == "Win32";
|
const WINDOWS = navigator.platform == "Win32";
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ vimperator.IO = function()
|
|||||||
return path;
|
return path;
|
||||||
},
|
},
|
||||||
|
|
||||||
getPluginDir: function()
|
getPluginDir: function ()
|
||||||
{
|
{
|
||||||
var plugin_dir;
|
var plugin_dir;
|
||||||
|
|
||||||
@@ -98,7 +98,7 @@ vimperator.IO = function()
|
|||||||
return plugin_dir.exists() && plugin_dir.isDirectory() ? plugin_dir : null;
|
return plugin_dir.exists() && plugin_dir.isDirectory() ? plugin_dir : null;
|
||||||
},
|
},
|
||||||
|
|
||||||
getRCFile: function()
|
getRCFile: function ()
|
||||||
{
|
{
|
||||||
var rc_file1 = this.getFile(this.expandPath("~/.vimperatorrc"));
|
var rc_file1 = this.getFile(this.expandPath("~/.vimperatorrc"));
|
||||||
var rc_file2 = this.getFile(this.expandPath("~/_vimperatorrc"));
|
var rc_file2 = this.getFile(this.expandPath("~/_vimperatorrc"));
|
||||||
@@ -116,7 +116,7 @@ vimperator.IO = function()
|
|||||||
|
|
||||||
// return a nsILocalFile for path where you can call isDirectory(), etc. on
|
// return a nsILocalFile for path where you can call isDirectory(), etc. on
|
||||||
// caller must check with .exists() if the returned file really exists
|
// caller must check with .exists() if the returned file really exists
|
||||||
getFile: function(path)
|
getFile: function (path)
|
||||||
{
|
{
|
||||||
var file = Components.classes["@mozilla.org/file/local;1"].
|
var file = Components.classes["@mozilla.org/file/local;1"].
|
||||||
createInstance(Components.interfaces.nsILocalFile);
|
createInstance(Components.interfaces.nsILocalFile);
|
||||||
@@ -127,7 +127,7 @@ vimperator.IO = function()
|
|||||||
|
|
||||||
// TODO: make secure
|
// TODO: make secure
|
||||||
// returns a nsILocalFile or null if it could not be created
|
// returns a nsILocalFile or null if it could not be created
|
||||||
createTempFile: function()
|
createTempFile: function ()
|
||||||
{
|
{
|
||||||
var file = Components.classes["@mozilla.org/file/local;1"].
|
var file = Components.classes["@mozilla.org/file/local;1"].
|
||||||
createInstance(Components.interfaces.nsILocalFile);
|
createInstance(Components.interfaces.nsILocalFile);
|
||||||
@@ -150,7 +150,7 @@ vimperator.IO = function()
|
|||||||
},
|
},
|
||||||
|
|
||||||
// file is either a full pathname or an instance of file instanceof nsILocalFile
|
// file is either a full pathname or an instance of file instanceof nsILocalFile
|
||||||
readDirectory: function(file)
|
readDirectory: function (file)
|
||||||
{
|
{
|
||||||
if (typeof file == "string")
|
if (typeof file == "string")
|
||||||
file = this.getFile(file);
|
file = this.getFile(file);
|
||||||
@@ -175,7 +175,7 @@ vimperator.IO = function()
|
|||||||
|
|
||||||
// file is either a full pathname or an instance of file instanceof nsILocalFile
|
// file is either a full pathname or an instance of file instanceof nsILocalFile
|
||||||
// reads a file in "text" mode and returns the string
|
// reads a file in "text" mode and returns the string
|
||||||
readFile: function(file)
|
readFile: function (file)
|
||||||
{
|
{
|
||||||
var ifstream = Components.classes["@mozilla.org/network/file-input-stream;1"]
|
var ifstream = Components.classes["@mozilla.org/network/file-input-stream;1"]
|
||||||
.createInstance(Components.interfaces.nsIFileInputStream);
|
.createInstance(Components.interfaces.nsIFileInputStream);
|
||||||
@@ -206,7 +206,7 @@ vimperator.IO = function()
|
|||||||
// file is either a full pathname or an instance of file instanceof nsILocalFile
|
// file is either a full pathname or an instance of file instanceof nsILocalFile
|
||||||
// default permission = 0644, only used when creating a new file, does not change permissions if the file exists
|
// default permission = 0644, only used when creating a new file, does not change permissions if the file exists
|
||||||
// mode can be ">" or ">>" in addition to the normal MODE_* flags
|
// mode can be ">" or ">>" in addition to the normal MODE_* flags
|
||||||
writeFile: function(file, buf, mode, perms)
|
writeFile: function (file, buf, mode, perms)
|
||||||
{
|
{
|
||||||
var ofstream = Components.classes["@mozilla.org/network/file-output-stream;1"]
|
var ofstream = Components.classes["@mozilla.org/network/file-output-stream;1"]
|
||||||
.createInstance(Components.interfaces.nsIFileOutputStream);
|
.createInstance(Components.interfaces.nsIFileOutputStream);
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ the provisions above, a recipient may use your version of this file under
|
|||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
the terms of any one of the MPL, the GPL or the LGPL.
|
||||||
}}} ***** END LICENSE BLOCK *****/
|
}}} ***** END LICENSE BLOCK *****/
|
||||||
|
|
||||||
vimperator.Map = function(mode, cmds, action, extra_info) //{{{
|
vimperator.Map = function (mode, cmds, action, extra_info) //{{{
|
||||||
{
|
{
|
||||||
if (!mode || (!cmds || !cmds.length) || !action)
|
if (!mode || (!cmds || !cmds.length) || !action)
|
||||||
return null;
|
return null;
|
||||||
@@ -65,7 +65,7 @@ vimperator.Map = function(mode, cmds, action, extra_info) //{{{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
vimperator.Map.prototype.hasName = function(name)
|
vimperator.Map.prototype.hasName = function (name)
|
||||||
{
|
{
|
||||||
for (var i = 0; i < this.names.length; i++)
|
for (var i = 0; i < this.names.length; i++)
|
||||||
{
|
{
|
||||||
@@ -78,7 +78,7 @@ vimperator.Map.prototype.hasName = function(name)
|
|||||||
|
|
||||||
// Since we will add many Map-objects, we add some functions as prototypes
|
// Since we will add many Map-objects, we add some functions as prototypes
|
||||||
// this will ensure we only have one copy of each function, not one for each object
|
// this will ensure we only have one copy of each function, not one for each object
|
||||||
vimperator.Map.prototype.execute = function(motion, count, argument)
|
vimperator.Map.prototype.execute = function (motion, count, argument)
|
||||||
{
|
{
|
||||||
var args = [];
|
var args = [];
|
||||||
if (this.flags & vimperator.Mappings.flags.MOTION)
|
if (this.flags & vimperator.Mappings.flags.MOTION)
|
||||||
@@ -91,7 +91,7 @@ vimperator.Map.prototype.execute = function(motion, count, argument)
|
|||||||
}
|
}
|
||||||
//}}}
|
//}}}
|
||||||
|
|
||||||
vimperator.Mappings = function() //{{{
|
vimperator.Mappings = function () //{{{
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
||||||
@@ -178,24 +178,24 @@ vimperator.Mappings = function() //{{{
|
|||||||
};
|
};
|
||||||
|
|
||||||
// NOTE: just normal mode for now
|
// NOTE: just normal mode for now
|
||||||
this.__iterator__ = function()
|
this.__iterator__ = function ()
|
||||||
{
|
{
|
||||||
return mappingsIterator(vimperator.modes.NORMAL, main);
|
return mappingsIterator(vimperator.modes.NORMAL, main);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME
|
// FIXME
|
||||||
this.getIterator = function(mode)
|
this.getIterator = function (mode)
|
||||||
{
|
{
|
||||||
return mappingsIterator(mode, main);
|
return mappingsIterator(mode, main);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME
|
// FIXME
|
||||||
this.getUserIterator = function(mode)
|
this.getUserIterator = function (mode)
|
||||||
{
|
{
|
||||||
return mappingsIterator(mode, user);
|
return mappingsIterator(mode, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.hasMap = function(mode, cmd)
|
this.hasMap = function (mode, cmd)
|
||||||
{
|
{
|
||||||
var user_maps = user[mode];
|
var user_maps = user[mode];
|
||||||
|
|
||||||
@@ -208,29 +208,29 @@ vimperator.Mappings = function() //{{{
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.add = function(map)
|
this.add = function (map)
|
||||||
{
|
{
|
||||||
for (var i = 0; i < map.names.length; i++)
|
for (var i = 0; i < map.names.length; i++)
|
||||||
{
|
{
|
||||||
// only store keysyms with uppercase modifier strings
|
// only store keysyms with uppercase modifier strings
|
||||||
map.names[i] = map.names[i].replace(/[casm]-/g, function($0) { return $0.toUpperCase(); });
|
map.names[i] = map.names[i].replace(/[casm]-/g, function ($0) { return $0.toUpperCase(); });
|
||||||
removeMap(map.mode, map.names[i]);
|
removeMap(map.mode, map.names[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
user[map.mode].push(map);
|
user[map.mode].push(map);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.remove = function(mode, cmd)
|
this.remove = function (mode, cmd)
|
||||||
{
|
{
|
||||||
removeMap(mode, cmd);
|
removeMap(mode, cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.removeAll = function(mode)
|
this.removeAll = function (mode)
|
||||||
{
|
{
|
||||||
user[mode] = [];
|
user[mode] = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
this.get = function(mode, cmd)
|
this.get = function (mode, cmd)
|
||||||
{
|
{
|
||||||
var map = getMap(mode, cmd, user);
|
var map = getMap(mode, cmd, user);
|
||||||
|
|
||||||
@@ -241,13 +241,13 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO: move default maps to their own v.normal namespace
|
// TODO: move default maps to their own v.normal namespace
|
||||||
this.getDefaultMap = function(mode, cmd)
|
this.getDefaultMap = function (mode, cmd)
|
||||||
{
|
{
|
||||||
return getMap(mode, cmd, main);
|
return getMap(mode, cmd, main);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns an array of mappings with names which start with "cmd"
|
// returns an array of mappings with names which start with "cmd"
|
||||||
this.getCandidates = function(mode, cmd)
|
this.getCandidates = function (mode, cmd)
|
||||||
{
|
{
|
||||||
var mappings = [];
|
var mappings = [];
|
||||||
var matches = [];
|
var matches = [];
|
||||||
@@ -268,7 +268,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO: implement filtering
|
// TODO: implement filtering
|
||||||
this.list = function(mode, filter)
|
this.list = function (mode, filter)
|
||||||
{
|
{
|
||||||
var maps = user[mode];
|
var maps = user[mode];
|
||||||
|
|
||||||
@@ -304,21 +304,21 @@ vimperator.Mappings = function() //{{{
|
|||||||
// {{{
|
// {{{
|
||||||
// vimperator management
|
// vimperator management
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<F1>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<F1>"],
|
||||||
function() { vimperator.help(null); },
|
function () { vimperator.help(null); },
|
||||||
{
|
{
|
||||||
short_help: "Open help window",
|
short_help: "Open help window",
|
||||||
help: "The default section is shown, if you need help for a specific topic, try <code class=\"command\">:help <F1></code>."
|
help: "The default section is shown, if you need help for a specific topic, try <code class=\"command\">:help <F1></code>."
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, [":"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, [":"],
|
||||||
function() { vimperator.commandline.open(":", "", vimperator.modes.EX); },
|
function () { vimperator.commandline.open(":", "", vimperator.modes.EX); },
|
||||||
{
|
{
|
||||||
short_help: "Start command line mode",
|
short_help: "Start command line mode",
|
||||||
help: "In command line mode, you can perform extended commands, which may require arguments."
|
help: "In command line mode, you can perform extended commands, which may require arguments."
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["I"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["I"],
|
||||||
function() { vimperator.addMode(null, vimperator.modes.ESCAPE_ALL_KEYS); },
|
function () { vimperator.addMode(null, vimperator.modes.ESCAPE_ALL_KEYS); },
|
||||||
{
|
{
|
||||||
short_help: "Disable Vimperator keys",
|
short_help: "Disable Vimperator keys",
|
||||||
help: "Starts an 'ignorekeys' mode, where all keys except <code class=\"mapping\"><Esc></code> are passed to the next event handler.<br/>" +
|
help: "Starts an 'ignorekeys' mode, where all keys except <code class=\"mapping\"><Esc></code> are passed to the next event handler.<br/>" +
|
||||||
@@ -328,7 +328,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<C-v>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<C-v>"],
|
||||||
function() { vimperator.addMode(null, vimperator.modes.ESCAPE_ONE_KEY); },
|
function () { vimperator.addMode(null, vimperator.modes.ESCAPE_ONE_KEY); },
|
||||||
{
|
{
|
||||||
short_help: "Escape next key",
|
short_help: "Escape next key",
|
||||||
help: "If you need to pass a certain key to a JavaScript form field or another extension prefix the key with <code class=\"mapping\"><C-v></code>.<br/>" +
|
help: "If you need to pass a certain key to a JavaScript form field or another extension prefix the key with <code class=\"mapping\"><C-v></code>.<br/>" +
|
||||||
@@ -344,7 +344,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<Nop>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<Nop>"],
|
||||||
function() { return; },
|
function () { return; },
|
||||||
{
|
{
|
||||||
short_help: "Do nothing",
|
short_help: "Do nothing",
|
||||||
help: "This command is useful for disabling a specific mapping. " +
|
help: "This command is useful for disabling a specific mapping. " +
|
||||||
@@ -361,7 +361,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
));
|
));
|
||||||
|
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["]f"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["]f"],
|
||||||
function(count) { vimperator.buffer.shiftFrameFocus(count > 1 ? count : 1, true); },
|
function (count) { vimperator.buffer.shiftFrameFocus(count > 1 ? count : 1, true); },
|
||||||
{
|
{
|
||||||
short_help: "Focus next frame",
|
short_help: "Focus next frame",
|
||||||
help: "Transfers keyboard focus to the <code class=\"argument\">[count]</code>th next frame in order. The newly focused frame is briefly colored red. Does not wrap.",
|
help: "Transfers keyboard focus to the <code class=\"argument\">[count]</code>th next frame in order. The newly focused frame is briefly colored red. Does not wrap.",
|
||||||
@@ -369,7 +369,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["[f"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["[f"],
|
||||||
function(count) { vimperator.buffer.shiftFrameFocus(count > 1 ? count : 1, false); },
|
function (count) { vimperator.buffer.shiftFrameFocus(count > 1 ? count : 1, false); },
|
||||||
{
|
{
|
||||||
short_help: "Focus previous frame",
|
short_help: "Focus previous frame",
|
||||||
help: "Transfers keyboard focus to the <code class=\"argument\">[count]</code>th previous frame in order. The newly focused frame is briefly colored red. Does not wrap.",
|
help: "Transfers keyboard focus to the <code class=\"argument\">[count]</code>th previous frame in order. The newly focused frame is briefly colored red. Does not wrap.",
|
||||||
@@ -377,14 +377,14 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["b"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["b"],
|
||||||
function() { vimperator.commandline.open(":", "buffer! ", vimperator.modes.EX); },
|
function () { vimperator.commandline.open(":", "buffer! ", vimperator.modes.EX); },
|
||||||
{
|
{
|
||||||
short_help: "Open a prompt to switch buffers",
|
short_help: "Open a prompt to switch buffers",
|
||||||
help: "Typing the corresponding number switches to this buffer."
|
help: "Typing the corresponding number switches to this buffer."
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["B"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["B"],
|
||||||
function() { vimperator.buffer.list(true); },
|
function () { vimperator.buffer.list(true); },
|
||||||
{
|
{
|
||||||
short_help: "Toggle buffer list",
|
short_help: "Toggle buffer list",
|
||||||
help: "Toggles the display of the buffer list which shows all opened tabs.<br/>" +
|
help: "Toggles the display of the buffer list which shows all opened tabs.<br/>" +
|
||||||
@@ -392,7 +392,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["gb"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["gb"],
|
||||||
function(count) { vimperator.buffer.switchTo(null, null, count, false); },
|
function (count) { vimperator.buffer.switchTo(null, null, count, false); },
|
||||||
{
|
{
|
||||||
short_help: "Repeat last :buffer[!] command",
|
short_help: "Repeat last :buffer[!] command",
|
||||||
help: "This is useful to quickly jump between buffers which have a similar URL or title.",
|
help: "This is useful to quickly jump between buffers which have a similar URL or title.",
|
||||||
@@ -400,7 +400,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["gB"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["gB"],
|
||||||
function(count) { vimperator.buffer.switchTo(null, null, count, true); },
|
function (count) { vimperator.buffer.switchTo(null, null, count, true); },
|
||||||
{
|
{
|
||||||
short_help: "Repeat last :buffer[!] command in reverse direction",
|
short_help: "Repeat last :buffer[!] command in reverse direction",
|
||||||
help: "Just like <code class=\"mapping\">gb</code> but in the other direction.",
|
help: "Just like <code class=\"mapping\">gb</code> but in the other direction.",
|
||||||
@@ -408,7 +408,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["d"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["d"],
|
||||||
function(count) { vimperator.tabs.remove(getBrowser().mCurrentTab, count, false, 0); },
|
function (count) { vimperator.tabs.remove(getBrowser().mCurrentTab, count, false, 0); },
|
||||||
{
|
{
|
||||||
short_help: "Delete current buffer (=tab)",
|
short_help: "Delete current buffer (=tab)",
|
||||||
help: "Count is supported, <code class=\"mapping\">2d</code> removes the current and next tab and the one to the right is selected. " +
|
help: "Count is supported, <code class=\"mapping\">2d</code> removes the current and next tab and the one to the right is selected. " +
|
||||||
@@ -417,7 +417,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["D"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["D"],
|
||||||
function(count) { vimperator.tabs.remove(getBrowser().mCurrentTab, count, true, 0); },
|
function (count) { vimperator.tabs.remove(getBrowser().mCurrentTab, count, true, 0); },
|
||||||
{
|
{
|
||||||
short_help: "Delete current buffer (=tab)",
|
short_help: "Delete current buffer (=tab)",
|
||||||
help: "Count is supported, <code class=\"mapping\">2D</code> removes the current and previous tab and the one to the left is selected. " +
|
help: "Count is supported, <code class=\"mapping\">2D</code> removes the current and previous tab and the one to the left is selected. " +
|
||||||
@@ -433,7 +433,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["gH"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["gH"],
|
||||||
function()
|
function ()
|
||||||
{
|
{
|
||||||
var homepages = gHomeButton.getHomePage();
|
var homepages = gHomeButton.getHomePage();
|
||||||
vimperator.open(homepages, /\bhomepage\b/.test(vimperator.options["activate"]) ?
|
vimperator.open(homepages, /\bhomepage\b/.test(vimperator.options["activate"]) ?
|
||||||
@@ -446,7 +446,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["go"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["go"],
|
||||||
function(arg) { vimperator.quickmarks.jumpTo(arg, vimperator.CURRENT_TAB); },
|
function (arg) { vimperator.quickmarks.jumpTo(arg, vimperator.CURRENT_TAB); },
|
||||||
{
|
{
|
||||||
short_help: "Jump to a QuickMark in the current tab",
|
short_help: "Jump to a QuickMark in the current tab",
|
||||||
usage: ["go{a-zA-Z0-9}"],
|
usage: ["go{a-zA-Z0-9}"],
|
||||||
@@ -456,7 +456,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["gn"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["gn"],
|
||||||
function(arg)
|
function (arg)
|
||||||
{
|
{
|
||||||
vimperator.quickmarks.jumpTo(arg,
|
vimperator.quickmarks.jumpTo(arg,
|
||||||
/\bquickmark\b/.test(vimperator.options["activate"]) ?
|
/\bquickmark\b/.test(vimperator.options["activate"]) ?
|
||||||
@@ -472,7 +472,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["gP"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["gP"],
|
||||||
function()
|
function ()
|
||||||
{
|
{
|
||||||
vimperator.open(readFromClipboard(),
|
vimperator.open(readFromClipboard(),
|
||||||
/\bpaste\b/.test(vimperator.options["activate"]) ?
|
/\bpaste\b/.test(vimperator.options["activate"]) ?
|
||||||
@@ -484,7 +484,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["gt", "<C-n>", "<C-Tab>", "<C-PageDown>"],
|
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["gt", "<C-n>", "<C-Tab>", "<C-PageDown>"],
|
||||||
function(count) { vimperator.tabs.select(count > 0 ? count - 1: "+1", count > 0 ? false : true); },
|
function (count) { vimperator.tabs.select(count > 0 ? count - 1: "+1", count > 0 ? false : true); },
|
||||||
{
|
{
|
||||||
short_help: "Go to the next tab",
|
short_help: "Go to the next tab",
|
||||||
help: "Cycles to the first tab, when the last is selected.<br/>Count is supported: <code class=\"mapping\">3gt</code> goes to the third tab.",
|
help: "Cycles to the first tab, when the last is selected.<br/>Count is supported: <code class=\"mapping\">3gt</code> goes to the third tab.",
|
||||||
@@ -492,7 +492,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["gT", "<C-p>", "<C-S-Tab>", "<C-PageUp>"],
|
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["gT", "<C-p>", "<C-S-Tab>", "<C-PageUp>"],
|
||||||
function(count) { vimperator.tabs.select("-" + (count < 1 ? 1 : count), true); },
|
function (count) { vimperator.tabs.select("-" + (count < 1 ? 1 : count), true); },
|
||||||
{
|
{
|
||||||
short_help: "Go {count} pages back",
|
short_help: "Go {count} pages back",
|
||||||
help: "Wraps around from the first tab to the last tab.<br/>Count is supported: <code class=\"mapping\">3gT</code> goes three tabs back.",
|
help: "Wraps around from the first tab to the last tab.<br/>Count is supported: <code class=\"mapping\">3gT</code> goes three tabs back.",
|
||||||
@@ -500,7 +500,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<C-^>", "<C-6>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<C-^>", "<C-6>"],
|
||||||
function()
|
function ()
|
||||||
{
|
{
|
||||||
if (vimperator.tabs.getTab() == vimperator.tabs.alternate)
|
if (vimperator.tabs.getTab() == vimperator.tabs.alternate)
|
||||||
{
|
{
|
||||||
@@ -527,7 +527,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["m"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["m"],
|
||||||
function(arg)
|
function (arg)
|
||||||
{
|
{
|
||||||
if (/[^a-zA-Z]/.test(arg))
|
if (/[^a-zA-Z]/.test(arg))
|
||||||
{
|
{
|
||||||
@@ -545,7 +545,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["'", "`"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["'", "`"],
|
||||||
function(arg) { vimperator.marks.jumpTo(arg); },
|
function (arg) { vimperator.marks.jumpTo(arg); },
|
||||||
{
|
{
|
||||||
short_help: "Jump to the mark in the current buffer",
|
short_help: "Jump to the mark in the current buffer",
|
||||||
usage: ["'{a-zA-Z}"],
|
usage: ["'{a-zA-Z}"],
|
||||||
@@ -554,7 +554,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["M"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["M"],
|
||||||
function(arg)
|
function (arg)
|
||||||
{
|
{
|
||||||
if (/[^a-zA-Z0-9]/.test(arg))
|
if (/[^a-zA-Z0-9]/.test(arg))
|
||||||
{
|
{
|
||||||
@@ -573,28 +573,28 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["o"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["o"],
|
||||||
function() { vimperator.commandline.open(":", "open ", vimperator.modes.EX); },
|
function () { vimperator.commandline.open(":", "open ", vimperator.modes.EX); },
|
||||||
{
|
{
|
||||||
short_help: "Open one or more URLs in the current tab",
|
short_help: "Open one or more URLs in the current tab",
|
||||||
help: "See <code class=\"command\">:open</code> for more details."
|
help: "See <code class=\"command\">:open</code> for more details."
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["O"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["O"],
|
||||||
function() { vimperator.commandline.open(":", "open " + vimperator.buffer.URL, vimperator.modes.EX); },
|
function () { vimperator.commandline.open(":", "open " + vimperator.buffer.URL, vimperator.modes.EX); },
|
||||||
{
|
{
|
||||||
short_help: "Open one or more URLs in the current tab, based on current location",
|
short_help: "Open one or more URLs in the current tab, based on current location",
|
||||||
help: "Works like <code class=\"mapping\">o</code>, but preselects current URL in the <code class=\"command\">:open</code> query."
|
help: "Works like <code class=\"mapping\">o</code>, but preselects current URL in the <code class=\"command\">:open</code> query."
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["p", "<MiddleMouse>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["p", "<MiddleMouse>"],
|
||||||
function() { vimperator.open(readFromClipboard()); },
|
function () { vimperator.open(readFromClipboard()); },
|
||||||
{
|
{
|
||||||
short_help: "Open (put) a URL based on the current clipboard contents in the current buffer",
|
short_help: "Open (put) a URL based on the current clipboard contents in the current buffer",
|
||||||
help: "You can also just select (for non-X11 users: copy) some non-URL text, and search for it with the default search engine or keyword (specified by the <code class=\"option\">'defsearch'</code> option) with <code class=\"mapping\">p</code>."
|
help: "You can also just select (for non-X11 users: copy) some non-URL text, and search for it with the default search engine or keyword (specified by the <code class=\"option\">'defsearch'</code> option) with <code class=\"mapping\">p</code>."
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["P"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["P"],
|
||||||
function()
|
function ()
|
||||||
{
|
{
|
||||||
vimperator.open(readFromClipboard(),
|
vimperator.open(readFromClipboard(),
|
||||||
/\bpaste\b/.test(vimperator.options["activate"]) ?
|
/\bpaste\b/.test(vimperator.options["activate"]) ?
|
||||||
@@ -607,21 +607,21 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["r"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["r"],
|
||||||
function() { vimperator.tabs.reload(getBrowser().mCurrentTab, false); },
|
function () { vimperator.tabs.reload(getBrowser().mCurrentTab, false); },
|
||||||
{
|
{
|
||||||
short_help: "Reload",
|
short_help: "Reload",
|
||||||
help: "Forces reloading of the current page."
|
help: "Forces reloading of the current page."
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["R"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["R"],
|
||||||
function() { vimperator.tabs.reload(getBrowser().mCurrentTab, true); },
|
function () { vimperator.tabs.reload(getBrowser().mCurrentTab, true); },
|
||||||
{
|
{
|
||||||
short_help: "Reload while skipping the cache",
|
short_help: "Reload while skipping the cache",
|
||||||
help: "Forces reloading of the current page skipping the cache."
|
help: "Forces reloading of the current page skipping the cache."
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["t"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["t"],
|
||||||
function() { vimperator.commandline.open(":", "tabopen ", vimperator.modes.EX); },
|
function () { vimperator.commandline.open(":", "tabopen ", vimperator.modes.EX); },
|
||||||
{
|
{
|
||||||
short_help: "Open one or more URLs in a new tab",
|
short_help: "Open one or more URLs in a new tab",
|
||||||
help: "Like <code class=\"mapping\">o</code> but open URLs in a new tab.<br/>" +
|
help: "Like <code class=\"mapping\">o</code> but open URLs in a new tab.<br/>" +
|
||||||
@@ -629,14 +629,14 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["T"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["T"],
|
||||||
function() { vimperator.commandline.open(":", "tabopen " + vimperator.buffer.URL, vimperator.modes.EX); },
|
function () { vimperator.commandline.open(":", "tabopen " + vimperator.buffer.URL, vimperator.modes.EX); },
|
||||||
{
|
{
|
||||||
short_help: "Open one or more URLs in a new tab, based on current location",
|
short_help: "Open one or more URLs in a new tab, based on current location",
|
||||||
help: "Works like <code class=\"mapping\">t</code>, but preselects current URL in the <code class=\"command\">:tabopen</code> query."
|
help: "Works like <code class=\"mapping\">t</code>, but preselects current URL in the <code class=\"command\">:tabopen</code> query."
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["u"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["u"],
|
||||||
function(count) { vimperator.commands.undo("", false, count); },
|
function (count) { vimperator.commands.undo("", false, count); },
|
||||||
{
|
{
|
||||||
short_help: "Undo closing of a tab",
|
short_help: "Undo closing of a tab",
|
||||||
help: "If a count is given, don't close the last but the <code class=\"argument\">[count]</code>th last tab.",
|
help: "If a count is given, don't close the last but the <code class=\"argument\">[count]</code>th last tab.",
|
||||||
@@ -644,7 +644,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["y"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["y"],
|
||||||
function()
|
function ()
|
||||||
{
|
{
|
||||||
var url = vimperator.buffer.URL;
|
var url = vimperator.buffer.URL;
|
||||||
vimperator.copyToClipboard(url);
|
vimperator.copyToClipboard(url);
|
||||||
@@ -656,7 +656,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["Y"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["Y"],
|
||||||
function()
|
function ()
|
||||||
{
|
{
|
||||||
var sel = window.content.document.getSelection();
|
var sel = window.content.document.getSelection();
|
||||||
vimperator.copyToClipboard(sel);
|
vimperator.copyToClipboard(sel);
|
||||||
@@ -667,35 +667,35 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["zi", "+"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["zi", "+"],
|
||||||
function(count) { vimperator.buffer.zoomIn(count > 1 ? count : 1); },
|
function (count) { vimperator.buffer.zoomIn(count > 1 ? count : 1); },
|
||||||
{
|
{
|
||||||
short_help: "Zoom in current web page by 25%",
|
short_help: "Zoom in current web page by 25%",
|
||||||
flags: vimperator.Mappings.flags.COUNT
|
flags: vimperator.Mappings.flags.COUNT
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["zI"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["zI"],
|
||||||
function(count) { vimperator.buffer.zoomIn((count > 1 ? count : 1) * 4); },
|
function (count) { vimperator.buffer.zoomIn((count > 1 ? count : 1) * 4); },
|
||||||
{
|
{
|
||||||
short_help: "Zoom in current web page by 100%",
|
short_help: "Zoom in current web page by 100%",
|
||||||
flags: vimperator.Mappings.flags.COUNT
|
flags: vimperator.Mappings.flags.COUNT
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["zo", "-"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["zo", "-"],
|
||||||
function(count) { vimperator.buffer.zoomOut(count > 1 ? count : 1); },
|
function (count) { vimperator.buffer.zoomOut(count > 1 ? count : 1); },
|
||||||
{
|
{
|
||||||
short_help: "Zoom out current web page by 25%",
|
short_help: "Zoom out current web page by 25%",
|
||||||
flags: vimperator.Mappings.flags.COUNT
|
flags: vimperator.Mappings.flags.COUNT
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["zO"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["zO"],
|
||||||
function(count) { vimperator.buffer.zoomOut((count > 1 ? count : 1) * 4); },
|
function (count) { vimperator.buffer.zoomOut((count > 1 ? count : 1) * 4); },
|
||||||
{
|
{
|
||||||
short_help: "Zoom out current web page by 100%",
|
short_help: "Zoom out current web page by 100%",
|
||||||
flags: vimperator.Mappings.flags.COUNT
|
flags: vimperator.Mappings.flags.COUNT
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["zz"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["zz"],
|
||||||
function(count) { vimperator.buffer.textZoom = count > 1 ? count : 100; },
|
function (count) { vimperator.buffer.textZoom = count > 1 ? count : 100; },
|
||||||
{
|
{
|
||||||
short_help: "Set zoom value of the web page",
|
short_help: "Set zoom value of the web page",
|
||||||
help: "Zoom value can be between 1 and 2000%. If it is omitted, zoom is reset to 100%.",
|
help: "Zoom value can be between 1 and 2000%. If it is omitted, zoom is reset to 100%.",
|
||||||
@@ -703,14 +703,14 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["ZQ"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["ZQ"],
|
||||||
function() { vimperator.quit(false); },
|
function () { vimperator.quit(false); },
|
||||||
{
|
{
|
||||||
short_help: "Quit and don't save the session",
|
short_help: "Quit and don't save the session",
|
||||||
help: "Works like <code class=\"command\">:qall</code>."
|
help: "Works like <code class=\"command\">:qall</code>."
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["ZZ"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["ZZ"],
|
||||||
function() { vimperator.quit(true); },
|
function () { vimperator.quit(true); },
|
||||||
{
|
{
|
||||||
short_help: "Quit and save the session",
|
short_help: "Quit and save the session",
|
||||||
help: "Quit Vimperator, no matter how many tabs/windows are open. The session is stored.<br/>" +
|
help: "Quit Vimperator, no matter how many tabs/windows are open. The session is stored.<br/>" +
|
||||||
@@ -720,20 +720,20 @@ vimperator.Mappings = function() //{{{
|
|||||||
|
|
||||||
// scrolling commands
|
// scrolling commands
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["0", "^"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["0", "^"],
|
||||||
function() { vimperator.buffer.scrollStart(); },
|
function () { vimperator.buffer.scrollStart(); },
|
||||||
{
|
{
|
||||||
short_help: "Scroll to the absolute left of the document",
|
short_help: "Scroll to the absolute left of the document",
|
||||||
help: "Unlike in Vim, <code class=\"mapping\">0</code> and <code class=\"mapping\">^</code> work exactly the same way."
|
help: "Unlike in Vim, <code class=\"mapping\">0</code> and <code class=\"mapping\">^</code> work exactly the same way."
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["$"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["$"],
|
||||||
function() { vimperator.buffer.scrollEnd(); },
|
function () { vimperator.buffer.scrollEnd(); },
|
||||||
{
|
{
|
||||||
short_help: "Scroll to the absolute right of the document"
|
short_help: "Scroll to the absolute right of the document"
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["gg", "<Home>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["gg", "<Home>"],
|
||||||
function(count) { vimperator.buffer.scrollToPercentile(count > 0 ? count : 0); },
|
function (count) { vimperator.buffer.scrollToPercentile(count > 0 ? count : 0); },
|
||||||
{
|
{
|
||||||
short_help: "Goto the top of the document",
|
short_help: "Goto the top of the document",
|
||||||
help: "When used with <code class=\"argument\">[count]</code> like in <code class=\"mapping\">35gg</code>, it scrolls to 35% of the document.",
|
help: "When used with <code class=\"argument\">[count]</code> like in <code class=\"mapping\">35gg</code>, it scrolls to 35% of the document.",
|
||||||
@@ -741,7 +741,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["G", "<End>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["G", "<End>"],
|
||||||
function(count) { vimperator.buffer.scrollToPercentile(count >= 0 ? count : 100); },
|
function (count) { vimperator.buffer.scrollToPercentile(count >= 0 ? count : 100); },
|
||||||
{
|
{
|
||||||
short_help: "Goto the end of the document",
|
short_help: "Goto the end of the document",
|
||||||
help: "When used with <code class=\"argument\">[count]</code> like in <code class=\"mapping\">35G</code>, it scrolls to 35% of the document.",
|
help: "When used with <code class=\"argument\">[count]</code> like in <code class=\"mapping\">35G</code>, it scrolls to 35% of the document.",
|
||||||
@@ -749,7 +749,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["h", "<Left>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["h", "<Left>"],
|
||||||
function(count) { vimperator.buffer.scrollColumns(-(count > 1 ? count : 1)); },
|
function (count) { vimperator.buffer.scrollColumns(-(count > 1 ? count : 1)); },
|
||||||
{
|
{
|
||||||
short_help: "Scroll document to the left",
|
short_help: "Scroll document to the left",
|
||||||
help: "Count is supported: <code class=\"mapping\">10h</code> will move 10 times as much to the left.<br/>" +
|
help: "Count is supported: <code class=\"mapping\">10h</code> will move 10 times as much to the left.<br/>" +
|
||||||
@@ -758,7 +758,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["j", "<Down>", "<C-e>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["j", "<Down>", "<C-e>"],
|
||||||
function(count) { vimperator.buffer.scrollLines(count > 1 ? count : 1); },
|
function (count) { vimperator.buffer.scrollLines(count > 1 ? count : 1); },
|
||||||
{
|
{
|
||||||
short_help: "Scroll document down",
|
short_help: "Scroll document down",
|
||||||
help: "Count is supported: <code class=\"mapping\">10j</code> will move 10 times as much down.<br/>" +
|
help: "Count is supported: <code class=\"mapping\">10j</code> will move 10 times as much down.<br/>" +
|
||||||
@@ -767,7 +767,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["k", "<Up>", "<C-y>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["k", "<Up>", "<C-y>"],
|
||||||
function(count) { vimperator.buffer.scrollLines(-(count > 1 ? count : 1)); },
|
function (count) { vimperator.buffer.scrollLines(-(count > 1 ? count : 1)); },
|
||||||
{
|
{
|
||||||
short_help: "Scroll document up",
|
short_help: "Scroll document up",
|
||||||
help: "Count is supported: <code class=\"mapping\">10k</code> will move 10 times as much up.<br/>" +
|
help: "Count is supported: <code class=\"mapping\">10k</code> will move 10 times as much up.<br/>" +
|
||||||
@@ -792,7 +792,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<C-d>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<C-d>"],
|
||||||
function(count) { scrollByScrollSize(count, 1); },
|
function (count) { scrollByScrollSize(count, 1); },
|
||||||
{
|
{
|
||||||
short_help: "Scroll window downwards in the buffer",
|
short_help: "Scroll window downwards in the buffer",
|
||||||
help: "The number of lines is set by the <code class=\"option\">'scroll'</code> option which defaults to half a page. " +
|
help: "The number of lines is set by the <code class=\"option\">'scroll'</code> option which defaults to half a page. " +
|
||||||
@@ -801,7 +801,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<C-u>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<C-u>"],
|
||||||
function(count) { scrollByScrollSize(count, -1); },
|
function (count) { scrollByScrollSize(count, -1); },
|
||||||
{
|
{
|
||||||
short_help: "Scroll window upwards in the buffer",
|
short_help: "Scroll window upwards in the buffer",
|
||||||
help: "The number of lines is set by the <code class=\"option\">'scroll'</code> option which defaults to half a page. " +
|
help: "The number of lines is set by the <code class=\"option\">'scroll'</code> option which defaults to half a page. " +
|
||||||
@@ -810,7 +810,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["l", "<Right>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["l", "<Right>"],
|
||||||
function(count) { vimperator.buffer.scrollColumns(count > 1 ? count : 1); },
|
function (count) { vimperator.buffer.scrollColumns(count > 1 ? count : 1); },
|
||||||
{
|
{
|
||||||
short_help: "Scroll document to the right",
|
short_help: "Scroll document to the right",
|
||||||
help: "Count is supported: <code class=\"mapping\">10l</code> will move 10 times as much to the right.<br/>" +
|
help: "Count is supported: <code class=\"mapping\">10l</code> will move 10 times as much to the right.<br/>" +
|
||||||
@@ -819,7 +819,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<C-b>", "<PageUp>", "<S-Space>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<C-b>", "<PageUp>", "<S-Space>"],
|
||||||
function(count) { vimperator.buffer.scrollPages(-(count > 1 ? count : 1)); },
|
function (count) { vimperator.buffer.scrollPages(-(count > 1 ? count : 1)); },
|
||||||
{
|
{
|
||||||
short_help: "Scroll up a full page",
|
short_help: "Scroll up a full page",
|
||||||
help: "Scroll window <code class=\"argument\">[count]</code> pages Backwards (upwards) in the buffer.",
|
help: "Scroll window <code class=\"argument\">[count]</code> pages Backwards (upwards) in the buffer.",
|
||||||
@@ -827,7 +827,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<C-f>", "<PageDown>", "<Space>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<C-f>", "<PageDown>", "<Space>"],
|
||||||
function(count) { vimperator.buffer.scrollPages(count > 1 ? count : 1); },
|
function (count) { vimperator.buffer.scrollPages(count > 1 ? count : 1); },
|
||||||
{
|
{
|
||||||
short_help: "Scroll down a full page",
|
short_help: "Scroll down a full page",
|
||||||
help: "Scroll window <code class=\"argument\">[count]</code> pages Forwards (downwards) in the buffer.",
|
help: "Scroll window <code class=\"argument\">[count]</code> pages Forwards (downwards) in the buffer.",
|
||||||
@@ -837,7 +837,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
|
|
||||||
// page info
|
// page info
|
||||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["<C-g>"],
|
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["<C-g>"],
|
||||||
function(count) { vimperator.buffer.pageInfo(false); },
|
function (count) { vimperator.buffer.pageInfo(false); },
|
||||||
{
|
{
|
||||||
short_help: "Print the current file name",
|
short_help: "Print the current file name",
|
||||||
help: "Also shows some additional file information like file size or the last modified date. " +
|
help: "Also shows some additional file information like file size or the last modified date. " +
|
||||||
@@ -846,7 +846,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["g<C-g>"],
|
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["g<C-g>"],
|
||||||
function(count) { vimperator.buffer.pageInfo(true); },
|
function (count) { vimperator.buffer.pageInfo(true); },
|
||||||
{
|
{
|
||||||
short_help: "Print file information",
|
short_help: "Print file information",
|
||||||
help: "Same as <code class='command'>:pa[geinfo]</code>."
|
help: "Same as <code class='command'>:pa[geinfo]</code>."
|
||||||
@@ -856,7 +856,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
|
|
||||||
// history manipulation and jumplist
|
// history manipulation and jumplist
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<C-o>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<C-o>"],
|
||||||
function(count) { vimperator.history.stepTo(-(count > 1 ? count : 1)); },
|
function (count) { vimperator.history.stepTo(-(count > 1 ? count : 1)); },
|
||||||
{
|
{
|
||||||
short_help: "Go to an older position in the jump list",
|
short_help: "Go to an older position in the jump list",
|
||||||
help: "The jump list is just the browser history for now.",
|
help: "The jump list is just the browser history for now.",
|
||||||
@@ -864,7 +864,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<C-i>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["<C-i>"],
|
||||||
function(count) { vimperator.history.stepTo(count > 1 ? count : 1); },
|
function (count) { vimperator.history.stepTo(count > 1 ? count : 1); },
|
||||||
{
|
{
|
||||||
short_help: "Go to a newer position in the jump list",
|
short_help: "Go to a newer position in the jump list",
|
||||||
help: "The jump list is just the browser history for now.",
|
help: "The jump list is just the browser history for now.",
|
||||||
@@ -872,7 +872,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["H", "<A-Left>", "<M-Left>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["H", "<A-Left>", "<M-Left>"],
|
||||||
function(count) { vimperator.history.stepTo(-(count > 1 ? count : 1)); },
|
function (count) { vimperator.history.stepTo(-(count > 1 ? count : 1)); },
|
||||||
{
|
{
|
||||||
short_help: "Go back in the browser history",
|
short_help: "Go back in the browser history",
|
||||||
help: "Count is supported: <code class=\"mapping\">3H</code> goes back 3 steps.",
|
help: "Count is supported: <code class=\"mapping\">3H</code> goes back 3 steps.",
|
||||||
@@ -880,7 +880,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["L", "<A-Right>", "<M-Right>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["L", "<A-Right>", "<M-Right>"],
|
||||||
function(count) { vimperator.history.stepTo(count > 1 ? count : 1); },
|
function (count) { vimperator.history.stepTo(count > 1 ? count : 1); },
|
||||||
{
|
{
|
||||||
short_help: "Go forward in the browser history",
|
short_help: "Go forward in the browser history",
|
||||||
help: "Count is supported: <code class=\"mapping\">3L</code> goes forward 3 steps.",
|
help: "Count is supported: <code class=\"mapping\">3L</code> goes forward 3 steps.",
|
||||||
@@ -905,7 +905,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["gu", "<BS>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["gu", "<BS>"],
|
||||||
function(count)
|
function (count)
|
||||||
{
|
{
|
||||||
var gocmd = "";
|
var gocmd = "";
|
||||||
if (isDirectory(vimperator.buffer.URL))
|
if (isDirectory(vimperator.buffer.URL))
|
||||||
@@ -928,7 +928,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["gU", "<C-BS>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["gU", "<C-BS>"],
|
||||||
function() { vimperator.open("..."); },
|
function () { vimperator.open("..."); },
|
||||||
{
|
{
|
||||||
short_help: "Go to the root of the website",
|
short_help: "Go to the root of the website",
|
||||||
help: "<code class=\"mapping\">gU</code> on <code>http://www.example.com/dir1/dir2/file.htm</code> opens <code>http://www.example.com/</code>.<br/>" +
|
help: "<code class=\"mapping\">gU</code> on <code>http://www.example.com/dir1/dir2/file.htm</code> opens <code>http://www.example.com/</code>.<br/>" +
|
||||||
@@ -938,7 +938,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
|
|
||||||
// hint managment
|
// hint managment
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["f"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["f"],
|
||||||
function() { vimperator.hints.enableHahMode(vimperator.modes.QUICK_HINT); },
|
function () { vimperator.hints.enableHahMode(vimperator.modes.QUICK_HINT); },
|
||||||
{
|
{
|
||||||
short_help: "Start QuickHint mode",
|
short_help: "Start QuickHint mode",
|
||||||
help: "In QuickHint mode, every hintable item (according to the <code class=\"option\">'hinttags'</code> XPath query) is assigned a label.<br/>" +
|
help: "In QuickHint mode, every hintable item (according to the <code class=\"option\">'hinttags'</code> XPath query) is assigned a label.<br/>" +
|
||||||
@@ -947,7 +947,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["F"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["F"],
|
||||||
function() { vimperator.hints.enableHahMode(vimperator.modes.ALWAYS_HINT); },
|
function () { vimperator.hints.enableHahMode(vimperator.modes.ALWAYS_HINT); },
|
||||||
{
|
{
|
||||||
short_help: "Start AlwaysHint mode",
|
short_help: "Start AlwaysHint mode",
|
||||||
help: "In AlwaysHint mode, every hintable item (according to the <code class=\"option\">'hinttags'</code> XPath query) is assigned a label.<br/>" +
|
help: "In AlwaysHint mode, every hintable item (according to the <code class=\"option\">'hinttags'</code> XPath query) is assigned a label.<br/>" +
|
||||||
@@ -957,7 +957,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, [";"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, [";"],
|
||||||
function() { vimperator.hints.enableHahMode(vimperator.modes.EXTENDED_HINT); },
|
function () { vimperator.hints.enableHahMode(vimperator.modes.EXTENDED_HINT); },
|
||||||
{
|
{
|
||||||
short_help: "Start ExtendedHint mode",
|
short_help: "Start ExtendedHint mode",
|
||||||
help: "ExtendedHint mode is useful, since in this mode you can yank link locations, or open them in a new window.<br/>" +
|
help: "ExtendedHint mode is useful, since in this mode you can yank link locations, or open them in a new window.<br/>" +
|
||||||
@@ -982,7 +982,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
|
|
||||||
// search management
|
// search management
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["/"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["/"],
|
||||||
function() { vimperator.search.openSearchDialog(vimperator.modes.SEARCH_FORWARD); },
|
function () { vimperator.search.openSearchDialog(vimperator.modes.SEARCH_FORWARD); },
|
||||||
{
|
{
|
||||||
short_help: "Search forward for a pattern",
|
short_help: "Search forward for a pattern",
|
||||||
usage: ["/{pattern}[/]<CR>"],
|
usage: ["/{pattern}[/]<CR>"],
|
||||||
@@ -994,7 +994,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["?"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["?"],
|
||||||
function() { vimperator.search.openSearchDialog(vimperator.modes.SEARCH_BACKWARD); },
|
function () { vimperator.search.openSearchDialog(vimperator.modes.SEARCH_BACKWARD); },
|
||||||
{
|
{
|
||||||
short_help: "Search backwards for a pattern",
|
short_help: "Search backwards for a pattern",
|
||||||
usage: ["?{pattern}[?]<CR>"],
|
usage: ["?{pattern}[?]<CR>"],
|
||||||
@@ -1007,14 +1007,14 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["n"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["n"],
|
||||||
function() { vimperator.search.findAgain(false); },
|
function () { vimperator.search.findAgain(false); },
|
||||||
{
|
{
|
||||||
short_help: "Find next",
|
short_help: "Find next",
|
||||||
help: "Repeat the last search 1 time (until count is supported)."
|
help: "Repeat the last search 1 time (until count is supported)."
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["N"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.NORMAL, ["N"],
|
||||||
function() { vimperator.search.findAgain(true); },
|
function () { vimperator.search.findAgain(true); },
|
||||||
{
|
{
|
||||||
short_help: "Find previous",
|
short_help: "Find previous",
|
||||||
help: "Repeat the last search 1 time (until count is supported) in the opposite direction."
|
help: "Repeat the last search 1 time (until count is supported) in the opposite direction."
|
||||||
@@ -1028,63 +1028,63 @@ vimperator.Mappings = function() //{{{
|
|||||||
|
|
||||||
// action keys
|
// action keys
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["o"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["o"],
|
||||||
function() { vimperator.hints.openHints(false, false); },
|
function () { vimperator.hints.openHints(false, false); },
|
||||||
{
|
{
|
||||||
cancel_mode: true,
|
cancel_mode: true,
|
||||||
always_active: false
|
always_active: false
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["t"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["t"],
|
||||||
function() { vimperator.hints.openHints(true, false); },
|
function () { vimperator.hints.openHints(true, false); },
|
||||||
{
|
{
|
||||||
cancel_mode: true,
|
cancel_mode: true,
|
||||||
always_active: false
|
always_active: false
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-w>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-w>"],
|
||||||
function() { vimperator.hints.openHints(false, true ); },
|
function () { vimperator.hints.openHints(false, true ); },
|
||||||
{
|
{
|
||||||
cancel_mode: true,
|
cancel_mode: true,
|
||||||
always_active: false
|
always_active: false
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["s"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["s"],
|
||||||
function() { vimperator.hints.saveHints(true); },
|
function () { vimperator.hints.saveHints(true); },
|
||||||
{
|
{
|
||||||
cancel_mode: true,
|
cancel_mode: true,
|
||||||
always_active: false
|
always_active: false
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map([vimperator.modes.HINTS], ["a"],
|
addDefaultMap(new vimperator.Map([vimperator.modes.HINTS], ["a"],
|
||||||
function() { vimperator.hints.saveHints(false); },
|
function () { vimperator.hints.saveHints(false); },
|
||||||
{
|
{
|
||||||
cancel_mode: true,
|
cancel_mode: true,
|
||||||
always_active: false
|
always_active: false
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["y"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["y"],
|
||||||
function() { vimperator.hints.yankUrlHints(); },
|
function () { vimperator.hints.yankUrlHints(); },
|
||||||
{
|
{
|
||||||
cancel_mode: true,
|
cancel_mode: true,
|
||||||
always_active: false
|
always_active: false
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["Y"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["Y"],
|
||||||
function() { vimperator.hints.yankTextHints(); },
|
function () { vimperator.hints.yankTextHints(); },
|
||||||
{
|
{
|
||||||
cancel_mode: true,
|
cancel_mode: true,
|
||||||
always_active: false
|
always_active: false
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, [","],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, [","],
|
||||||
function() { vimperator.input.buffer += ","; vimperator.hints.setCurrentState(0); },
|
function () { vimperator.input.buffer += ","; vimperator.hints.setCurrentState(0); },
|
||||||
{
|
{
|
||||||
cancel_mode: false,
|
cancel_mode: false,
|
||||||
always_active: true
|
always_active: true
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, [":"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, [":"],
|
||||||
function() { vimperator.commandline.open(":", "", vimperator.modes.EX); },
|
function () { vimperator.commandline.open(":", "", vimperator.modes.EX); },
|
||||||
{
|
{
|
||||||
cancel_mode: false,
|
cancel_mode: false,
|
||||||
always_active: true
|
always_active: true
|
||||||
@@ -1093,7 +1093,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
|
|
||||||
// movement keys
|
// movement keys
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-e>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-e>"],
|
||||||
function(count) { vimperator.buffer.scrollLines(count > 1 ? count : 1); },
|
function (count) { vimperator.buffer.scrollLines(count > 1 ? count : 1); },
|
||||||
{
|
{
|
||||||
cancel_mode: false,
|
cancel_mode: false,
|
||||||
always_active: true,
|
always_active: true,
|
||||||
@@ -1101,7 +1101,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-y>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-y>"],
|
||||||
function(count) { vimperator.buffer.scrollLines(-(count > 1 ? count : 1)); },
|
function (count) { vimperator.buffer.scrollLines(-(count > 1 ? count : 1)); },
|
||||||
{
|
{
|
||||||
cancel_mode: false,
|
cancel_mode: false,
|
||||||
always_active: true,
|
always_active: true,
|
||||||
@@ -1109,21 +1109,21 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<Home>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<Home>"],
|
||||||
function() { vimperator.buffer.scrollTop(); },
|
function () { vimperator.buffer.scrollTop(); },
|
||||||
{
|
{
|
||||||
cancel_mode: false,
|
cancel_mode: false,
|
||||||
always_active: true
|
always_active: true
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<End>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<End>"],
|
||||||
function() { vimperator.buffer.scrollBottom(); },
|
function () { vimperator.buffer.scrollBottom(); },
|
||||||
{
|
{
|
||||||
cancel_mode: false,
|
cancel_mode: false,
|
||||||
always_active: true
|
always_active: true
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<PageUp>", "<C-b>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<PageUp>", "<C-b>"],
|
||||||
function(count) { vimperator.buffer.scrollPages(-(count > 1 ? count : 1)); },
|
function (count) { vimperator.buffer.scrollPages(-(count > 1 ? count : 1)); },
|
||||||
{
|
{
|
||||||
cancel_mode: false,
|
cancel_mode: false,
|
||||||
always_active: true,
|
always_active: true,
|
||||||
@@ -1131,7 +1131,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<PageDown>", "<C-f>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<PageDown>", "<C-f>"],
|
||||||
function(count) { vimperator.buffer.scrollPages(count > 1 ? count : 1); },
|
function (count) { vimperator.buffer.scrollPages(count > 1 ? count : 1); },
|
||||||
{
|
{
|
||||||
cancel_mode: false,
|
cancel_mode: false,
|
||||||
always_active: true,
|
always_active: true,
|
||||||
@@ -1139,7 +1139,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<Left>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<Left>"],
|
||||||
function() { vimperator.buffer.scrollColumns(-(count > 1 ? count : 1)); },
|
function () { vimperator.buffer.scrollColumns(-(count > 1 ? count : 1)); },
|
||||||
{
|
{
|
||||||
cancel_mode: false,
|
cancel_mode: false,
|
||||||
always_active: true,
|
always_active: true,
|
||||||
@@ -1147,7 +1147,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<Down>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<Down>"],
|
||||||
function() { vimperator.buffer.scrollLines(count > 1 ? count : 1); },
|
function () { vimperator.buffer.scrollLines(count > 1 ? count : 1); },
|
||||||
{
|
{
|
||||||
cancel_mode: false,
|
cancel_mode: false,
|
||||||
always_active: true,
|
always_active: true,
|
||||||
@@ -1155,7 +1155,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<Up>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<Up>"],
|
||||||
function() { vimperator.buffer.scrollLines(-(count > 1 ? count : 1)); },
|
function () { vimperator.buffer.scrollLines(-(count > 1 ? count : 1)); },
|
||||||
{
|
{
|
||||||
cancel_mode: false,
|
cancel_mode: false,
|
||||||
always_active: true,
|
always_active: true,
|
||||||
@@ -1163,7 +1163,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<Right>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<Right>"],
|
||||||
function() { vimperator.buffer.scrollColumns(count > 1 ? count : 1); },
|
function () { vimperator.buffer.scrollColumns(count > 1 ? count : 1); },
|
||||||
{
|
{
|
||||||
cancel_mode: false,
|
cancel_mode: false,
|
||||||
always_active: true,
|
always_active: true,
|
||||||
@@ -1173,14 +1173,14 @@ vimperator.Mappings = function() //{{{
|
|||||||
|
|
||||||
// tab management
|
// tab management
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-n>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-n>"],
|
||||||
function() { vimperator.tabs.select("+1", true); },
|
function () { vimperator.tabs.select("+1", true); },
|
||||||
{
|
{
|
||||||
cancel_mode: true,
|
cancel_mode: true,
|
||||||
always_active: true
|
always_active: true
|
||||||
}
|
}
|
||||||
)); // same as gt, but no count supported
|
)); // same as gt, but no count supported
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-p>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-p>"],
|
||||||
function() { vimperator.tabs.select("-1", true); },
|
function () { vimperator.tabs.select("-1", true); },
|
||||||
{
|
{
|
||||||
cancel_mode: true,
|
cancel_mode: true,
|
||||||
always_active: true
|
always_active: true
|
||||||
@@ -1189,7 +1189,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
|
|
||||||
// navigation
|
// navigation
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-o>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-o>"],
|
||||||
function(count) { vimperator.history.stepTo(count > 0 ? -count : -1); },
|
function (count) { vimperator.history.stepTo(count > 0 ? -count : -1); },
|
||||||
{
|
{
|
||||||
cancel_mode: false,
|
cancel_mode: false,
|
||||||
always_active: true,
|
always_active: true,
|
||||||
@@ -1197,7 +1197,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-i>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-i>"],
|
||||||
function(count) { vimperator.history.stepTo(count > 1 ? count : 1); },
|
function (count) { vimperator.history.stepTo(count > 1 ? count : 1); },
|
||||||
{
|
{
|
||||||
cancel_mode: false,
|
cancel_mode: false,
|
||||||
always_active: true,
|
always_active: true,
|
||||||
@@ -1205,7 +1205,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-h>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-h>"],
|
||||||
function(count) { vimperator.history.stepTo(count > 0 ? -count : -1); },
|
function (count) { vimperator.history.stepTo(count > 0 ? -count : -1); },
|
||||||
{
|
{
|
||||||
cancel_mode: false,
|
cancel_mode: false,
|
||||||
always_active: true,
|
always_active: true,
|
||||||
@@ -1213,7 +1213,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-l>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-l>"],
|
||||||
function(count) { vimperator.history.stepTo(count > 1 ? count : 1); },
|
function (count) { vimperator.history.stepTo(count > 1 ? count : 1); },
|
||||||
{
|
{
|
||||||
cancel_mode: false,
|
cancel_mode: false,
|
||||||
always_active: true,
|
always_active: true,
|
||||||
@@ -1221,7 +1221,7 @@ vimperator.Mappings = function() //{{{
|
|||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-d>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-d>"],
|
||||||
function() { vimperator.tabs.remove(getBrowser().mCurrentTab, vimperator.input.count, false, 0); },
|
function () { vimperator.tabs.remove(getBrowser().mCurrentTab, vimperator.input.count, false, 0); },
|
||||||
{
|
{
|
||||||
cancel_mode: true,
|
cancel_mode: true,
|
||||||
always_active: true
|
always_active: true
|
||||||
@@ -1230,28 +1230,28 @@ vimperator.Mappings = function() //{{{
|
|||||||
|
|
||||||
// cancel_mode hint mode keys
|
// cancel_mode hint mode keys
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-c>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-c>"],
|
||||||
function() { ; },
|
function () { ; },
|
||||||
{
|
{
|
||||||
cancel_mode: true,
|
cancel_mode: true,
|
||||||
always_active: true
|
always_active: true
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-g>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-g>"],
|
||||||
function() { ; },
|
function () { ; },
|
||||||
{
|
{
|
||||||
cancel_mode: true,
|
cancel_mode: true,
|
||||||
always_active: true
|
always_active: true
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-[>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<C-[>"],
|
||||||
function() { ; },
|
function () { ; },
|
||||||
{
|
{
|
||||||
cancel_mode: true,
|
cancel_mode: true,
|
||||||
always_active: true
|
always_active: true
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<Esc>"],
|
addDefaultMap(new vimperator.Map(vimperator.modes.HINTS, ["<Esc>"],
|
||||||
function() { ; },
|
function () { ; },
|
||||||
{
|
{
|
||||||
cancel_mode: true,
|
cancel_mode: true,
|
||||||
always_active: true
|
always_active: true
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ the provisions above, a recipient may use your version of this file under
|
|||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
the terms of any one of the MPL, the GPL or the LGPL.
|
||||||
}}} ***** END LICENSE BLOCK *****/
|
}}} ***** END LICENSE BLOCK *****/
|
||||||
|
|
||||||
vimperator.Option = function(names, type, extra_info) //{{{
|
vimperator.Option = function (names, type, extra_info) //{{{
|
||||||
{
|
{
|
||||||
if (!names || !type)
|
if (!names || !type)
|
||||||
return null;
|
return null;
|
||||||
@@ -77,7 +77,7 @@ vimperator.Option = function(names, type, extra_info) //{{{
|
|||||||
|
|
||||||
// NOTE: forced defaults need to use vimperator.options.getPref
|
// NOTE: forced defaults need to use vimperator.options.getPref
|
||||||
this.__defineGetter__("value",
|
this.__defineGetter__("value",
|
||||||
function()
|
function ()
|
||||||
{
|
{
|
||||||
if (this.getter)
|
if (this.getter)
|
||||||
this.getter.call(this);
|
this.getter.call(this);
|
||||||
@@ -85,7 +85,7 @@ vimperator.Option = function(names, type, extra_info) //{{{
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
this.__defineSetter__("value",
|
this.__defineSetter__("value",
|
||||||
function(new_value)
|
function (new_value)
|
||||||
{
|
{
|
||||||
value = new_value;
|
value = new_value;
|
||||||
if (this.setter)
|
if (this.setter)
|
||||||
@@ -96,7 +96,7 @@ vimperator.Option = function(names, type, extra_info) //{{{
|
|||||||
// TODO: add is[Type]() queries for use in set()?
|
// TODO: add is[Type]() queries for use in set()?
|
||||||
// : add isValid() or just throw an exception?
|
// : add isValid() or just throw an exception?
|
||||||
|
|
||||||
this.hasName = function(name)
|
this.hasName = function (name)
|
||||||
{
|
{
|
||||||
for (var i = 0; i < this.names.length; i++)
|
for (var i = 0; i < this.names.length; i++)
|
||||||
{
|
{
|
||||||
@@ -106,7 +106,7 @@ vimperator.Option = function(names, type, extra_info) //{{{
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.isValidValue = function(value)
|
this.isValidValue = function (value)
|
||||||
{
|
{
|
||||||
if (this.validator)
|
if (this.validator)
|
||||||
return this.validator(value);
|
return this.validator(value);
|
||||||
@@ -114,13 +114,13 @@ vimperator.Option = function(names, type, extra_info) //{{{
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.reset = function()
|
this.reset = function ()
|
||||||
{
|
{
|
||||||
this.value = this.default_value;
|
this.value = this.default_value;
|
||||||
}
|
}
|
||||||
} //}}}
|
} //}}}
|
||||||
|
|
||||||
vimperator.Options = function() //{{{
|
vimperator.Options = function () //{{{
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
||||||
@@ -312,12 +312,12 @@ vimperator.Options = function() //{{{
|
|||||||
////////////////////// PUBLIC SECTION //////////////////////////////////////////
|
////////////////////// PUBLIC SECTION //////////////////////////////////////////
|
||||||
/////////////////////////////////////////////////////////////////////////////{{{
|
/////////////////////////////////////////////////////////////////////////////{{{
|
||||||
|
|
||||||
this.__iterator__ = function()
|
this.__iterator__ = function ()
|
||||||
{
|
{
|
||||||
return optionsIterator();
|
return optionsIterator();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.get = function(name)
|
this.get = function (name)
|
||||||
{
|
{
|
||||||
for (var i = 0; i < options.length; i++)
|
for (var i = 0; i < options.length; i++)
|
||||||
{
|
{
|
||||||
@@ -327,14 +327,14 @@ vimperator.Options = function() //{{{
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.add = function(option)
|
this.add = function (option)
|
||||||
{
|
{
|
||||||
this.__defineGetter__(option.name, function() { return option.value; });
|
this.__defineGetter__(option.name, function () { return option.value; });
|
||||||
this.__defineSetter__(option.name, function(value) { option.value = value; });
|
this.__defineSetter__(option.name, function (value) { option.value = value; });
|
||||||
options.push(option);
|
options.push(option);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.destroy = function()
|
this.destroy = function ()
|
||||||
{
|
{
|
||||||
// reset some modified firefox prefs
|
// reset some modified firefox prefs
|
||||||
if (loadPreference("dom.popup_allowed_events", "change click dblclick mouseup reset submit")
|
if (loadPreference("dom.popup_allowed_events", "change click dblclick mouseup reset submit")
|
||||||
@@ -342,7 +342,7 @@ vimperator.Options = function() //{{{
|
|||||||
storePreference("dom.popup_allowed_events", popup_allowed_events);
|
storePreference("dom.popup_allowed_events", popup_allowed_events);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.list = function(only_non_default)
|
this.list = function (only_non_default)
|
||||||
{
|
{
|
||||||
// TODO: columns like Vim?
|
// TODO: columns like Vim?
|
||||||
var list = ":" + vimperator.util.escapeHTML(vimperator.commandline.getCommand()) + "<br/>" +
|
var list = ":" + vimperator.util.escapeHTML(vimperator.commandline.getCommand()) + "<br/>" +
|
||||||
@@ -385,7 +385,7 @@ vimperator.Options = function() //{{{
|
|||||||
}
|
}
|
||||||
|
|
||||||
// this hack is only needed, because we need to do asynchronous loading of the .vimperatorrc
|
// this hack is only needed, because we need to do asynchronous loading of the .vimperatorrc
|
||||||
this.setInitialGUI = function()
|
this.setInitialGUI = function ()
|
||||||
{
|
{
|
||||||
if (!guioptions_done)
|
if (!guioptions_done)
|
||||||
this.get("guioptions").reset();
|
this.get("guioptions").reset();
|
||||||
@@ -397,22 +397,22 @@ vimperator.Options = function() //{{{
|
|||||||
|
|
||||||
// TODO: separate Preferences from Options? Would these utility functions
|
// TODO: separate Preferences from Options? Would these utility functions
|
||||||
// be better placed in the 'core' vimperator namespace somewhere?
|
// be better placed in the 'core' vimperator namespace somewhere?
|
||||||
this.setPref = function(name, value)
|
this.setPref = function (name, value)
|
||||||
{
|
{
|
||||||
return storePreference(name, value, true);
|
return storePreference(name, value, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.getPref = function(name, forced_default)
|
this.getPref = function (name, forced_default)
|
||||||
{
|
{
|
||||||
return loadPreference(name, forced_default, true);
|
return loadPreference(name, forced_default, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.setFirefoxPref = function(name, value)
|
this.setFirefoxPref = function (name, value)
|
||||||
{
|
{
|
||||||
return storePreference(name, value);
|
return storePreference(name, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.getFirefoxPref = function(name, forced_default)
|
this.getFirefoxPref = function (name, forced_default)
|
||||||
{
|
{
|
||||||
return loadPreference(name, forced_default);
|
return loadPreference(name, forced_default);
|
||||||
}
|
}
|
||||||
@@ -437,9 +437,9 @@ vimperator.Options = function() //{{{
|
|||||||
"<li><b>paste</b>: <code class=\"mapping\">P</code> and <code class=\"mapping\">gP</code> mappings</li>" +
|
"<li><b>paste</b>: <code class=\"mapping\">P</code> and <code class=\"mapping\">gP</code> mappings</li>" +
|
||||||
"</ul>",
|
"</ul>",
|
||||||
default_value: "homepage,quickmark,tabopen,paste",
|
default_value: "homepage,quickmark,tabopen,paste",
|
||||||
validator: function(value)
|
validator: function (value)
|
||||||
{
|
{
|
||||||
return value.split(",").every(function(item) { return /^(homepage|quickmark|tabopen|paste|)$/.test(item); });
|
return value.split(",").every(function (item) { return /^(homepage|quickmark|tabopen|paste|)$/.test(item); });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
@@ -456,7 +456,7 @@ vimperator.Options = function() //{{{
|
|||||||
"The order is important, so <code class=\"command\">:set complete=bs</code> would list bookmarks first, and then any available quick searches.<br/>" +
|
"The order is important, so <code class=\"command\">:set complete=bs</code> would list bookmarks first, and then any available quick searches.<br/>" +
|
||||||
"Add <code class=\"option\">'sort'</code> to the <code class=\"option\">'wildoptions'</code> option if you want all entries sorted.",
|
"Add <code class=\"option\">'sort'</code> to the <code class=\"option\">'wildoptions'</code> option if you want all entries sorted.",
|
||||||
default_value: "sfbh",
|
default_value: "sfbh",
|
||||||
validator: function(value) { return !/[^sfbh]/.test(value); }
|
validator: function (value) { return !/[^sfbh]/.test(value); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
this.add(new vimperator.Option(["defsearch", "ds"], "string",
|
this.add(new vimperator.Option(["defsearch", "ds"], "string",
|
||||||
@@ -464,7 +464,7 @@ vimperator.Options = function() //{{{
|
|||||||
short_help: "Set the default search engine",
|
short_help: "Set the default search engine",
|
||||||
help: "The default search engine is used in the <code class=\"command\">:[tab]open [arg]</code> command " +
|
help: "The default search engine is used in the <code class=\"command\">:[tab]open [arg]</code> command " +
|
||||||
"if [arg] neither looks like a URL or like a specified search engine/keyword.",
|
"if [arg] neither looks like a URL or like a specified search engine/keyword.",
|
||||||
completer: function() { return [["foo", "bar"], ["shit", "blub"]]; },
|
completer: function () { return [["foo", "bar"], ["shit", "blub"]]; },
|
||||||
default_value: "google"
|
default_value: "google"
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
@@ -484,8 +484,8 @@ vimperator.Options = function() //{{{
|
|||||||
this.add(new vimperator.Option(["fullscreen", "fs"], "boolean",
|
this.add(new vimperator.Option(["fullscreen", "fs"], "boolean",
|
||||||
{
|
{
|
||||||
short_help: "Show the current window fullscreen",
|
short_help: "Show the current window fullscreen",
|
||||||
setter: function(value) { window.fullScreen = value; },
|
setter: function (value) { window.fullScreen = value; },
|
||||||
getter: function() { return window.fullScreen; },
|
getter: function () { return window.fullScreen; },
|
||||||
default_value: false
|
default_value: false
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
@@ -498,9 +498,9 @@ vimperator.Options = function() //{{{
|
|||||||
"<li><b>T</b>: toolbar</li>" +
|
"<li><b>T</b>: toolbar</li>" +
|
||||||
"<li><b>b</b>: bookmark bar</li>" +
|
"<li><b>b</b>: bookmark bar</li>" +
|
||||||
"</ul>",
|
"</ul>",
|
||||||
setter: function(value) { setGuiOptions(value); },
|
setter: function (value) { setGuiOptions(value); },
|
||||||
default_value: "",
|
default_value: "",
|
||||||
validator: function(value) { return !/[^mTb]/.test(value); }
|
validator: function (value) { return !/[^mTb]/.test(value); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
this.add(new vimperator.Option(["hintchars", "hc"], "charlist",
|
this.add(new vimperator.Option(["hintchars", "hc"], "charlist",
|
||||||
@@ -525,7 +525,7 @@ vimperator.Options = function() //{{{
|
|||||||
this.add(new vimperator.Option(["hlsearch", "hls"], "boolean",
|
this.add(new vimperator.Option(["hlsearch", "hls"], "boolean",
|
||||||
{
|
{
|
||||||
short_help: "Highlight previous search pattern matches",
|
short_help: "Highlight previous search pattern matches",
|
||||||
setter: function(value) { if (value) vimperator.search.highlight(); else vimperator.search.clear(); },
|
setter: function (value) { if (value) vimperator.search.highlight(); else vimperator.search.clear(); },
|
||||||
default_value: false
|
default_value: false
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
@@ -560,8 +560,8 @@ vimperator.Options = function() //{{{
|
|||||||
"</ul>" +
|
"</ul>" +
|
||||||
"NOTE: laststatus=1 not implemented yet.",
|
"NOTE: laststatus=1 not implemented yet.",
|
||||||
default_value: 2,
|
default_value: 2,
|
||||||
setter: function(value) { setLastStatus(value); },
|
setter: function (value) { setLastStatus(value); },
|
||||||
validator: function(value) { return (value >= 0 && value <= 2); }
|
validator: function (value) { return (value >= 0 && value <= 2); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
this.add(new vimperator.Option(["linksearch", "lks"], "boolean",
|
this.add(new vimperator.Option(["linksearch", "lks"], "boolean",
|
||||||
@@ -612,8 +612,8 @@ vimperator.Options = function() //{{{
|
|||||||
"</ul>" +
|
"</ul>" +
|
||||||
"NOTE: This option does not change the popup blocker of Firefox in any way.",
|
"NOTE: This option does not change the popup blocker of Firefox in any way.",
|
||||||
default_value: 1,
|
default_value: 1,
|
||||||
setter: function(value) { setPopups(value); },
|
setter: function (value) { setPopups(value); },
|
||||||
validator: function(value) { return (value >= 0 && value <= 3); }
|
validator: function (value) { return (value >= 0 && value <= 3); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
this.add(new vimperator.Option(["preload"], "boolean",
|
this.add(new vimperator.Option(["preload"], "boolean",
|
||||||
@@ -631,7 +631,7 @@ vimperator.Options = function() //{{{
|
|||||||
"Close the preview window with <code class=\"command\">:pclose</code>.<br/>" +
|
"Close the preview window with <code class=\"command\">:pclose</code>.<br/>" +
|
||||||
"NOTE: Option currently disabled",
|
"NOTE: Option currently disabled",
|
||||||
default_value: 10,
|
default_value: 10,
|
||||||
validator: function(value) { return (value >= 1 && value <= 50); }
|
validator: function (value) { return (value >= 1 && value <= 50); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
this.add(new vimperator.Option(["scroll", "scr"], "number",
|
this.add(new vimperator.Option(["scroll", "scr"], "number",
|
||||||
@@ -641,7 +641,7 @@ vimperator.Options = function() //{{{
|
|||||||
"When a <code class=\"argument\">{count}</code> is specified to the <code class=\"mapping\"><C-u></code> or <code class=\"mapping\"><C-d></code> commands this is used to set the value of <code class=\"option\">'scroll'</code> and also used for the current command. " +
|
"When a <code class=\"argument\">{count}</code> is specified to the <code class=\"mapping\"><C-u></code> or <code class=\"mapping\"><C-d></code> commands this is used to set the value of <code class=\"option\">'scroll'</code> and also used for the current command. " +
|
||||||
"The value can be reset to half the window height with <code class=\"command\">:set scroll=0</code>.",
|
"The value can be reset to half the window height with <code class=\"command\">:set scroll=0</code>.",
|
||||||
default_value: 0,
|
default_value: 0,
|
||||||
validator: function(value) { return value >= 0; }
|
validator: function (value) { return value >= 0; }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
this.add(new vimperator.Option(["showmode", "smd"], "boolean",
|
this.add(new vimperator.Option(["showmode", "smd"], "boolean",
|
||||||
@@ -661,7 +661,7 @@ vimperator.Options = function() //{{{
|
|||||||
"<li><b>2</b>: Show the link in the command line</li>" +
|
"<li><b>2</b>: Show the link in the command line</li>" +
|
||||||
"</ul>",
|
"</ul>",
|
||||||
default_value: 1,
|
default_value: 1,
|
||||||
validator: function(value) { return (value >= 0 && value <= 2); }
|
validator: function (value) { return (value >= 0 && value <= 2); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
this.add(new vimperator.Option(["showtabline", "stal"], "number",
|
this.add(new vimperator.Option(["showtabline", "stal"], "number",
|
||||||
@@ -673,9 +673,9 @@ vimperator.Options = function() //{{{
|
|||||||
"<li><b>1</b>: Show tab bar only if more than one tab is open</li>" +
|
"<li><b>1</b>: Show tab bar only if more than one tab is open</li>" +
|
||||||
"<li><b>2</b>: Always show tab bar</li>" +
|
"<li><b>2</b>: Always show tab bar</li>" +
|
||||||
"</ul>",
|
"</ul>",
|
||||||
setter: function(value) { setShowTabline(value); },
|
setter: function (value) { setShowTabline(value); },
|
||||||
default_value: 2,
|
default_value: 2,
|
||||||
validator: function(value) { return (value >= 0 && value <= 2); }
|
validator: function (value) { return (value >= 0 && value <= 2); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
this.add(new vimperator.Option(["smartcase", "scs"], "boolean",
|
this.add(new vimperator.Option(["smartcase", "scs"], "boolean",
|
||||||
@@ -691,7 +691,7 @@ vimperator.Options = function() //{{{
|
|||||||
help: "Vimperator changes the browser title from \"Title of web page - Mozilla Firefox\" to " +
|
help: "Vimperator changes the browser title from \"Title of web page - Mozilla Firefox\" to " +
|
||||||
"\"Title of web page - Vimperator\".<br/>If you don't like that, you can restore it with: " +
|
"\"Title of web page - Vimperator\".<br/>If you don't like that, you can restore it with: " +
|
||||||
"<code class=\"command\">:set titlestring=Mozilla Firefox</code>.",
|
"<code class=\"command\">:set titlestring=Mozilla Firefox</code>.",
|
||||||
setter: function(value) { setTitleString(value); },
|
setter: function (value) { setTitleString(value); },
|
||||||
default_value: "Vimperator"
|
default_value: "Vimperator"
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
@@ -699,8 +699,8 @@ vimperator.Options = function() //{{{
|
|||||||
{
|
{
|
||||||
short_help: "Show current website with a minimal style sheet to make it easily accessible",
|
short_help: "Show current website with a minimal style sheet to make it easily accessible",
|
||||||
help: "Note that this is a local option for now, later it may be split into a global and <code class=\"command\">:setlocal</code> part",
|
help: "Note that this is a local option for now, later it may be split into a global and <code class=\"command\">:setlocal</code> part",
|
||||||
setter: function(value) { getMarkupDocumentViewer().authorStyleDisabled = value; },
|
setter: function (value) { getMarkupDocumentViewer().authorStyleDisabled = value; },
|
||||||
getter: function() { return getMarkupDocumentViewer().authorStyleDisabled; },
|
getter: function () { return getMarkupDocumentViewer().authorStyleDisabled; },
|
||||||
default_value: false
|
default_value: false
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
@@ -710,13 +710,13 @@ vimperator.Options = function() //{{{
|
|||||||
help: "When bigger than zero, Vimperator will give messages about what it is doing. They are printed to the error console which can be shown with <code class=\"command\">:javascript!</code>.<br/>" +
|
help: "When bigger than zero, Vimperator will give messages about what it is doing. They are printed to the error console which can be shown with <code class=\"command\">:javascript!</code>.<br/>" +
|
||||||
"The highest value is 9, being the most verbose mode.",
|
"The highest value is 9, being the most verbose mode.",
|
||||||
default_value: 0,
|
default_value: 0,
|
||||||
validator: function(value) { return (value >= 0 && value <= 9); }
|
validator: function (value) { return (value >= 0 && value <= 9); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
this.add(new vimperator.Option(["visualbell", "vb"], "boolean",
|
this.add(new vimperator.Option(["visualbell", "vb"], "boolean",
|
||||||
{
|
{
|
||||||
short_help: "Use visual bell instead of beeping on errors",
|
short_help: "Use visual bell instead of beeping on errors",
|
||||||
setter: function(value) { vimperator.options.setFirefoxPref("accessibility.typeaheadfind.enablesound", !value); },
|
setter: function (value) { vimperator.options.setFirefoxPref("accessibility.typeaheadfind.enablesound", !value); },
|
||||||
default_value: false
|
default_value: false
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
@@ -724,7 +724,7 @@ vimperator.Options = function() //{{{
|
|||||||
{
|
{
|
||||||
short_help: "CSS specification of the visual bell",
|
short_help: "CSS specification of the visual bell",
|
||||||
help: "To hide the visual bell use a value of \"display: none;\" or unset it with <code class=\"command\">:set t_vb=</code>",
|
help: "To hide the visual bell use a value of \"display: none;\" or unset it with <code class=\"command\">:set t_vb=</code>",
|
||||||
setter: function(value) { if (!value) value = "display: none;"; },
|
setter: function (value) { if (!value) value = "display: none;"; },
|
||||||
default_value: "background-color: black; color: black;"
|
default_value: "background-color: black; color: black;"
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
@@ -746,9 +746,9 @@ vimperator.Options = function() //{{{
|
|||||||
"</table>" +
|
"</table>" +
|
||||||
"When there is only a single match, it is fully completed regardless of the case.",
|
"When there is only a single match, it is fully completed regardless of the case.",
|
||||||
default_value: "list:full",
|
default_value: "list:full",
|
||||||
validator: function(value)
|
validator: function (value)
|
||||||
{
|
{
|
||||||
return value.split(",").every(function(item) { return /^(full|longest|list|list:full|list:longest|)$/.test(item); });
|
return value.split(",").every(function (item) { return /^(full|longest|list|list:full|list:longest|)$/.test(item); });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
@@ -761,7 +761,7 @@ vimperator.Options = function() //{{{
|
|||||||
"<tr><td><b>sort</b></td><td>Always sorts completion list, overriding the <code class=\"option\">'complete'</code> option.</td></tr>" +
|
"<tr><td><b>sort</b></td><td>Always sorts completion list, overriding the <code class=\"option\">'complete'</code> option.</td></tr>" +
|
||||||
"</table>",
|
"</table>",
|
||||||
default_value: "",
|
default_value: "",
|
||||||
validator: function(value) { return /^sort$/.test(value); }
|
validator: function (value) { return /^sort$/.test(value); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
//}}}
|
//}}}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
|
|||||||
* Firefox 3.0, then this class should go away and their tab methods should be used
|
* Firefox 3.0, then this class should go away and their tab methods should be used
|
||||||
* @deprecated
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
vimperator.Tabs = function() //{{{
|
vimperator.Tabs = function () //{{{
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
||||||
@@ -87,7 +87,7 @@ vimperator.Tabs = function() //{{{
|
|||||||
/////////////////////////////////////////////////////////////////////////////{{{
|
/////////////////////////////////////////////////////////////////////////////{{{
|
||||||
|
|
||||||
// @returns the index of the currently selected tab starting with 0
|
// @returns the index of the currently selected tab starting with 0
|
||||||
this.index = function(tab)
|
this.index = function (tab)
|
||||||
{
|
{
|
||||||
if (tab)
|
if (tab)
|
||||||
{
|
{
|
||||||
@@ -103,14 +103,14 @@ vimperator.Tabs = function() //{{{
|
|||||||
return getBrowser().tabContainer.selectedIndex;
|
return getBrowser().tabContainer.selectedIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.count = function()
|
this.count = function ()
|
||||||
{
|
{
|
||||||
return getBrowser().mTabs.length;
|
return getBrowser().mTabs.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: implement filter
|
// TODO: implement filter
|
||||||
// @returns an array of tabs which match filter
|
// @returns an array of tabs which match filter
|
||||||
this.get = function(filter)
|
this.get = function (filter)
|
||||||
{
|
{
|
||||||
var buffers = [];
|
var buffers = [];
|
||||||
var browsers = getBrowser().browsers;
|
var browsers = getBrowser().browsers;
|
||||||
@@ -124,7 +124,7 @@ vimperator.Tabs = function() //{{{
|
|||||||
return buffers;
|
return buffers;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.getTab = function(index)
|
this.getTab = function (index)
|
||||||
{
|
{
|
||||||
if (index)
|
if (index)
|
||||||
return getBrowser().mTabs[index];
|
return getBrowser().mTabs[index];
|
||||||
@@ -137,7 +137,7 @@ vimperator.Tabs = function() //{{{
|
|||||||
* NOTE: position is a 0 based index
|
* NOTE: position is a 0 based index
|
||||||
* FIXME: tabmove! N should probably produce an error
|
* FIXME: tabmove! N should probably produce an error
|
||||||
*/
|
*/
|
||||||
this.move = function(tab, spec, wrap)
|
this.move = function (tab, spec, wrap)
|
||||||
{
|
{
|
||||||
if (spec === "")
|
if (spec === "")
|
||||||
spec = "$"; // if not specified, move to the last tab -> XXX: move to ex handling?
|
spec = "$"; // if not specified, move to the last tab -> XXX: move to ex handling?
|
||||||
@@ -149,7 +149,7 @@ vimperator.Tabs = function() //{{{
|
|||||||
/* quit_on_last_tab = 1: quit without saving session
|
/* quit_on_last_tab = 1: quit without saving session
|
||||||
* quit_on_last_tab = 2: quit and save session
|
* quit_on_last_tab = 2: quit and save session
|
||||||
*/
|
*/
|
||||||
this.remove = function(tab, count, focus_left_tab, quit_on_last_tab)
|
this.remove = function (tab, count, focus_left_tab, quit_on_last_tab)
|
||||||
{
|
{
|
||||||
function removeOrBlankTab (tab)
|
function removeOrBlankTab (tab)
|
||||||
{
|
{
|
||||||
@@ -203,12 +203,12 @@ vimperator.Tabs = function() //{{{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.keepOnly = function(tab)
|
this.keepOnly = function (tab)
|
||||||
{
|
{
|
||||||
getBrowser().removeAllTabsBut(tab);
|
getBrowser().removeAllTabsBut(tab);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.select = function(spec, wrap)
|
this.select = function (spec, wrap)
|
||||||
{
|
{
|
||||||
var index = indexFromSpec(spec, wrap);
|
var index = indexFromSpec(spec, wrap);
|
||||||
if (index === false)
|
if (index === false)
|
||||||
@@ -223,7 +223,7 @@ vimperator.Tabs = function() //{{{
|
|||||||
// tab that was selected when the session was created. As a result the
|
// tab that was selected when the session was created. As a result the
|
||||||
// alternate after a restart is often incorrectly tab 1 when there
|
// alternate after a restart is often incorrectly tab 1 when there
|
||||||
// shouldn't be one yet.
|
// shouldn't be one yet.
|
||||||
this.updateSelectionHistory = function()
|
this.updateSelectionHistory = function ()
|
||||||
{
|
{
|
||||||
alternates = [this.getTab(), alternates[0]];
|
alternates = [this.getTab(), alternates[0]];
|
||||||
this.alternate = alternates[1];
|
this.alternate = alternates[1];
|
||||||
@@ -232,7 +232,7 @@ vimperator.Tabs = function() //{{{
|
|||||||
// TODO: move to v.buffers
|
// TODO: move to v.buffers
|
||||||
this.alternate = this.getTab();
|
this.alternate = this.getTab();
|
||||||
|
|
||||||
this.reload = function(tab, bypass_cache)
|
this.reload = function (tab, bypass_cache)
|
||||||
{
|
{
|
||||||
if (bypass_cache)
|
if (bypass_cache)
|
||||||
{
|
{
|
||||||
@@ -246,7 +246,7 @@ vimperator.Tabs = function() //{{{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.reloadAll = function(bypass_cache)
|
this.reloadAll = function (bypass_cache)
|
||||||
{
|
{
|
||||||
if (bypass_cache)
|
if (bypass_cache)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ var assert = mozlab.mozunit.assertions;
|
|||||||
var tc = new TestCase('testcase description here');
|
var tc = new TestCase('testcase description here');
|
||||||
|
|
||||||
tc.tests = {
|
tc.tests = {
|
||||||
'First test is successful': function() {
|
'First test is successful': function () {
|
||||||
var vimperator = new Vimperator();
|
var vimperator = new Vimperator();
|
||||||
assert.isDefined(vimperator);
|
assert.isDefined(vimperator);
|
||||||
assert.isTrue(true);
|
assert.isTrue(true);
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
|
|||||||
* it consists of a prompt and command field
|
* it consists of a prompt and command field
|
||||||
* be sure to only create objects of this class when the chrome is ready
|
* be sure to only create objects of this class when the chrome is ready
|
||||||
*/
|
*/
|
||||||
vimperator.CommandLine = function() //{{{
|
vimperator.CommandLine = function () //{{{
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
||||||
@@ -52,22 +52,22 @@ vimperator.CommandLine = function() //{{{
|
|||||||
cmd: null, // ex command history
|
cmd: null, // ex command history
|
||||||
search: null, // text search history
|
search: null, // text search history
|
||||||
|
|
||||||
get: function() { return this[this._mode]; },
|
get: function () { return this[this._mode]; },
|
||||||
set: function(lines) { this[this._mode] = lines; },
|
set: function (lines) { this[this._mode] = lines; },
|
||||||
|
|
||||||
load: function()
|
load: function ()
|
||||||
{
|
{
|
||||||
this.cmd = vimperator.options.getPref("commandline_cmd_history", "").split("\n");
|
this.cmd = vimperator.options.getPref("commandline_cmd_history", "").split("\n");
|
||||||
this.search = vimperator.options.getPref("commandline_search_history", "").split("\n");
|
this.search = vimperator.options.getPref("commandline_search_history", "").split("\n");
|
||||||
},
|
},
|
||||||
|
|
||||||
save: function()
|
save: function ()
|
||||||
{
|
{
|
||||||
vimperator.options.setPref("commandline_cmd_history", this.cmd.join("\n"));
|
vimperator.options.setPref("commandline_cmd_history", this.cmd.join("\n"));
|
||||||
vimperator.options.setPref("commandline_search_history", this.search.join("\n"));
|
vimperator.options.setPref("commandline_search_history", this.search.join("\n"));
|
||||||
},
|
},
|
||||||
|
|
||||||
add: function(str)
|
add: function (str)
|
||||||
{
|
{
|
||||||
if (!str)
|
if (!str)
|
||||||
return;
|
return;
|
||||||
@@ -75,7 +75,7 @@ vimperator.CommandLine = function() //{{{
|
|||||||
var lines = this.get();
|
var lines = this.get();
|
||||||
|
|
||||||
// remove all old history lines which have this string
|
// remove all old history lines which have this string
|
||||||
lines = lines.filter(function(line) {
|
lines = lines.filter(function (line) {
|
||||||
return line != str;
|
return line != str;
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -254,12 +254,12 @@ vimperator.CommandLine = function() //{{{
|
|||||||
// FORCE_MULTILINE is given, FORCE_MULTILINE takes precedence
|
// FORCE_MULTILINE is given, FORCE_MULTILINE takes precedence
|
||||||
this.APPEND_TO_MESSAGES = 1 << 3; // will show the string in :messages
|
this.APPEND_TO_MESSAGES = 1 << 3; // will show the string in :messages
|
||||||
|
|
||||||
this.getCommand = function()
|
this.getCommand = function ()
|
||||||
{
|
{
|
||||||
return command_widget.value;
|
return command_widget.value;
|
||||||
};
|
};
|
||||||
|
|
||||||
this.open = function(prompt, cmd, ext_mode)
|
this.open = function (prompt, cmd, ext_mode)
|
||||||
{
|
{
|
||||||
// save the current prompts, we need it later if the command widget
|
// save the current prompts, we need it later if the command widget
|
||||||
// receives focus without calling the this.open() method
|
// receives focus without calling the this.open() method
|
||||||
@@ -281,7 +281,7 @@ vimperator.CommandLine = function() //{{{
|
|||||||
};
|
};
|
||||||
|
|
||||||
// normally used when pressing esc, does not execute a command
|
// normally used when pressing esc, does not execute a command
|
||||||
this.close = function()
|
this.close = function ()
|
||||||
{
|
{
|
||||||
var res = vimperator.triggerCallback("cancel", cur_extended_mode);
|
var res = vimperator.triggerCallback("cancel", cur_extended_mode);
|
||||||
history.add(this.getCommand());
|
history.add(this.getCommand());
|
||||||
@@ -292,7 +292,7 @@ vimperator.CommandLine = function() //{{{
|
|||||||
|
|
||||||
// TODO: add :messages entry
|
// TODO: add :messages entry
|
||||||
// vimperator.echo uses different order of flags as it omits the hightlight group, change v.commandline.echo argument order? --mst
|
// vimperator.echo uses different order of flags as it omits the hightlight group, change v.commandline.echo argument order? --mst
|
||||||
this.echo = function(str, highlight_group, flags)
|
this.echo = function (str, highlight_group, flags)
|
||||||
{
|
{
|
||||||
var focused = document.commandDispatcher.focusedElement;
|
var focused = document.commandDispatcher.focusedElement;
|
||||||
if (focused && focused == command_widget.inputField || focused == multiline_input_widget.inputField)
|
if (focused && focused == command_widget.inputField || focused == multiline_input_widget.inputField)
|
||||||
@@ -325,7 +325,7 @@ vimperator.CommandLine = function() //{{{
|
|||||||
|
|
||||||
// this will prompt the user for a string
|
// this will prompt the user for a string
|
||||||
// vimperator.commandline.input("(s)ave or (o)pen the file?")
|
// vimperator.commandline.input("(s)ave or (o)pen the file?")
|
||||||
this.input = function(str)
|
this.input = function (str)
|
||||||
{
|
{
|
||||||
// TODO: unfinished, need to find out how/if we can block the execution of code
|
// TODO: unfinished, need to find out how/if we can block the execution of code
|
||||||
// to make this code synchronous or at least use a callback
|
// to make this code synchronous or at least use a callback
|
||||||
@@ -336,7 +336,7 @@ vimperator.CommandLine = function() //{{{
|
|||||||
|
|
||||||
// reads a multi line input and returns the string once the last line matches
|
// reads a multi line input and returns the string once the last line matches
|
||||||
// @param until_regexp
|
// @param until_regexp
|
||||||
this.inputMultiline = function(until_regexp, callback_func)
|
this.inputMultiline = function (until_regexp, callback_func)
|
||||||
{
|
{
|
||||||
// save the mode, because we need to restore it on blur()
|
// save the mode, because we need to restore it on blur()
|
||||||
[old_mode, old_extended_mode] = vimperator.getMode();
|
[old_mode, old_extended_mode] = vimperator.getMode();
|
||||||
@@ -350,12 +350,12 @@ vimperator.CommandLine = function() //{{{
|
|||||||
multiline_input_widget.value = "";
|
multiline_input_widget.value = "";
|
||||||
autosizeMultilineInputWidget();
|
autosizeMultilineInputWidget();
|
||||||
|
|
||||||
setTimeout(function() {
|
setTimeout(function () {
|
||||||
multiline_input_widget.focus();
|
multiline_input_widget.focus();
|
||||||
}, 10);
|
}, 10);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.clear = function()
|
this.clear = function ()
|
||||||
{
|
{
|
||||||
multiline_input_widget.collapsed = true;
|
multiline_input_widget.collapsed = true;
|
||||||
multiline_output_widget.collapsed = true;
|
multiline_output_widget.collapsed = true;
|
||||||
@@ -364,14 +364,14 @@ vimperator.CommandLine = function() //{{{
|
|||||||
setLine("", this.HL_NORMAL);
|
setLine("", this.HL_NORMAL);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.onEvent = function(event)
|
this.onEvent = function (event)
|
||||||
{
|
{
|
||||||
var command = this.getCommand();
|
var command = this.getCommand();
|
||||||
|
|
||||||
if (event.type == "blur")
|
if (event.type == "blur")
|
||||||
{
|
{
|
||||||
// prevent losing focus, there should be a better way, but it just didn't work otherwise
|
// prevent losing focus, there should be a better way, but it just didn't work otherwise
|
||||||
setTimeout(function() {
|
setTimeout(function () {
|
||||||
if (vimperator.hasMode(vimperator.modes.COMMAND_LINE) &&
|
if (vimperator.hasMode(vimperator.modes.COMMAND_LINE) &&
|
||||||
!vimperator.hasMode(vimperator.modes.READ_MULTILINE) &&
|
!vimperator.hasMode(vimperator.modes.READ_MULTILINE) &&
|
||||||
!vimperator.hasMode(vimperator.modes.WRITE_MULTILINE))
|
!vimperator.hasMode(vimperator.modes.WRITE_MULTILINE))
|
||||||
@@ -495,7 +495,7 @@ vimperator.CommandLine = function() //{{{
|
|||||||
// sort the completion list
|
// sort the completion list
|
||||||
if (vimperator.options["wildoptions"].search(/\bsort\b/) > -1)
|
if (vimperator.options["wildoptions"].search(/\bsort\b/) > -1)
|
||||||
{
|
{
|
||||||
completions.sort(function(a, b) {
|
completions.sort(function (a, b) {
|
||||||
if (a[0] < b[0])
|
if (a[0] < b[0])
|
||||||
return -1;
|
return -1;
|
||||||
else if (a[0] > b[0])
|
else if (a[0] > b[0])
|
||||||
@@ -611,7 +611,7 @@ vimperator.CommandLine = function() //{{{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.onMultilineInputEvent = function(event)
|
this.onMultilineInputEvent = function (event)
|
||||||
{
|
{
|
||||||
if (event.type == "keypress")
|
if (event.type == "keypress")
|
||||||
{
|
{
|
||||||
@@ -636,7 +636,7 @@ vimperator.CommandLine = function() //{{{
|
|||||||
else if (event.type == "blur")
|
else if (event.type == "blur")
|
||||||
{
|
{
|
||||||
if (vimperator.hasMode(vimperator.modes.READ_MULTILINE))
|
if (vimperator.hasMode(vimperator.modes.READ_MULTILINE))
|
||||||
setTimeout(function() { multiline_input_widget.inputField.focus(); }, 0);
|
setTimeout(function () { multiline_input_widget.inputField.focus(); }, 0);
|
||||||
}
|
}
|
||||||
else if (event.type == "input")
|
else if (event.type == "input")
|
||||||
{
|
{
|
||||||
@@ -646,7 +646,7 @@ vimperator.CommandLine = function() //{{{
|
|||||||
|
|
||||||
// FIXME: if 'more' is set and the MOW is not scrollable we should still
|
// FIXME: if 'more' is set and the MOW is not scrollable we should still
|
||||||
// allow a down motion after an up rather than closing
|
// allow a down motion after an up rather than closing
|
||||||
this.onMultilineOutputEvent = function(event)
|
this.onMultilineOutputEvent = function (event)
|
||||||
{
|
{
|
||||||
var win = multiline_output_widget.contentWindow;
|
var win = multiline_output_widget.contentWindow;
|
||||||
|
|
||||||
@@ -839,7 +839,7 @@ vimperator.CommandLine = function() //{{{
|
|||||||
}
|
}
|
||||||
|
|
||||||
// it would be better if we had a destructor in javascript ...
|
// it would be better if we had a destructor in javascript ...
|
||||||
this.destroy = function()
|
this.destroy = function ()
|
||||||
{
|
{
|
||||||
history.save();
|
history.save();
|
||||||
}
|
}
|
||||||
@@ -852,7 +852,7 @@ vimperator.CommandLine = function() //{{{
|
|||||||
* @param id: the id of the the XUL widget which we want to fill
|
* @param id: the id of the the XUL widget which we want to fill
|
||||||
* @param options: an optional hash which modifies the behavior of the list
|
* @param options: an optional hash which modifies the behavior of the list
|
||||||
*/
|
*/
|
||||||
vimperator.InformationList = function(id, options) //{{{
|
vimperator.InformationList = function (id, options) //{{{
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
||||||
@@ -952,7 +952,7 @@ vimperator.InformationList = function(id, options) //{{{
|
|||||||
* use entries of 'compl' to fill the list.
|
* use entries of 'compl' to fill the list.
|
||||||
* Required format: [["left", "right"], ["another"], ["completion"]]
|
* Required format: [["left", "right"], ["another"], ["completion"]]
|
||||||
*/
|
*/
|
||||||
this.show = function(compl)
|
this.show = function (compl)
|
||||||
{
|
{
|
||||||
//max_items = vimperator.options["previewheight"];
|
//max_items = vimperator.options["previewheight"];
|
||||||
|
|
||||||
@@ -978,12 +978,12 @@ vimperator.InformationList = function(id, options) //{{{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.hide = function()
|
this.hide = function ()
|
||||||
{
|
{
|
||||||
widget.hidden = true;
|
widget.hidden = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.visible = function()
|
this.visible = function ()
|
||||||
{
|
{
|
||||||
return !widget.hidden;
|
return !widget.hidden;
|
||||||
}
|
}
|
||||||
@@ -991,7 +991,7 @@ vimperator.InformationList = function(id, options) //{{{
|
|||||||
/**
|
/**
|
||||||
* select index, refill list if necessary
|
* select index, refill list if necessary
|
||||||
*/
|
*/
|
||||||
this.selectItem = function(index)
|
this.selectItem = function (index)
|
||||||
{
|
{
|
||||||
if (widget.hidden)
|
if (widget.hidden)
|
||||||
return;
|
return;
|
||||||
@@ -1039,7 +1039,7 @@ vimperator.InformationList = function(id, options) //{{{
|
|||||||
widget.selectedIndex = index - list_offset;
|
widget.selectedIndex = index - list_offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.onEvent = function(event)
|
this.onEvent = function (event)
|
||||||
{
|
{
|
||||||
var listcells = document.getElementsByTagName("listcell");
|
var listcells = document.getElementsByTagName("listcell");
|
||||||
// 2 columns for now, use the first column
|
// 2 columns for now, use the first column
|
||||||
@@ -1055,7 +1055,7 @@ vimperator.InformationList = function(id, options) //{{{
|
|||||||
//}}}
|
//}}}
|
||||||
} //}}}
|
} //}}}
|
||||||
|
|
||||||
vimperator.StatusLine = function() //{{{
|
vimperator.StatusLine = function () //{{{
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
||||||
@@ -1075,7 +1075,7 @@ vimperator.StatusLine = function() //{{{
|
|||||||
////////////////////// PUBLIC SECTION //////////////////////////////////////////
|
////////////////////// PUBLIC SECTION //////////////////////////////////////////
|
||||||
/////////////////////////////////////////////////////////////////////////////{{{
|
/////////////////////////////////////////////////////////////////////////////{{{
|
||||||
|
|
||||||
this.setClass = function(type)
|
this.setClass = function (type)
|
||||||
{
|
{
|
||||||
var highlight_group;
|
var highlight_group;
|
||||||
|
|
||||||
@@ -1096,7 +1096,7 @@ vimperator.StatusLine = function() //{{{
|
|||||||
};
|
};
|
||||||
|
|
||||||
// update all fields of the statusline
|
// update all fields of the statusline
|
||||||
this.update = function()
|
this.update = function ()
|
||||||
{
|
{
|
||||||
this.updateUrl();
|
this.updateUrl();
|
||||||
this.updateInputBuffer();
|
this.updateInputBuffer();
|
||||||
@@ -1106,7 +1106,7 @@ vimperator.StatusLine = function() //{{{
|
|||||||
}
|
}
|
||||||
|
|
||||||
// if "url" is ommited, build a usable string for the URL
|
// if "url" is ommited, build a usable string for the URL
|
||||||
this.updateUrl = function(url)
|
this.updateUrl = function (url)
|
||||||
{
|
{
|
||||||
if (typeof url == "string")
|
if (typeof url == "string")
|
||||||
{
|
{
|
||||||
@@ -1140,7 +1140,7 @@ vimperator.StatusLine = function() //{{{
|
|||||||
url_widget.value = url;
|
url_widget.value = url;
|
||||||
};
|
};
|
||||||
|
|
||||||
this.updateInputBuffer = function(buffer)
|
this.updateInputBuffer = function (buffer)
|
||||||
{
|
{
|
||||||
if (!buffer || typeof buffer != "string")
|
if (!buffer || typeof buffer != "string")
|
||||||
buffer = "";
|
buffer = "";
|
||||||
@@ -1148,7 +1148,7 @@ vimperator.StatusLine = function() //{{{
|
|||||||
inputbuffer_widget.value = buffer;
|
inputbuffer_widget.value = buffer;
|
||||||
};
|
};
|
||||||
|
|
||||||
this.updateProgress = function(progress)
|
this.updateProgress = function (progress)
|
||||||
{
|
{
|
||||||
if (!progress)
|
if (!progress)
|
||||||
progress = "";
|
progress = "";
|
||||||
@@ -1179,7 +1179,7 @@ vimperator.StatusLine = function() //{{{
|
|||||||
};
|
};
|
||||||
|
|
||||||
// you can omit either of the 2 arguments
|
// you can omit either of the 2 arguments
|
||||||
this.updateTabCount = function(cur_index, total_tabs)
|
this.updateTabCount = function (cur_index, total_tabs)
|
||||||
{
|
{
|
||||||
if (!cur_index || typeof cur_index != "number")
|
if (!cur_index || typeof cur_index != "number")
|
||||||
cur_index = vimperator.tabs.index() + 1;
|
cur_index = vimperator.tabs.index() + 1;
|
||||||
@@ -1190,7 +1190,7 @@ vimperator.StatusLine = function() //{{{
|
|||||||
};
|
};
|
||||||
|
|
||||||
// percent is given between 0 and 1
|
// percent is given between 0 and 1
|
||||||
this.updateBufferPosition = function(percent)
|
this.updateBufferPosition = function (percent)
|
||||||
{
|
{
|
||||||
if (!percent || typeof percent != "number")
|
if (!percent || typeof percent != "number")
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
|
|||||||
}}} ***** END LICENSE BLOCK *****/
|
}}} ***** END LICENSE BLOCK *****/
|
||||||
|
|
||||||
vimperator.util = {
|
vimperator.util = {
|
||||||
escapeHTML: function(str)
|
escapeHTML: function (str)
|
||||||
{
|
{
|
||||||
// XXX: the following code is _much_ slower than a simple .replace()
|
// XXX: the following code is _much_ slower than a simple .replace()
|
||||||
// :history display went down from 2 to 1 second after changing
|
// :history display went down from 2 to 1 second after changing
|
||||||
@@ -41,7 +41,7 @@ vimperator.util = {
|
|||||||
// TODO: use :highlight color groups
|
// TODO: use :highlight color groups
|
||||||
// if "process_strings" is true, any passed strings will be surrounded by " and
|
// if "process_strings" is true, any passed strings will be surrounded by " and
|
||||||
// any line breaks are displayed as \n
|
// any line breaks are displayed as \n
|
||||||
colorize: function(arg, process_strings)
|
colorize: function (arg, process_strings)
|
||||||
{
|
{
|
||||||
var type = typeof(arg);
|
var type = typeof(arg);
|
||||||
|
|
||||||
@@ -83,7 +83,7 @@ vimperator.util = {
|
|||||||
|
|
||||||
// takes a string like 'google bla, www.osnews.com'
|
// takes a string like 'google bla, www.osnews.com'
|
||||||
// and returns an array ['www.google.com/search?q=bla', 'www.osnews.com']
|
// and returns an array ['www.google.com/search?q=bla', 'www.osnews.com']
|
||||||
stringToURLArray: function(str)
|
stringToURLArray: function (str)
|
||||||
{
|
{
|
||||||
var urls = str.split(/\s*\,\s+/);
|
var urls = str.split(/\s*\,\s+/);
|
||||||
|
|
||||||
@@ -158,7 +158,7 @@ vimperator.util = {
|
|||||||
return urls;
|
return urls;
|
||||||
},
|
},
|
||||||
|
|
||||||
highlightURL: function(str, force)
|
highlightURL: function (str, force)
|
||||||
{
|
{
|
||||||
if (force || /^[a-zA-Z]+:\/\/.*\//.test(str))
|
if (force || /^[a-zA-Z]+:\/\/.*\//.test(str))
|
||||||
return "<a class='hl-URL' href='" + str + "'>" + vimperator.util.escapeHTML(str) + "</a>";
|
return "<a class='hl-URL' href='" + str + "'>" + vimperator.util.escapeHTML(str) + "</a>";
|
||||||
@@ -166,7 +166,7 @@ vimperator.util = {
|
|||||||
return str;
|
return str;
|
||||||
},
|
},
|
||||||
|
|
||||||
formatNumber: function(num)
|
formatNumber: function (num)
|
||||||
{
|
{
|
||||||
var strNum = (num + "").split(".", 2);
|
var strNum = (num + "").split(".", 2);
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ the provisions above, a recipient may use your version of this file under
|
|||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
the terms of any one of the MPL, the GPL or the LGPL.
|
||||||
}}} ***** END LICENSE BLOCK *****/
|
}}} ***** END LICENSE BLOCK *****/
|
||||||
|
|
||||||
const vimperator = (function() //{{{
|
const vimperator = (function () //{{{
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
////////////////////// PRIVATE SECTION /////////////////////////////////////////
|
||||||
@@ -135,13 +135,13 @@ const vimperator = (function() //{{{
|
|||||||
// "cancel"
|
// "cancel"
|
||||||
// "complete"
|
// "complete"
|
||||||
// TODO: "zoom": if the zoom value of the current buffer changed
|
// TODO: "zoom": if the zoom value of the current buffer changed
|
||||||
registerCallback: function(type, mode, func)
|
registerCallback: function (type, mode, func)
|
||||||
{
|
{
|
||||||
// TODO: check if callback is already registered
|
// TODO: check if callback is already registered
|
||||||
callbacks.push([type, mode, func]);
|
callbacks.push([type, mode, func]);
|
||||||
},
|
},
|
||||||
|
|
||||||
triggerCallback: function(type, mode, data)
|
triggerCallback: function (type, mode, data)
|
||||||
{
|
{
|
||||||
for (var i in callbacks)
|
for (var i in callbacks)
|
||||||
{
|
{
|
||||||
@@ -152,14 +152,14 @@ const vimperator = (function() //{{{
|
|||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
|
||||||
getMode: function()
|
getMode: function ()
|
||||||
{
|
{
|
||||||
return [mode, extended_mode];
|
return [mode, extended_mode];
|
||||||
},
|
},
|
||||||
|
|
||||||
// set current mode
|
// set current mode
|
||||||
// use "null" if you only want to set one of those modes
|
// use "null" if you only want to set one of those modes
|
||||||
setMode: function(main, extended, silent)
|
setMode: function (main, extended, silent)
|
||||||
{
|
{
|
||||||
// if a main mode is set, the extended is always cleared
|
// if a main mode is set, the extended is always cleared
|
||||||
if (main)
|
if (main)
|
||||||
@@ -176,12 +176,12 @@ const vimperator = (function() //{{{
|
|||||||
|
|
||||||
// returns true if "whichmode" is found in either the main or
|
// returns true if "whichmode" is found in either the main or
|
||||||
// extended mode
|
// extended mode
|
||||||
hasMode: function(whichmode)
|
hasMode: function (whichmode)
|
||||||
{
|
{
|
||||||
return ((mode & whichmode) || (extended_mode & whichmode) > 0) ? true : false;
|
return ((mode & whichmode) || (extended_mode & whichmode) > 0) ? true : false;
|
||||||
},
|
},
|
||||||
|
|
||||||
addMode: function(main, extended)
|
addMode: function (main, extended)
|
||||||
{
|
{
|
||||||
if (main)
|
if (main)
|
||||||
mode |= main;
|
mode |= main;
|
||||||
@@ -192,7 +192,7 @@ const vimperator = (function() //{{{
|
|||||||
},
|
},
|
||||||
|
|
||||||
// always show the new mode in the statusline
|
// always show the new mode in the statusline
|
||||||
removeMode: function(main, extended)
|
removeMode: function (main, extended)
|
||||||
{
|
{
|
||||||
if (main)
|
if (main)
|
||||||
mode = (mode | main) ^ main;
|
mode = (mode | main) ^ main;
|
||||||
@@ -202,7 +202,7 @@ const vimperator = (function() //{{{
|
|||||||
showMode();
|
showMode();
|
||||||
},
|
},
|
||||||
|
|
||||||
beep: function()
|
beep: function ()
|
||||||
{
|
{
|
||||||
if (vimperator.options["visualbell"])
|
if (vimperator.options["visualbell"])
|
||||||
{
|
{
|
||||||
@@ -219,7 +219,7 @@ const vimperator = (function() //{{{
|
|||||||
|
|
||||||
vbell.hidden = false
|
vbell.hidden = false
|
||||||
|
|
||||||
setTimeout(function() { vbell.hidden = true; }, 50); // may as well be 0 ;-)
|
setTimeout(function () { vbell.hidden = true; }, 50); // may as well be 0 ;-)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -227,14 +227,14 @@ const vimperator = (function() //{{{
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
copyToClipboard: function(str)
|
copyToClipboard: function (str)
|
||||||
{
|
{
|
||||||
var clipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"]
|
var clipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"]
|
||||||
.getService(Components.interfaces.nsIClipboardHelper);
|
.getService(Components.interfaces.nsIClipboardHelper);
|
||||||
clipboardHelper.copyString(str);
|
clipboardHelper.copyString(str);
|
||||||
},
|
},
|
||||||
|
|
||||||
execute: function(str, modifiers)
|
execute: function (str, modifiers)
|
||||||
{
|
{
|
||||||
// skip comments and blank lines
|
// skip comments and blank lines
|
||||||
if (/^\s*("|$)/.test(str))
|
if (/^\s*("|$)/.test(str))
|
||||||
@@ -265,7 +265,7 @@ const vimperator = (function() //{{{
|
|||||||
},
|
},
|
||||||
|
|
||||||
// after pressing Escape, put focus on a non-input field of the browser document
|
// after pressing Escape, put focus on a non-input field of the browser document
|
||||||
focusContent: function()
|
focusContent: function ()
|
||||||
{
|
{
|
||||||
var ww = Components.classes["@mozilla.org/embedcomp/window-watcher;1"].
|
var ww = Components.classes["@mozilla.org/embedcomp/window-watcher;1"].
|
||||||
getService(Components.interfaces.nsIWindowWatcher);
|
getService(Components.interfaces.nsIWindowWatcher);
|
||||||
@@ -277,7 +277,7 @@ const vimperator = (function() //{{{
|
|||||||
},
|
},
|
||||||
|
|
||||||
// partial sixth level expression evaluation
|
// partial sixth level expression evaluation
|
||||||
eval: function(string)
|
eval: function (string)
|
||||||
{
|
{
|
||||||
string = string.toString().replace(/^\s*/, "").replace(/\s*$/, "");
|
string = string.toString().replace(/^\s*/, "").replace(/\s*$/, "");
|
||||||
var match = string.match(/^&(\w+)/);
|
var match = string.match(/^&(\w+)/);
|
||||||
@@ -323,7 +323,7 @@ const vimperator = (function() //{{{
|
|||||||
return;
|
return;
|
||||||
},
|
},
|
||||||
|
|
||||||
variableReference: function(string)
|
variableReference: function (string)
|
||||||
{
|
{
|
||||||
if (!string)
|
if (!string)
|
||||||
return [null, null, null];
|
return [null, null, null];
|
||||||
@@ -351,7 +351,7 @@ const vimperator = (function() //{{{
|
|||||||
|
|
||||||
// TODO: move to vimp.util.? --mst
|
// TODO: move to vimp.util.? --mst
|
||||||
// if color = true it uses HTML markup to color certain items
|
// if color = true it uses HTML markup to color certain items
|
||||||
objectToString: function(object, color)
|
objectToString: function (object, color)
|
||||||
{
|
{
|
||||||
if (object === null)
|
if (object === null)
|
||||||
return "null";
|
return "null";
|
||||||
@@ -361,9 +361,12 @@ const vimperator = (function() //{{{
|
|||||||
|
|
||||||
var string = "";
|
var string = "";
|
||||||
var obj = "";
|
var obj = "";
|
||||||
try { // for window.JSON
|
try
|
||||||
|
{ // for window.JSON
|
||||||
obj = object.toString();
|
obj = object.toString();
|
||||||
} catch (e) {
|
}
|
||||||
|
catch (e)
|
||||||
|
{
|
||||||
obj = "<Object>";
|
obj = "<Object>";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -400,7 +403,7 @@ const vimperator = (function() //{{{
|
|||||||
|
|
||||||
// logs a message to the javascript error console
|
// logs a message to the javascript error console
|
||||||
// if msg is an object, it is beautified
|
// if msg is an object, it is beautified
|
||||||
log: function(msg, level)
|
log: function (msg, level)
|
||||||
{
|
{
|
||||||
//if (vimperator.options.getPref("verbose") >= level) // FIXME: hangs vimperator, probably timing issue --mst
|
//if (vimperator.options.getPref("verbose") >= level) // FIXME: hangs vimperator, probably timing issue --mst
|
||||||
if (typeof msg == "object")
|
if (typeof msg == "object")
|
||||||
@@ -419,7 +422,7 @@ const vimperator = (function() //{{{
|
|||||||
// @param callback: not implemented, will be allowed to specify a callback function
|
// @param callback: not implemented, will be allowed to specify a callback function
|
||||||
// which is called, when the page finished loading
|
// which is called, when the page finished loading
|
||||||
// @returns true when load was initiated, or false on error
|
// @returns true when load was initiated, or false on error
|
||||||
open: function(urls, where, callback)
|
open: function (urls, where, callback)
|
||||||
{
|
{
|
||||||
// convert the string to an array of converted URLs
|
// convert the string to an array of converted URLs
|
||||||
// -> see vimperator.util.stringToURLArray for more details
|
// -> see vimperator.util.stringToURLArray for more details
|
||||||
@@ -479,7 +482,7 @@ const vimperator = (function() //{{{
|
|||||||
},
|
},
|
||||||
|
|
||||||
// quit vimperator, no matter how many tabs/windows are open
|
// quit vimperator, no matter how many tabs/windows are open
|
||||||
quit: function(save_session)
|
quit: function (save_session)
|
||||||
{
|
{
|
||||||
if (save_session)
|
if (save_session)
|
||||||
vimperator.options.setFirefoxPref("browser.startup.page", 3); // start with saved session
|
vimperator.options.setFirefoxPref("browser.startup.page", 3); // start with saved session
|
||||||
@@ -489,7 +492,7 @@ const vimperator = (function() //{{{
|
|||||||
goQuitApplication();
|
goQuitApplication();
|
||||||
},
|
},
|
||||||
|
|
||||||
restart: function()
|
restart: function ()
|
||||||
{
|
{
|
||||||
const nsIAppStartup = Components.interfaces.nsIAppStartup;
|
const nsIAppStartup = Components.interfaces.nsIAppStartup;
|
||||||
|
|
||||||
@@ -521,7 +524,7 @@ const vimperator = (function() //{{{
|
|||||||
.quit(nsIAppStartup.eRestart | nsIAppStartup.eAttemptQuit);
|
.quit(nsIAppStartup.eRestart | nsIAppStartup.eAttemptQuit);
|
||||||
},
|
},
|
||||||
|
|
||||||
run: function(program, args, blocking)
|
run: function (program, args, blocking)
|
||||||
{
|
{
|
||||||
var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
|
var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
|
||||||
const WINDOWS = navigator.platform == "Win32";
|
const WINDOWS = navigator.platform == "Win32";
|
||||||
@@ -609,7 +612,7 @@ const vimperator = (function() //{{{
|
|||||||
|
|
||||||
// files which end in .js are sourced as pure javascript files,
|
// files which end in .js are sourced as pure javascript files,
|
||||||
// no need (actually forbidden) to add: js <<EOF ... EOF around those files
|
// no need (actually forbidden) to add: js <<EOF ... EOF around those files
|
||||||
source: function(filename, silent)
|
source: function (filename, silent)
|
||||||
{
|
{
|
||||||
filename = vimperator.io.expandPath(filename);
|
filename = vimperator.io.expandPath(filename);
|
||||||
|
|
||||||
@@ -626,7 +629,7 @@ const vimperator = (function() //{{{
|
|||||||
{
|
{
|
||||||
var heredoc = "";
|
var heredoc = "";
|
||||||
var heredoc_end = null; // the string which ends the heredoc
|
var heredoc_end = null; // the string which ends the heredoc
|
||||||
str.split("\n").forEach(function(line)
|
str.split("\n").forEach(function (line)
|
||||||
{
|
{
|
||||||
if (heredoc_end) // we already are in a heredoc
|
if (heredoc_end) // we already are in a heredoc
|
||||||
{
|
{
|
||||||
@@ -678,7 +681,7 @@ const vimperator = (function() //{{{
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
startup: function()
|
startup: function ()
|
||||||
{
|
{
|
||||||
window.dump("Vimperator startup\n");
|
window.dump("Vimperator startup\n");
|
||||||
vimperator.log("Initializing vimperator object...", 1);
|
vimperator.log("Initializing vimperator object...", 1);
|
||||||
@@ -722,19 +725,19 @@ const vimperator = (function() //{{{
|
|||||||
vimperator.completion = new vimperator.Completion();
|
vimperator.completion = new vimperator.Completion();
|
||||||
vimperator.log("All modules loaded", 3);
|
vimperator.log("All modules loaded", 3);
|
||||||
|
|
||||||
vimperator.echo = function(str) { vimperator.commandline.echo(str); }
|
vimperator.echo = function (str) { vimperator.commandline.echo(str); }
|
||||||
vimperator.echoerr = function(str) { vimperator.commandline.echo(str, vimperator.commandline.HL_ERRORMSG); }
|
vimperator.echoerr = function (str) { vimperator.commandline.echo(str, vimperator.commandline.HL_ERRORMSG); }
|
||||||
|
|
||||||
vimperator.globalVariables = {};
|
vimperator.globalVariables = {};
|
||||||
|
|
||||||
// TODO: move elsewhere
|
// TODO: move elsewhere
|
||||||
vimperator.registerCallback("submit", vimperator.modes.EX, function(command) { vimperator.execute(command); } );
|
vimperator.registerCallback("submit", vimperator.modes.EX, function (command) { vimperator.execute(command); } );
|
||||||
vimperator.registerCallback("complete", vimperator.modes.EX, function(str) { return vimperator.completion.exTabCompletion(str); } );
|
vimperator.registerCallback("complete", vimperator.modes.EX, function (str) { return vimperator.completion.exTabCompletion(str); } );
|
||||||
|
|
||||||
// first time intro message
|
// first time intro message
|
||||||
if (vimperator.options.getPref("firsttime", true))
|
if (vimperator.options.getPref("firsttime", true))
|
||||||
{
|
{
|
||||||
setTimeout(function() {
|
setTimeout(function () {
|
||||||
vimperator.help(null, null, null, { inTab: true });
|
vimperator.help(null, null, null, { inTab: true });
|
||||||
vimperator.options.setPref("firsttime", false);
|
vimperator.options.setPref("firsttime", false);
|
||||||
}, 1000);
|
}, 1000);
|
||||||
@@ -744,7 +747,7 @@ const vimperator = (function() //{{{
|
|||||||
|
|
||||||
// finally, read a ~/.vimperatorrc
|
// finally, read a ~/.vimperatorrc
|
||||||
// make sourcing asynchronous, otherwise commands that open new tabs won't work
|
// make sourcing asynchronous, otherwise commands that open new tabs won't work
|
||||||
setTimeout(function() {
|
setTimeout(function () {
|
||||||
|
|
||||||
var rc_file = vimperator.io.getRCFile();
|
var rc_file = vimperator.io.getRCFile();
|
||||||
|
|
||||||
@@ -761,7 +764,7 @@ const vimperator = (function() //{{{
|
|||||||
{
|
{
|
||||||
var files = vimperator.io.readDirectory(plugin_dir.path);
|
var files = vimperator.io.readDirectory(plugin_dir.path);
|
||||||
vimperator.log("Sourcing plugin directory...", 3);
|
vimperator.log("Sourcing plugin directory...", 3);
|
||||||
files.forEach(function(file) {
|
files.forEach(function (file) {
|
||||||
if (!file.isDirectory() && /\.js$/.test(file.path))
|
if (!file.isDirectory() && /\.js$/.test(file.path))
|
||||||
vimperator.source(file.path, false);
|
vimperator.source(file.path, false);
|
||||||
});
|
});
|
||||||
@@ -787,7 +790,7 @@ const vimperator = (function() //{{{
|
|||||||
vimperator.log("Vimperator fully initialized", 1);
|
vimperator.log("Vimperator fully initialized", 1);
|
||||||
},
|
},
|
||||||
|
|
||||||
shutdown: function()
|
shutdown: function ()
|
||||||
{
|
{
|
||||||
window.dump("Vimperator shutdown\n");
|
window.dump("Vimperator shutdown\n");
|
||||||
|
|
||||||
@@ -800,7 +803,7 @@ const vimperator = (function() //{{{
|
|||||||
window.dump("All vimperator modules destroyed\n");
|
window.dump("All vimperator modules destroyed\n");
|
||||||
},
|
},
|
||||||
|
|
||||||
sleep: function(ms)
|
sleep: function (ms)
|
||||||
{
|
{
|
||||||
var threadManager = Cc["@mozilla.org/thread-manager;1"].getService(Ci.nsIThreadManager);
|
var threadManager = Cc["@mozilla.org/thread-manager;1"].getService(Ci.nsIThreadManager);
|
||||||
var mainThread = threadManager.mainThread;
|
var mainThread = threadManager.mainThread;
|
||||||
|
|||||||
Reference in New Issue
Block a user