From a1606cb96bab281660253b8431d57ae34d22c000 Mon Sep 17 00:00:00 2001 From: Luke Hoersten Date: Sat, 14 May 2011 14:47:51 -0500 Subject: Moved 3rd party libs to separate dir and added optional scion haskell support. --- pastebin-region.el | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 pastebin-region.el (limited to 'pastebin-region.el') diff --git a/pastebin-region.el b/pastebin-region.el new file mode 100644 index 0000000..fbae423 --- /dev/null +++ b/pastebin-region.el @@ -0,0 +1,43 @@ +;; ~/.emacs.d/hoersten-pastebin-region.el +;; Luke Hoersten + +;; custom keys +(global-set-key (kbd "C-c w") 'pastebin-region) + +;; Based on http://www.emacswiki.org/cgi-bin/wiki/download/pastebin.el +(defvar pastebin-type-assoc + '((emacs-lisp-mode . "common-lisp") + (c-mode . "c") + (python-mode . "python") + (nxml-mode . "xml") + (c++-mode . "cpp"))) + +(defun pastebin-region (start end) + "Send selected text to dpaste pastebin." + (interactive "r") + (let* + ((pastebin-url "http://inf/paste/") + (url-request-method "POST") + (url-request-extra-headers '(("Content-Type" . "application/x-www-form-urlencoded"))) + (url-request-data + (format + "title=%s&content=%s&lexer=%s&author=%s" + (url-hexify-string (buffer-file-name)) ; title + (url-hexify-string (buffer-substring-no-properties start end)) ; content + (url-hexify-string (or (assoc-default major-mode pastebin-type-assoc) "text")) ; lexer + (url-hexify-string (user-full-name))))) ; author + (url-retrieve + pastebin-url + (lambda (arg) + (cond + ((equal :error (car arg)) + (signal (cdr arg))) + ((equal :redirect (car arg)) + (let ((redirected (cadr arg))) + (message redirected) + (with-temp-buffer + (insert redirected) + (clipboard-kill-ring-save (point-min) (point-max)))))))))) + +(message "Loading pastebin-region...done") +(provide 'pastebin-region) -- cgit v1.2.3