1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-23 19:42:26 +01:00

Merge branch 'master' into vimperator-2.1

Conflicts:
	common/content/completion.js
	common/content/liberator.js
	vimperator/NEWS
This commit is contained in:
Doug Kearns
2009-03-29 11:18:10 +11:00
57 changed files with 448 additions and 128 deletions

View File

@@ -10,7 +10,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or

View File

@@ -47,11 +47,9 @@
</xul:vbox>
</xul:stack>
<xul:stack class="tab-text-stack">
<xul:label xbl:inherits="value=ordinal" class="tab-text-shadow" liberator:highlight="TabNumber"/>
<xul:label xbl:inherits="value=ordinal" class="tab-text" liberator:highlight="TabNumber"/>
</xul:stack>
<xul:stack class="tab-text-stack" flex="1">
<xul:label flex="1" xbl:inherits="value=label,crop,accesskey" crop="right" class="tab-text-shadow"/>
<xul:label flex="1" xbl:inherits="value=label,crop,accesskey" crop="right" class="tab-text"/>
</xul:stack>
</xul:hbox>

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -147,13 +147,13 @@ function Buffer() //{{{
getter: function () window.fullScreen
});
options.add(["nextpattern"],
options.add(["nextpattern"], // \u00BB is » (>> in a single char)
"Patterns to use when guessing the 'next' page in a document sequence",
"stringlist", "\\bnext\\b,^>$,^(>>|»)$,^(>|»),(>|»)$,\\bmore\\b");
"stringlist", "\\bnext\\b,^>$,^(>>|\u00BB)$,^(>|\u00BB),(>|\u00BB)$,\\bmore\\b");
options.add(["previouspattern"],
options.add(["previouspattern"], // \u00AB is « (<< in a single char)
"Patterns to use when guessing the 'previous' page in a document sequence",
"stringlist", "\\bprev|previous\\b,^<$,^(<<|«)$,^(<|«),(<|«)$");
"stringlist", "\\bprev|previous\\b,^<$,^(<<|\u00AB)$,^(<|\u00AB),(<|\u00AB)$");
options.add(["pageinfo", "pa"], "Desired info on :pa[geinfo]", "charlist", "gfm",
{
@@ -1020,6 +1020,20 @@ function Buffer() //{{{
elem.contentWindow.focus();
return;
}
else if (elemTagName == "input" && elem.getAttribute('type').toLowerCase() == "file")
{
commandline.input("Upload file: ", function (path)
{
let file = io.getFile(path);
if (!file.exists())
return liberator.beep();
elem.value = file.path;
}
, {completer: completion.file, default: elem.value});
return;
}
elem.focus();
@@ -1125,6 +1139,20 @@ function Buffer() //{{{
offsetX = Number(coords[0]) + 1;
offsetY = Number(coords[1]) + 1;
}
else if (localName == "input" && elem.getAttribute('type').toLowerCase() == "file")
{
commandline.input("Upload file: ", function (path)
{
let file = io.getFile(path);
if (!file.exists())
return liberator.beep();
elem.value = file.path;
}
, {completer: completion.file, default: elem.value});
return;
}
let ctrlKey = false, shiftKey = false;
switch (where)

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -658,6 +658,11 @@ CompletionContext.prototype = {
this.tabPressed = false;
this.title = ["Completions"];
this.updateAsync = false;
try
{
this.waitingForTab = false;
}
catch (e) {}
this.cancelAll();
@@ -676,6 +681,11 @@ CompletionContext.prototype = {
for each (let context in this.contexts)
{
context.hasItems = false;
try
{
context.incomplete = false;
}
catch (e) {}
}
},
@@ -683,8 +693,9 @@ CompletionContext.prototype = {
* Wait for all subcontexts to complete.
*
* @param {boolean} interruptible When true, the call may be interrupted
* via <C-c>. In this case, "Interrupted" may be thrown.
* via <C-c>, in which case, "Interrupted" may be thrown.
* @param {number} timeout The maximum time, in milliseconds, to wait.
* If 0 or null, wait indefinately.
*/
wait: function wait(interruptable, timeout)
{
@@ -1415,15 +1426,17 @@ function Completion() //{{{
colorScheme: function colorScheme(context)
{
// TODO: use path for the description?
let colors = [];
io.getRuntimeDirectories("colors").forEach(function (dir) {
context.fork(dir.path, 0, null, function (context) {
context.filter = dir.path + IO.PATH_SEP + context.filter;
completion.file(context);
context.title = ["Color Scheme"];
context.quote = ["", function (text) text.replace(/\.vimp$/, ""), ""];
io.readDirectory(dir).forEach(function (file) {
if (/\.vimp$/.test(file.leafName) && !colors.some(function (c) c.leafName == file.leafName))
colors.push(file);
});
});
context.title = ["Color Scheme", "Runtime Path"];
context.completions = [[c.leafName.replace(/\.vimp$/, ""), c.parent.path] for ([,c] in Iterator(colors))]
},
command: function command(context)

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -623,12 +623,23 @@ function Editor() //{{{
pasteClipboard: function ()
{
if (liberator.has("Win32"))
{
this.executeCommand("cmd_paste");
return;
}
// FIXME: #93 (<s-insert> in the bottom of a long textarea bounces up)
let elem = window.document.commandDispatcher.focusedElement;
if (elem.setSelectionRange && util.readFromClipboard())
// readFromClipboard would return 'undefined' if not checked
// dunno about .setSelectionRange
{
// This is a hacky fix - but it works.
let curTop = elem.scrollTop;
let curLeft = elem.scrollLeft;
let rangeStart = elem.selectionStart; // caret position
let rangeEnd = elem.selectionEnd;
let tempStr1 = elem.value.substring(0, rangeStart);
@@ -637,6 +648,9 @@ function Editor() //{{{
elem.value = tempStr1 + tempStr2 + tempStr3;
elem.selectionStart = rangeStart + tempStr2.length;
elem.selectionEnd = elem.selectionStart;
elem.scrollTop = curTop;
elem.scrollLeft = curLeft;
}
},

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -898,6 +898,7 @@ function Events() //{{{
let wasFeeding = this.feedingKeys;
this.feedingKeys = true;
this.duringFeed = this.duringFeed || "";
let wasSilent = commandline.silent;
if (silent)
commandline.silent = silent;
@@ -993,6 +994,15 @@ function Events() //{{{
this.feedingKeys = wasFeeding;
if (silent)
commandline.silent = wasSilent;
if (this.duringFeed != "")
{
//Create a scalar constant for closure.
let duringFeed = this.duringFeed;
this.duringFeed = "";
setTimeout(function () events.feedkeys(duringFeed, false, false, true), 0);
}
}
return i == keys.length;
},
@@ -1370,13 +1380,23 @@ function Events() //{{{
// we can differentiate between a recorded <C-c>
// interrupting whatever it's started and a real <C-c>
// interrupting our playback.
if (events.feedingKeys)
if (events.feedingKeys && !event.isMacro)
{
if (key == "<C-c>" && !event.isMacro)
if (key == "<C-c>")
{
events.feedingKeys = false;
if (lastMacro)
if (modes.isReplaying)
{
modes.isReplaying = false;
setTimeout(function () { liberator.echomsg("Canceled playback of macro '" + lastMacro + "'"); }, 100);
}
event.preventDefault();
event.stopPropagation();
return true;
}
else
{
events.duringFeed += key;
event.preventDefault();
event.stopPropagation();
return true;
@@ -1664,13 +1684,16 @@ function Events() //{{{
}
},
// for notifying the user about secure web pages
onSecurityChange: function (webProgress, aRequest, aState)
onSecurityChange: function (webProgress, request, state)
{
if (aState & Ci.nsIWebProgressListener.STATE_IS_INSECURE)
// TODO: do something useful with STATE_SECURE_MED and STATE_SECURE_LOW
if (state & Ci.nsIWebProgressListener.STATE_IS_INSECURE)
statusline.setClass("insecure");
else if (aState & Ci.nsIWebProgressListener.STATE_IS_BROKEN)
else if (state & Ci.nsIWebProgressListener.STATE_IS_BROKEN)
statusline.setClass("broken");
else if (aState & Ci.nsIWebProgressListener.STATE_IS_SECURE)
else if (state & Ci.nsIWebProgressListener.STATE_IDENTITY_EV_TOPLEVEL)
statusline.setClass("extended");
else if (state & Ci.nsIWebProgressListener.STATE_SECURE_HIGH)
statusline.setClass("secure");
},
onStatusChange: function (webProgress, request, status, message)
@@ -1762,10 +1785,11 @@ function Events() //{{{
window.XULBrowserWindow = self.progressListener;
window.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIWebNavigation)
.QueryInterface(Ci.nsIDocShellTreeItem).treeOwner
.QueryInterface(Ci.nsIDocShellTreeItem)
.treeOwner
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIXULWindow)
.XULBrowserWindow = window.XULBrowserWindow;
.XULBrowserWindow = self.progressListener;
try
{
getBrowser().addProgressListener(self.progressListener, Ci.nsIWebProgress.NOTIFY_ALL);

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -165,8 +165,76 @@ function Hints() //{{{
text = elem.textContent.toLowerCase();
span = baseNodeAbsolute.cloneNode(true);
span.style.left = Math.max((rect.left + scrollX), scrollX) + "px";
span.style.top = Math.max((rect.top + scrollY), scrollY) + "px";
let leftpos = Math.max((rect.left + scrollX), scrollX);
let toppos = Math.max((rect.top + scrollY), scrollY);
if (tagname == "area")
{
// TODO: Maybe put the following into a seperate function
try
{
// Need to add the offset to the area element.
// Always try to find the top-left point, as per vimperator default.
let shape = elem.getAttribute("shape").toLowerCase();
let coordstr = elem.getAttribute("coords");
// Technically it should be only commas, but hey
coordstr = coordstr.replace(/\s+[;,]\s+/g, ",").replace(/\s+/g, ",");
let coords = coordstr.split(",").map(Number);
if ((shape == "rect" || shape == "rectangle") && coords.length == 4)
{
leftpos += coords[0];
toppos += coords[1];
}
else if (shape == "circle" && coords.length == 3)
{
leftpos += coords[0] - coords[2] / Math.sqrt(2);
toppos += coords[1] - coords[2] / Math.sqrt(2);
}
else if ((shape == "poly" || shape == "polygon") && coords.length % 2 == 0)
{
let leftbound = Infinity;
let topbound = Infinity;
// First find the top-left corner of the bounding rectangle (offset from image topleft can be noticably suboptimal)
for (let i = 0; i < coords.length; i += 2)
{
leftbound = Math.min(coords[i], leftbound);
topbound = Math.min(coords[i+1], topbound);
}
let curtop = null;
let curleft = null;
let curdist = Infinity;
// Then find the closest vertex. (we could generalise to nearest point on an edge, but I doubt there is a need)
for (let i = 0; i < coords.length; i += 2)
{
let leftoffset = coords[i] - leftbound;
let topoffset = coords[i+1] - topbound;
let dist = Math.sqrt(leftoffset * leftoffset + topoffset * topoffset);
if (dist < curdist)
{
curdist = dist;
curleft = coords[i];
curtop = coords[i+1];
}
}
// If we found a satisfactory offset, let's use it.
if (curdist < Infinity)
{
leftpos += curleft;
toppos += curtop;
}
}
}
catch (e) {} //badly formed document, or shape == "default" in which case we don't move the hint
}
span.style.left = leftpos + "px";
span.style.top = toppos + "px";
fragment.appendChild(span);
pageHints.push([elem, text, span, null, elem.style.backgroundColor, elem.style.color]);

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Code based on venkman
Alternatively, the contents of this file may be used under the terms of
@@ -547,6 +547,7 @@ function IO() //{{{
* @param {boolean} always When true, return a path whether
* the file exists or not.
* @default $HOME.
* @returns {nsIFile} The RC file or null if none is found.
*/
getRCFile: function (dir, always)
{

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -1225,7 +1225,12 @@ const liberator = (function () //{{{
config.features.push(getPlatformFeature());
config.defaults = config.defaults || {};
config.guioptions = config.guioptions || {};
config.browserModes = config.browserModes || [modes.NORMAL];
// -> we can't use this, since config.browserModes might already be defined as a getter-only
// TODO: also change the other config.* defaults?
// config.browserModes = config.browserModes || [modes.NORMAL];
if (!config.browserModes)
config.browserModes = [modes.NORMAL];
config.mailModes = config.mailModes || [modes.NORMAL];
// TODO: suitable defaults?
//config.mainWidget
@@ -1292,13 +1297,12 @@ const liberator = (function () //{{{
let extensionName = config.name.toUpperCase();
let init = services.get("environment").get(extensionName + "_INIT");
let rcFile = io.getRCFile("~");
if (init)
liberator.execute(init);
else
{
let rcFile = io.getRCFile("~");
if (rcFile)
{
io.source(rcFile.path, true);
@@ -1311,7 +1315,7 @@ const liberator = (function () //{{{
if (options["exrc"])
{
let localRCFile = io.getRCFile(io.getCurrentDirectory().path);
if (localRCFile)
if (localRCFile && !localRCFile.equals(rcFile))
io.source(localRCFile.path, true);
}

View File

@@ -13,7 +13,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or

View File

@@ -72,8 +72,9 @@ Highlights.prototype.CSS = <![CDATA[
Question color: green; background: white; font-weight: bold;
StatusLine color: white; background: black;
StatusLineBroken color: black; background: #FF6060 /* light-red */
StatusLineSecure color: black; background: #B0FF00 /* light-green */
StatusLineBroken color: black; background: #FFa0a0 /* light-red */
StatusLineSecure color: black; background: #a0a0FF /* light-blue */
StatusLineExtended color: black; background: #a0FFa0 /* light-green */
TabClose
TabIcon

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -623,6 +623,7 @@ function Tabs() //{{{
completer: function (context)
{
context.anchored = false;
context.compare = CompletionContext.Sort.unsorted;
context.keys = { text: function (item) item.state.entries[0].url, description: "title" };
context.completions = tabs.closedTabs;
},

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -1222,6 +1222,8 @@ function CommandLine() //{{{
* for the user's input.
* @... {string} promptHighlight - The HighlightGroup used for the
* prompt. @default "Question"
* @... {string} default - The initial value that will be returned
* if the user presses <CR> straightaway. @default ""
*/
input: function _input(prompt, callback, extra)
{
@@ -1303,20 +1305,17 @@ function CommandLine() //{{{
}
else if (event.type == "input")
{
//liberator.dump("input: " + command);
this.resetCompletions();
liberator.triggerCallback("change", currentExtendedMode, command);
}
else if (event.type == "keypress")
{
let key = events.toString(event);
if (completions)
completions.previewClear();
if (!currentExtendedMode)
return true;
let key = events.toString(event);
//liberator.log("command line handling key: " + key + "\n");
// user pressed ENTER to carry out a command
// user pressing ESCAPE is handled in the global onEscape
// FIXME: <Esc> should trigger "cancel" event
@@ -2040,16 +2039,18 @@ function StatusLine() //{{{
/**
* Update the status bar to indicate how secure the website is:
* extended - Secure connection with Extended Validation(EV) certificate.
* secure - Secure connection with valid certificate.
* broken - Secure connection with invalid certificate, or
* mixed content.
* insecure - Insecure connection.
*
* @param {'secure'|'broken'|'insecure'} type
* @param {'extended'|'secure'|'broken'|'insecure'} type
*/
setClass: function setClass(type)
{
const highlightGroup = {
extended: "StatusLineExtended",
secure: "StatusLineSecure",
broken: "StatusLineBroken",
insecure: "StatusLine"

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -249,6 +249,40 @@ const util = { //{{{
return delimiter + str.replace(/([\\'"])/g, "\\$1").replace("\n", "\\n", "g").replace("\t", "\\t", "g") + delimiter;
},
/**
* Split a string on literal occurances of a marker.
*
* Specifically this ignores occurences preceded by a backslash, or
* contained within 'single' or "double" quotes.
*
* It assumes backslash escaping on strings, and will thus not count quotes
* that are preceded by a backslash or within other quotes as starting or
* ending quoted sections of the string.
*
* @param {string} str
* @param {RegExp} marker
*/
splitLiteral: function splitLiteral(str, marker)
{
let results = [];
let resep = RegExp(/^(([^\\'"]|\\.|'([^\\']|\\.)*'|"([^\\"]|\\.)*")*?)/.source + marker.source);
let cont = true;
while (cont)
{
cont = false;
str = str.replace(resep, function (match, before)
{
results.push(before);
cont = true;
return "";
});
}
results.push(str);
return results;
},
/**
* Converts <b>bytes</b> to a pretty printed data size string.
*
@@ -618,7 +652,7 @@ const util = { //{{{
*/
stringToURLArray: function stringToURLArray(str)
{
let urls = str.split(RegExp("\\s*" + options["urlseparator"] + "\\s*"));
let urls = util.splitLiteral(str, RegExp("\\s*" + options["urlseparator"] + "\\s*"));
return urls.map(function (url) {
try
@@ -641,7 +675,7 @@ const util = { //{{{
// Ok, not a valid proto. If it looks like URL-ish (foo.com/bar),
// let Gecko figure it out.
if (/[.]/.test(url) && !/\s/.test(url) || /^[\w-.]+:\d+(?:\/|$)/.test(url))
if (/[.\/]/.test(url) && !/\s/.test(url) || /^[\w-.]+:\d+(?:\/|$)/.test(url))
return url;
// TODO: it would be clearer if the appropriate call to

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or

View File

@@ -1,5 +1,5 @@
Main developer/Project founder:
* Martin Stubenschrott (stubenschrott@gmx.net)
* Martin Stubenschrott (stubenschrott@vimperator.org)
Developers:
* Daniel Bainton (dpb .AT. driftaway .DOT. org)

View File

@@ -10,7 +10,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or

View File

@@ -13,7 +13,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or

View File

@@ -1 +0,0 @@
../../../common/content/liberator.xul

View File

@@ -0,0 +1,119 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- ***** BEGIN LICENSE BLOCK ***** {{{
Version: MPL 1.1/GPL 2.0/LGPL 2.1
The contents of this file are subject to the Mozilla Public License Version
1.1 (the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
in which case the provisions of the GPL or the LGPL are applicable instead
of those above. If you wish to allow use of your version of this file only
under the terms of either the GPL or the LGPL, and not to allow others to
use your version of this file under the terms of the MPL, indicate your
decision by deleting the provisions above and replace them with the notice
and other provisions required by the GPL or the LGPL. If you do not delete
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.
}}} ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://liberator/skin/liberator.css" type="text/css"?>
<!DOCTYPE overlay SYSTEM "liberator.dtd" [
<!ENTITY liberator.content "chrome://liberator/content/">
]>
<overlay id="liberator"
xmlns:liberator="http://vimperator.org/namespaces/liberator"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:nc="http://home.netscape.com/NC-rdf#"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript;version=1.8" src="&liberator.content;liberator-overlay.js"/>
<window id="&liberator.mainWindow;">
<keyset id="mainKeyset">
<key id="key_open_vimbar" key=":" oncommand="liberator.modules.commandline.open(':', '', liberator.modules.modes.EX);" modifiers=""/>
<key id="key_stop" keycode="VK_ESCAPE" oncommand="liberator.modules.events.onEscape();"/>
<!-- other keys are handled inside the event loop in events.js -->
</keyset>
<popupset>
<panel id="liberator-visualbell" liberator:highlight="Bell"/>
</popupset>
<!--this notifies us also of focus events in the XUL
from: http://developer.mozilla.org/en/docs/XUL_Tutorial:Updating_Commands !-->
<commandset id="onVimperatorFocus"
commandupdater="true"
events="focus"
oncommandupdate="if (liberator.modules.events != undefined) liberator.modules.events.onFocusChange(event);"/>
<commandset id="onVimperatorSelect"
commandupdater="true"
events="select"
oncommandupdate="if (liberator.modules.events != undefined) liberator.modules.events.onSelectionChange(event);"/>
<!-- As of Firefox 3.1pre, <iframe>.height changes do not seem to have immediate effect,
therefore we need to put them into a <vbox> for which that works just fine -->
<vbox class="liberator-container" hidden="false" collapsed="true">
<iframe id="liberator-multiline-output" src="chrome://liberator/content/buffer.xhtml"
flex="1" hidden="false" collapsed="false"
onclick="liberator.modules.commandline.onMultilineOutputEvent(event)"/>
</vbox>
<vbox class="liberator-container" hidden="false" collapsed="true">
<iframe id="liberator-completions" src="chrome://liberator/content/buffer.xhtml"
flex="1" hidden="false" collapsed="false"
onclick="liberator.modules.commandline.onMultilineOutputEvent(event)"/>
</vbox>
<stack orient="horizontal" align="stretch" class="liberator-container" liberator:highlight="CmdLine">
<textbox class="plain" id="liberator-message" flex="1" readonly="true" liberator:highlight="Normal"/>
<hbox id="liberator-commandline" hidden="false" collapsed="true" class="liberator-container" liberator:highlight="Normal">
<label class="plain" id="liberator-commandline-prompt" flex="0" crop="end" value="" collapsed="true"/>
<textbox class="plain" id="liberator-commandline-command" flex="1" type="timed" timeout="100"
oninput="liberator.modules.commandline.onEvent(event);"
onkeyup="liberator.modules.commandline.onEvent(event);"
onfocus="liberator.modules.commandline.onEvent(event);"
onblur="liberator.modules.commandline.onEvent(event);"/>
</hbox>
</stack>
<vbox class="liberator-container" hidden="false" collapsed="false">
<textbox id="liberator-multiline-input" class="plain" flex="1" rows="1" hidden="false" collapsed="true" multiline="true"
onkeypress="liberator.modules.commandline.onMultilineInputEvent(event);"
oninput="liberator.modules.commandline.onMultilineInputEvent(event);"
onblur="liberator.modules.commandline.onMultilineInputEvent(event);"/>
</vbox>
</window>
<statusbar id="status-bar" liberator:highlight="StatusLine">
<hbox insertbefore="&liberator.statusBefore;" insertafter="&liberator.statusAfter;"
id="liberator-statusline" flex="1" hidden="false" align="center">
<textbox class="plain" id="liberator-statusline-field-url" readonly="false" flex="1" crop="end"/>
<label class="plain" id="liberator-statusline-field-inputbuffer" flex="0"/>
<label class="plain" id="liberator-statusline-field-progress" flex="0"/>
<label class="plain" id="liberator-statusline-field-tabcount" flex="0"/>
<label class="plain" id="liberator-statusline-field-bufferposition" flex="0"/>
</hbox>
<!-- just hide them since other elements expect them -->
<statusbarpanel id="statusbar-display" hidden="true"/>
<statusbarpanel id="statusbar-progresspanel" hidden="true"/>
</statusbar>
</overlay>
<!-- vim: set fdm=marker sw=4 ts=4 et: -->

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or

View File

@@ -13,7 +13,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or

View File

@@ -20,7 +20,7 @@
<Description>
<em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
<em:minVersion>3.0b2pre</em:minVersion>
<em:maxVersion>3.0b2</em:maxVersion>
<em:maxVersion>3.0b3</em:maxVersion>
</Description>
</em:targetApplication>

View File

@@ -2,7 +2,7 @@
[glossary]
author=Martin Stubenschrott
email=stubenschrott@gmx.net
email=stubenschrott@vimperator.org
# [header]
# <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

View File

@@ -22,7 +22,7 @@ If you like it, but can't remember the shortcuts, press [m]F1[m] or
[c]:help[c] to get this help window back.
|author| |donation| +
Muttator was written by mailto:stubenschrott@gmx.net[Martin Stubenschrott].
Muttator was written by mailto:stubenschrott@vimperator.org[Martin Stubenschrott].
If you appreciate my work on Muttator and want to encourage me working on it
more, you can either send me greetings, patches or make a donation:

View File

@@ -1,5 +1,5 @@
Main developer/Project founder:
* Martin Stubenschrott (stubenschrott@gmx.net)
* Martin Stubenschrott (stubenschrott@vimperator.org)
Developers:
* Doug Kearns (dougkearns@gmail.com)
@@ -11,6 +11,7 @@ Developers:
* anekos <anekos@snca.net>
* teramako <teramako@gmail.com>
* janus_wel <janus.wel.3@gmail.com>
* Conrad Irwin
Inactive/former developers:
* Viktor Kojouharov (Виктор Кожухаров)
@@ -18,7 +19,7 @@ Inactive/former developers:
Patches (in no special order):
* Ruud Grosmann ('followhints' option)
* Xie&Tian (multibyte support for hints)
* Xie&Tian (multibyte support for hints, doc fixes)
* Juergen Descher
* Kazuo (count support for ctrl-^)
* Daniel Schaffrath (;b support)

View File

@@ -2,6 +2,13 @@ Continuous donations:
* Daniel Bainton (web hosting)
2009:
* Christoph Petzold
* Bjoern Steinbrink
* Erlend Hamberg
* Fabien Benetou
* Arvin Moezzi
* Calogero Lo Leggio
* Sapan Bhatia
* Gavin Sinclair
* Stephen Borchert
* Convolution

View File

@@ -1,6 +1,6 @@
#### configuration
VERSION = 2.0b3pre
VERSION = 2.0
NAME = vimperator
include ../common/Makefile.common

View File

@@ -6,15 +6,15 @@
* add "w" and "W" Normal mode mappings for symmetry with o/O and t/T
* add :messclear
2008-XX-XX:
* version 2.0 (probably)
2009-03-28:
* version 2.0
* IMPORTANT: For compatibility with vim, guioptions=b has been renamed
'B'. 'b' now represents the bottom scrollbar.
* IMPORTANT: :set now sets multiple options, as in Vim. Spaces in values
must be quoted or escaped.
* IMPORTANT: Due to much improved autocompletion, changed default 'complete' option
value to 'sfl', listing intelligent Firefox location bar results. Removed possibility
to use 'h' in 'complete'.
value to 'sfl', listing intelligent Firefox location bar results. Using 'b' or 'h'
might cause problems/massive slowdowns, use with care!
* IMPORTANT: AlwaysHint mode with ;F mode changed the semantics slightly.
* IMPORTANT: command actions now take an args object, returned from
commands.parseArgs, as their first argument. This will break any commands
@@ -29,6 +29,8 @@
* IMPORTANT: 'verbose' is now by default at 1, set to 0 to not show any status messages.
* IMPORTANT: $VIMPERATOR_HOME is no longer used.
* Selecting an <input type="file"> with hints now causes the commandline to prompt
for file input (instead of doing nothing).
* [count]<C-n> now goes to the [count]th next tab rather than the [count]th tab.
* add ~/.vimperator/info/{profile}/, similar to viminfo
* add $VIMPERATOR_RUNTIME, $VIMPERATOR_INIT
@@ -51,7 +53,7 @@
* add 'exrc'
* add 'errorbells'
* add shell command completion for :!
* add :map <silent> to prevent a mapping from being echoed
* add :map <silent> to prevent a mapping from being echoed (might be slow currently, however)
* add guioptions=nN to number tabs
* add :loadplugins command
* add . mapping

View File

@@ -39,6 +39,8 @@ BUGS:
- URLs in :ls output are no longer hyperlinks
FEATURES:
9 change the extension ID to vimperator@vimperator.org rather than
vimperator@mozdev.org
9 finish :help TODOs
9 fix local options
9 adaptive timeout for auto-completions, :set completions can be updated more often than

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -737,6 +737,7 @@ function History() //{{{
context.anchored = false;
context.completions = [sh.getEntryAtIndex(i, false) for (i in util.range(sh.index, 0, -1))];
context.keys = { text: function (item) item.URI.spec, description: "title" };
context.compare = CompletionContext.Sort.unsorted;
},
count: true,
literal: 0
@@ -783,6 +784,7 @@ function History() //{{{
context.anchored = false;
context.completions = [sh.getEntryAtIndex(i, false) for (i in util.range(sh.index + 1, sh.count))];
context.keys = { text: function (item) item.URI.spec, description: "title" };
context.compare = CompletionContext.Sort.unsorted;
},
count: true,
literal: 0

View File

@@ -11,7 +11,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -49,7 +49,7 @@ const config = { //{{{
["DOMLoad", "Triggered when a page's DOM content has fully loaded"],
["DownloadPost", "Triggered when a download has completed"],
["Fullscreen", "Triggered when the browser's fullscreen state changes"],
["LocationChange", "Triggered when changing tabs or when naviagtion to a new location"],
["LocationChange", "Triggered when changing tabs or when navigation to a new location"],
["PageLoadPre", "Triggered after a page load is initiated"],
["PageLoad", "Triggered when a page gets (re)loaded/opened"],
["ShellCmdPost", "Triggered after executing a shell command with :!cmd"],

View File

@@ -13,7 +13,7 @@ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@vimperator.org>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or

View File

@@ -20,7 +20,7 @@
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>3.0</em:minVersion>
<em:maxVersion>3.2a1pre</em:maxVersion>
<em:maxVersion>3.6a1pre</em:maxVersion>
</Description>
</em:targetApplication>
</Description>

View File

@@ -2,7 +2,7 @@
[glossary]
author=Martin Stubenschrott
email=stubenschrott@gmx.net
email=stubenschrott@vimperator.org
[header]
<?xml version="1.0" encoding="UTF-8"?>

View File

@@ -51,7 +51,7 @@ Each token is analyzed and in this order:
to set a custom name, you can change it with [c]:dialog searchengines[c].
3. Opened with the default search engine or keyword (specified with the
'defsearch' option) if the first word is no search engine ([c]:open linus
torvalds[c] opens a Google search for linux torvalds).
torvalds[c] opens a Google search for linus torvalds).
4. Passed directly to Firefox in all other cases ([c]:open www.osnews.com,
www.slashdot.org[c] opens OSNews in the current, and Slashdot in a new
background tab).
@@ -169,7 +169,7 @@ ________________________________________________________________________________
section:Navigating[navigating]
|H| |<C-o>| |CTRL-O| |:ba| |:back|
||:[count]ba[ck] [url]|| +
||:[count]ba[ck] [a][url][a]|| +
||:ba[ck]!|| +
||CTRL-o||
________________________________________________________________________________
@@ -180,7 +180,7 @@ ________________________________________________________________________________
|L| |<C-i>| |CTRL-i| |:fo| |:fw| |:forward|
||:[count]fo[rward] [url]|| +
||:[count]fo[rward] [a][url][a]|| +
||:fo[rward]!|| +
||CTRL-i||
________________________________________________________________________________

View File

@@ -123,6 +123,16 @@ set).
________________________________________________________________________________
|<Right>| |l| +
||[count]l||
________________________________________________________________________________
Scroll document to the right. If [count] is specified then move [count] times
as much to the right. +
If the document cannot scroll more, a beep is emitted (unless 'visualbell' is
set).
________________________________________________________________________________
|<C-d>| +
||[count]<C-d>||
________________________________________________________________________________
@@ -141,16 +151,6 @@ first set to this value.
________________________________________________________________________________
|<Right>| |l| +
||[count]l||
________________________________________________________________________________
Scroll document to the right. If [count] is specified then move [count] times
as much to the right. +
If the document cannot scroll more, a beep is emitted (unless 'visualbell' is
set).
________________________________________________________________________________
|<S-Space>| |<PageUp>| |<C-b>| +
||[count]<C-b>||
________________________________________________________________________________
@@ -235,7 +235,7 @@ default zoom levels are 30%, 50%, 67%, 80%, 90%, 100%, 110%, 120%, 133%, 150%,
The available zoom range can be changed by setting the
\'http://kb.mozillazine.org/Zoom.minPercent[zoom.minPercent]' and
\'http://kb.mozillazine.org/Zoom.minPercent[zoom.maxPercent]' Firefox
\'http://kb.mozillazine.org/Zoom.maxPercent[zoom.maxPercent]' Firefox
preferences. The zoom levels can be changed using the
\'http://kb.mozillazine.org/Toolkit.zoomManager.zoomValues[toolkit.ZoomManager.zoomLevels]'
preference.
@@ -274,7 +274,7 @@ ________________________________________________________________________________
|zz| +
||[count]zz||
________________________________________________________________________________
Set text zoom value of current web page. Zoom value can be between 30 and 300%.
Set text zoom value of current web page. Zoom value can be between 30% and 300%.
If it is omitted, text zoom is reset to 100%.
________________________________________________________________________________
@@ -320,7 +320,7 @@ ________________________________________________________________________________
||:zo[om][!] +{value} | -{value}|| +
________________________________________________________________________________
Set zoom value of current web page. [a][value][a] can be an absolute value
between 30 and 300% or a relative value if prefixed with "-" or "+". If
between 30% and 300% or a relative value if prefixed with "-" or "+". If
[a][value][a] is omitted, zoom is reset to 100%.
Normally this command operates on the text zoom, if used with [!] it operates

View File

@@ -25,7 +25,7 @@ ________________________________________________________________________________
|c_<C-]>| +
||<C-]>||
________________________________________________________________________________
Expand a Command-line abbreviation.
Expand a command-line abbreviation.
________________________________________________________________________________

View File

@@ -20,7 +20,7 @@ ________________________________________________________________________________
|:addo| |:addons| +
||:addo[ns]||
________________________________________________________________________________
Show available Browser Extensions and Themes.
Show available browser Extensions and Themes.
You can add/remove/disable browser extensions from this dialog.
Be aware that not all Firefox extensions work, because Vimperator overrides
some key bindings and changes Firefox's GUI.
@@ -34,7 +34,7 @@ Open a Firefox dialog.
Available dialogs:
`------------------`-----------------------------------
*about* About Firefox
*about* About Mozilla Firefox
*addbookmark* Add bookmark for the current page
*addons* Manage Add-ons
*bookmarks* List your bookmarks

View File

@@ -170,7 +170,7 @@ section:Ex{nbsp}commands[ex-cmd-index,:index]
||[c]:delmarks[c]|| Delete the specified marks +
||[c]:delqmarks[c]|| Delete the specified QuickMarks +
||[c]:delstyle[c]|| Delete any matching styles +
||[c]:dialog[c]|| Open a undefined dialog +
||[c]:dialog[c]|| Open a Firefox dialog +
||[c]:doautoall[c]|| Apply the autocommands matching the specified URL to all buffers +
||[c]:doautocmd[c]|| Apply the autocommands matching the specified URL to the current buffer +
||[c]:downloads[c]|| Show progress of current downloads +
@@ -218,11 +218,11 @@ section:Ex{nbsp}commands[ex-cmd-index,:index]
||[c]:qmark[c]|| Mark a URL with a letter for quick access +
||[c]:qmarks[c]|| Show all QuickMarks +
||[c]:quit[c]|| Quit current tab +
||[c]:quitall[c]|| Quit undefined +
||[c]:quitall[c]|| Quit Vimperator +
||[c]:redraw[c]|| Redraw the screen +
||[c]:reload[c]|| Reload current page +
||[c]:reloadall[c]|| Reload all tab pages +
||[c]:restart[c]|| Force undefined to restart +
||[c]:restart[c]|| Force the browser to restart +
||[c]:runtime[c]|| Source the specified file from each directory in 'runtimepath' +
||[c]:saveas[c]|| Save current document to disk +
||[c]:sbclose[c]|| Close the sidebar window +
@@ -262,7 +262,7 @@ section:Options[option-index]
||'activate'|| Define when tabs are automatically activated +
||'cdpath'|| List of directories searched when executing [c]:cd[c] +
||'complete'|| Items which are completed at the [c]:[tab]open prompt[c] +
||'complete'|| Items which are completed at the [c]:[tab]open[c] prompt +
||'defsearch'|| Set the default search engine +
||'editor'|| Set the external text editor +
||'errorbells'|| Ring the bell when an error message is displayed +

View File

@@ -24,7 +24,7 @@ If you like it but can't remember the shortcuts, then press [m]<F1>[m] or
[c]:help[c] to get this help window back.
|author| |donation| +
Vimperator was initially written by mailto:stubenschrott@gmx.net[Martin
Vimperator was initially written by mailto:stubenschrott@vimperator.org[Martin
Stubenschrott] but has found many other
http://vimperator.org/trac/wiki/Vimperator/Authors[contributors] in the
meanwhile. If you appreciate the work on Vimperator and want to encourage us

View File

@@ -346,7 +346,7 @@ Custom completion
Custom completion can be provided by specifying the "custom,{func}" argument to
-complete. The {func} is called with two arguments, a completion context, and
an object describing the command's arguments. It should set the context's
\'completions' property, or return an object, with \'start' and \'items'
\'completions' property, or return an object, with \'items' and \'start'
properties, describing the completions and where the replacement is to start.
*start* is the index into the word being completed at which the returned values

View File

@@ -80,7 +80,7 @@ section:History[history]
||[count]<C-o>||
________________________________________________________________________________
Go to an older position in the jump list. The jump list is just the browser
history for now.
history for now. If [count] is specified go back [count] pages.
________________________________________________________________________________
@@ -88,7 +88,7 @@ ________________________________________________________________________________
||[count]<C-i>||
________________________________________________________________________________
Go to a newer position in the jump list. The jump list is just the browser
history for now.
history for now. If [count] is specified go forward [count] pages.
________________________________________________________________________________

View File

@@ -252,7 +252,7 @@ Sets the default search engine. The default search engine name is used in the
[c]:[tab]open [arg][c] command if [a][arg][a] neither looks like a URL or like
a specified search engine/keyword.
This means, it you set 'defsearch' to "youtube", then [c]:open arnold
This means, if you set 'defsearch' to "youtube", then [c]:open arnold
schwarzenegger[c] will be exactly the same as [c]:open youtube arnold
schwarzenegger[c]. Therefore, you need to add a keyword or search engine
"youtube" first.
@@ -266,7 +266,7 @@ ____
||'editor'|| string (default: "gvim -f")
____
Set the external text editor.
Sets the editor to run when [m]<C-i>[m] is pressed in INSERT and TEXTAREA
Sets the editor to run when [m]<C-i>[m] is pressed in Insert and TextArea
modes.
Warning: Vimperator will not behave correctly if the editor forks its own
@@ -472,7 +472,7 @@ ____
|\'nolpl'| |\'lpl'| |\'noloadplugins'| |\'loadplugins'|
||'loadplugins' 'lpl'|| boolean (default on)
||'loadplugins' 'lpl'|| boolean (default: on)
____
Load plugin scripts when starting up. When on, yet unloaded plugins are
automatically loaded after the vimperatorrc file has been sourced. To
@@ -527,7 +527,7 @@ ____
|\'noonline'| |\'online'|
||'online'|| boolean (default on)
||'online'|| boolean (default: on)
____
Show and set the \'work offline' behavior.
____
@@ -571,7 +571,7 @@ ____
|\'nopreload'| |\'preload'|
||'preload' 'nopreload'|| boolean (default: on)
____
Speed up first time history/bookmark completion
Speed up first time history/bookmark completion.
History access can be quite slow for a large history.
Vimperator maintains a cache to speed it up significantly on subsequent access.
@@ -751,7 +751,7 @@ ____
|\'wildcase'| |\'wic'|
||'wildcase' 'wic'|| string (default: "smart")
____
Defines how completions are matched with regard to character case.
Defines how completions are matched with regard to character case. Possible values:
`---------------`------------------------
"smart" Case is significant when capital letters are typed

View File

@@ -7,7 +7,7 @@ Vimperator can repeat a number of commands and record macros.
section:Macros[macros,complex-repeat]
|q|
||q{0-9a-zA-Z}|| +
||q\\{0-9a-zA-Z}|| +
____________________________________________________________________________
Record a key sequence into a macro.
Available macros are {0-9a-zA-Z} (uppercase to append).
@@ -132,7 +132,7 @@ section:Profiling[profile,profiling]
|:time|
||:[count]time[!] {code|:command}|| +
________________________________________________________________________________
Profile a piece of code or a command. Run {code} [count] times (default 1)
Profile a piece of code or a command. Run {code} [count] times (default: 1)
and returns the elapsed time. {code} is always passed to JavaScript's eval(),
which might be slow, so take the results with a grain of salt.

View File

@@ -73,6 +73,7 @@ Valid groups are:
*StatusLine* The status bar
*StatusLineBroken* The status bar for a broken web page
*StatusLineSecure* The status bar for a secure web page
*StatusLineExtended* The status bar for a secure web page with an Extended Validation(EV) certificate
*String* A JavaScript String object
*TabClose* The close button of a browser tab
*TabIcon* The icon of a browser tab

View File

@@ -57,7 +57,7 @@ Similarly, help on configurable options is available with [c]:help
'{option_name}'[c]. (Note the single quotes around the option name as in Vim.)
Information on all available options is, predictably, [c]:help options[c].
and you can find out about the [m]gt[m] and [m]gT[m] mapping with
And you can find out about the [m]gt[m] and [m]gT[m] mapping with
\{nbsp}[c]:help gt<CR>[c] +
\{nbsp}[c]:help gT<CR>[c]

View File

@@ -11,9 +11,9 @@ ________________________________________________________________________________
|<C-l>| |CTRL-L| |:redr| |:redraw| +
||:redr[aw]||
____
________________________________________________________________________________
Redraws the screen. Useful to update the screen halfway executing a script or function.
____
________________________________________________________________________________
|:norm| |:normal|
||:norm[al][!] {commands}|| +
@@ -54,7 +54,7 @@ ________________________________________________________________________________
Open help window. The default page, as specified by 'helpfile' is shown unless
[a][subject][a] is specified. If you need help for a specific topic, try
[c]:help overview[c].
____________________________________________________________________________
________________________________________________________________________________
|:exu| |:exusage| +

View File

@@ -1,7 +1,7 @@
// Script to find regressions
//
// It should use as few liberator methods as possible, but fall back to standard mozilla/DOM methods
// The reason it, we don't want to find regressions in the regressions script, and it should survive
// The reason is, we don't want to find regressions in the regressions script, and it should survive
// massive changes in the internal liberator API, but just test for functionality of
// user-visible commands/mappings
//
@@ -249,4 +249,4 @@ commands.addUserCommand(["regr[essions]"],
count: true
});
// vimperator: set et sts=4 sw=4 :
// vim: set et sts=4 sw=4 :