aboutsummaryrefslogtreecommitdiffstats
path: root/peekpage.js
diff options
context:
space:
mode:
authorhogelog2008-11-29 19:41:11 +0000
committerhogelog2008-11-29 19:41:11 +0000
commit5db9aa3463889dc5936f7411035d3c62462a6a40 (patch)
treefff5c5c8d289fdd75ff18855062aca739bce2555 /peekpage.js
parent2f96dd864f410c3c75aba9c818b9270b4c303c9d (diff)
downloadvimperator-plugins-5db9aa3463889dc5936f7411035d3c62462a6a40.tar.bz2
* add peekpage.js: peek page in commandline.
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@25363 d0d07461-0603-4401-acd4-de1884942a52
Diffstat (limited to 'peekpage.js')
-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: