diff --git a/common/content/ui.js b/common/content/ui.js index 7a4820f5..5cfae14b 100644 --- a/common/content/ui.js +++ b/common/content/ui.js @@ -910,7 +910,6 @@ function CommandLine() //{{{ { // TODO: are all messages single line? Some display an aggregation // of single line messages at least. E.g. :source - // FIXME: I retract my retraction, this command-line/MOW mismatch _is_ really annoying -- djk if (messageHistory.length == 1) { let message = messageHistory.messages[0]; @@ -1115,7 +1114,8 @@ function CommandLine() //{{{ * * @param {string} str * @param {string} highlightGroup The Highlight group for the - * message. @default "Normal" + * message. + * @default "Normal" * @param {number} flags Changes the behavior as follows: * commandline.APPEND_TO_MESSAGES - Causes message to be added to the * messages history, and shown by :messages. @@ -1131,7 +1131,7 @@ function CommandLine() //{{{ { // liberator.echo uses different order of flags as it omits the highlight group, change commandline.echo argument order? --mst if (silent) - return false; + return; highlightGroup = highlightGroup || this.HL_NORMAL; @@ -1141,11 +1141,15 @@ function CommandLine() //{{{ // The DOM isn't threadsafe. It must only be accessed from the main thread. liberator.callInMainThread(function () { - let single = flags & (this.FORCE_SINGLELINE | this.DISALLOW_MULTILINE); + if ((flags & this.DISALLOW_MULTILINE) && !outputContainer.collapsed) + return; + let single = flags & (this.FORCE_SINGLELINE | this.DISALLOW_MULTILINE); let action = echoLine; - if (!single && (!outputContainer.collapsed || messageBox.value == lastEcho)) + // TODO: this is all a bit convoluted - clean up. + // assume that FORCE_MULTILINE output is fully styled + if (!(flags & this.FORCE_MULTILINE) && !single && (!outputContainer.collapsed || messageBox.value == lastEcho)) { highlightGroup += " Message"; action = echoMultiline; @@ -1154,9 +1158,6 @@ function CommandLine() //{{{ if ((flags & this.FORCE_MULTILINE) || (/\n/.test(str) || typeof str == "xml") && !(flags & this.FORCE_SINGLELINE)) action = echoMultiline; - if ((flags & this.DISALLOW_MULTILINE) && !outputContainer.collapsed) - return; - if (single) lastEcho = null; else @@ -1170,8 +1171,6 @@ function CommandLine() //{{{ if (action) action(str, highlightGroup, single); }, this); - - return true; }, /** diff --git a/vimperator/TODO b/vimperator/TODO index 1a1071f8..fa4bcf16 100644 --- a/vimperator/TODO +++ b/vimperator/TODO @@ -7,7 +7,8 @@ ARCHITECTURE: breaks Asciidoc formatting in certain unpredictable (to me at least) contexts. *sigh* --djk - move as much as possible to common/* -- decide on how to document Arrays in our jsdoc(ish) documentation. +- decide on how to document Arrays in our jsdoc(ish) documentation. Is there + even a documentation tool that can parse our source sensibly? BUGS: - add window resize support to hints @@ -25,12 +26,10 @@ BUGS: else it chucks, I haven't investigated --djk - messages is still broken in several ways - needs testing. => :ls | :echomsg "Foobar" doesn't add "Foobar" to the already open MOW. + (NOTE: an intentional design decision by MS - Boo!) => 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 rendering is broken for multiple commands when open (E.g. :ls | ls) This - appears to be the result of using the Message class when appending multiline - output to an open MOW. - :messages is _very_ slow for message history of several thousand lines -> Unresponsive Script: util.js:79 (sometimes xmlToDom() and elsewhere) - The MOW shouldn't close when executing hints and ;F isn't working.