diff options
-rw-r--r-- | peekpage.js | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/peekpage.js b/peekpage.js new file mode 100644 index 0000000..50aff9f --- /dev/null +++ b/peekpage.js @@ -0,0 +1,63 @@ +/** + * ==VimperatorPlugin== + * @name tmpview.js + * @description peek page in commandline + * @author hogelog + * @version 0.1 + * ==/VimperatorPlugin== + * + * COMMANDS: + * :peekpage {URL} -> Peek URL page in commandline + * :peeksrc {URL} -> Peek URL page source in commandline + * + */ +(function(){ + var multilineOutputWidget = document.getElementById("liberator-multiline-output"); + var outputContainer = multilineOutputWidget.parentNode; + + var option = { + bang: true, + completer: function (context) { + var complete = options.complete.replace(/[sS]/g, ''); + completion.url(context, complete); + }, + literal: 0 + }; + + function peekview(url){ + var win = multilineOutputWidget.contentWindow; + var doc = multilineOutputWidget.contentDocument; + var iframe = doc.createElement('iframe'); + iframe.src = url; + iframe.width = '100%'; + + if (outputContainer.collapsed) + doc.body.innerHTML = ""; + + doc.body.appendChild(iframe); + commandline.updateOutputHeight(true); + + win.scrollTo(0, doc.height); + commandline.updateMorePrompt(); + + win.focus(); + + modes.set(modes.COMMAND_LINE, modes.OUTPUT_MULTILINE); + } + + commands.addUserCommand(['peekpage'], + 'Peek Page in Commandline', + function (args){ + peekview(args.string); + }, option); + commands.addUserCommand(['peeksrc'], + 'Peek Page Source in Commandline', + function (args){ + var http = util.httpGet(args.string); + if (http){ + liberator.echo(http.responseText, commandline.FORCE_MULTILINE); + } + }, option); +})(); + +// vim: set fdm=marker sw=4 ts=4 et: |