From fe3a6566c715cb00cfa050f5313be2613186bd75 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. --HG-- rename : hoersten-align-with-spaces.el => align-with-spaces.el rename : hoersten-pastebin-region.el => pastebin-region.el rename : color-theme-twilight.el => thirdparty/color-theme-twilight.el rename : pretty-mode.el => thirdparty/pretty-mode.el rename : vala-mode.el => thirdparty/vala-mode.el rename : zencoding-mode.el => thirdparty/zencoding-mode.el --- 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