(defun fcuny/rename-this-buffer-and-file () "Renames current buffer and file it is visiting." (interactive) (let ((name (buffer-name)) (filename (buffer-file-name)) (read-file-name-function 'read-file-name-default)) (if (not (and filename (file-exists-p filename))) (error "Buffer '%s' is not visiting a file!" name) (let ((new-name (read-file-name "New name: " filename))) (cond ((get-buffer new-name) (error "A buffer named '%s' already exists!" new-name)) (t (rename-file filename new-name 1) (rename-buffer new-name) (set-visited-file-name new-name) (set-buffer-modified-p nil) (message "File '%s' successfully renamed to '%s'" name (file-name-nondirectory new-name)))))))) (defun fcuny/remove-mysql-columns () "Removes from text. This is useful when I want to drop the column separator from some text coming from a mysql query." (interactive) (while (search-forward-regexp "\s?|\s?") (replace-match " "))) (defun fcuny/copy-whole-buffer () "Selects the buffer and copy it." (interactive) (save-excursion (mark-whole-buffer) (copy-region-as-kill 1 (buffer-size)))) (defun fcuny/check-work-machine-p () "Returns t if this is a work machine" (string-match "tw-mbp.*" (system-name))) (defun fcuny/check-source-predicate-python-p () (and (executable-find "check.pex") (buffer-file-name) (string-match "src/source/.*\.py$" (buffer-file-name)))) (defun fcuny/build-python-checker () "Compiles a newer version of the checker for Python." (interactive) (let ((output (make-temp-file "checker-foo")) (errors (make-temp-file "checker-errors")) (default-directory "~/workspace/source")) (let ((status (call-process "~/workspace/source/pants" nil `(,output ,errors) nil "-q" "binary" "src/python/twitter/devprod/checkstyle:check"))) (if (zerop status) (message "Built check.pex successfully") (message (buffer-file-name output)))))) ;; from https://karl-voit.at/2014/08/10/bookmarks-with-orgmode/ (defun fcuny/string-replace (this withthat in) "replace THIS with WITHTHAT' in the string IN" (with-temp-buffer (insert in) (goto-char (point-min)) (replace-string this withthat) (buffer-substring (point-min) (point-max)))) (defun fcuny/get-page-title (url) "Make URL into an org-mode link." (let ((title)) (with-current-buffer (url-retrieve-synchronously url) (goto-char (point-min)) (re-search-forward "\\([^<]*\\)" nil t 1) (setq title (match-string 1)) (goto-char (point-min)) (re-search-forward "charset=\\([-0-9a-zA-Z]*\\)" nil t 1) (fcuny/string-replace " " " " ;;(decode-coding-string title (intern (match-string 1))) ;; following line fixes charset issues from ;; previous line: (decode-coding-string title 'utf-8)) (concat "[[" url "][" title "]]")))) (defun fcuny/uniquify-region-lines (beg end) "Remove duplicate adjacent lines in region." (interactive "*r") (save-excursion (goto-char beg) (while (re-search-forward "^\\(.*\n\\)\\1+" end t) (replace-match "\\1")))) (defun fcuny/gocs () """Custom function to research a term using go/cs" (interactive) (let ((text (read-string "Search for: " (thing-at-point 'word)))) (browse-url (format "http://go/cs/%s" text)))) (provide 'fcuny-defuns)