Skip to content

Instantly share code, notes, and snippets.

@pkazmier
Created August 15, 2011 19:42
Show Gist options
  • Save pkazmier/1147588 to your computer and use it in GitHub Desktop.
Save pkazmier/1147588 to your computer and use it in GitHub Desktop.
orbitz erc-minor-mode has been revived!!
;; orbitz Mode
;; Need to add the ERC hook in emacs for it to work:
;; (add-hook 'erc-send-pre-hook 'erc-maybe-orbitz)
(define-minor-mode erc-orbitz-mode
"Toggle automatic orbitzing everything you type in ERC."
nil " orbitz")
(defun erc-maybe-orbitz (ignore)
"Change the text to orbitz text, if `erc-orbitz-mode' is non-nil."
(when (and erc-orbitz-mode (> (length str) 2))
(with-temp-buffer
(insert str)
(orbitz-region (point-min) (point-max))
(setq str (buffer-string)))))
(defun orbitz-random-forward-chars (fixed r)
(let ((i (+ (point) fixed (random r))))
(when (<= i (- (point-max) 2))
(goto-char i))))
(defun orbitz-region (beg end)
"Transform the buffer into orbitz text."
(interactive "r")
(save-excursion
(let ((starting-buffer (current-buffer)))
(set-buffer (get-buffer-create "orbitz-temp"))
(insert-buffer-substring starting-buffer beg end)
(beginning-of-buffer)
(while (orbitz-random-forward-chars 2 15)
(transpose-chars 1))
(set-buffer starting-buffer)
(delete-region beg end)))
(insert-buffer "orbitz-temp")
(kill-buffer "orbitz-temp"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment