From bd16be9f023fd948dfcca41005edbccbec3e7db4 Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Sat, 21 Dec 2013 16:27:01 -0500 Subject: Function for exporting wrapped text --- init/km-func.el | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/init/km-func.el b/init/km-func.el index 7ac814b..536abc3 100644 --- a/init/km-func.el +++ b/init/km-func.el @@ -189,3 +189,35 @@ KILLARG." (start-process "ext-term" bufname km/terminal))) (define-key external-map "t" 'km/open-external-terminal) + +(defun km/export-wrapped-text (arg) + "Export the text in current buffer as wrapped text. +This is useful for preparing text in emacs and then exporting to +a wrapped buffer for pasting text (e.g., into a web form). + +If region is active, export is restricted to the region. If ARG +is non-nil, the region is copied with `x-select-text'." + (interactive "P") + (let ((wrapped-buffer (get-buffer-create "*Wrapped export*")) + beg end) + (if (region-active-p) + (progn (setq beg (region-beginning)) + (setq end (region-end))) + (setq beg (point-min)) + (setq end (point-max))) + (copy-to-buffer wrapped-buffer beg end) + (switch-to-buffer-other-window wrapped-buffer) + (while (not (eobp)) + (forward-paragraph) + (forward-line -1) + (unfill-paragraph) + (forward-line 1)) + (when arg + (x-select-text (buffer-substring-no-properties (point-min) (point-max)))))) + +;; http://www.emacswiki.org/emacs/UnfillParagraph +(defun unfill-paragraph () + "Takes a multi-line paragraph and makes it into a single line of text." + (interactive) + (let ((fill-column (point-max))) + (fill-paragraph nil))) -- cgit v1.2.3