aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--peekpage.js63
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: