Álvaro Ramírez
Helm buffer URLs
Venturing into Emacs lisp and Helm. Here's a go at listing all URLs in current buffer.
(require 'goto-addr) (defun ar/helm-buffer-url-candidates () "Generate helm candidates for all URLs in buffer." (save-excursion (goto-char (point-min)) (let ((helm-candidates '()) (url)) (while (re-search-forward goto-address-url-regexp nil t) (setq url (buffer-substring-no-properties (match-beginning 0) (match-end 0))) (add-to-list 'helm-candidates (cons url url))) helm-candidates))) (defun ar/helm-buffer-urls () "Narrow down and open a URL in buffer." (interactive) (helm :sources `(((name . "Buffer URLs") (candidates . ,(ar/helm-buffer-url-candidates)) (action . (lambda (url) (browse-url url)))))))