mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2026-02-14 19:35:45 +01:00
Merge branch 'master' into xulmus
Conflicts: License.txt
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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
|
||||
@@ -125,6 +125,7 @@ function Buffer() //{{{
|
||||
else
|
||||
v = win.scrollMaxY / 100 * vertical;
|
||||
|
||||
marks.add("'", true);
|
||||
win.scrollTo(h, v);
|
||||
}
|
||||
|
||||
@@ -1303,6 +1304,17 @@ function Buffer() //{{{
|
||||
scrollToPercentiles(-1, percentage);
|
||||
},
|
||||
|
||||
scrollToRatio: function (x, y)
|
||||
{
|
||||
scrollToPercentiles(x * 100, y * 100);
|
||||
},
|
||||
|
||||
scrollTo: function (x, y)
|
||||
{
|
||||
marks.add("'", true);
|
||||
content.scrollTo(x, y);
|
||||
},
|
||||
|
||||
/**
|
||||
* Scrolls the current buffer laterally to its leftmost.
|
||||
*/
|
||||
@@ -1539,12 +1551,11 @@ function Marks() //{{{
|
||||
function onPageLoad(event)
|
||||
{
|
||||
let win = event.originalTarget.defaultView;
|
||||
for (let i = 0, length = pendingJumps.length; i < length; i++)
|
||||
for (let [i, mark] in Iterator(pendingJumps))
|
||||
{
|
||||
let mark = pendingJumps[i];
|
||||
if (win && win.location.href == mark.location)
|
||||
{
|
||||
win.scrollTo(mark.position.x * win.scrollMaxX, mark.position.y * win.scrollMaxY);
|
||||
buffer.scrollToRatio(mark.position.x, mark.position.y);
|
||||
pendingJumps.splice(i, 1);
|
||||
return;
|
||||
}
|
||||
@@ -1589,7 +1600,7 @@ function Marks() //{{{
|
||||
}
|
||||
}
|
||||
|
||||
function isLocalMark(mark) /^[a-z]$/.test(mark);
|
||||
function isLocalMark(mark) /^['`a-z]$/.test(mark);
|
||||
function isURLMark(mark) /^[A-Z0-9]$/.test(mark);
|
||||
|
||||
function localMarkIter()
|
||||
@@ -1750,13 +1761,14 @@ function Marks() //{{{
|
||||
* @param {string} mark
|
||||
*/
|
||||
// TODO: add support for frameset pages
|
||||
add: function (mark)
|
||||
add: function (mark, silent)
|
||||
{
|
||||
let win = window.content;
|
||||
|
||||
if (win.document.body.localName.toLowerCase() == "frameset")
|
||||
{
|
||||
liberator.echoerr("Marks support for frameset pages not implemented yet");
|
||||
if (!silent)
|
||||
liberator.echoerr("Marks support for frameset pages not implemented yet");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1767,7 +1779,8 @@ function Marks() //{{{
|
||||
if (isURLMark(mark))
|
||||
{
|
||||
urlMarks.set(mark, { location: win.location.href, position: position, tab: tabs.getTab() });
|
||||
liberator.log("Adding URL mark: " + markToString(mark, urlMarks.get(mark)), 5);
|
||||
if (!silent)
|
||||
liberator.log("Adding URL mark: " + markToString(mark, urlMarks.get(mark)), 5);
|
||||
}
|
||||
else if (isLocalMark(mark))
|
||||
{
|
||||
@@ -1777,7 +1790,8 @@ function Marks() //{{{
|
||||
localMarks.set(mark, []);
|
||||
let vals = { location: win.location.href, position: position };
|
||||
localMarks.get(mark).push(vals);
|
||||
liberator.log("Adding local mark: " + markToString(mark, vals), 5);
|
||||
if (!silent)
|
||||
liberator.log("Adding local mark: " + markToString(mark, vals), 5);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1847,7 +1861,7 @@ function Marks() //{{{
|
||||
return;
|
||||
}
|
||||
liberator.log("Jumping to URL mark: " + markToString(mark, slice), 5);
|
||||
win.scrollTo(slice.position.x * win.scrollMaxX, slice.position.y * win.scrollMaxY);
|
||||
buffer.scrollToRatio(slice.position.x, slice.position.y);
|
||||
ok = true;
|
||||
}
|
||||
}
|
||||
@@ -1862,7 +1876,7 @@ function Marks() //{{{
|
||||
if (win.location.href == lmark.location)
|
||||
{
|
||||
liberator.log("Jumping to local mark: " + markToString(mark, lmark), 5);
|
||||
win.scrollTo(lmark.position.x * win.scrollMaxX, lmark.position.y * win.scrollMaxY);
|
||||
buffer.scrollToRatio(lmark.position.x, lmark.position.y);
|
||||
ok = true;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -105,12 +105,7 @@ function IO() //{{{
|
||||
.map(function (dir) dir == "" ? io.getCurrentDirectory().path : dir);
|
||||
}
|
||||
|
||||
function replacePathSep(path)
|
||||
{
|
||||
if (WINDOWS)
|
||||
return path.replace("/", "\\");
|
||||
return path;
|
||||
}
|
||||
function replacePathSep(path) path.replace("/", IO.PATH_SEP, "g");
|
||||
|
||||
function joinPaths(head, tail)
|
||||
{
|
||||
@@ -278,7 +273,7 @@ function IO() //{{{
|
||||
function (args)
|
||||
{
|
||||
// TODO: "E172: Only one file name allowed"
|
||||
let filename = args[0] || "~/" + (WINDOWS ? "_" : ".") + EXTENSION_NAME + "rc";
|
||||
let filename = args[0] || io.getRCFile(null, true).path;
|
||||
let file = io.getFile(filename);
|
||||
|
||||
if (file.exists() && !args.bang)
|
||||
@@ -459,11 +454,6 @@ function IO() //{{{
|
||||
*/
|
||||
sourcing: null,
|
||||
|
||||
/**
|
||||
* @property {string} The OS's path separator.
|
||||
*/
|
||||
pathSeparator: WINDOWS ? "\\" : "/",
|
||||
|
||||
/**
|
||||
* Expands "~" and environment variables in <b>path</b>.
|
||||
*
|
||||
@@ -554,10 +544,12 @@ function IO() //{{{
|
||||
* Returns the first user RC file found in <b>dir</b>.
|
||||
*
|
||||
* @param {string} dir The directory to search.
|
||||
* @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)
|
||||
getRCFile: function (dir, always)
|
||||
{
|
||||
dir = dir || "~";
|
||||
|
||||
@@ -571,8 +563,9 @@ function IO() //{{{
|
||||
return rcFile1;
|
||||
else if (rcFile2.exists() && rcFile2.isFile())
|
||||
return rcFile2;
|
||||
else
|
||||
return null;
|
||||
else if (always)
|
||||
return rcFile1;
|
||||
return null;
|
||||
},
|
||||
|
||||
// return a nsILocalFile for path where you can call isDirectory(), etc. on
|
||||
@@ -1107,6 +1100,12 @@ lookup:
|
||||
|
||||
}; //}}}
|
||||
|
||||
IO.PATH_SEP = (function () {
|
||||
let file = services.create("file");
|
||||
file.append("foo");
|
||||
return file.path[0];
|
||||
})();
|
||||
|
||||
/**
|
||||
* @property {string} The value of the $VIMPERATOR_RUNTIME environment
|
||||
* variable.
|
||||
@@ -1126,8 +1125,6 @@ IO.expandPath = function (path, relative)
|
||||
{
|
||||
// TODO: proper pathname separator translation like Vim - this should be done elsewhere
|
||||
const WINDOWS = liberator.has("Win32");
|
||||
if (WINDOWS)
|
||||
path = path.replace("/", "\\", "g");
|
||||
|
||||
// expand any $ENV vars - this is naive but so is Vim and we like to be compatible
|
||||
// TODO: Vim does not expand variables set to an empty string (and documents it).
|
||||
@@ -1141,7 +1138,8 @@ IO.expandPath = function (path, relative)
|
||||
path = expand(path);
|
||||
|
||||
// expand ~
|
||||
if (!relative && (WINDOWS ? /^~(?:$|[\\\/])/ : /^~(?:$|\/)/).test(path))
|
||||
// Yuck.
|
||||
if (!relative && RegExp("~(?:$|[/" + util.escapeRegex(IO.PATH_SEP) + "])").test(path))
|
||||
{
|
||||
// Try $HOME first, on all systems
|
||||
let home = services.get("environment").get("HOME");
|
||||
@@ -1157,11 +1155,7 @@ IO.expandPath = function (path, relative)
|
||||
// TODO: Vim expands paths twice, once before checking for ~, once
|
||||
// after, but doesn't document it. Is this just a bug? --Kris
|
||||
path = expand(path);
|
||||
|
||||
if (WINDOWS)
|
||||
path = path.replace("/", "\\", "g");
|
||||
|
||||
return path;
|
||||
return path.replace("/", IO.PATH_SEP, "g");
|
||||
};
|
||||
|
||||
// vim: set fdm=marker sw=4 ts=4 et:
|
||||
|
||||
@@ -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
|
||||
@@ -1295,11 +1295,12 @@ const liberator = (function () //{{{
|
||||
// TODO: we should have some class where all this guioptions stuff fits well
|
||||
hideGUI();
|
||||
|
||||
// finally, read a ~/.vimperatorrc and plugin/**.{vimp,js}
|
||||
// finally, read the RC file and source plugins
|
||||
// make sourcing asynchronous, otherwise commands that open new tabs won't work
|
||||
setTimeout(function () {
|
||||
|
||||
let init = services.get("environment").get(config.name.toUpperCase() + "_INIT");
|
||||
let extensionName = config.name.toUpperCase();
|
||||
let init = services.get("environment").get(extensionName + "_INIT");
|
||||
let rcFile = io.getRCFile("~");
|
||||
|
||||
if (init)
|
||||
@@ -1307,7 +1308,10 @@ const liberator = (function () //{{{
|
||||
else
|
||||
{
|
||||
if (rcFile)
|
||||
{
|
||||
io.source(rcFile.path, true);
|
||||
services.get("environment").set("MY_" + extensionName + "RC", rcFile.path);
|
||||
}
|
||||
else
|
||||
liberator.log("No user RC file found", 3);
|
||||
}
|
||||
@@ -1324,7 +1328,7 @@ const liberator = (function () //{{{
|
||||
|
||||
// after sourcing the initialization files, this function will set
|
||||
// all gui options to their default values, if they have not been
|
||||
// set before by any rc file
|
||||
// set before by any RC file
|
||||
for (let option in options)
|
||||
{
|
||||
if (option.setter)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -58,6 +58,11 @@ function CommandLine() //{{{
|
||||
|
||||
get length() this._messages.length,
|
||||
|
||||
clear: function clear()
|
||||
{
|
||||
this._messages = [];
|
||||
},
|
||||
|
||||
add: function add(message)
|
||||
{
|
||||
if (!message)
|
||||
@@ -975,6 +980,22 @@ function CommandLine() //{{{
|
||||
},
|
||||
{ argCount: "0" });
|
||||
|
||||
commands.add(["messc[lear]"],
|
||||
"Clear the message history",
|
||||
function () { messageHistory.clear(); },
|
||||
{ argCount: "0" });
|
||||
|
||||
commands.add(["sil[ent]"],
|
||||
"Run a command silently",
|
||||
function (args)
|
||||
{
|
||||
commandline.runSilently(function () liberator.execute(args[0]));
|
||||
},
|
||||
{
|
||||
completer: function (context) completion.ex(context),
|
||||
literal: 0
|
||||
});
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////}}}
|
||||
////////////////////// PUBLIC SECTION //////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////////////{{{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user