Skip to content

Instantly share code, notes, and snippets.

@bryanl
Created December 22, 2008 04:34
Show Gist options
  • Save bryanl/38887 to your computer and use it in GitHub Desktop.
Save bryanl/38887 to your computer and use it in GitHub Desktop.
(add-to-list 'load-path (expand-file-name "~/.emacs.d"))
(add-to-list 'load-path
"~/.emacs.d/plugins")
(add-to-list 'load-path
"/usr/local/share/emacs/site-lisp")
(require 'yasnippet-bundle)
(require 'magit)
(set-face-font 'default "-apple-inconsolata-medium-r-normal--11-0-72-72-m-0-iso10646-1")
(add-to-list 'load-path "~/.emacs.d/vendor/textmate.el")
(require 'textmate)
(textmate-mode)
(require 'color-theme)
(setq color-theme-is-global t)
(color-theme-charcoal-black)
(require 'gist)
(eval-after-load 'rcirc '(require 'rcirc-color))
(setq rcirc-time-format "%Y-%m-%d %H:%M ")
(defun rcy-browse-url-default-macosx-browser (url &optional new-window)
(interactive (browse-url-interactive-arg "URL: "))
(let ((url
(if (aref (url-generic-parse-url url) 0)
url
(concat "http://" url))))
(start-process (concat "open " url) nil "open" url)))
(setq browse-url-browser-function 'rcy-browse-url-default-macosx-browser)
;; Change user info
(setq rcirc-default-nick "bryanl")
(setq rcirc-default-user-name "bryanl")
(setq rcirc-default-user-full-name "bryanl")
;; Join these channels at startup.
(setq rcirc-startup-channels-alist
'(("\\.freenode\\.net$" "#emacs" "#offrails" "#rubyonrails" "#github" "#git" "#snort")))
;; Connect to servers.
(rcirc); freenode is the default
(DEFUN RCIRC-COMPLETE-NICK ()
"cYCLE THROUGH NICK COMPLETIONS FROM LIST OF NICKS IN CHANNEL."
(INTERACTIVE)
(IF (EQ LAST-COMMAND THIS-COMMAND)
(SETQ RCIRC-NICK-COMPLETIONS
(APPEND (CDR RCIRC-NICK-COMPLETIONS)
(LIST (CAR RCIRC-NICK-COMPLETIONS))))
(SETQ RCIRC-NICK-COMPLETION-START-OFFSET
(- (SAVE-EXCURSION
(IF (RE-SEARCH-BACKWARD " " RCIRC-PROMPT-END-MARKER T)
(1+ (POINT))
RCIRC-PROMPT-END-MARKER))
RCIRC-PROMPT-END-MARKER))
(SETQ RCIRC-NICK-COMPLETIONS
(LET ((COMPLETION-IGNORE-CASE T))
(ALL-COMPLETIONS
(BUFFER-SUBSTRING
(+ RCIRC-PROMPT-END-MARKER
RCIRC-NICK-COMPLETION-START-OFFSET)
(POINT))
(APPEND (RCIRC-CHANNEL-NICKS (RCIRC-BUFFER-PROCESS)
RCIRC-TARGET)
(RCIRC-COMMANDS))))))
(LET ((COMPLETION (CAR RCIRC-NICK-COMPLETIONS)))
(WHEN COMPLETION
(RCIRC-PUT-NICK-CHANNEL (RCIRC-BUFFER-PROCESS) COMPLETION RCIRC-TARGET)
(DELETE-REGION (+ RCIRC-PROMPT-END-MARKER
RCIRC-NICK-COMPLETION-START-OFFSET)
(POINT))
(INSERT (CONCAT COMPLETION
(IF (= (+ RCIRC-PROMPT-END-MARKER
RCIRC-NICK-COMPLETION-START-OFFSET)
RCIRC-PROMPT-END-MARKER)
(IF (EQ (AREF COMPLETION 0) ?/) " " ": ")))))))
;; fixme: tHIS NEEDS A DRASTIC SPEEDUP OR SOME CACHING
(DEFUN RCIRC-COMMANDS ()
"rETURN A LIST OF DEFINED irc COMMANDS.
iF A COMMAND CALLED RCIRC-CMD-FOO EXISTS, THE irc COMMAND /foo
WILL BE PART OF THE LIST RETURNED."
(LET ((COMMANDS))
(MAPATOMS (LAMBDA (SYM)
(LET ((NAME (SYMBOL-NAME SYM)))
(WHEN (AND (COMMANDP SYM)
(STRING= (SUBSTRING NAME 0 (MIN (LENGTH NAME) 10))
"RCIRC-CMD-"))
(SETQ COMMANDS (CONS (CONCAT"/" (UPCASE (SUBSTRING NAME 10)))
COMMANDS))))))
COMMANDS))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment