diff --git a/.gitignore b/.gitignore index 70f6032d..50e5bc77 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ *.xpi */locale/*/*.html */chrome +*/contrib/vim/*.vba ## Editor backup and swap files *~ @@ -28,4 +29,4 @@ ## Generated by StGit patches-* -.stgit-edit.txt +.stgit-*.txt diff --git a/Makefile b/Makefile index 2d0618d6..c0c3842b 100644 --- a/Makefile +++ b/Makefile @@ -3,8 +3,12 @@ DIRS = vimperator muttator TARGETS = clean distclean doc help info jar release xpi .SILENT: +all: xpi ; + $(TARGETS:%=\%.%): echo MAKE $@ $(MAKE) -C $* $(@:$*.%=%) -$(TARGETS): %: $(DIRS:%=%.%) +$(TARGETS): + $(MAKE) $(DIRS:%=%.$@) + diff --git a/common/Makefile.common b/common/Makefile.common index 38606885..c1458a87 100644 --- a/common/Makefile.common +++ b/common/Makefile.common @@ -3,10 +3,11 @@ TOP = $(shell pwd) OS = $(shell uname -s) BUILD_DATE = $(shell date "+%Y/%m/%d %H:%M:%S") -BASE = $(TOP)/../common +BASE = $(TOP)/../common -DOC_SRC_FILES = $(wildcard locale/*/*.txt) $(wildcard locale/*/*.t2t) -LOCALES = $(wildcard locale/*) +LOCALEDIR = locale +DOC_SRC_FILES = $(wildcard $(LOCALEDIR)/*/*.txt) +LOCALES = $(foreach locale,$(wildcard $(LOCALEDIR)/*),$(word 2,$(subst /, ,$(locale)))) MAKE_JAR = VERSION="$(VERSION)" DATE="$(BUILD_DATE)" sh $(BASE)/make_jar.sh @@ -16,7 +17,7 @@ JAR_DIRS = content skin locale JAR_TEXTS = js css dtd xml xul html xhtml JAR_BINS = png -JAR = chrome/${NAME}.jar +JAR = chrome/$(NAME).jar XPI_BASES = $(JAR_BASES) $(TOP)/.. XPI_FILES = install.rdf TODO AUTHORS Donators NEWS License.txt @@ -24,32 +25,38 @@ XPI_DIRS = modules components chrome XPI_TEXTS = js jsm XPI_BINS = jar -XPI_NAME = ${NAME}_${VERSION} -XPI_PATH = ../downloads/${XPI_NAME} -XPI = $(XPI_PATH).xpi +XPI_NAME = $(NAME)_$(VERSION) +XPI_PATH = ../downloads/$(XPI_NAME) +XPI = $(XPI_PATH).xpi RDF = ../downloads/update.rdf -RDF_IN = ${RDF}.in +RDF_IN = $(RDF).in -BUILD_DIR = build.${VERSION}.${OS} +BUILD_DIR = build.$(VERSION).$(OS) ASCIIDOC = asciidoc +AWK = awk .SILENT: #### rules -.PHONY: all help info doc jar xpi install clean distclean $(JAR) +TARGETS = all help info doc jar xpi install clean distclean $(JAR) +$(TARGETS:%=\%.%): + echo MAKE $* $(@:$*.%=%) + $(MAKE) -C $* $(@:$*.%=%) + +.PHONY: $(TARGETS) all: help help: - @echo "${NAME} ${VERSION} build" + @echo "$(NAME) $(VERSION) build" @echo @echo " make help - display this help" @echo " make info - show some info about the system" @echo " make doc - build doc files" - @echo " make jar - build a JAR (${JAR})" - @echo " make xpi - build an XPI (${XPI_NAME})" + @echo " make jar - build a JAR ($(JAR))" + @echo " make xpi - build an XPI ($(XPI_NAME))" @echo " make release - updates update.rdf (this is not for you)" @echo " make clean - clean up" @echo " make distclean - clean up more" @@ -57,39 +64,37 @@ help: @echo "running some commands with V=1 will show more build details" info: - @echo "version ${VERSION}" - @echo "release file ${XPI}" - @echo "doc files ${DOC_SRC_FILES}" - @echo -e "jar files $(shell echo ${JAR_FILES} | sed 's/ /\\n /g' )" - @echo "xpi files ${XPI_FILES}" + @echo "version $(VERSION)" + @echo "release file $(XPI)" + @echo "doc files $(DOC_SRC_FILES)" + @echo "xpi files $(XPI_FILES)" -xpi: ${XPI} -jar: ${JAR} +xpi: $(XPI) +jar: $(JAR) -release: ${XPI} ${RDF} +release: $(XPI) $(RDF) -${RDF}: ${RDF_IN} Makefile +$(RDF): $(RDF_IN) Makefile @echo "Preparing release..." - ${Q}${SED} -e "s,###VERSION###,${VERSION},g" \ - -e "s,###DATE###,${BUILD_DATE},g" \ + $(SED) -e "s,###VERSION###,$(VERSION),g" \ + -e "s,###DATE###,$(BUILD_DATE),g" \ < $< > $@ @echo "SUCCESS: $@" -clean: - @echo "Cleanup..." - rm -f ${JAR} ${XPI} +clean: $(LOCALEDIR)/$(LOCALES:%=%.clean) + @echo "General $(NAME) cleanup..." + rm -f $(JAR) $(XPI) -distclean: clean - @echo "More cleanup..." - @set -e; for locale in $(LOCALES); do $(MAKE) -C clean; doc; done - rm -rf ${BUILD_DIR} +distclean: $(LOCALEDIR)/$(LOCALES:%=%.distclean) clean + @echo "More $(NAME) cleanup..." + rm -rf $(BUILD_DIR) #### xpi $(XPI): $(JAR) @echo "Building XPI..." mkdir -p $(XPI_PATH) - awk -v 'name=$(NAME)' -f $(BASE)/process_manifest.awk $(TOP)/chrome.manifest >$(XPI_PATH)/chrome.manifest + $(AWK) -v 'name=$(NAME)' -f $(BASE)/process_manifest.awk $(TOP)/chrome.manifest >$(XPI_PATH)/chrome.manifest $(MAKE_JAR) "$(XPI)" "$(XPI_BASES)" "$(XPI_DIRS)" "$(XPI_TEXTS)" "$(XPI_BINS)" "$(XPI_FILES)" @echo "SUCCESS: $@" @@ -102,5 +107,4 @@ $(JAR): doc #### doc (see Makefile.doc) -doc: - @set -e; for locale in $(LOCALES); do $(MAKE) -C $$locale doc; done +doc: $(foreach localetgt,$(LOCALES:%=%.doc),$(addprefix $(LOCALEDIR)/,$(localetgt))) ; diff --git a/common/Makefile.doc b/common/Makefile.doc index 7111a941..9fed1d5e 100644 --- a/common/Makefile.doc +++ b/common/Makefile.doc @@ -1,28 +1,18 @@ -# Symlink me to locale/*/Makefile +# Symlink me to (or include me from) locale/*/Makefile #### configuration -BASE = ../../../common +ASCIIDOC = asciidoc +AWK = awk -THIS_LOCALE = $(notdir $(shell pwd)) -THIS_LANG = $(firstword $(subst -, ,$(THIS_LOCALE))) -ifneq ($(strip $(shell echo -n $(THIS_LANG) | wc -c)),2) -THIS_LANG = en -endif +LOCALE = $(shell basename `pwd`) +LANG = $(shell basename `pwd` | $(AWK) -F- '{ print ($$1 ~ /^[a-z][a-z]$$/) ? $$1 : "en" }') ADC_SRC_FILES = $(wildcard *.txt) ADC_FILES = $(ADC_SRC_FILES:%.txt=%.html) -ADC_DEPS = $(wildcard asciidoc.conf lang-$(THIS_LANG).conf) +ADC_DEPS = $(wildcard asciidoc.conf lang-$(LANG).conf) -T2T_SRC_FILES = $(wildcard *.t2t) -T2T_FILES = $(T2T_SRC_FILES:%.t2t=%.xhtml) -T2T_DEPS = $(wildcard config.t2t) - -DOC_FILES = $(ADC_FILES) $(T2T_FILES) - -ASCIIDOC = asciidoc -TXT2TAGS = txt2tags -AWK = awk +DOC_FILES = $(ADC_FILES) version.html .SILENT: @@ -31,49 +21,42 @@ AWK = awk .PHONY: all help doc asciidoc check-asciidoc clean distclean all: doc -doc: asciidoc t2t +doc: asciidoc help: - @echo "${NAME} ${VERSION} build" + @echo "$(NAME) $(VERSION) build" @echo @echo " make help - display this help" @echo " make doc - build doc files" - @echo " make asciidoc - build asciidoc'd files only" - @echo " make t2t - build txt2tags'd files only" @echo " make clean - clean up" @echo " make distclean - clean up more" clean: - @echo "Cleanup..." + @echo "Cleanup of $(LOCALE) documentation..." distclean: clean - @echo "More cleanup..." + @echo "More cleanup of $(LOCALE) documentation..." rm -f $(DOC_FILES) #### Makes single-file makes easier to type -%: %.html %.t2t %.xhtml %.t2t ; - %: %.html %.txt ; -%: %.xhtml %.t2t ; - #### asciidoc -asciidoc: check-asciidoc $(ADC_FILES) +asciidoc: check-asciidoc $(DOC_FILES) check-asciidoc: @$(ASCIIDOC) --version | $(AWK) '{ exit $$2 !~ /^8\.2\./ }' || \ echo >&2 "Warning: asciidoc versions other than 8.2.x are unsupported" $(ADC_FILES): %.html: %.txt $(BASE)/Makefile.doc $(ADC_DEPS) - @echo "DOC locale/$(THIS_LOCALE)/$@" - $(ASCIIDOC) --unsafe -a linkcss -a quirks! -a lang=$(THIS_LANG) -a doctitle="$(shell basename $@)" -o $@ $< + @echo "DOC locale/$(LOCALE)/$@" + $(ASCIIDOC) --unsafe -a linkcss -a quirks! -a lang=$(LANG) -a doctitle="$(shell basename $@)" -o $@ $< -#### txt2tags - -t2t: $(T2T_FILES) - -$(T2T_FILES): %.xhtml: %.t2t $(BASE)/Makefile.doc $(T2T_DEPS) - @echo "T2T locale/$(THIS_LOCALE)/$@" - txt2tags --quiet $< +version.html: ../../NEWS $(BASE)/Makefile.doc $(ADC_DEPS) + @echo "DOC locale/$(LOCALE)/$@" + # NOTE: asciidoc doesn't source the conf file implicitly when processing stdin + sed -e '1i\ +HEADER' -e '/^[0-9]/d' -e '/^ \+\* version /s/.*version \+\([0-9.]\+\).*/section:Version{nbsp}\1[version-\1]\ +/' ../../NEWS | ${ASCIIDOC} -f asciidoc.conf -a doctitle=version.html -o version.html - diff --git a/common/content/buffer.js b/common/content/buffer.js index 752709f4..3ede5053 100644 --- a/common/content/buffer.js +++ b/common/content/buffer.js @@ -867,9 +867,16 @@ function Buffer() //{{{ /** * @property {string} The current top-level document's URL. */ - get URL() + get URL() window.content.location.href, + + /** + * @property {string} The current top-level document's URL, sans any + * fragment identifier. + */ + get URI() { - return window.content.document.location.href; + let loc = window.content.location; + return loc.href.substr(0, loc.href.length - loc.hash.length); }, /** @@ -1044,7 +1051,12 @@ function Buffer() //{{{ function followFrame(frame) { - function iter(elems) (e for ([i, e] in Iterator(elems)) if (e.rel.toLowerCase() == rel || e.rev.toLowerCase() == rel)); + function iter(elems) + { + for (let i = 0; i < elems.length; i++) + if (elems[i].rel.toLowerCase() == rel || elems[i].rev.toLowerCase() == rel) + yield elems[i]; + } // s have higher priority than normal hrefs let elems = frame.document.getElementsByTagName("link"); @@ -1065,16 +1077,10 @@ function Buffer() //{{{ let res = buffer.evaluateXPath(options["hinttags"], frame.document); for (let [,regex] in Iterator(regexps)) { - for (let i in util.range(res.snapshotLength, 0, true)) + for (let i in util.range(res.snapshotLength, 0, -1)) { let elem = res.snapshotItem(i); - if (regex.test(elem.textContent)) - { - buffer.followLink(elem, liberator.CURRENT_TAB); - return true; - } - // images with alt text being href - if (Array.some(elem.childNodes, function (child) regex.test(child.alt))) + if (regex.test(elem.textContent) || Array.some(elem.childNodes, function (child) regex.test(child.alt))) { buffer.followLink(elem, liberator.CURRENT_TAB); return true; @@ -1462,7 +1468,7 @@ function Buffer() //{{{ */ viewSource: function (url, useExternalEditor) { - url = url || buffer.URL; + url = url || buffer.URI; if (useExternalEditor) editor.editFileExternally(url); @@ -1625,7 +1631,7 @@ function Marks() //{{{ function (args) { let special = args.bang; - let args = args.string; + args = args.string; if (!special && !args) { diff --git a/common/content/commands.js b/common/content/commands.js index 170568b1..d6417a23 100644 --- a/common/content/commands.js +++ b/common/content/commands.js @@ -573,7 +573,7 @@ function Commands() //{{{ count++; // to compensate the "=" character } - else if (!/\s/.test(sep)) // this isn't really an option as it has trailing characters, parse it as an argument + else if (!/\s/.test(sep) && sep != undefined) // this isn't really an option as it has trailing characters, parse it as an argument { invalid = true; } diff --git a/common/content/completion.js b/common/content/completion.js index 4c0885d7..471eed19 100644 --- a/common/content/completion.js +++ b/common/content/completion.js @@ -220,6 +220,12 @@ function CompletionContext(editor, name, offset) //{{{ : item.item[key]; } +CompletionContext.Sort = { + number: function (a, b) parseInt(b) - parseInt(a) || String.localeCompare(a, b), + + unsorted: null +}; + CompletionContext.prototype = { // Temporary /** @@ -554,10 +560,10 @@ CompletionContext.prototype = { { let self = this; let items = this.items; - let reverse = start > end; + let step = start > end ? -1 : 1; start = Math.max(0, start || 0); end = Math.min(items.length, end ? end : items.length); - return util.map(util.range(start, end, reverse), function (i) items[i]); + return util.map(util.range(start, end, step), function (i) items[i]); }, getRows: function getRows(start, end, doc) @@ -565,10 +571,10 @@ CompletionContext.prototype = { let self = this; let items = this.items; let cache = this.cache.rows; - let reverse = start > end; + let step = start > end ? -1 : 1; start = Math.max(0, start || 0); end = Math.min(items.length, end != null ? end : items.length); - for (let i in util.range(start, end, reverse)) + for (let i in util.range(start, end, step)) yield [i, cache[i] = cache[i] || util.xmlToDom(self.createRow(items[i]), doc)]; }, @@ -720,22 +726,22 @@ function Completion() //{{{ this.completers = {}; + // Some object members are only accessible as function calls + function getKey(obj, key) + { + try + { + return obj[key]; + } + catch (e) + { + return undefined; + } + } + this.iter = function iter(obj) { - let iterator = (function objIter() - { - for (let k in obj) - { - // Some object members are only accessible as function calls - try - { - yield [k, obj[k]]; - continue; - } - catch (e) {} - yield [k, <>inaccessable] - } - })(); + let iterator = ([k, getKey(obj, k)] for (k in obj)); try { // The point of 'for k in obj' is to get keys @@ -775,21 +781,21 @@ function Completion() //{{{ // available in the object itself. let orig = obj; - // v[0] in orig and orig[v[0]] catch different cases. XPCOM - // objects are problematic, to say the least. if (modules.isPrototypeOf(obj)) compl = [v for (v in Iterator(obj))]; else { - if (obj.wrappedJSObject) + if (getKey(obj, 'wrappedJSObject')) obj = obj.wrappedJSObject; + // v[0] in orig and orig[v[0]] catch different cases. XPCOM + // objects are problematic, to say the least. compl = [v for (v in this.iter(obj)) - if ((typeof orig == "object" && v[0] in orig) || orig[v[0]] !== undefined)]; + if ((typeof orig == "object" && v[0] in orig) || getKey(orig, v[0]) !== undefined)]; } // And if wrappedJSObject happens to be available, // return that, too. - if (orig.wrappedJSObject) + if (getKey(orig, 'wrappedJSObject')) compl.push(["wrappedJSObject", obj]); // Add keys for sorting later. @@ -1381,6 +1387,7 @@ function Completion() //{{{ context.anchored = false; context.title = ["Buffer", "URL"]; context.keys = { text: "text", description: "url", icon: "icon" }; + context.compare = CompletionContext.Sort.number; let process = context.process[0]; context.process = [function (item, text) <> @@ -1560,7 +1567,7 @@ function Completion() //{{{ { context.format = history.format; context.title = ["History"] - context.compare = null; + context.compare = CompletionContext.Sort.unsorted; //context.background = true; if (context.maxItems == null) context.maxItems = 100; @@ -1584,7 +1591,7 @@ function Completion() //{{{ context.hasItems = context.completions.length > 0; // XXX context.filterFunc = null; context.cancel = function () services.get("autoCompleteSearch").stopSearch(); - context.compare = null; + context.compare = CompletionContext.Sort.unsorted; let timer = new Timer(50, 100, function (result) { context.incomplete = result.searchResult >= result.RESULT_NOMATCH_ONGOING; context.completions = [ @@ -1655,7 +1662,8 @@ function Completion() //{{{ completer = function () [["true", ""], ["false", ""]]; break; case "stringlist": - len = newValues.pop().length; + let target = newValues.pop(); + len = target ? target.length : 0; break; case "charlist": len = 0; @@ -1716,7 +1724,7 @@ function Completion() //{{{ context.format = history.format; context.title = [keyword + " Quick Search"]; // context.background = true; - context.compare = null; + context.compare = CompletionContext.Sort.unsorted; context.generate = function () { let [begin, end] = item.url.split("%s"); @@ -1751,7 +1759,7 @@ function Completion() //{{{ let ctxt = context.fork(name, 0); ctxt.title = [engine.description + " Suggestions"]; - ctxt.compare = null; + ctxt.compare = CompletionContext.Sort.unsorted; ctxt.incomplete = true; bookmarks.getSuggestions(name, ctxt.filter, function (compl) { ctxt.incomplete = false; diff --git a/common/content/editor.js b/common/content/editor.js index 8e0c603e..b62aad98 100644 --- a/common/content/editor.js +++ b/common/content/editor.js @@ -204,7 +204,7 @@ function Editor() //{{{ function (args) { let matches = args.string.match(RegExp("^\\s*($|" + abbrevmatch + ")(?:\\s*$|\\s+(.*))")); - if (! matches) + if (!matches) { liberator.echoerr("E474: Invalid argument"); return false; @@ -607,8 +607,12 @@ function Editor() //{{{ unselectText: function () { let elem = window.document.commandDispatcher.focusedElement; - if (elem && elem.selectionEnd) - elem.selectionEnd = elem.selectionStart; + // A error occurs if the element has been removed when "elem.selectionStart" is executed. + try { + if (elem && elem.selectionEnd) + elem.selectionEnd = elem.selectionStart; + } + catch (e) {} }, selectedText: function () diff --git a/common/content/events.js b/common/content/events.js index d50c76c5..3c9db52a 100644 --- a/common/content/events.js +++ b/common/content/events.js @@ -932,6 +932,8 @@ function Events() //{{{ { if (!ctrl && !alt && !shift && !meta) return false; // an invalid key like + else if (shift) + keyname = keyname.toUpperCase(); charCode = keyname.charCodeAt(0); } else if (keyname.toLowerCase() == "space") @@ -1033,6 +1035,37 @@ function Events() //{{{ } } } + // [Ctrl-Bug] special handling of mysterious , , , , bugs (OS/X) + // (i.e., cntrl codes 27--31) + // --- + // For more information, see: + // [*] Vimp FAQ: http://vimperator.org/trac/wiki/Vimperator/FAQ#WhydoesntC-workforEscMacOSX + // [*] Referenced mailing list msg: http://www.mozdev.org/pipermail/vimperator/2008-May/001548.html + // [*] Mozilla bug 416227: event.charCode in keypress handler has unexpected values on Mac for Ctrl with chars in "[ ] _ \" + // https://bugzilla.mozilla.org/show_bug.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&id=416227 + // [*] Mozilla bug 432951: Ctrl+'foo' doesn't seem same charCode as Meta+'foo' on Cocoa + // https://bugzilla.mozilla.org/show_bug.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&id=432951 + // --- + // + // The following fixes are only activated if liberator.has("MacUnix"). + // Technically, they prevent mappings from (and + // if your fancy keyboard permits such things), but + // these mappings are probably pathological ( + // certainly is on Windows), and so it is probably + // harmless to remove the has("MacUnix") if desired. + // + else if (liberator.has("MacUnix") && event.ctrlKey && event.charCode >= 27 && event.charCode <= 31) + { + if (event.charCode == 27) // [Ctrl-Bug 1/5] the bug + { + key = "Esc"; + modifier = modifier.replace("C-", ""); + } + else // [Ctrl-Bug 2,3,4,5/5] the , , , bugs + { + key = String.fromCharCode(event.charCode + 64); + } + } // special handling of the Space key else if (event.charCode == 32) { @@ -1089,7 +1122,7 @@ function Events() //{{{ waitForPageLoad: function () { - liberator.dump("start waiting in loaded state: " + buffer.loaded); + //liberator.dump("start waiting in loaded state: " + buffer.loaded); liberator.threadYield(true); // clear queue if (buffer.loaded == 1) @@ -1102,8 +1135,8 @@ function Events() //{{{ while (now = Date.now(), now < end) { liberator.threadYield(); - if ((now - start) % 1000 < 10) - liberator.dump("waited: " + (now - start) + " ms"); + //if ((now - start) % 1000 < 10) + // liberator.dump("waited: " + (now - start) + " ms"); if (!events.feedingKeys) return false; @@ -1122,7 +1155,7 @@ function Events() //{{{ let ret = (buffer.loaded == 1); if (!ret) liberator.echoerr("Page did not load completely in " + maxWaitTime + " seconds. Macro stopped."); - liberator.dump("done waiting: " + ret); + //liberator.dump("done waiting: " + ret); // sometimes the input widget had focus when replaying a macro // maybe this call should be moved somewhere else? @@ -1186,7 +1219,7 @@ function Events() //{{{ { if (config.isComposeWindow) { - liberator.dump("Compose editor got focus"); + //liberator.dump("Compose editor got focus"); modes.set(modes.INSERT, modes.TEXTAREA); } else if (liberator.mode != modes.MESSAGE) diff --git a/common/content/hints.js b/common/content/hints.js index b68f821c..cf877078 100644 --- a/common/content/hints.js +++ b/common/content/hints.js @@ -399,87 +399,51 @@ function Hints() //{{{ let wordSplitRegex = RegExp(options["wordseparators"]); // What the **** does this do? --Kris + // + // This function matches hintStrings like 'hekho' to links like 'Hey Kris, how are you?' -> [HE]y [K]ris [HO]w are you --Daniel function charsAtBeginningOfWords(chars, words, allowWordOverleaping) { - let charIdx = 0; - let numMatchedWords = 0; - for (let [,word] in Iterator(words)) + function charMatches(charIdx, chars, wordIdx, words, inWordIdx, allowWordOverleaping) { - if (word.length == 0) - continue; - - let wcIdx = 0; - // Check if the current word matches same characters as the previous word. - // Each already matched word has matched at least one character. - if (charIdx > numMatchedWords) + let matches = (chars[charIdx] == words[wordIdx][inWordIdx]); + if ((matches == false && allowWordOverleaping) || words[wordIdx].length == 0) { - let matchingStarted = false; - for (let i in util.range(numMatchedWords, charIdx)) - { - if (chars[i] == word[wcIdx]) - { - matchingStarted = true; - wcIdx++; - } - else if (matchingStarted) - { - wcIdx = 0; - break; - } - } + let nextWordIdx = wordIdx + 1; + if (nextWordIdx == words.length) + return false; + + return charMatches(charIdx, chars, nextWordIdx, words, 0, allowWordOverleaping); } - // the current word matches same characters as the previous word - let prevCharIdx; - if (wcIdx > 0) + if (matches) { - prevCharIdx = charIdx; - // now check if it matches additional characters - for (; wcIdx < word.length && charIdx < chars.length; wcIdx++, charIdx++) - { - if (word[wcIdx] != chars[charIdx]) - break; - } + let nextCharIdx = charIdx + 1; + if (nextCharIdx == chars.length) + return true; - // the word doesn't match additional characters, now check if the - // already matched characters are equal to the next characters for matching, - // if yes, then consume them - if (prevCharIdx == charIdx) - { - for (let i = 0; i < wcIdx && charIdx < chars.length; i++, charIdx++) - { - if (word[i] != chars[charIdx]) - break; - } - } + let nextWordIdx = wordIdx + 1; + let beyondLastWord = (nextWordIdx == words.length); + let charMatched = false; + if (beyondLastWord == false) + charMatched = charMatches(nextCharIdx, chars, nextWordIdx, words, 0, allowWordOverleaping) - numMatchedWords++; - } - // the current word doesn't match same characters as the previous word, just - // try to match the next characters - else - { - prevCharIdx = charIdx; - for (let i = 0; i < word.length && charIdx < chars.length; i++, charIdx++) - { - if (word[i] != chars[charIdx]) - break; - } + if (charMatched) + return true; - if (prevCharIdx == charIdx) + if (charMatched == false || beyondLastWord == true) { - if (!allowWordOverleaping) + let nextInWordIdx = inWordIdx + 1; + if (nextInWordIdx == words[wordIdx].length) return false; + + return charMatches(nextCharIdx, chars, wordIdx, words, nextInWordIdx, allowWordOverleaping); } - else - numMatchedWords++; } - if (charIdx == chars.length) - return true; + return false; } - return (charIdx == chars.length); + return charMatches(0, chars, 0, words, 0, allowWordOverleaping); } function stringsAtBeginningOfWords(strings, words, allowWordOverleaping) @@ -510,8 +474,6 @@ function Hints() //{{{ return function (linkText) { - liberator.dump(hintStrings); - if (hintStrings.length == 1 && hintStrings[0].length == 0) return true; @@ -613,7 +575,7 @@ function Hints() //{{{ function (count) { extendedhintCount = count; - commandline.input(";", function (arg) { setTimeout(function () hints.show(arg), 0); }, + commandline.input(";", null, { promptHighlight: "Normal", completer: function (context) @@ -621,7 +583,8 @@ function Hints() //{{{ context.compare = function () 0; context.completions = [[k, v.prompt] for ([k, v] in Iterator(hintModes))]; }, - onChange: function () { modes.pop() } + onChange: function () { modes.pop() }, + onCancel: function (arg) { arg && setTimeout(function () hints.show(arg), 0); }, }); }, { flags: Mappings.flags.COUNT }); diff --git a/common/content/liberator.js b/common/content/liberator.js index c89b9a5d..37958ef6 100644 --- a/common/content/liberator.js +++ b/common/content/liberator.js @@ -121,7 +121,7 @@ const liberator = (function () //{{{ let class = dir.map(function (dir) "html|html > xul|scrollbar[orient=" + dir + "]"); if (class.length) - styles.addSheet(true, "scrollbar", "*", class.join(", ") + " { visibility: collapse !important; }"); + styles.addSheet(true, "scrollbar", "*", class.join(", ") + " { visibility: collapse !important; }", true); else styles.removeSheet(true, "scrollbar"); options.safeSetPref("layout.scrollbar.side", opts.indexOf("l") >= 0 ? 3 : 2); @@ -264,7 +264,7 @@ const liberator = (function () //{{{ for (let [,dialog] in Iterator(dialogs)) { - if (arg == dialog[0]) + if (util.compareIgnoreCase(arg, dialog[0]) == 0) { dialog[2](); return; @@ -281,7 +281,11 @@ const liberator = (function () //{{{ { argCount: "1", bang: true, - completer: function (context, args) completion.dialog(context) + completer: function (context) + { + context.ignoreCase = true; + return completion.dialog(context); + } }); commands.add(["em[enu]"], @@ -601,7 +605,7 @@ const liberator = (function () //{{{ forceNewTab: false, - // ###VERSION### and ###DATE### are replaced by the Makefile + // these VERSION and DATE tokens are replaced by the Makefile version: "###VERSION### (created: ###DATE###)", // NOTE: services.get("profile").selectedProfile.name is not rightness. @@ -842,7 +846,7 @@ const liberator = (function () //{{{ // Number else if (matches = string.match(/^(\d+)$/)) { - return parseInt(match[1], 10); + return parseInt(matches[1], 10); } let reference = this.variableReference(string); @@ -1422,7 +1426,6 @@ window.liberator = liberator; // FIXME: Ugly, etc. window.addEventListener("liberatorHelpLink", function (event) { let elem = event.target; - liberator.dump(String(elem)); if (/^(option|mapping|command)$/.test(elem.className)) var tag = elem.textContent.replace(/\s.*/, ""); if (elem.className == "command") diff --git a/common/content/options.js b/common/content/options.js index 54b3bb8d..1442ce23 100644 --- a/common/content/options.js +++ b/common/content/options.js @@ -80,7 +80,7 @@ Option.prototype = { parseValues: function (value) { if (this.type == "stringlist") - return value.split(","); + return (value === "") ? [] : value.split(","); if (this.type == "charlist") return Array.slice(value); return value; @@ -203,9 +203,9 @@ Option.prototype = { break; case "number": - let value = parseInt(values); // deduce radix + let value = Number(values); // deduce radix - if (isNaN(value)) + if (isNaN(value) || value != parseInt(value)) return "E521: Number required"; switch (operator) @@ -335,7 +335,11 @@ function Options() //{{{ { case "string": if (type == Ci.nsIPrefBranch.PREF_INVALID || type == Ci.nsIPrefBranch.PREF_STRING) - services.get("pref").setCharPref(name, value); + { + let supportString = Cc["@mozilla.org/supports-string;1"].createInstance(Ci.nsISupportsString); + supportString.data = value; + services.get("pref").setComplexValue(name, Ci.nsISupportsString, supportString); + } else if (type == Ci.nsIPrefBranch.PREF_INT) liberator.echoerr("E521: Number required after =: " + name + "=" + value); else diff --git a/common/content/style.js b/common/content/style.js index 50a38f5c..d994dbd6 100644 --- a/common/content/style.js +++ b/common/content/style.js @@ -182,7 +182,7 @@ function Highlights(name, store, serial) { css = style.selector + " { " + css + " }"; - let error = styles.addSheet(true, style.selector, style.filter, css); + let error = styles.addSheet(true, style.selector, style.filter, css, true); if (error) return error; } @@ -235,6 +235,7 @@ function Highlights(name, store, serial) this.set(class); } }; + this.reload(); } /** @@ -257,7 +258,7 @@ function Styles(name, store, serial) const namespace = '@namespace html "' + XHTML + '";\n' + '@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";\n' + '@namespace liberator "' + NS.uri + '";\n'; - const Sheet = new Struct("name", "sites", "css", "ref"); + const Sheet = new Struct("name", "sites", "css", "ref", "agent"); let cssUri = function (css) "chrome-data:text/css," + window.encodeURI(css); @@ -285,7 +286,7 @@ function Styles(name, store, serial) * "*" is matched as a prefix. * @param {string} css The CSS to be applied. */ - this.addSheet = function (system, name, filter, css) + this.addSheet = function (system, name, filter, css, agent) { let sheets = system ? systemSheets : userSheets; let names = system ? systemNames : userNames; @@ -294,7 +295,7 @@ function Styles(name, store, serial) let sheet = sheets.filter(function (s) s.sites.join(",") == filter && s.css == css)[0]; if (!sheet) - sheet = new Sheet(name, filter.split(",").filter(util.identity), css, null); + sheet = new Sheet(name, filter.split(",").filter(util.identity), css, null, agent); if (sheet.ref == null) // Not registered yet { @@ -302,7 +303,8 @@ function Styles(name, store, serial) try { this.registerSheet(cssUri(wrapCSS(sheet))); - this.registerAgentSheet(cssUri(wrapCSS(sheet))) + if (sheet.agent) + this.registerAgentSheet(cssUri(wrapCSS(sheet))) } catch (e) { @@ -410,7 +412,7 @@ function Styles(name, store, serial) { let sites = sheet.sites.filter(function (f) f != filter); if (sites.length) - this.addSheet(system, name, sites.join(","), css); + this.addSheet(system, name, sites.join(","), css, sheet.agent); } } return matches.length; @@ -514,8 +516,11 @@ const styles = storage.newObject("styles", Styles, false); */ const highlight = storage.newObject("highlight", Highlights, false); -highlight.CSS = Highlights.prototype.CSS; -highlight.reload(); +if (highlight.CSS != Highlights.prototype.CSS) +{ + highlight.CSS = Highlights.prototype.CSS; + highlight.reload(); +} liberator.triggerObserver("load_styles", "styles"); liberator.triggerObserver("load_highlight", "highlight"); diff --git a/common/content/template.js b/common/content/template.js index 981f72f8..b4f14bfd 100644 --- a/common/content/template.js +++ b/common/content/template.js @@ -133,9 +133,9 @@ const template = { highlight: function highlight(arg, processStrings, clip) { // some objects like window.JSON or getBrowsers()._browsers need the try/catch - let str = clip ? util.clip(String(arg), clip) : String(arg); try { + let str = clip ? util.clip(String(arg), clip) : String(arg); switch (arg == null ? "undefined" : typeof arg) { case "number": diff --git a/common/content/ui.js b/common/content/ui.js index eb1d003e..efdfeddb 100644 --- a/common/content/ui.js +++ b/common/content/ui.js @@ -529,7 +529,7 @@ function CommandLine() //{{{ autocompleteTimer.tell(false); }); - liberator.registerCallback("cancel", modes.PROMPT, closePrompt); + liberator.registerCallback("cancel", modes.PROMPT, cancelPrompt); liberator.registerCallback("submit", modes.PROMPT, closePrompt); liberator.registerCallback("change", modes.PROMPT, function (str) { if (input.complete) @@ -542,6 +542,14 @@ function CommandLine() //{{{ context.fork("input", 0, commandline, input.complete); }); + function cancelPrompt(value) + { + let callback = input.cancel; + input = {}; + if (callback) + callback.call(commandline, value != null ? value : commandline.command); + } + function closePrompt(value) { let callback = input.submit; @@ -1008,10 +1016,9 @@ function CommandLine() //{{{ set silent(val) { silent = val; - if (silent) - storage.styles.addSheet(true, "silent-mode", "chrome://*", "#liberator-commandline > * { opacity: 0 }"); - else - storage.styles.removeSheet(true, "silent-mode"); + Array.forEach(document.getElementById("liberator-commandline").childNodes, function (node) { + node.style.opacity = silent ? "0" : ""; + }); }, runSilently: function (fn, self) @@ -1214,6 +1221,7 @@ function CommandLine() //{{{ submit: callback, change: extra.onChange, complete: extra.completer, + cancel: extra.onCancel, }; modes.push(modes.COMMAND_LINE, modes.PROMPT); @@ -1285,7 +1293,8 @@ function CommandLine() //{{{ } else if (event.type == "input") { - //this.resetCompletions(); -> already handled by "keypress" below (hopefully), so don't do it twice + //liberator.dump("input: " + command); + this.resetCompletions(); liberator.triggerCallback("change", currentExtendedMode, command); } else if (event.type == "keypress") @@ -1333,7 +1342,7 @@ function CommandLine() //{{{ else if (key == "") { // reset the tab completion - this.resetCompletions(); + //this.resetCompletions(); // and blur the command line if there is no text left if (command.length == 0) @@ -1344,7 +1353,7 @@ function CommandLine() //{{{ } else // any other key { - this.resetCompletions(); + //this.resetCompletions(); } return true; // allow this event to be handled by Firefox } @@ -1769,7 +1778,7 @@ function ItemList(id) //{{{ , divNodes); doc.body.replaceChild(div, doc.body.firstChild); - div.scrollIntoView(true); + //div.scrollIntoView(true); items.contextList.forEach(function init_eachContext(context) { delete context.cache.nodes; @@ -1952,7 +1961,7 @@ function ItemList(id) //{{{ if (index >= 0) { getCompletion(index).setAttribute("selected", "true"); - getCompletion(index).scrollIntoView(false); + //getCompletion(index).scrollIntoView(false); } //if (index == 0) diff --git a/common/content/util.js b/common/content/util.js index 95a73230..5409d0c9 100644 --- a/common/content/util.js +++ b/common/content/util.js @@ -519,25 +519,28 @@ const util = { //{{{ }, /** - * A generator that returns the values between start and end. - * If reverse is true then the values are returned in reverse order. + * A generator that returns the values between start and end, + * in step increments. * * @param {number} start The interval's start value. * @param {number} end The interval's end value. - * @param {boolean} reverse Reverse the order in which the values are produced. + * @param {boolean} step The value to step the range by. May be + * negative. @default 1 * @returns {Iterator(Object)} */ - range: function range(start, end, reverse) + range: function range(start, end, step) { - if (!reverse) + if (!step) + step = 1; + if (step > 0) { - while (start < end) - yield start++; + for (; start < end; start += step) + yield start; } else { while (start > end) - yield --start; + yield start += step; } }, @@ -669,6 +672,13 @@ const util = { //{{{ xmlToDom: function xmlToDom(node, doc, nodes) { XML.prettyPrinting = false; + if (node.length() != 1) + { + let domnode = doc.createDocumentFragment(); + for each (let child in node) + domnode.appendChild(arguments.callee(child, doc, nodes)); + return domnode; + } switch (node.nodeKind()) { case "text": diff --git a/muttator/content/config.js b/muttator/content/config.js index 259d019d..6b1979bb 100644 --- a/muttator/content/config.js +++ b/muttator/content/config.js @@ -103,7 +103,8 @@ const config = { //{{{ ], // they are sorted by relevance, not alphabetically - helpFiles: ["intro.html"],/* "tutorial.html", "starting.html", + helpFiles: ["intro.html", "version.html"], + /* "tutorial.html", "starting.html", "browsing.html", "buffer.html", "pattern.html", "options.html", "tabs.html", "hints.html", "map.html", "eval.html", "marks.html", "repeat.html", "autocommands.html", "print.html", "developer.html", diff --git a/muttator/content/mail.js b/muttator/content/mail.js index 61242230..1e523167 100644 --- a/muttator/content/mail.js +++ b/muttator/content/mail.js @@ -995,12 +995,13 @@ function Mail() //{{{ // TODO: find out why, and solve the problem try { - var msgs = folder.getMessages(msgWindow); + var msgs = folder.messages; } catch (e) { - liberator.dump("ERROR: " + folder.prettyName + " failed to getMessages\n"); - continue; + var msgs = folder.getMessages(msgWindow); // for older thunderbirds + liberator.dump("WARNING: " + folder.prettyName + " failed to getMessages, trying old API"); + //continue; } while (msgs.hasMoreElements()) diff --git a/muttator/contrib/vim/Makefile b/muttator/contrib/vim/Makefile new file mode 100644 index 00000000..b1156448 --- /dev/null +++ b/muttator/contrib/vim/Makefile @@ -0,0 +1,9 @@ +VIMBALL = muttator.vba + +vimball: mkvimball.txt syntax/muttator.vim ftdetect/muttator.vim + -echo '%MkVimball! ${VIMBALL} .' | vim -u NORC -N -e -s mkvimball.txt + +all: vimball + +clean: + rm -f ${VIMBALL} diff --git a/muttator/contrib/vim/ftdetect/muttator.vim b/muttator/contrib/vim/ftdetect/muttator.vim new file mode 100644 index 00000000..391e6b6a --- /dev/null +++ b/muttator/contrib/vim/ftdetect/muttator.vim @@ -0,0 +1,2 @@ +" TODO: what's the Muttator filename extension? +au BufNewFile,BufRead *muttatorrc*,*.muttator set filetype=muttator diff --git a/muttator/contrib/vim/mkvimball.txt b/muttator/contrib/vim/mkvimball.txt new file mode 100644 index 00000000..484bb52f --- /dev/null +++ b/muttator/contrib/vim/mkvimball.txt @@ -0,0 +1,2 @@ +syntax/muttator.vim +ftdetect/muttator.vim diff --git a/muttator/contrib/vim/syntax/muttator.vim b/muttator/contrib/vim/syntax/muttator.vim new file mode 100644 index 00000000..296fbd34 --- /dev/null +++ b/muttator/contrib/vim/syntax/muttator.vim @@ -0,0 +1,100 @@ +" Vim syntax file +" Language: Muttator configuration file +" Maintainer: Doug Kearns +" Last Change: 2009 Feb 19 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn include @javascriptTop syntax/javascript.vim +unlet b:current_syntax + +syn include @cssTop syntax/css.vim +unlet b:current_syntax + +syn match muttatorCommandStart "\%(^\s*:\=\)\@<=" nextgroup=muttatorCommand,muttatorAutoCmd + +syn keyword muttatorCommand ab[breviate] ab[clear] addo[ns] addr[essbook] bN[ext] bd[elete] beep bf[irst] bl[ast] bn[ext] + \ bp[revious] br[ewind] bun[load] bw[ipeout] ca[bbrev] cabc[lear] cd chd[ir] cm[ap] cmapc[lear] cno[remap] colo[rscheme] + \ com[mand] comc[lear] con[tact] contacts copy[to] cu[nmap] cuna[bbrev] delc[ommand] delm[arks] delmac[ros] dels[tyle] + \ dia[log] do[autocmd] doautoa[ll] ec[ho] echoe[rr] echom[sg] em[enu] empty[trash] exe[cute] exu[sage] fini[sh] get[messages] + \ go[to] h[elp] ha[rdcopy] hi[ghlight] ia[bbrev] iabc[lear] im[ap] imapc[lear] ino[remap] iu[nmap] iuna[bbrev] javas[cript] js + \ let loadplugins lpl m[ail] ma[rk] macros map mapc[lear] marks mes[sages] mkm[uttatorrc] mm[ap] mmapc[lear] mu[nmap] + \ mno[remap] move[to] no[remap] norm[al] optionu[sage] pa[geinfo] pagest[yle] pc[lose] pl[ay] pref[erences] prefs pw[d] q[uit] + \ re[load] res[tart] run runt[ime] sav[eas] scrip[tnames] se[t] setg[lobal] setl[ocal] so[urce] st[op] sty[le] tN[ext] t[open] + \ tab tabN[ext] tabc[lose] tabfir[st] tabl[ast] tabn[ext] tabp[revious] tabr[ewind] time tn[ext] tp[revious] una[bbreviate] + \ unl[et] unm[ap] ve[rsion] vie[wsource] viu[sage] w[rite] zo[om] + \ contained + +syn match muttatorCommand "!" contained + +syn keyword muttatorAutoCmd au[tocmd] contained nextgroup=muttatorAutoEventList skipwhite + +syn keyword muttatorAutoEvent BookmarkAdd DOMLoad LocationChange PageLoadPre PageLoad ShellCmdPost muttatorEnter + \ muttatorLeavePre muttatorLeave + \ contained + +syn match muttatorAutoEventList "\(\a\+,\)*\a\+" contained contains=muttatorAutoEvent + +syn region muttatorSet matchgroup=muttatorCommand start="\%(^\s*:\=\)\@<=\<\%(setl\%[ocal]\|setg\%[lobal]\|set\=\)\=\>" + \ end="$" keepend oneline contains=muttatorOption,muttatorString + +syn keyword muttatorOption archivefolder cdpath cd complete cpt editor eventignore ei extendedhinttags eht followhints fh + \ guioptions go helpfile hf hintmatching hm hinttags ht hinttimeout hto history hi laststatus ls layout messages msgs + \ nextpattern pageinfo pa previouspattern runtimepath rtp scroll scr shell sh shellcmdflag shcf showstatuslinks ssli + \ showtabline stal suggestengines urlseparator verbose vbs wildcase wic wildignore wig wildmode wim wildoptions wop + \ wordseparators wsp + \ contained nextgroup=muttatorSetMod + +" toggle options +syn match muttatorOption "\<\%(no\|inv\)\=\%(autoexternal\|errorbells\|eb\|exrc\|ex\|focuscontent\|fc\|fullscreen\|fs\)\>!\=" + \ contained nextgroup=muttatorSetMod +syn match muttatorOption "\<\%(no\|inv\)\=\%(insertmode\|im\|loadplugins\|lpl\|more\|showmode\|smd\|visualbell\|vb\)\>!\=" + \ contained nextgroup=muttatorSetMod +syn match muttatorOption "\<\%(no\|inv\)\=\%(usermode\|um\)\>!\=" + \ contained nextgroup=muttatorSetMod + +syn match muttatorSetMod "\%(\<[a-z_]\+\)\@<=&" contained + +syn region muttatorJavaScript start="\%(^\s*\%(javascript\|js\)\s\+\)\@<=" end="$" contains=@javascriptTop keepend oneline +syn region muttatorJavaScript matchgroup=muttatorJavascriptDelimiter + \ start="\%(^\s*\%(javascript\|js\)\s\+\)\@<=<<\s*\z(\h\w*\)"hs=s+2 end="^\z1$" contains=@javascriptTop fold + +let s:cssRegionStart = '\%(^\s*sty\%[le]!\=\s\+\%(-\%(n\|name\)\%(\s\+\|=\)\S\+\s\+\)\=[^-]\S\+\s\+\)\@<=' +execute 'syn region muttatorCss start="' . s:cssRegionStart . '" end="$" contains=@cssTop keepend oneline' +execute 'syn region muttatorCss matchgroup=muttatorCssDelimiter' + \ 'start="' . s:cssRegionStart . '<<\s*\z(\h\w*\)"hs=s+2 end="^\z1$" contains=@cssTop fold' + +syn match muttatorNotation "<[0-9A-Za-z-]\+>" + +syn match muttatorComment +".*$+ contains=muttatorTodo,@Spell +syn keyword muttatorTodo FIXME NOTE TODO XXX contained + +syn region muttatorString start="\z(["']\)" end="\z1" skip="\\\\\|\\\z1" oneline + +syn match muttatorLineComment +^\s*".*$+ contains=muttatorTodo,@Spell + +" NOTE: match vim.vim highlighting group names +hi def link muttatorAutoCmd muttatorCommand +hi def link muttatorAutoEvent Type +hi def link muttatorCommand Statement +hi def link muttatorComment Comment +hi def link muttatorJavascriptDelimiter Delimiter +hi def link muttatorCssDelimiter Delimiter +hi def link muttatorNotation Special +hi def link muttatorLineComment Comment +hi def link muttatorOption PreProc +hi def link muttatorSetMod muttatorOption +hi def link muttatorString String +hi def link muttatorTodo Todo + +let b:current_syntax = "muttator" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: tw=130 et ts=4 sw=4: diff --git a/muttator/install.rdf b/muttator/install.rdf index e02650d2..3785bda0 100644 --- a/muttator/install.rdf +++ b/muttator/install.rdf @@ -1,28 +1,28 @@ - - - - - - muttator@mozdev.org - Muttator - ###VERSION### - Make Thunderbird behave like Vim - Martin Stubenschrott - http://vimperator.org/ - chrome://muttator/skin/icon.png - - - content/muttator/ - - - - - - {3550f703-e582-4d05-9a08-453d09bdfdc6} - 3.0a1pre - 3.0b2pre - - - - - + + + + + + muttator@mozdev.org + Muttator + ###VERSION### + Make Thunderbird behave like Vim + Martin Stubenschrott + http://vimperator.org/ + chrome://muttator/skin/icon.png + + + content/muttator/ + + + + + + {3550f703-e582-4d05-9a08-453d09bdfdc6} + 3.0b2pre + 3.0b2 + + + + + diff --git a/muttator/locale/en-US/Makefile b/muttator/locale/en-US/Makefile deleted file mode 120000 index 85510a12..00000000 --- a/muttator/locale/en-US/Makefile +++ /dev/null @@ -1 +0,0 @@ -../../../common/Makefile.doc \ No newline at end of file diff --git a/muttator/locale/en-US/Makefile b/muttator/locale/en-US/Makefile new file mode 100644 index 00000000..627ca99b --- /dev/null +++ b/muttator/locale/en-US/Makefile @@ -0,0 +1,2 @@ +BASE = ../../../common +include $(BASE)/Makefile.doc diff --git a/vimperator/AUTHORS b/vimperator/AUTHORS index 8d89467e..8d939af8 100644 --- a/vimperator/AUTHORS +++ b/vimperator/AUTHORS @@ -7,6 +7,10 @@ Developers: * Tim Hammerquist (penryu@gmail.com) * Konstantin Stepanov (milezv@yandex.ru) * Kris Maglione + * Ted Pavlic + * anekos + * teramako + * janus_wel Inactive/former developers: * Viktor Kojouharov (Виктор Кожухаров) @@ -33,3 +37,4 @@ Patches (in no special order): * Raimon Grau Cuscó (document relationship navigation - ]], [[) * Ryan Zheng (ctrl-x/a support) * Dan Boger (:set online support) + * Štěpán Němec (help copy-editing and favicon support) diff --git a/vimperator/Donors b/vimperator/Donors index ec93f6f7..638ede86 100644 --- a/vimperator/Donors +++ b/vimperator/Donors @@ -1,7 +1,16 @@ -Contiuous donations: +Continuous donations: * Daniel Bainton (web hosting) 2009: +* Convolution +* Brian Hall +* Daniel Hahler +* Per-Henrik Persson +* David C Foor +* Oliver Schaefer +* Paul Moss +* Yongji Zhang +* Brian Peiris * Peleg Michaeli ("Every hand revealed" from my amazon.de wishlist) * InspireFocus * Michael Fremont diff --git a/vimperator/Makefile b/vimperator/Makefile index fac3417f..639ea591 100644 --- a/vimperator/Makefile +++ b/vimperator/Makefile @@ -1,6 +1,6 @@ #### configuration -VERSION = 2.0pre +VERSION = 2.0b3pre NAME = vimperator include ../common/Makefile.common diff --git a/vimperator/NEWS b/vimperator/NEWS index 65fb3371..ccda9cde 100644 --- a/vimperator/NEWS +++ b/vimperator/NEWS @@ -12,7 +12,7 @@ * 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'. - * IMPORTANT: AlwaysHint mode with ;F mode changed the semantics slightly + * 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 not using the args parser explicitly. The old string value is now @@ -20,10 +20,10 @@ * IMPORTANT: 'verbose' is now used for message levels. Logging is controlled by the extensions.liberator.loglevel preference. * IMPORTANT: :viusage and :exusage now jump to the help index, use the - special versions for the old behavior + special versions for the old behavior. * IMPORTANT: renamed Startup and Quit autocmd events to VimperatorEnter and - VimperatorLeave respectively - * IMPORTANT: 'verbose' is now by default at 1, set to 0 to not show any status messages + VimperatorLeave respectively. + * IMPORTANT: 'verbose' is now by default at 1, set to 0 to not show any status messages. * IMPORTANT: $VIMPERATOR_HOME is no longer used. * [count] now goes to the [count]th next tab rather than the [count]th tab. @@ -58,7 +58,7 @@ * much improved completion support, including javascript, option, and search keyword * add / and / command-line mappings for selecting the previous and next history items - * remove 'hintstyle', 'hlsearchstyle' and 'visualbellstyle' - use + * remove 'hintstyle', 'hlsearchstyle', 't_vb' and 'visualbellstyle' - use :highlight {Hint,Search,Bell} * add :highlight * add :optionusage @@ -86,6 +86,7 @@ * :qa! and :q! quit forcefully, as in vim * stop macro playback on * :bmark now updates a bookmark, if possible. :bmark! adds a new one + * :dialog and :sidebar arguments are now case-insensitive * many bug fixes 2008-08-16: @@ -151,7 +152,7 @@ 2008-05-14: * version 1.0 - * THIS VERSION ONLY WORKS WITH FIREFOX 3.0 beta3 or newer + * IMPORTANT: THIS VERSION ONLY WORKS WITH FIREFOX 3.0 beta3 or newer * IMPORTANT: Major hints rewrite read up the new help for the f, F and ; commands for details removed the following hint options: 'hintchars' 'maxhints' @@ -210,7 +211,7 @@ 2007-12-21: * version 0.5.3 - * IMPORTANT! options are no longer automatically stored - use the + * IMPORTANT: options are no longer automatically stored - use the ~/.vimperatorrc file instead for persistent options * :tabnext and :tabprevious now accept an argument * the count to gT now specifies a relative tab motion like Vim @@ -379,7 +380,7 @@ * added 'n' and 'N' to repeat a search * many small bug fixes -17/04/2007: +2007-04-17: * version 0.3 * added Ctrl-v support to pass one key to firefox (patch by Muthu Kannan) * also 'I' will go to 'ignorekeys' mode until esc is pressed, presenting a workaround @@ -392,6 +393,6 @@ * ability to use shift and ctrl with special keys like F1 in mappings * small documentation and other fixes -11/04/2007: +2007-04-11: * version 0.2 * first public release diff --git a/vimperator/TODO b/vimperator/TODO index 7ee8644c..6abd5099 100644 --- a/vimperator/TODO +++ b/vimperator/TODO @@ -18,6 +18,10 @@ BUGS: - :sidebar improvements (:sidebar! Downloads while downloads is open should refocus the sidebar) - ;s saves the page rather than the image - http://cgiirc.blitzed.org?chan=%23debug is unusable after login in +- "g<" fails without a trailing escape because both "g<" and "g" + are mapped. Vimp should recognize "" as an atom that should not + be matched literally. In fact, typing "g" out literally is + equivalent to typing "g" and then . (recent CVS regressions): - :set noflashblock seems broken (= :set fb? afterwards says "fb"), let's see if that's a @@ -29,10 +33,16 @@ BUGS: => it often overwrites the open command line while editing etc. - and autocmd 'keywords' are not available when adding a bookmark - they're being set after the observer triggers the autocmd event. -- MOW is broken for multiple commands when open E.g. :ls | ls +- MOW rendering is broken for multiple commands when open E.g. :ls | ls - completion height is broken, try :a...., when it wraps it's totally off. and even if it is not totally off, i had it jump by one pixel when wrapping around. If that's unfixable, i propose reverting the new completion height stuff. +- Windows paths have escaped backslashes in messages - presumably due to + String#quote change. +- :messages is _very_ slow for message history of several thousand lines -> + Unresponsive Script: util.js:79 (sometimes xmlToDom() and elsewhere) +- :hardcopy! seems to be broken for me +- MOW hinting is broken, perhaps this should be properly disabled for 2.0 FEATURES: 9 finish :help TODOs @@ -69,7 +79,7 @@ FEATURES: google to another page and click 10 links there, [d would take me back to the google page opera's fast forward does something like this 7 make an option to disable session saving by default when you close Firefox -7 The output of the pageinfo-command sould contain the security-information of ssl-encrypted sites +7 The output of the pageinfo-command should contain the security-information of ssl-encrypted sites 7 Add :every command 6 support private mode (and :set [no]private): http://ehsanakhgari.org/blog/2008-11-08/prepare-your-add-private-browsing 6 add [count] support to :b* and :tab* commands where missing diff --git a/vimperator/content/bookmarks.js b/vimperator/content/bookmarks.js index bd888b2f..f099b36e 100644 --- a/vimperator/content/bookmarks.js +++ b/vimperator/content/bookmarks.js @@ -711,7 +711,7 @@ function History() //{{{ if (url) { let sh = window.getWebNavigation().sessionHistory; - for (let i in util.range(sh.index, 0, true)) + for (let i in util.range(sh.index, 0, -1)) { if (sh.getEntryAtIndex(i, false).URI.spec == url) { @@ -735,7 +735,7 @@ function History() //{{{ let sh = window.getWebNavigation().sessionHistory; context.anchored = false; - context.completions = [sh.getEntryAtIndex(i, false) for (i in util.range(sh.index, 0, true))]; + 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" }; }, count: true, @@ -1043,8 +1043,7 @@ function QuickMarks() //{{{ list: function list(filter) { - let marks = [key for ([key, val] in qmarks)]; - // This was a lot nicer without the lambda... + let marks = [k for ([k, v] in qmarks)]; let lowercaseMarks = marks.filter(function (x) /[a-z]/.test(x)).sort(); let uppercaseMarks = marks.filter(function (x) /[A-Z]/.test(x)).sort(); let numberMarks = marks.filter(function (x) /[0-9]/.test(x)).sort(); diff --git a/vimperator/content/config.js b/vimperator/content/config.js index 7d4dd586..1a37841a 100644 --- a/vimperator/content/config.js +++ b/vimperator/content/config.js @@ -117,7 +117,7 @@ const config = { //{{{ "pattern.html", "tabs.html", "hints.html", "map.html", "eval.html", "marks.html", "repeat.html", "autocommands.html", "print.html", "gui.html", "styling.html", "message.html", "developer.html", - "various.html", "index.html" + "various.html", "index.html", "version.html" ], scripts: [ @@ -372,9 +372,10 @@ const config = { //{{{ function (args) { let arg = args.literalArg; + function compare(a, b) util.compareIgnoreCase(a, b) == 0 // focus if the requested sidebar is already open - if (document.getElementById("sidebar-title").value == arg) + if (compare(document.getElementById("sidebar-title").value, arg)) { document.getElementById("sidebar-box").focus(); return; @@ -384,7 +385,7 @@ const config = { //{{{ for (let [,panel] in Iterator(menu.childNodes)) { - if (panel.label == arg) + if (compare(panel.label, arg)) { panel.doCommand(); return; @@ -395,7 +396,11 @@ const config = { //{{{ }, { argCount: "1", - completer: function (context) completion.sidebar(context), + completer: function (context) + { + context.ignoreCase = true; + return completion.sidebar(context); + }, literal: 0 }); diff --git a/vimperator/contrib/vim/Makefile b/vimperator/contrib/vim/Makefile new file mode 100644 index 00000000..e2f716f5 --- /dev/null +++ b/vimperator/contrib/vim/Makefile @@ -0,0 +1,9 @@ +VIMBALL = vimperator.vba + +vimball: mkvimball.txt syntax/vimperator.vim ftdetect/vimperator.vim + -echo '%MkVimball! ${VIMBALL} .' | vim -u NORC -N -e -s mkvimball.txt + +all: vimball + +clean: + rm -f ${VIMBALL} diff --git a/vimperator/contrib/vim/ftdetect/vimperator.vim b/vimperator/contrib/vim/ftdetect/vimperator.vim new file mode 100644 index 00000000..cbf9068e --- /dev/null +++ b/vimperator/contrib/vim/ftdetect/vimperator.vim @@ -0,0 +1 @@ +au BufNewFile,BufRead *vimperatorrc*,*.vimp set filetype=vimperator diff --git a/vimperator/contrib/vim/mkvimball.txt b/vimperator/contrib/vim/mkvimball.txt new file mode 100644 index 00000000..96d1629b --- /dev/null +++ b/vimperator/contrib/vim/mkvimball.txt @@ -0,0 +1,2 @@ +syntax/vimperator.vim +ftdetect/vimperator.vim diff --git a/vimperator/vimperator.vim b/vimperator/contrib/vim/syntax/vimperator.vim similarity index 61% rename from vimperator/vimperator.vim rename to vimperator/contrib/vim/syntax/vimperator.vim index 9a46884b..aebd6fc1 100644 --- a/vimperator/vimperator.vim +++ b/vimperator/contrib/vim/syntax/vimperator.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: VIMperator configuration file " Maintainer: Doug Kearns -" Last Change: 2008 Dec 31 +" Last Change: 2009 Feb 19 if exists("b:current_syntax") finish @@ -18,19 +18,19 @@ unlet b:current_syntax syn match vimperatorCommandStart "\%(^\s*:\=\)\@<=" nextgroup=vimperatorCommand,vimperatorAutoCmd -syn keyword vimperatorCommand ab[breviate] ab[clear] addo[ns] b[uffer] ba[ck] bd[elete] beep bf[irst] bl[ast] bma[rk] bmarks - \ bn[ext] bN[ext] bp[revious] br[ewind] buffers bun[load] bw[ipeout] ca[bbrev] cabc[lear] cd chd[ir] colo[rscheme] cuna[bbrev] - \ cm[ap] cmapc[lear] cno[remap] comc[lear] com[mand] cu[nmap] do[autocmd] doautoa[ll] delbm[arks] delc[ommand] delmac[ros] - \ delm[arks] delqm[arks] dels[tyle] dia[log] dl downl[oads] e[dit] ec[ho] echoe[rr] echom[sg] em[enu] exe[cute] exu[sage] - \ fini[sh] files fo[rward] fw h[elp] ha[rdcopy] hi[ghlight] hist[ory] hs ia[bbrev] iabc[lear] im[ap] imapc[lear] ino[remap] - \ iuna[bbrev] iu[nmap] javas[cript] ju[mps] js let loadplugins lpl ls macros ma[rk] map mapc[lear] marks mes[sages] +syn keyword vimperatorCommand ab[breviate] ab[clear] addo[ns] bN[ext] b[uffer] ba[ck] bd[elete] beep bf[irst] bl[ast] bma[rk] + \ bmarks bn[ext] bp[revious] br[ewind] buffers bun[load] bw[ipeout] ca[bbrev] cabc[lear] cd chd[ir] cm[ap] cmapc[lear] + \ cno[remap] colo[rscheme] com[mand] comc[lear] cu[nmap] cuna[bbrev] delbm[arks] delc[ommand] delm[arks] delmac[ros] + \ delqm[arks] dels[tyle] dia[log] dl do[autocmd] doautoa[ll] downl[oads] e[dit] ec[ho] echoe[rr] echom[sg] em[enu] exe[cute] + \ exu[sage] files fini[sh] fo[rward] fw h[elp] ha[rdcopy] hi[ghlight] hist[ory] hs ia[bbrev] iabc[lear] im[ap] imapc[lear] + \ ino[remap] iu[nmap] iuna[bbrev] javas[cript] js ju[mps] let loadplugins lpl ls ma[rk] macros map mapc[lear] marks mes[sages] \ mkv[imperatorrc] no[remap] noh[lsearch] norm[al] o[pen] optionu[sage] pa[geinfo] pagest[yle] pc[lose] pl[ay] pref[erences] - \ prefs pw[d] q[uit] qa[ll] qma[rk] qmarks quita[ll] re[draw] re[load] reloada[ll] res[tart] run runt[ime] sty[le] sav[eas] - \ sb[ar] sb[open] sbcl[ose] scrip[tnames] se[t] setg[lobal] setl[ocal] sideb[ar] so[urce] st[op] tN[ext] t[open] tab - \ tabde[tach] tabd[uplicate] tabN[ext] tabc[lose] tabe[dit] tabfir[st] tabl[ast] tabm[ove] tabn[ext] tabnew tabo[nly] tabopen + \ prefs pw[d] q[uit] qa[ll] qma[rk] qmarks quita[ll] re[draw] re[load] reloada[ll] res[tart] run runt[ime] sav[eas] sb[ar] + \ sb[open] sbcl[ose] scrip[tnames] se[t] setg[lobal] setl[ocal] sideb[ar] so[urce] st[op] sty[le] tN[ext] t[open] tab + \ tabN[ext] tabc[lose] tabd[uplicate] tabde[tach] tabe[dit] tabfir[st] tabl[ast] tabm[ove] tabn[ext] tabnew tabo[nly] tabopen \ tabp[revious] tabr[ewind] tabs time tn[ext] tp[revious] u[ndo] una[bbreviate] undoa[ll] unl[et] unm[ap] ve[rsion] - \ vie[wsource] viu[sage] w[rite] wc[lose] win[open] winc[lose] wine[dit] wo[pen] wqa[ll] wq xa[ll] zo[om] - \ contained + \ vie[wsource] viu[sage] w[rite] wc[lose] win[open] winc[lose] wine[dit] wo[pen] wq wqa[ll] xa[ll] zo[om] + \ contained syn match vimperatorCommand "!" contained @@ -45,11 +45,11 @@ syn match vimperatorAutoEventList "\(\a\+,\)*\a\+" contained contains=vimperator syn region vimperatorSet matchgroup=vimperatorCommand start="\%(^\s*:\=\)\@<=\<\%(setl\%[ocal]\|setg\%[lobal]\|set\=\)\=\>" \ end="$" keepend oneline contains=vimperatorOption,vimperatorString -syn keyword vimperatorOption activate act alfc albc cdpath cd complete cpt defsearch ds editor extendedhinttags eht eventignore ei - \ followhints fh guioptions go helpfile hf hintmatching hm hs hinttags ht hinttimeout hto history hi laststatus ls lbc lfc - \ messages msgs newtab nextpattern pageinfo pa popups pps previewheight pvh previouspattern runtimepath rtp scroll scr shell - \ sh shellcmdflag shcf showstatuslinks ssli showtabline stal suggestengines titlestring urlseparator verbose vbs t_vb wildcase - \ wic wildignore wig wildmode wim wildoptions wop wordseparators wsp +syn keyword vimperatorOption activate act cdpath cd complete cpt defsearch ds editor eventignore ei extendedhinttags eht + \ followhints fh guioptions go helpfile hf hintmatching hm hinttags ht hinttimeout hto history hi laststatus ls messages msgs + \ newtab nextpattern pageinfo pa popups pps previouspattern runtimepath rtp scroll scr shell sh shellcmdflag shcf + \ showstatuslinks ssli showtabline stal suggestengines titlestring urlseparator verbose vbs wildcase wic wildignore wig + \ wildmode wim wildoptions wop wordseparators wsp \ contained nextgroup=vimperatorSetMod " toggle options @@ -66,12 +66,12 @@ syn match vimperatorSetMod "\%(\<[a-z_]\+\)\@<=&" contained syn region vimperatorJavaScript start="\%(^\s*\%(javascript\|js\)\s\+\)\@<=" end="$" contains=@javascriptTop keepend oneline syn region vimperatorJavaScript matchgroup=vimperatorJavascriptDelimiter - \ start="\%(^\s*\%(javascript\|js\)\s\+\)\@<=<<\s*\z(\h\w*\)"hs=s+2 end="^\z1$" contains=@javascriptTop fold + \ start="\%(^\s*\%(javascript\|js\)\s\+\)\@<=<<\s*\z(\h\w*\)"hs=s+2 end="^\z1$" contains=@javascriptTop fold let s:cssRegionStart = '\%(^\s*sty\%[le]!\=\s\+\%(-\%(n\|name\)\%(\s\+\|=\)\S\+\s\+\)\=[^-]\S\+\s\+\)\@<=' execute 'syn region vimperatorCss start="' . s:cssRegionStart . '" end="$" contains=@cssTop keepend oneline' execute 'syn region vimperatorCss matchgroup=vimperatorCssDelimiter' - \ 'start="' . s:cssRegionStart . '<<\s*\z(\h\w*\)"hs=s+2 end="^\z1$" contains=@cssTop fold' + \ 'start="' . s:cssRegionStart . '<<\s*\z(\h\w*\)"hs=s+2 end="^\z1$" contains=@cssTop fold' syn match vimperatorNotation "<[0-9A-Za-z-]\+>" @@ -85,15 +85,15 @@ syn match vimperatorLineComment +^\s*".*$+ contains=vimperatorTodo,@Spell " NOTE: match vim.vim highlighting group names hi def link vimperatorAutoCmd vimperatorCommand hi def link vimperatorAutoEvent Type -hi def link vimperatorCommand Statement -hi def link vimperatorComment Comment -hi def link vimperatorJavascriptDelimiter Delimiter -hi def link vimperatorCssDelimiter Delimiter -hi def link vimperatorNotation Special -hi def link vimperatorLineComment Comment -hi def link vimperatorOption PreProc +hi def link vimperatorCommand Statement +hi def link vimperatorComment Comment +hi def link vimperatorJavascriptDelimiter Delimiter +hi def link vimperatorCssDelimiter Delimiter +hi def link vimperatorNotation Special +hi def link vimperatorLineComment Comment +hi def link vimperatorOption PreProc hi def link vimperatorSetMod vimperatorOption -hi def link vimperatorString String +hi def link vimperatorString String hi def link vimperatorTodo Todo let b:current_syntax = "vimperator" diff --git a/vimperator/locale/en-US/Makefile b/vimperator/locale/en-US/Makefile deleted file mode 120000 index 85510a12..00000000 --- a/vimperator/locale/en-US/Makefile +++ /dev/null @@ -1 +0,0 @@ -../../../common/Makefile.doc \ No newline at end of file diff --git a/vimperator/locale/en-US/Makefile b/vimperator/locale/en-US/Makefile new file mode 100644 index 00000000..627ca99b --- /dev/null +++ b/vimperator/locale/en-US/Makefile @@ -0,0 +1,2 @@ +BASE = ../../../common +include $(BASE)/Makefile.doc diff --git a/vimperator/locale/en-US/asciidoc.conf b/vimperator/locale/en-US/asciidoc.conf index ff6fda1e..4bcc4288 100644 --- a/vimperator/locale/en-US/asciidoc.conf +++ b/vimperator/locale/en-US/asciidoc.conf @@ -13,6 +13,7 @@ email=stubenschrott@gmx.net + {doctitle} @@ -27,7 +28,7 @@ HEADER=
[count] \[!\]=[!] -# [macros] +[macros] # section:Introduction[tag1,tag2] (?su)(?.+?)\|(?!\+)=section # help:helptext[href] @@ -55,6 +56,7 @@ HEADER=
&\#123;|} argument3=[|] [specialwords] -warningwords=WARNING: Warning: +warningwords=WARNING: Warning: IMPORTANT: Important: infowords=NOTE: Note: [warningwords] diff --git a/vimperator/locale/en-US/autocommands.txt b/vimperator/locale/en-US/autocommands.txt index ece39507..36104b56 100644 --- a/vimperator/locale/en-US/autocommands.txt +++ b/vimperator/locale/en-US/autocommands.txt @@ -6,8 +6,10 @@ Autocommands are a way to automatically execute code when certain events happen. |:au| |:autocmd| + -||:au[tocmd]|| Execute commands automatically on events. +||:au[tocmd]|| ________________________________________________________________________________ +Execute commands automatically on events. + [c]:au[tocmd][c] {event} {pat} {cmd} Add {cmd} to the list of commands Vimperator will execute on {event} for a URL matching {pat}: @@ -26,9 +28,9 @@ Available {events}: *DownloadPost* Triggered when a download has completed *Fullscreen* Triggered when the browser's fullscreen state changes *LocationChange* Triggered when changing tabs or when navigating to a new location -*PageLoadPre* Triggered after a page load is initiated. +*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 +*ShellCmdPost* Triggered after executing a shell command with [c]:![c]#{cmd} *VimperatorEnter* Triggered after Firefox starts *VimperatorLeavePre* Triggered before exiting Firefox, just before destroying each module *VimperatorLeave* Triggered before exiting Firefox @@ -43,7 +45,7 @@ The following keywords are available where relevant: `--------------`---------------------------------------------- ** The URL against which the event was selected. ** The page, bookmark or download title. -*<tab>* The index tab in which the event occurred. +*<tab>* The tab in which the event occurred. *<tags>* The tags applied to <url>. Only for *BookmarkAdd*. *<keyword>* The keywords applied to the bookmark. Only for *BookmarkAdd*. *<icon>* The icon associated with <url>. Only for *BookmarkAdd*. @@ -75,15 +77,15 @@ section:Examples[autocmd-examples] Enable _passthrough_ mode on all Google sites: - :autocmd LocationChange .* js modes.passAllKeys = /google\.com/.test(buffer.URL) +\{nbsp}[c]:autocmd LocationChange .* js modes.passAllKeys = /google\.com/.test(buffer.URL)[c] Enable _passthrough_ mode on *some* Google sites: - :autocmd LocationChange .* js modes.passAllKeys = /(www|mail)\.google\.com/.test(buffer.URL) +\{nbsp}[c]:autocmd LocationChange .* js modes.passAllKeys = /(www|mail)\.google\.com/.test(buffer.URL)[c] Set the filetype to mail when editing email at Gmail: - :autocmd LocationChange .* :set editor=gvim\ -f - :autocmd LocationChange mail\.google\.com :set editor="gvim -f -c 'set ft=mail'" +\{nbsp}[c]:autocmd LocationChange .* :set editor=gvim\ -f[c] + +\{nbsp}[c]:autocmd LocationChange mail\.google\.com :set editor="gvim -f -c 'set ft=mail'"[c] // vim: set filetype=asciidoc: diff --git a/vimperator/locale/en-US/browsing.txt b/vimperator/locale/en-US/browsing.txt index 57f8ce84..9b44fa8a 100644 --- a/vimperator/locale/en-US/browsing.txt +++ b/vimperator/locale/en-US/browsing.txt @@ -35,7 +35,7 @@ section:Opening{nbsp}web{nbsp}pages[opening] ________________________________________________________________________________ Open one or more URLs in the current tab. Multiple URLs can be separated with 'urlseparator' (default: ", " Note that the -space after the comma is required.") +space after the comma is required.) The first URL is opened in the current tab, and all other URLs are opened in new tabs. Each token is analyzed and in this order: @@ -71,7 +71,7 @@ ________________________________________________________________________________ ||t|| ________________________________________________________________________________ Just like [c]:open[c] but also uses a new tab for the first URL. When -used with [!], the 'tabopen' value of the 'activate' option is negated. +used with [!], the *tabopen* value of the 'activate' option is negated. ________________________________________________________________________________ @@ -86,9 +86,9 @@ ________________________________________________________________________________ |:tabd| |:tabduplicate| ||:[count]tabd[uplicate][!]|| + ________________________________________________________________________________ -Duplicates current tab [count] times. Uses 'tabopen' value of the 'activate' to -determine if last cloned tab should be activated. When used with [!], 'tabopen' -value is negated. +Duplicates current tab [count] times. Uses *tabopen* value of the 'activate' +option to determine if the last cloned tab should be activated. When used with +[!], *tabopen* value is negated. ________________________________________________________________________________ @@ -138,7 +138,7 @@ ________________________________________________________________________________ ||[count]<C-x>|| ________________________________________________________________________________ Decrements the last number in URL by 1, or by [count] if given. Negative -numbers are not supported, as this not generally useful, so the number cannot +numbers are not supported, as this is not generally useful, so the number cannot be decremented past 0. ________________________________________________________________________________ @@ -160,22 +160,22 @@ ________________________________________________________________________________ section:Navigating[navigating] |H| |<C-o>| |CTRL-O| |:ba| |:back| -||:[count]ba[ck] {url}|| + +||:[count]ba[ck] [url]|| + ||:ba[ck]!|| + ||CTRL-o|| ________________________________________________________________________________ -Go [count] pages back in the browser history. If {url} is specified go back to +Go [count] pages back in the browser history. If [url] is specified go back to the first matching URL. The special version [c]:back![c] goes to the beginning of the browser history. ________________________________________________________________________________ |L| |<C-i>| |CTRL-i| |:fo| |:fw| |:forward| -||:[count]fo[rward] {url}|| + +||:[count]fo[rward] [url]|| + ||:fo[rward]!|| + ||CTRL-i|| ________________________________________________________________________________ -Go [count] pages forward in the browser history. If {url} is specified go +Go [count] pages forward in the browser history. If [url] is specified go forward to the first matching URL. The special version [c]:forward![c] goes to the end of the browser history. ________________________________________________________________________________ @@ -311,7 +311,7 @@ ________________________________________________________________________________ ||:xa[ll]|| ________________________________________________________________________________ Save the session and quit. Quit Vimperator, no matter how many tabs/windows -are open. The session is stored. [c]:wq[c] is different as in Vim, as it +are open. The session is stored. [c]:wq[c] is different from Vim, as it closes the window instead of just one tab by popular demand. Complain on the mailing list, if you want to change that. ________________________________________________________________________________ diff --git a/vimperator/locale/en-US/buffer.txt b/vimperator/locale/en-US/buffer.txt index 86c3c259..91022f27 100644 --- a/vimperator/locale/en-US/buffer.txt +++ b/vimperator/locale/en-US/buffer.txt @@ -243,28 +243,28 @@ between 0 and 1, not as a percentage. |+| |zi| + ||[count]zi|| ________________________________________________________________________________ -Enlarge text zoom of current web page. Mnemonic: zoom in +Enlarge text zoom of current web page. Mnemonic: zoom in. ________________________________________________________________________________ |zm| + ||[count]zm|| ________________________________________________________________________________ -Enlarge text zoom of current web page by a larger amount. Mnemonic: zoom more +Enlarge text zoom of current web page by a larger amount. Mnemonic: zoom more. ________________________________________________________________________________ |-| |zo| + ||[count]zo|| ________________________________________________________________________________ -Reduce text zoom of current web page. Mnemonic: zoom out +Reduce text zoom of current web page. Mnemonic: zoom out. ________________________________________________________________________________ |zr| + ||[count]zr|| ________________________________________________________________________________ -Reduce text zoom of current web page by a larger amount. Mnemonic: zoom reduce +Reduce text zoom of current web page by a larger amount. Mnemonic: zoom reduce. ________________________________________________________________________________ @@ -279,28 +279,28 @@ ________________________________________________________________________________ |zI| + ||[count]zI|| ________________________________________________________________________________ -Enlarge full zoom of current web page. Mnemonic: zoom in +Enlarge full zoom of current web page. Mnemonic: zoom in. ________________________________________________________________________________ |zM| + ||[count]zM|| ________________________________________________________________________________ -Enlarge full zoom of current web page by a larger amount. Mnemonic: zoom more +Enlarge full zoom of current web page by a larger amount. Mnemonic: zoom more. ________________________________________________________________________________ |zO| + ||[count]zO|| ________________________________________________________________________________ -Reduce full zoom of current web page. Mnemonic: zoom out +Reduce full zoom of current web page. Mnemonic: zoom out. ________________________________________________________________________________ |zR| + ||[count]zR|| ________________________________________________________________________________ -Reduce full zoom of current web page by a larger amount. Mnemonic: zoom reduce +Reduce full zoom of current web page by a larger amount. Mnemonic: zoom reduce. ________________________________________________________________________________ diff --git a/vimperator/locale/en-US/cmdline.txt b/vimperator/locale/en-US/cmdline.txt index a0499e6e..9eabc590 100644 --- a/vimperator/locale/en-US/cmdline.txt +++ b/vimperator/locale/en-US/cmdline.txt @@ -8,7 +8,7 @@ Command-line mode is used to enter Ex commands (":") and text search patterns |:| + ||:|| ________________________________________________________________________________ -Start command-line mode. In command-line mode, you can perform extended +Start Command-line mode. In Command-line mode, you can perform extended commands, which may require arguments. ________________________________________________________________________________ @@ -18,14 +18,14 @@ section:Command-line{nbsp}editing[cmdline-editing] |c_<C-c>| + ||<C-c>|| ________________________________________________________________________________ -Quit command-line mode without executing. +Quit Command-line mode without executing. ________________________________________________________________________________ |c_<C-]>| + ||<C-]>|| ________________________________________________________________________________ -Expand a command-line abbreviation. +Expand a Command-line abbreviation. ________________________________________________________________________________ diff --git a/vimperator/locale/en-US/developer.txt b/vimperator/locale/en-US/developer.txt index 13757c3d..cf875d82 100644 --- a/vimperator/locale/en-US/developer.txt +++ b/vimperator/locale/en-US/developer.txt @@ -4,8 +4,8 @@ section:Writing{nbsp}documentation[writing-docs,documentation] For every new feature, writing documentation is _mandatory_ for the patch to be accepted. The docs are written in -http://www.methods.co.nz/asciidoc/index.html[asciidoc] version 8.x or -newer. The are placed in the _src/locale/en-US/_ directory and compiled with +http://www.methods.co.nz/asciidoc/index.html[asciidoc] version 8.2.x. +They are placed in the _src/locale/en-US/_ directory and compiled with _make doc_. Please refer to the http://www.methods.co.nz/asciidoc/userguide.html[asciidoc documentation] above for details. Usually you can just write text as is, and mostly it will be diff --git a/vimperator/locale/en-US/gui.txt b/vimperator/locale/en-US/gui.txt index 0b1f5102..4da826c5 100644 --- a/vimperator/locale/en-US/gui.txt +++ b/vimperator/locale/en-US/gui.txt @@ -3,7 +3,7 @@ HEADER |gui| + Although Vimperator offers the most frequently used Firefox functionality via -Ex and normal-mode commands there may be times when directly accessing the GUI +Ex and Normal mode commands there may be times when directly accessing the GUI is required. There are commands for accessing the menu system, standard dialogs and the sidebar. diff --git a/vimperator/locale/en-US/hints.txt b/vimperator/locale/en-US/hints.txt index 794044e2..ef3200bb 100644 --- a/vimperator/locale/en-US/hints.txt +++ b/vimperator/locale/en-US/hints.txt @@ -34,10 +34,11 @@ ________________________________________________________________________________ |;| + ||#;#{mode}{empty}{hint}|| ________________________________________________________________________________ -Start an extended hint mode. ExtendedHint mode is useful, since in this mode -you can yank link locations, open them in a new window or save images. If -you want to yank the location of hint [a]24[a], press [m];y[m] to start -this hint mode. Then press [a]24[a] to copy the hint location. +Start an extended hint mode. ExtendedHint mode is useful for performing +operations on hinted elements other than the default left mouse click. For +example, you can yank link locations, open them in a new window or save images. +If you want to yank the location of hint [a]24[a], press [m];y[m] to start this +hint mode. Then press [a]24[a] to copy the hint location. {mode} can be one of: + diff --git a/vimperator/locale/en-US/index.txt b/vimperator/locale/en-US/index.txt index 747e3f53..5a6a2fbb 100644 --- a/vimperator/locale/en-US/index.txt +++ b/vimperator/locale/en-US/index.txt @@ -6,270 +6,270 @@ This file contains a list of all available commands. section:Insert{nbsp}mode[insert-index] -||<C-i>|| Launch the external editor + -||<C-]>|| Expand an insert-mode abbreviation + +||[m]<C-i>[m]|| Launch the external editor + +||[m]<C-]>[m]|| Expand an Insert-mode abbreviation + section:Normal{nbsp}mode[normal-index] -||<C-^>|| Select the alternate tab or the [count]th tab + -||<C-a>|| Increment last number in URL + -||<C-b>|| Scroll up a full page + -||<C-c>|| Stop loading + -||<C-d>|| Scroll window downwards in the buffer + -||<C-f>|| Scroll down a full page + -||<C-g>|| Print the current file name + -||<C-i>|| Go to a newer position in the jump list + -||<C-l>|| Redraw the screen + -||<C-o>|| Go to an older position in the jump list + -||<C-u>|| Scroll window upwards in the buffer + -||<C-v>|| Pass through next key + -||<C-x>|| Decrement last number in URL + -||<C-z>|| Temporarily ignore all Vimperator key bindings + +||[m]<C-^>[m]|| Select the alternate tab or the [count]th tab + +||[m]<C-a>[m]|| Increment last number in URL + +||[m]<C-b>[m]|| Scroll up a full page + +||[m]<C-c>[m]|| Stop loading + +||[m]<C-d>[m]|| Scroll window downwards in the buffer + +||[m]<C-f>[m]|| Scroll down a full page + +||[m]<C-g>[m]|| Print the current file name + +||[m]<C-i>[m]|| Go to a newer position in the jump list + +||[m]<C-l>[m]|| Redraw the screen + +||[m]<C-o>[m]|| Go to an older position in the jump list + +||[m]<C-u>[m]|| Scroll window upwards in the buffer + +||[m]<C-v>[m]|| Pass through next key + +||[m]<C-x>[m]|| Decrement last number in URL + +||[m]<C-z>[m]|| Temporarily ignore all Vimperator key bindings + -||<Esc>|| Focus content + +||[m]<Esc>[m]|| Focus content + -||<F1>|| Open help window + +||[m]<F1>[m]|| Open help window + -||<S-Tab>|| Rewind keyboard focus + -||<Tab>|| Advance keyboard focus + +||[m]<S-Tab>[m]|| Rewind keyboard focus + +||[m]<Tab>[m]|| Advance keyboard focus + -||0|| Scroll to the absolute left of the document + -||$|| Scroll to the absolute right of the document + +||[m]0[m]|| Scroll to the absolute left of the document + +||[m]$[m]|| Scroll to the absolute right of the document + -||A|| Toggle bookmarked state of current URL + -||B|| Show buffer list + -||D|| Delete current buffer, focus tab to the left + -||F|| Start QuickHint mode, but open link in a new tab + -||G|| Go to the end of the document + -||H|| Go back in the browser history + -||L|| Go forward in the browser history + -||M|| Add new QuickMark for current URL + -||N|| Find previous + -||O|| Open one or more URLs, based on current location + -||P|| Open (put) a URL based on the current clipboard contents in a new buffer + -||R|| Reload while skipping the cache + -||T|| Open one or more URLs in a new tab, based on current location + -||Y|| Copy selected text or current word + +||[m]A[m]|| Toggle bookmarked state of current URL + +||[m]B[m]|| Show buffer list + +||[m]D[m]|| Delete current buffer, focus tab to the left + +||[m]F[m]|| Start QuickHint mode, but open link in a new tab + +||[m]G[m]|| Go to the end of the document + +||[m]H[m]|| Go back in the browser history + +||[m]L[m]|| Go forward in the browser history + +||[m]M[m]|| Add new QuickMark for current URL + +||[m]N[m]|| Find previous + +||[m]O[m]|| Open one or more URLs, based on current location + +||[m]P[m]|| Open (put) a URL based on the current clipboard contents in a new buffer + +||[m]R[m]|| Reload while skipping the cache + +||[m]T[m]|| Open one or more URLs in a new tab, based on current location + +||[m]Y[m]|| Copy selected text or current word + -||a|| Open a prompt to bookmark the current URL + -||b|| Open a prompt to switch buffers + -||d|| Delete current buffer + -||f|| Start QuickHint mode + -||h|| Scroll document to the left + -||i|| Start caret mode + -||j|| Scroll document down + -||k|| Scroll document up + -||l|| Scroll document to the right + -||m|| Set mark at the cursor position + -||n|| Find next + -||o|| Open one or more URLs + -||p|| Open (put) a URL based on the current clipboard contents in the current buffer + -||q|| Record a key sequence into a macro + -||r|| Reload current page + -||t|| Open one or more URLs in a new tab + -||u|| Undo closing of a tab + -||y|| Yank current location to the clipboard + +||[m]a[m]|| Open a prompt to bookmark the current URL + +||[m]b[m]|| Open a prompt to switch buffers + +||[m]d[m]|| Delete current buffer + +||[m]f[m]|| Start QuickHint mode + +||[m]h[m]|| Scroll document to the left + +||[m]i[m]|| Start Caret mode + +||[m]j[m]|| Scroll document down + +||[m]k[m]|| Scroll document up + +||[m]l[m]|| Scroll document to the right + +||[m]m[m]|| Set mark at the cursor position + +||[m]n[m]|| Find next + +||[m]o[m]|| Open one or more URLs + +||[m]p[m]|| Open (put) a URL based on the current clipboard contents in the current buffer + +||[m]q[m]|| Record a key sequence into a macro + +||[m]r[m]|| Reload current page + +||[m]t[m]|| Open one or more URLs in a new tab + +||[m]u[m]|| Undo closing of a tab + +||[m]y[m]|| Yank current location to the clipboard + -||;|| Start an extended hint mode + +||[m];[m]|| Start an extended hint mode + -||:|| Enter command-line mode + +||[m]:[m]|| Enter Command-line mode + -||~|| Open home directory + +||[m]~[m]|| Open home directory + -||/|| Search forward for a pattern + -||?|| Search backwards for a pattern + -||*|| Find word under cursor + -||#|| Find word under cursor backwards + +||[m]/[m]|| Search forward for a pattern + +||[m]?[m]|| Search backwards for a pattern + +||[m]*[m]|| Find word under cursor + +||[m]#[m]|| Find word under cursor backwards + -||N%|| Scroll to {count} percent of the document + +||[m]N%[m]|| Scroll to {count} percent of the document + -||'|| Jump to the mark in the current buffer + +||[m]'[m]|| Jump to the mark in the current buffer + -||@|| Play a macro + +||[m]@[m]|| Play a macro + -||.|| Repeat the last keyboard command + +||[m].[m]|| Repeat the last keyboard command + -||]f|| Focus next frame + -||[f|| Focus previous frame + -||]]|| Follow the link labeled \'next' or \'>' if it exists + -||[[|| Follow the link labeled \'prev', \'previous' or \'<' if it exists + +||[m]]f[m]|| Focus next frame + +||[m][f[m]|| Focus previous frame + +||[m]]] [m]|| Follow the link labeled \'next' or \'>' if it exists + +||[m][[ [m]|| Follow the link labeled \'prev', \'previous' or \'<' if it exists + -||g$|| Go to the last tab + -||g<|| Redisplay the last command output + -||g0|| Go to the first tab + -||g<C-g>|| Print file information + -||gB|| Repeat last :buffer[!] command in reverse direction + -||gF|| View source with an external editor + -||gH|| Open homepage in a new tab + -||gP|| Open (put) a URL based on the current clipboard contents in a new buffer + -||gT|| Go to previous tab + -||gU|| Go to the root of the website + -||gb|| Repeat last :buffer[!] command + -||gf|| View source + -||gg|| Go to the top of the document + -||gh|| Open homepage + -||gi|| Focus last used input field + -||gn|| Jump to a QuickMark in a new tab + -||go|| Jump to a QuickMark + -||gt|| Go to the next tab + -||gu|| Go to parent directory + +||[m]g$[m]|| Go to the last tab + +||[m]g<[m]|| Redisplay the last command output + +||[m]g0[m]|| Go to the first tab + +||[m]g<C-g>[m]|| Print file information + +||[m]gB[m]|| Repeat last [c]:buffer[!][c] command in reverse direction + +||[m]gF[m]|| View source with an external editor + +||[m]gH[m]|| Open homepage in a new tab + +||[m]gP[m]|| Open (put) a URL based on the current clipboard contents in a new buffer + +||[m]gT[m]|| Go to previous tab + +||[m]gU[m]|| Go to the root of the website + +||[m]gb[m]|| Repeat last [c]:buffer[!][c] command + +||[m]gf[m]|| View source + +||[m]gg[m]|| Go to the top of the document + +||[m]gh[m]|| Open homepage + +||[m]gi[m]|| Focus last used input field + +||[m]gn[m]|| Jump to a QuickMark in a new tab + +||[m]go[m]|| Jump to a QuickMark + +||[m]gt[m]|| Go to the next tab + +||[m]gu[m]|| Go to parent directory + -||ZQ|| Quit and don't save the session + -||ZZ|| Quit and save the session + -||zI|| Enlarge full zoom of current web page + -||zM|| Enlarge full zoom of current web page by a larger amount + -||zO|| Reduce full zoom of current web page + -||zR|| Reduce full zoom of current web page by a larger amount + -||zZ|| Set full zoom value of current web page + -||zi|| Enlarge text zoom of current web page + -||zm|| Enlarge text zoom of current web page by a larger amount + -||zo|| Reduce text zoom of current web page + -||zr|| Reduce text zoom of current web page by a larger amount + -||zz|| Set text zoom value of current web page + +||[m]ZQ[m]|| Quit and don't save the session + +||[m]ZZ[m]|| Quit and save the session + +||[m]zI[m]|| Enlarge full zoom of current web page + +||[m]zM[m]|| Enlarge full zoom of current web page by a larger amount + +||[m]zO[m]|| Reduce full zoom of current web page + +||[m]zR[m]|| Reduce full zoom of current web page by a larger amount + +||[m]zZ[m]|| Set full zoom value of current web page + +||[m]zi[m]|| Enlarge text zoom of current web page + +||[m]zm[m]|| Enlarge text zoom of current web page by a larger amount + +||[m]zo[m]|| Reduce text zoom of current web page + +||[m]zr[m]|| Reduce text zoom of current web page by a larger amount + +||[m]zz[m]|| Set text zoom value of current web page + section:Command-line{nbsp}editing[ex-edit-index] -||<C-c>|| Quit command-line mode without executing + +||[m]<C-c>[m]|| Quit Command-line mode without executing + -||<C-]>|| Expand a command-line abbreviation + +||[m]<C-]>[m]|| Expand a command-line abbreviation + -||<Up>|| Recall the previous command line from the history list which matches the current command line + -||<Down>|| Recall the next command line from the history list which matches the current command line + +||[m]<Up>[m]|| Recall the previous command line from the history list which matches the current command line + +||[m]<Down>[m]|| Recall the next command line from the history list which matches the current command line + -||<Tab>|| Complete the word in front of the cursor according to the behavior specified in 'wildmode' + -||<S-Tab>|| Complete the previous full match when 'wildmode' contains "full" + +||[m]<Tab>[m]|| Complete the word in front of the cursor according to the behavior specified in 'wildmode' + +||[m]<S-Tab>[m]|| Complete the previous full match when 'wildmode' contains "full" + section:Ex{nbsp}commands[ex-cmd-index,:index] -||:!|| Run a command + -||:abbreviate|| Abbreviate a key sequence + -||:abclear|| Remove all abbreviations + -||:addons|| Manage available Extensions and Themes + -||:autocmd|| Execute commands automatically on events + -||:back|| Go back in the browser history + -||:bdelete|| Delete current buffer + -||:beep|| Play a system beep + -||:bmark|| Add a bookmark + -||:bmarks|| List or open multiple bookmarks + -||:buffer|| Switch to a buffer + -||:buffers|| Show a list of all buffers + -||:cabbrev|| Abbreviate a key sequence in command-line mode + -||:cabclear|| Remove all abbreviations in command-line mode + -||:cd|| Change the current directory + -||:cmap|| Map a key sequence in command-line mode + -||:cmapclear|| Remove all mappings in command-line mode + -||:cnoremap|| Map a key sequence without remapping keys in command-line mode + -||:colorscheme|| Load a color scheme + -||:comclear|| Delete all user-defined commands + -||:command|| List and define commands + -||:cunabbrev|| Remove an abbreviation in command-line mode + -||:cunmap|| Remove a mapping in command-line mode + -||:delbmarks|| Delete a bookmark + -||:delcommand|| Delete the specified user-defined command + -||:delmacros|| Delete macros + -||:delmarks|| Delete the specified marks + -||:delqmarks|| Delete the specified QuickMarks + -||:delstyle|| Delete any matching styles + -||:dialog|| Open a undefined dialog + -||:doautoall|| Apply the autocommands matching the specified URL to all buffers + -||:doautocmd|| Apply the autocommands matching the specified URL to the current buffer + -||:downloads|| Show progress of current downloads + -||:echo|| Echo the expression + -||:echoerr|| Echo the expression as an error message + -||:echomsg|| Echo the expression as an informational message + -||:emenu|| Execute the specified menu item from the command line + -||:execute|| Execute the argument as an Ex command + -||:exusage|| List all Ex commands with a short description + -||:finish|| Stop sourcing a script file + -||:forward|| Go forward in the browser history + -||:hardcopy|| Print current document + -||:help|| Display help + -||:highlight|| Style Vimperator + -||:history|| Show recently visited URLs + -||:iabbrev|| Abbreviate a key sequence in insert mode + -||:iabclear|| Remove all abbreviations in insert mode + -||:imap|| Map a key sequence in insert mode + -||:imapclear|| Remove all mappings in insert mode + -||:inoremap|| Map a key sequence without remapping keys in insert mode + -||:iunabbrev|| Remove an abbreviation in insert mode + -||:iunmap|| Remove a mapping in insert mode + -||:javascript|| Run a JavaScript command through eval() + -||:jumps|| Show jumplist + -||:let|| Set or list a variable + -||:loadplugins|| Immediately load all unloaded plugins + -||:macros|| List all macros + -||:map|| Map a key sequence + -||:mapclear|| Remove all mappings + -||:mark|| Mark current location within the web page + -||:marks|| Show all location marks of current web page + -||:messages|| Display previously given messages + -||:mkvimperatorrc|| Write current key mappings and changed options to the config file + -||:nohlsearch|| Remove the search highlighting + -||:noremap|| Map a key sequence without remapping keys + -||:normal|| Execute Normal mode commands + -||:open|| Open one or more URLs in the current tab + -||:optionusage|| List all options with a short description + -||:pageinfo|| Show various page information + -||:pagestyle|| Select the author style sheet to apply + -||:play|| Replay a recorded macro + -||:preferences|| Show Firefox preferences dialog + -||:pwd|| Print the current directory name + -||:qmark|| Mark a URL with a letter for quick access + -||:qmarks|| Show all QuickMarks + -||:quit|| Quit current tab + -||:quitall|| Quit undefined + -||:redraw|| Redraw the screen + -||:reload|| Reload current page + -||:reloadall|| Reload all tab pages + -||:restart|| Force undefined to restart + -||:runtime|| Source the specified file from each directory in 'runtimepath' + -||:saveas|| Save current document to disk + -||:sbclose|| Close the sidebar window + -||:scriptnames|| List all sourced script names + -||:set|| Set an option + -||:setglobal|| Set global option + -||:setlocal|| Set local option + -||:sidebar|| Open the sidebar window + -||:style|| Style Vimperator and web sites + -||:source|| Read Ex commands from a file + -||:stop|| Stop loading + -||:tab|| Execute a command and tell it to output in a new tab + -||:tabdetach|| Detach current tab to its own window + -||:tabduplicate|| Duplicate current tab + -||:tablast|| Switch to the last tab + -||:tabmove|| Move the current tab after tab N + -||:tabnext|| Switch to the next or [count]th tab + -||:tabonly|| Close all other tabs + -||:tabopen|| Open one or more URLs in a new tab + -||:tabprevious|| Switch to the previous tab or go [count] tabs back + -||:tabrewind|| Switch to the first tab + -||:time|| Profile a piece of code or run a command multiple times + -||:unabbreviate|| Remove an abbreviation + -||:undo|| Undo closing of a tab + -||:undoall|| Undo closing of all closed tabs + -||:unlet|| Delete a variable + -||:unmap|| Remove a mapping + -||:version|| Show version information + -||:viewsource|| View source code of current document + -||:viusage|| List all mappings with a short description + -||:winclose|| Close window + -||:winopen|| Open one or more URLs in a new window + -||:wqall|| Save the session and quit + -||:zoom|| Set zoom value of current web page + +||[c]:![c]|| Run a command + +||[c]:abbreviate[c]|| Abbreviate a key sequence + +||[c]:abclear[c]|| Remove all abbreviations + +||[c]:addons[c]|| Manage available Extensions and Themes + +||[c]:autocmd[c]|| Execute commands automatically on events + +||[c]:back[c]|| Go back in the browser history + +||[c]:bdelete[c]|| Delete current buffer + +||[c]:beep[c]|| Play a system beep + +||[c]:bmark[c]|| Add a bookmark + +||[c]:bmarks[c]|| List or open multiple bookmarks + +||[c]:buffer[c]|| Switch to a buffer + +||[c]:buffers[c]|| Show a list of all buffers + +||[c]:cabbrev[c]|| Abbreviate a key sequence in Command-line mode + +||[c]:cabclear[c]|| Remove all abbreviations in Command-line mode + +||[c]:cd[c]|| Change the current directory + +||[c]:cmap[c]|| Map a key sequence in Command-line mode + +||[c]:cmapclear[c]|| Remove all mappings in Command-line mode + +||[c]:cnoremap[c]|| Map a key sequence without remapping keys in Command-line mode + +||[c]:colorscheme[c]|| Load a color scheme + +||[c]:comclear[c]|| Delete all user-defined commands + +||[c]:command[c]|| List and define commands + +||[c]:cunabbrev[c]|| Remove an abbreviation in Command-line mode + +||[c]:cunmap[c]|| Remove a mapping in Command-line mode + +||[c]:delbmarks[c]|| Delete a bookmark + +||[c]:delcommand[c]|| Delete the specified user-defined command + +||[c]:delmacros[c]|| Delete macros + +||[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]: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 + +||[c]:echo[c]|| Echo the expression + +||[c]:echoerr[c]|| Echo the expression as an error message + +||[c]:echomsg[c]|| Echo the expression as an informational message + +||[c]:emenu[c]|| Execute the specified menu item from the command line + +||[c]:execute[c]|| Execute the argument as an Ex command + +||[c]:exusage[c]|| List all Ex commands with a short description + +||[c]:finish[c]|| Stop sourcing a script file + +||[c]:forward[c]|| Go forward in the browser history + +||[c]:hardcopy[c]|| Print current document + +||[c]:help[c]|| Display help + +||[c]:highlight[c]|| Style Vimperator + +||[c]:history[c]|| Show recently visited URLs + +||[c]:iabbrev[c]|| Abbreviate a key sequence in Insert mode + +||[c]:iabclear[c]|| Remove all abbreviations in Insert mode + +||[c]:imap[c]|| Map a key sequence in Insert mode + +||[c]:imapclear[c]|| Remove all mappings in Insert mode + +||[c]:inoremap[c]|| Map a key sequence without remapping keys in Insert mode + +||[c]:iunabbrev[c]|| Remove an abbreviation in Insert mode + +||[c]:iunmap[c]|| Remove a mapping in Insert mode + +||[c]:javascript[c]|| Run a JavaScript command through eval() + +||[c]:jumps[c]|| Show jumplist + +||[c]:let[c]|| Set or list a variable + +||[c]:loadplugins[c]|| Immediately load all unloaded plugins + +||[c]:macros[c]|| List all macros + +||[c]:map[c]|| Map a key sequence + +||[c]:mapclear[c]|| Remove all mappings + +||[c]:mark[c]|| Mark current location within the web page + +||[c]:marks[c]|| Show all location marks of current web page + +||[c]:messages[c]|| Display previously given messages + +||[c]:mkvimperatorrc[c]|| Write current key mappings and changed options to the config file + +||[c]:nohlsearch[c]|| Remove the search highlighting + +||[c]:noremap[c]|| Map a key sequence without remapping keys + +||[c]:normal[c]|| Execute Normal mode commands + +||[c]:open[c]|| Open one or more URLs in the current tab + +||[c]:optionusage[c]|| List all options with a short description + +||[c]:pageinfo[c]|| Show various page information + +||[c]:pagestyle[c]|| Select the author style sheet to apply + +||[c]:play[c]|| Replay a recorded macro + +||[c]:preferences[c]|| Show Firefox preferences dialog + +||[c]:pwd[c]|| Print the current directory name + +||[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]: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]: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 + +||[c]:scriptnames[c]|| List all sourced script names + +||[c]:set[c]|| Set an option + +||[c]:setglobal[c]|| Set global option + +||[c]:setlocal[c]|| Set local option + +||[c]:sidebar[c]|| Open the sidebar window + +||[c]:style[c]|| Style Vimperator and web sites + +||[c]:source[c]|| Read Ex commands from a file + +||[c]:stop[c]|| Stop loading + +||[c]:tab[c]|| Execute a command and tell it to output in a new tab + +||[c]:tabdetach[c]|| Detach current tab to its own window + +||[c]:tabduplicate[c]|| Duplicate current tab + +||[c]:tablast[c]|| Switch to the last tab + +||[c]:tabmove[c]|| Move the current tab after tab N + +||[c]:tabnext[c]|| Switch to the next or [count]th tab + +||[c]:tabonly[c]|| Close all other tabs + +||[c]:tabopen[c]|| Open one or more URLs in a new tab + +||[c]:tabprevious[c]|| Switch to the previous tab or go [count] tabs back + +||[c]:tabrewind[c]|| Switch to the first tab + +||[c]:time[c]|| Profile a piece of code or run a command multiple times + +||[c]:unabbreviate[c]|| Remove an abbreviation + +||[c]:undo[c]|| Undo closing of a tab + +||[c]:undoall[c]|| Undo closing of all closed tabs + +||[c]:unlet[c]|| Delete a variable + +||[c]:unmap[c]|| Remove a mapping + +||[c]:version[c]|| Show version information + +||[c]:viewsource[c]|| View source code of current document + +||[c]:viusage[c]|| List all mappings with a short description + +||[c]:winclose[c]|| Close window + +||[c]:winopen[c]|| Open one or more URLs in a new window + +||[c]:wqall[c]|| Save the session and quit + +||[c]:zoom[c]|| Set zoom value of current web page + section:Options[option-index] ||'activate'|| Define when tabs are automatically activated + -||'cdpath'|| List of directories searched when executing :cd + -||'complete'|| Items which are completed at the :[tab]open prompt + +||'cdpath'|| List of directories searched when executing [c]:cd[c] + +||'complete'|| Items which are completed at the [c]:[tab]open prompt[c] + ||'defsearch'|| Set the default search engine + ||'editor'|| Set the external text editor + ||'errorbells'|| Ring the bell when an error message is displayed + ||'eventignore'|| List of autocommand event names which should be ignored + ||'exrc'|| Allow reading of an RC file in the current directory + ||'extendedhinttags'|| XPath string of hintable elements activated by [m];[m] + -||'focuscontent'|| Try to stay in normal mode after loading a web page + -||'followhints'|| Change the behaviour of [m]<Return>[m] in hint mode + +||'focuscontent'|| Try to stay in Normal mode after loading a web page + +||'followhints'|| Change the behaviour of [m]<Return>[m] in Hints mode + ||'fullscreen'|| Show the current window fullscreen + ||'guioptions'|| Show or hide certain GUI elements like the menu or toolbar + ||'helpfile'|| Name of the main help file + @@ -289,14 +289,14 @@ section:Options[option-index] ||'newtab'|| Define which commands should output in a new tab by default + ||'nextpattern'|| Patterns to use when guessing the \'next' page in a document sequence + ||'online'|| Set the \'work offline' option + -||'pageinfo'|| Desired info on :pa[geinfo] + +||'pageinfo'|| Desired info on [c]:pa[geinfo][c] + ||'popups'|| Where to show requested popup windows + ||'preload'|| Speed up first time history/bookmark completion + ||'previouspattern'|| Patterns to use when guessing the \'previous' page in a document sequence + ||'runtimepath'|| List of directories searched for runtime files + ||'scroll'|| Number of lines to scroll with [m]<C-u>[m] and [m]<C-d>[m] commands + -||'shell'|| Shell to use for executing :! and :run commands + -||'shellcmdflag'|| Flag passed to shell when executing :! and :run commands + +||'shell'|| Shell to use for executing [c]:![c] and [c]:run[c] commands + +||'shellcmdflag'|| Flag passed to shell when executing [c]:![c] and [c]:run[c] commands + ||'showmode'|| Show the current mode in the command line + ||'showstatuslinks'|| Show the destination of the link under the cursor in the status bar + ||'showtabline'|| Control when to show the tab bar of opened web pages + diff --git a/vimperator/locale/en-US/insert.txt b/vimperator/locale/en-US/insert.txt index 67ff3d8c..c49d440e 100644 --- a/vimperator/locale/en-US/insert.txt +++ b/vimperator/locale/en-US/insert.txt @@ -4,12 +4,12 @@ HEADER Insert mode is used to enter text in text boxes and text areas. When 'insertmode' is set, focusing on a text area immediately switches to -insert mode. +Insert mode. |i| + ||i|| ________________________________________________________________________________ -Starts insert mode in text areas when 'insertmode' is not set. +Starts Insert mode in text areas when 'insertmode' is not set. ________________________________________________________________________________ @@ -24,7 +24,7 @@ ________________________________________________________________________________ |i_<C-]>| + ||<C-]>|| ________________________________________________________________________________ -Expand an insert-mode abbreviation. +Expand an Insert-mode abbreviation. ________________________________________________________________________________ // vim: set filetype=asciidoc: diff --git a/vimperator/locale/en-US/intro.txt b/vimperator/locale/en-US/intro.txt index 7c666295..98c9a70d 100644 --- a/vimperator/locale/en-US/intro.txt +++ b/vimperator/locale/en-US/intro.txt @@ -98,7 +98,7 @@ section:Features[features] * QuickMarks support (quickly go to previously marked web pages with [m]go[m][a]\\{a-zA-Z0-9\\}[a]) * [c]:map[c] and [c]:command[c] support (and feedkeys() for script writers) * [c]:time[c] support for profiling -* Move the text cursor and select text with Vim keys and a visual mode +* Move the text cursor and select text with Vim keys and a Visual mode * External editor support * Macros to replay key strokes * AutoCommands to execute action on certain events diff --git a/vimperator/locale/en-US/map.txt b/vimperator/locale/en-US/map.txt index 5dcd49ae..4e9af03a 100644 --- a/vimperator/locale/en-US/map.txt +++ b/vimperator/locale/en-US/map.txt @@ -12,7 +12,7 @@ which are translated to a string of characters. Example: will echo the current date to the command line when [m]<F2>[m] is pressed. -There are separate key mapping tables for each of the Normal, Insert, +There are separate key mapping tables for each of the Normal, Insert, and Command-line modes. |:map-special-chars| + @@ -29,7 +29,7 @@ ________________________________________________________________________________ ||<CR>|| ________________________________________________________________________________ Expand to a line terminator in a key mapping. An Ex command in the {rhs} of a -mapping requires a a line terminator after it so that it is executed when the +mapping requires a line terminator after it so that it is executed when the mapping is expanded. [m]<CR>[m] should be used for this purpose. ________________________________________________________________________________ @@ -57,7 +57,7 @@ ________________________________________________________________________________ Map the key sequence {lhs} to {rhs}. The {rhs} is remapped, allowing for nested and recursive mappings. -Warning: Mappings are NOT saved during sessions, make sure you put them in your +Warning: Mappings are NOT saved between sessions, make sure you put them in your vimperatorrc file! ________________________________________________________________________________ @@ -70,7 +70,7 @@ ________________________________________________________________________________ Map the key sequence {lhs} to {rhs} (in Command-line mode). The {rhs} is remapped, allowing for nested and recursive mappings. -Warning: Mappings are NOT saved during sessions, make sure you put them in your +Warning: Mappings are NOT saved between sessions, make sure you put them in your vimperatorrc file! ________________________________________________________________________________ @@ -80,10 +80,10 @@ ________________________________________________________________________________ ||:imap {lhs}|| + ||:imap|| ________________________________________________________________________________ -Map the key sequence {lhs} to {rhs} (in insert mode). The {rhs} is remapped, +Map the key sequence {lhs} to {rhs} (in Insert mode). The {rhs} is remapped, allowing for nested and recursive mappings. -Warning: Mappings are NOT saved during sessions, make sure you put them in your +Warning: Mappings are NOT saved between sessions, make sure you put them in your vimperatorrc file! ________________________________________________________________________________ @@ -107,7 +107,7 @@ ________________________________________________________________________________ |:imapc| |:imapclear| + ||:imapc[lear]|| ________________________________________________________________________________ -Remove all mappings (in insert mode). All user-defined mappings which were set +Remove all mappings (in Insert mode). All user-defined mappings which were set by [c]:imap[c] or [c]:inoremap[c] are cleared. ________________________________________________________________________________ @@ -136,7 +136,7 @@ ________________________________________________________________________________ ||:ino[remap] {lhs}|| + ||:ino[remap]|| ________________________________________________________________________________ -Map the key sequence {lhs} to {rhs} (in insert mode). No remapping of the +Map the key sequence {lhs} to {rhs} (in Insert mode). No remapping of the {rhs} is performed. ________________________________________________________________________________ @@ -167,7 +167,7 @@ ________________________________________________________________________________ |:iunm| |:iunmap| + ||:iunm[ap] {lhs}|| ________________________________________________________________________________ -Remove the mapping of {lhs} (in insert mode). +Remove the mapping of {lhs} (in Insert mode). ________________________________________________________________________________ section:Abbreviations[abbreviations] @@ -178,8 +178,8 @@ words. An abbreviation can be one of three types that are defined by the types of constituent characters. Whitespace and quotes are non-keyword types, and all other characters are keyword types. -1. A "full-id" abbreviation consists entirely of characters that are not -keyword characters (e.g., "teh", "msoft"). +1. A "full-id" abbreviation consists entirely of keyword characters +(e.g., "teh", "msoft"). 2. An "end-id" abbreviation ends in keyword character but otherwise contains all non-keyword characters (e.g., "'i"). @@ -304,7 +304,7 @@ The valid values are: *-nargs=1* One argument is allowed *-nargs=** Zero or more arguments are allowed *-nargs=?* Zero or one argument is allowed -*-nargs=+* One or more argument is allowd +*-nargs=+* One or more arguments are allowed -------------------------------------------------------------------------------- |E180| |E181| |:command-complete| + @@ -365,7 +365,7 @@ available for expansion as <count> in the argument. |:command-bang| + Special cases -By default a user command does not have a special version. i.e. a version +By default a user command does not have a special version, i.e. a version executed with the ! modifier. Providing the -bang attribute will enable this and <bang> will be available in the argument. @@ -379,7 +379,7 @@ is then executed as an Ex command. The valid escape sequences are: `----------`-------------------------------------------------------------------- *<args>* The command arguments exactly as supplied -*<count>* Any supplied count E.g. 5 +*<count>* Any supplied count, e.g. 5 *<bang>* ! if the command was executed with the ! modifier *<lt>* A literal '<' character to allow for a literal copy of one of the escape sequences. E.g. <lt>args> will expand to a literal <args> -------------------------------------------------------------------------------- diff --git a/vimperator/locale/en-US/marks.txt b/vimperator/locale/en-US/marks.txt index 80b3a34c..837268be 100644 --- a/vimperator/locale/en-US/marks.txt +++ b/vimperator/locale/en-US/marks.txt @@ -6,7 +6,7 @@ Vimperator supports a number of different marks: - Bookmarks which allow you to mark a web page as one of your favorites for easy access. -- QuickMarks allow you to define up to 62 (a-zA-Z0-9) web sites (or group of +- QuickMarks allow you to define up to 62 (a-zA-Z0-9) web sites (or groups of web sites) which you visit most often. - Local marks to store the position within a web page. - History is also a special type of marks, as Vimperator automatically @@ -40,7 +40,7 @@ ____________________________________________________________________________ ||A|| ________________________________________________________________________________ Toggle bookmarked state of current URL. Add/remove a bookmark for the current -location, depending if it already is bookmarked or not. In contrast to the +location, depending on if it is already bookmarked or not. In contrast to the [c]:bmark[c] command, the bookmark is just _starred_ which means it is placed in the _Unfiled Bookmarks Folder_ instead of the bookmarks menu. ________________________________________________________________________________ @@ -143,17 +143,17 @@ section:QuickMarks[quickmarks] ||go[a]\\{a-zA-Z0-9\\}[a]|| ________________________________________________________________________________ Jump to a QuickMark in the current tab. Open any QuickMark in the current tab. -You can mark any URLs with [m]M{a-zA-Z0-9}[m]. These QuickMarks are persistent -across browser sessions. +You can mark any URLs with [m]M[m][a]\\{a-zA-Z0-9\\}[a]. These QuickMarks are +persistent across browser sessions. ________________________________________________________________________________ |gn| + ||gn[a]\\{a-zA-Z0-9\\}[a]|| ________________________________________________________________________________ -Jump to a QuickMark in a new tab. Works like [m]go{a-zA-Z0-9}[m] but opens the -QuickMark in a new tab. Whether the new tab is activated or not depends on the -'activate' option. + +Jump to a QuickMark in a new tab. Works like [m]go[m][a]\\{a-zA-Z0-9\\}[a] but +opens the QuickMark in a new tab. Whether the new tab is activated or not +depends on the 'activate' option. + Mnemonic: Go in a new tab. [m]gt[m] would make more sense but is already taken. ________________________________________________________________________________ @@ -163,8 +163,9 @@ ________________________________________________________________________________ ||M[a]\\{a-zA-Z0-9\\}[a]|| ________________________________________________________________________________ Add new QuickMark for current URL. You can go to a marked URL in the current -tab with [m]go{a-zA-Z0-9}[m] or in a new tab with [m]gn{a-zA-Z0-9}[m]. These -QuickMarks are persistent across browser sessions. +tab with [m]go[m][a]\\{a-zA-Z0-9\\}[a] or in a new tab with +[m]gn[m][a]\\{a-zA-Z0-9\\}[a]. These QuickMarks are persistent across browser +sessions. ________________________________________________________________________________ @@ -241,7 +242,7 @@ ________________________________________________________________________________ |:marks| + ||:marks [a][arg][a]|| ________________________________________________________________________________ -Show all location marks of current web page. If [a][arg][a] is specified then +Show all location marks of the current web page. If [a][arg][a] is specified then limit the list to those marks mentioned. ________________________________________________________________________________ diff --git a/vimperator/locale/en-US/options.txt b/vimperator/locale/en-US/options.txt index ddd38a3e..a16aa9f6 100644 --- a/vimperator/locale/en-US/options.txt +++ b/vimperator/locale/en-US/options.txt @@ -3,7 +3,7 @@ HEADER |options| + Vimperator has a number of internal variables and switches which can be set to -achieve special effects. These options come in 5 forms: +achieve special effects. These options come in 5 forms: `------------`----------------------------------------- *boolean* can only be on or off *number* has a numeric value @@ -22,7 +22,7 @@ ____ ||:se[t] all|| ____ -Show all options. Show all options. +Show all options. ____ |E518| |E519| @@ -54,12 +54,12 @@ ____ ____ For list options, toggle the specified values. -If the option is a list, the given values are toggled. Given - :set opt=foo,bar -Then, - :set opt!=foo,baz -results in - opt=bar,baz +If the option is a list, the given values are toggled. Given + +\{nbsp}[c]:set opt=foo,bar[c] + +then, + +\{nbsp}[c]:set opt!=foo,baz[c] + +results in + +\{nbsp}opt=bar,baz ____ |:set-default| @@ -84,21 +84,17 @@ ____ |:set+=| ||:se[t] {option}+={value} [...]|| + ____ -Add the {value} to a number option, or append the -{value} to a string option. When the option is a -comma separated list, a comma is added, unless the -value was empty. -If the option is a list of flags, superfluous flags -are removed. When adding a flag that was already -present the option value doesn't change. +Add the {value} to a number option, or append the {value} to a string option. +When the option is a comma separated list, a comma is added, unless the value +was empty. If the option is a list of flags, superfluous flags are removed. +When adding a flag that was already present the option value doesn't change. ____ |:set^=| ||:se[t] {option}^={value} [...]|| + ____ -Multiply the {value} to a number option, or prepend -the {value} to a string option. When the option is a -comma separated list, a comma is added, unless the +Multiply the {value} to a number option, or prepend the {value} to a string +option. When the option is a comma separated list, a comma is added, unless the value was empty. ____ @@ -106,15 +102,12 @@ ____ ||:se[t] {option}-={value} [...]|| + ____ -Subtract the {value} from a number option, or remove -the {value} from a string option, if it is there. -If the {value} is not found in a string option, there -is no error or warning. When the option is a comma -separated list, a comma is deleted, unless the option -becomes empty. -When the option is a list of flags, {value} must be -exactly as they appear in the option. Remove flags -one by one to avoid problems. +Subtract the {value} from a number option, or remove the {value} from a string +option, if it is there. If the {value} is not found in a string option, there +is no error or warning. When the option is a comma separated list, a comma is +deleted, unless the option becomes empty. When the option is a list of flags, +{value} must be exactly as they appear in the option. Remove flags one by one +to avoid problems. ____ |:setlocal| |:setl| @@ -132,7 +125,7 @@ ____ ||:setl[ocal] {option}-={value}|| + ____ -The same as [c]:set[c] command, but it operates for current tab options +The same as [c]:set[c] command, but operates on current tab options only. See [c]:set[c] for details. ____ @@ -151,7 +144,7 @@ ____ ||:setg[lobal] {option}-={value}|| + ____ -The same as [c]:set[c] command, but it operates on global options only. +The same as [c]:set[c] command, but operates on global options only. See [c]:set[c] for details. ____ @@ -224,9 +217,9 @@ ____ |\'cd'| |\'cdpath'| ||'cdpath' 'cd'|| string (default: equivalent to _$CDPATH_ or ",,") ____ -List of directories searched when executing the :cd command. This is only used -for relative paths, if an absolute path is specified then the option is -ignored. +List of directories searched when executing the [c]:cd[c] command. This is +only used for relative paths, if an absolute path is specified then the option +is ignored. ____ @@ -315,7 +308,7 @@ ____ ||'focuscontent' 'fc'|| boolean (default: off) ____ Focus the content after a page has loaded. This is useful, if you always -want to stay in normal mode when browsing between web sites. When "on", it +want to stay in Normal mode when browsing between web sites. When "on", it blurs any textbox which often is automatically focused on page load. If you usually like 'focuscontent' but sometimes you'd like to focus the first input field, you can use [m]gi[m] to jump to it. @@ -362,7 +355,7 @@ ____ ||'hintmatching' 'hm'|| string (default: contains) ____ -Change the hint matching algorithm during hint mode. Possible values: +Change the hint matching algorithm during Hints mode. Possible values: `--------------------`------------------------------------------------------------------------------------------------------------------------------- *contains* The typed characters are split on whitespace, and these character groups have to match anywhere inside the text of the link. @@ -378,13 +371,13 @@ ____ ||'followhints' 'fh'|| number (default: 0) ____ -Change the behaviour of [m]<Return>[m] in hint mode. Possible values: +Change the behaviour of [m]<Return>[m] in Hints mode. Possible values: `---------`---------------------------------------------------------- *0* Follow the first hint as soon as typed text uniquely identifies it. Follow the selected hint on [m]<Return>[m]. *1* Follow the selected hint on [m]<Return>[m]. -*2* Follow the selected hint on [m]<Return>[m] only it's been [m]<Tab>[m]-selected. +*2* Follow the selected hint on [m]<Return>[m] only if it's been [m]<Tab>[m]-selected. --------------------------------------------------------------------- ____ @@ -505,7 +498,8 @@ ____ Patterns to use when guessing the \'next' page in a document sequence. Each pattern, in order, is matched against all links in the page with the first -match being used. The patterns are case insensitive regular expressions. +match being used. The patterns are case insensitive regular expressions and the +link elements are those defined by 'hinttags'. ____ @@ -581,15 +575,6 @@ In order to also speed up first time access, it is cached at startup, if this op ____ -//|\'pvh'| |\'previewheight'| -//||'previewheight' 'pvh'|| number (default: 10) -//____ -//Default height for preview window -// -//Value must be between 1 and 50. If the value is too high, completions may cover the command line. Close the preview window with :pclose. -//Note: Option currently disabled -//____ - |\'previouspattern'| ||'previouspattern'|| stringlist ____ @@ -597,7 +582,8 @@ ____ Patterns to use when guessing the \'previous' page in a document sequence. Each pattern, in order, is matched against all links in the page with the first -match being used. The patterns are case insensitive regular expressions. +match being used. The patterns are case insensitive regular expressions and the +link elements are those defined by 'hinttags'. ____ @@ -635,14 +621,14 @@ ____ |\'shell'| |\'sh'| ||'shell' 'sh'|| string (default: _$SHELL_ or "sh", Win32: "cmd.exe") ____ -Shell to use for executing :! and :run commands. +Shell to use for executing [c]:![c] and [c]:run[c] commands. ____ |\'shellcmdflag'| |\'shcf'| ||'shellcmdflag' 'shcf'|| string (default: "-c", Win32: "/c") ____ -Flag passed to shell when executing :! and :run commands. +Flag passed to shell when executing [c]:![c] and [c]:run[c] commands. E.g. "bash -c gvim" ____ @@ -658,7 +644,7 @@ ____ |\'ssli'| |\'showstatuslinks'| ||'showstatuslinks' 'ssli'|| number (default: 1) ____ -Show the destination of the link under the cursor in the status bar +Show the destination of the link under the cursor in the status bar. Also links which are focused by keyboard commands like [m]<Tab>[m] are shown. Possible values: .---`-------------------------------------- @@ -696,7 +682,7 @@ ____ ||'suggestengines' || stringlist (default: "google") ____ Set the search engines which can be used for completion suggestions. -Add "S" to the 'complete' option if you want use this feature. +Add "S" to the 'complete' option if you want to use this feature. Warning: This feature could make tab-completion slower because it needs to wait for changes, so use it only if you have a fast internet connection. @@ -727,11 +713,11 @@ ____ |\'urlseparator'| ||'urlseparator'|| string (default: ",\s") ____ -Set the separator regexp used to separate multiple URL args. Multiple -arguments can be specified for :open, and similar commands, using this regexp -as the separator. Using whitespace alone is not generally useful since it is -often contained in a single argument. E.g. [c]:open linus torvalds[c] should -perform a single search for the key words "linus" and "torvalds" +Set the separator regexp used to separate multiple URL args. Multiple arguments +can be specified for [c]:open[c], and similar commands, using this regexp as +the separator. Using whitespace alone is not generally useful since it is often +contained in a single argument. E.g. [c]:open linus torvalds[c] should perform +a single search for the key words "linus" and "torvalds" ____ @@ -750,9 +736,8 @@ ____ |\'novb'| |\'novisualbell'| |\'vb'| |\'visualbell'| ||'visualbell' 'vb'|| boolean (default: off) ____ -Use visual bell instead of beeping on errors. The visual bell style is -controlled by [c]:hi Bell[c]. If no bell is desired use [c]:set t_vb=[c] together with -this option. +Use visual bell instead of beeping on errors. The visual bell style is +controlled by [c]:hi Bell[c]. ____ @@ -783,7 +768,7 @@ ____ |\'wim'| |\'wildmode'| ||'wildmode' 'wim'|| stringlist (default: "list:full") ____ -Define how command-line completion works. +Defines how command-line completion works. It is a comma-separated list of parts, where each part specifies what to do for each consecutive use of the completion key. The first part specifies the behavior for the first use of the completion key, @@ -795,7 +780,7 @@ These are the possible values for each part: "full" Complete the next full match. After the last, the original string is used. "longest" Complete till the longest common string. "list" When more than one match, list all matches. -"list:full" When more than one match, list all matches and complete first match. +"list:full" When more than one match, list all matches and complete the first match. "list:longest" When more than one match, list all matches and complete till the longest common string. \ When there is only a single match, it is fully completed regardless of the case. ----------------------------------------- diff --git a/vimperator/locale/en-US/pattern.txt b/vimperator/locale/en-US/pattern.txt index 33e6ac17..6462a897 100644 --- a/vimperator/locale/en-US/pattern.txt +++ b/vimperator/locale/en-US/pattern.txt @@ -8,7 +8,7 @@ commands as Firefox does not provide native regexp support. It is unlikely that this will ever be available. |/| + -||/\\{pattern\\}[/]<CR>|| + +||/{pattern}[/]<CR>|| + ________________________________________________________________________________ Search forward for the first occurrence of {pattern}. diff --git a/vimperator/locale/en-US/print.txt b/vimperator/locale/en-US/print.txt index 0d14ee37..8cf3d180 100644 --- a/vimperator/locale/en-US/print.txt +++ b/vimperator/locale/en-US/print.txt @@ -20,13 +20,14 @@ ________________________________________________________________________________ section:Firefox{nbsp}printing{nbsp}dialogs[firefox-print-dialogs] -The "Print Preview" and "Page Setup" dialogs can be opened via the :dialog command +The "Print Preview" and "Page Setup" dialogs can be opened via the [c]:dialog[c] +command - :dialog printpreview +\{nbsp}[c]:dialog printpreview[c] and - :dialog printsetup +\{nbsp}[c]:dialog printsetup[c] respectively. diff --git a/vimperator/locale/en-US/repeat.txt b/vimperator/locale/en-US/repeat.txt index 0501ba63..2817c980 100644 --- a/vimperator/locale/en-US/repeat.txt +++ b/vimperator/locale/en-US/repeat.txt @@ -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). @@ -49,7 +49,7 @@ ____________________________________________________________________________ |.| -||[count].| +||[count].|| ____________________________________________________________________________ Repeat the last keyboard mapping [count] times. Note that, unlike in Vim, this does not apply solely to editing commands, mainly because Vimperator doesn't @@ -99,12 +99,12 @@ Load all unloaded plugins immediately. Because plugins are automatically loaded after vimperatorrc is sourced, this command must be placed early in the vimperatorrc file if vimperatorrc also includes commands that are implemented by plugins. Additionally, this command allows for sourcing -new plugins without restarting vimperator. +new plugins without restarting Vimperator. ________________________________________________________________________________ |:ru| |:runtime| -||:runt[ime][!]| {file} ...|| + +||:runt[ime][!] {file} ...|| + ________________________________________________________________________________ Source the specified file from each directory in 'runtimepath'. Example: + [c]:runtime plugin/foobar.vimp[c] + diff --git a/vimperator/locale/en-US/starting.txt b/vimperator/locale/en-US/starting.txt index ecf0e8ad..81b1870f 100644 --- a/vimperator/locale/en-US/starting.txt +++ b/vimperator/locale/en-US/starting.txt @@ -8,17 +8,15 @@ section:Initialization[initialization,startup] At startup, Vimperator completes the following tasks in order. 1. Vimperator can perform user initialization commands. When - one of the following is successfully located, it is executed, and no - further locations are tried. +one of the following is successfully located, it is executed, and no +further locations are tried. - a. |$VIMPERATOR_INIT| _$VIMPERATOR_INIT_ -- May contain a single ex - command (e.g., - "[c]:source {file}[c]"). - b. [a]\~/_vimperatorrc[a] -- Windows only. If this file exists, its - contents are executed and - _$MY_VIMPERATORRC_ set to its path. - c. [a]\~/.vimperatorrc[a] -- If this file exists, its contents are - executed. + a. |$VIMPERATOR_INIT| + _$VIMPERATOR_INIT_ -- May contain a single Ex command (e.g., + "[c]:source {file}[c]"). + b. [a]\~/_vimperatorrc[a] -- Windows only. If this file exists, its contents + are executed and _$MY_VIMPERATORRC_ set to its path. + c. [a]\~/.vimperatorrc[a] -- If this file exists, its contents are executed. 2. If 'exrc' is set, then any RC file in the current directory is also sourced. diff --git a/vimperator/locale/en-US/styling.txt b/vimperator/locale/en-US/styling.txt index 74b3e9ea..a4ba91a2 100644 --- a/vimperator/locale/en-US/styling.txt +++ b/vimperator/locale/en-US/styling.txt @@ -18,7 +18,7 @@ sourced. ________________________________________________________________________________ |:hi| |:highlight| + -||:hi[light] [-append] {group}[{selector}] [{css}]|| + +||:hi[ghlight][!] [-append] {group}[{selector}] [{css}]|| + ________________________________________________________________________________ Highlight {group} with {css}. Normally, {css} is checked for valid syntax before it's applied. Once you're certain it's @@ -86,7 +86,7 @@ Valid groups are: ------------------------------------------------------- Every invocation completely replaces the styling of any previous invocation, -unless [-append] (short option: -a) is provided, in which case, {css} is +unless *-append* (short option: *-a*) is provided, in which case {css} is appended to its current value. If {css} is not provided, any styles matching {group} are listed. ________________________________________________________________________________ @@ -103,12 +103,12 @@ ________________________________________________________________________________ ||:sty[le][!] [-name={name}] [-append] {filter} [{css}]|| + ________________________________________________________________________________ Add CSS styles to the browser or to web pages. {filter} is a comma -separated list of URLs to match. URLs ending with [c]*[c] are matched as -prefixes, URLs not containing any [c]:[c] or [c]/[c] characters are +separated list of URLs to match. URLs ending with *\** are matched as +prefixes, URLs not containing any *:* or */* characters are matched as domains. If {name} (short option: [c]-n[c]) is provided, any existing style with the same name is overridden, and the style may later -be deleted using {name}. If -append (short option: [c]-a[c]) is provided -along with [c]-name[c], {css} and {filter} are appended to its current +be deleted using {name}. If *-append* (short option: *-a*) is provided +along with *-name*, {css} and {filter} are appended to its current value. If {css} isn't provided, matching styles are listed. @@ -123,9 +123,9 @@ style for [c]www.google.com,mozilla.org[c], will result in a style for [c]www.google.com[c]. The available options are: * [c]-name[c]: The name provided to [c]:style[c] (short option: - [c]-n[c]) + *-n*) * [c]-index[c]: For unnamed styles, the index listed by [c]:style[c] - (short option: [c]-i[c]) + (short option: *-i*) ________________________________________________________________________________ // vim: set filetype=asciidoc: diff --git a/vimperator/locale/en-US/tabs.txt b/vimperator/locale/en-US/tabs.txt index 3305e05d..9ccded72 100644 --- a/vimperator/locale/en-US/tabs.txt +++ b/vimperator/locale/en-US/tabs.txt @@ -101,7 +101,7 @@ buffer, it is selected. With [!] the next buffer matching the argument is selected, even if it cannot be identified uniquely. Use [m]b[m] as a shortcut to open this prompt. -If argument is [a]#[a], the alternate buffer will be selected (see [m]<C-^>[m]). +If argument is [a]\#[a], the alternate buffer will be selected (see [m]<C-^>[m]). If no argument is given the current buffer remains current. ________________________________________________________________________________ @@ -153,7 +153,7 @@ ________________________________________________________________________________ ||:[count]bn[ext] [count]|| + ________________________________________________________________________________ Switch to the next or [count]th tab. Cycles to the first tab when the last is -selected and {count} is not specified. +selected and [count] is not specified. ________________________________________________________________________________ @@ -203,8 +203,8 @@ ________________________________________________________________________________ ||:[count]u[ndo] [a][url][a]|| + ||[count]u|| ________________________________________________________________________________ -Undo closing of a tab. If a count is given, don't close the last but the -[count]th last tab. With [a][url][a] restores the tab matching the URL. +Undo closing of a tab. If a count is given, don't undo the last but the +[count]th last closed tab. With [a][url][a] restores the tab matching the URL. ________________________________________________________________________________ diff --git a/vimperator/locale/en-US/tutorial.txt b/vimperator/locale/en-US/tutorial.txt index 5302b922..461a6aed 100644 --- a/vimperator/locale/en-US/tutorial.txt +++ b/vimperator/locale/en-US/tutorial.txt @@ -15,32 +15,32 @@ bare-looking window. The menubar, navigation bar, and bookmark bars are hidden. In case you missed the notice in the help:Introduction[intro.html], you can regain these by issuing the command - :set go+=mTb<CR> +\{nbsp}[c]:set go+=mTB<CR>[c] where [m]<CR>[m] represents pressing the <Enter> or <Return> key. If you're a veteran Vim user, this may look familiar. It should. However, in this author's opinion, the best way to get familiar with Vimperator is to leave these disabled for now. (The above action can be -reversed with [c]:set go=<CR>[c]) You can look at the entry for +reversed with [c]:set go=<CR>[c]) You can look at the entry for [o]guioptions[o] in help:options[options.html] for more information on this. section:Vimperator's{nbsp}modal{nbsp}interface[modal] Vimperator's power, like Vim's, comes from it's modal interface. Keys have different meanings depending on which mode the browser is in. Vimperator has -several modes, but the 2 most important are ``normal'' mode and -``command-line'' mode. +several modes, but the 2 most important are ``Normal'' mode and +``Command-line'' mode. -When Vimperator starts, it is in normal mode by default. This is probably where +When Vimperator starts, it is in Normal mode by default. This is probably where you will spend the majority of your time. -The other core mode of Vimperator, command-line mode, can be entered from -normal mode by typing a \':' (colon). You will frequently see Vimperator +The other core mode of Vimperator, Command-line mode, can be entered from +Normal mode by typing a \':' (colon). You will frequently see Vimperator commands start with a \':', indicating that what follows is a command. -To return to normal mode command-line mode, type [m]<Esc>[m]. Pressing -[m]<Esc>[m] will also return you to normal mode from most other modes in +To return to Normal mode from Command-line mode, type [m]<Esc>[m]. Pressing +[m]<Esc>[m] will also return you to Normal mode from most other modes in Vimperator. section:Getting{nbsp}help[getting-help] @@ -51,7 +51,7 @@ Most of the documentation for Vimperator's features are easily found using the [c]:help[c] command. For example, you can find help on the [c]:help[c] command by typing - :help :help<CR> +\{nbsp}[c]:help :help<CR>[c] Similarly, help on configurable options is available with [c]:help '{option_name}'[c]. (Note the single quotes around the option name as in Vim.) @@ -59,8 +59,8 @@ 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 - :help gt<CR> - :help gT<CR> +\{nbsp}[c]:help gt<CR>[c] + +\{nbsp}[c]:help gT<CR>[c] Finally, in addition to the help system itself, [c]:exusage[c], [c]:viusage[c] and [c]:optionusage[c] are useful quick-reference commands. @@ -73,7 +73,7 @@ The efficiency of Vimperator, as with the legendary editor it was inspired by, relies on the user being able to keep his fingers on the keyboard where they can do the most good. While there are some areas where the mouse is clearly superior at, such as GUI design or some games, Vimperator acts on the -assumption that the web browser doesn't have to be one of those. +assumption that a web browser doesn't have to be one of those. Here are some areas where the mouse is typically considered indisposable, and how Vimperator challenges this preconception. @@ -115,20 +115,20 @@ Vimmers. close the active tab (delete the buffer) To open a web page in a new tab, use the [c]:tabopen {url}[c]. To open a URL in -the current tab, use [c]:open[c]. The normal mode mappings [m]t[m] and [m]o[m], -respectively, map to these commands, so the following pairs sequences are +the current tab, use [c]:open[c]. The Normal mode mappings [m]t[m] and [m]o[m], +respectively, map to these commands, so the following pairs of sequences are equivalent: - :open my.webmail.com<CR> - omy.webmail.com<CR> +\{nbsp}[c]:open my.webmail.com<CR>[c] + +\{nbsp}[m]omy.webmail.com<CR>[m] - :tabopen vimperator.org<CR> - tvimperator.org<CR> +\{nbsp}[c]:tabopen vimperator.org<CR>[c] + +\{nbsp}[m]tvimperator.org<CR>[m] section:Some{nbsp}hints{nbsp}about{nbsp}surfing...[hints-tutorial] So now you can navigate around in Vimperator. But wait... how do you *open* a -page or tab linked in a web page? How do you ``click'' on all those links +page or tab linked in a web page? How do you ``click'' on all those links without your tailed friend? The answer is ``hints''. Activating hints displays a number next to every link @@ -142,7 +142,7 @@ type uniquely identifies any given link, Vimperator will follow that link immediately without any further user input. Whichever way you choose to indicate your target link, once Vimperator has -highlighted the link you want, simply hit [m]<Enter>[m] to open it. +highlighted the link you want, simply hit <Enter> to open it. The most common hint mode is called help:QuickHint{nbsp}mode[various.html,f]. To activate QuickHint mode, press either [m]f[m] or [m]F[m]. The lower-case @@ -162,12 +162,12 @@ Say you get half-way done typing in a new URL, only to remember that you've already got that page open in the previous tab. Your command line might look something like this: - :open my.partial.url/fooba +\{nbsp}[c]:open my.partial.url/fooba[c] You can exit the command line and access the already loaded page with the following: - <Esc>gT +\{nbsp}[m]<Esc>gT[m] section:Saving{nbsp}for{nbsp}posterity{nbsp}-{nbsp}vimperatorrc[vimperatorrc] @@ -189,8 +189,8 @@ Vimperator supports all of Vim's classic methods of exiting. * [c]:xall[c] -- command to quit and save the current browsing session for next time; the default. * [c]:qall[c] -- command to quit _without_ saving the session - * [m]ZZ[m] -- normal mode mapping equivalent to [c]:xall[c] - * [m]ZQ[m] -- normal mode mapping equivalent to [c]:qall[c] + * [m]ZZ[m] -- Normal mode mapping equivalent to [c]:xall[c] + * [m]ZQ[m] -- Normal mode mapping equivalent to [c]:qall[c] section:Where{nbsp}did{nbsp}Firefox{nbsp}go?[whither-firefox] @@ -240,7 +240,7 @@ section:I'm{nbsp}interested...but{nbsp}lost![support] Vimperator has an energetic and growing user base. If you've run into a problem that you can't seem to solve with Vimperator, or if you think you might have -found a bug, please let us know! There is support available on the +found a bug, please let us know! There is support available on the http://vimperator.cutup.org/index.php?title=Main_Page[wiki], or in the #vimperator IRC channel on http://freenode.net/[freenode]. diff --git a/vimperator/locale/en-US/various.txt b/vimperator/locale/en-US/various.txt index 0ace34cf..79d485dc 100644 --- a/vimperator/locale/en-US/various.txt +++ b/vimperator/locale/en-US/various.txt @@ -21,7 +21,7 @@ ________________________________________________________________________________ Execute Normal mode commands {commands}. This makes it possible to execute Normal mode commands typed on the command line. {commands} is executed like it is typed. If the [!] is given, mappings will not be used. {commands} should be -a complete command. {commands} cannot start with a space. Put a 1 (one) before +a complete command. {commands} cannot start with a space. Put 1 space before it, 1 space is one space. ________________________________________________________________________________ @@ -94,7 +94,7 @@ section:Uncategorized{nbsp}help[uncategorized] |<C-[>| |<Esc>| + ||<Esc>|| ________________________________________________________________________________ -Focus content. Exits command-line or hint mode and returns to browser +Focus content. Exits Command-line or Hints mode and returns to Normal mode. Also focuses the web page in case a form field has focus and eats our key presses. ________________________________________________________________________________ @@ -103,16 +103,9 @@ ________________________________________________________________________________ |<Insert>| |i| + ||i|| ________________________________________________________________________________ -Start caret mode. This mode resembles the Vim normal mode where you see a text -cursor and can move around. If you want to select text in this mode, press +Start caret mode. This mode resembles the Vim's Normal mode where you see a +text cursor and can move around. If you want to select text in this mode, press [m]v[m] to start its Visual mode. ________________________________________________________________________________ - -//|:pc| |:pclose| + -//||:pc[lose]|| -//________________________________________________________________________________ -//Close preview window on bottom of screen. -//________________________________________________________________________________ - // vim: set filetype=asciidoc: