diff options
author | Franck Cuny <franck@fcuny.net> | 2022-03-23 19:23:34 -0700 |
---|---|---|
committer | Franck Cuny <franck@fcuny.net> | 2022-03-23 19:23:34 -0700 |
commit | 52023b34601a9afe4fd67bbb2f0b8c17b3b64d65 (patch) | |
tree | 993903dcb044f37b32c0cd8250cadba55ebaa952 /emacs/elisp | |
parent | init: simplify loading libraries (diff) | |
download | emacs.d-52023b34601a9afe4fd67bbb2f0b8c17b3b64d65.tar.gz |
functions: move custom functions to libraries
Diffstat (limited to 'emacs/elisp')
-rw-r--r-- | emacs/elisp/my-buffers.el | 13 | ||||
-rw-r--r-- | emacs/elisp/my-clipboard.el | 24 | ||||
-rw-r--r-- | emacs/elisp/my-strings.el | 23 | ||||
-rw-r--r-- | emacs/elisp/my-web.el | 21 |
4 files changed, 81 insertions, 0 deletions
diff --git a/emacs/elisp/my-buffers.el b/emacs/elisp/my-buffers.el new file mode 100644 index 0000000..d5c07c5 --- /dev/null +++ b/emacs/elisp/my-buffers.el @@ -0,0 +1,13 @@ +;;; my-buffers.el --- Functions related to buffer manipulations +;;; Commentary: +;;; Code: + +(defun my/copy-whole-buffer () + "Select the buffer and copy it." + (interactive) + (save-excursion + (mark-whole-buffer) + (copy-region-as-kill 1 (buffer-size)))) + +(provide 'my-buffers) +;;; my-buffers.el ends here diff --git a/emacs/elisp/my-clipboard.el b/emacs/elisp/my-clipboard.el new file mode 100644 index 0000000..f0f3c01 --- /dev/null +++ b/emacs/elisp/my-clipboard.el @@ -0,0 +1,24 @@ +;;; my-clipboard.el --- Functions related to clipboard +;;; Commentary: +;;; Code: + +;; https://github.com/chongchonghe/emacs-dotfile/blob/f4f9ce5f586f224e2c83b118d471652d65d38e8c/packages/simpleclip.el +(defun my/clipboard-get-contents () + "Return the contents of the system clipboard as a string." + (condition-case nil + (cond + ((fboundp 'ns-get-pasteboard) + (ns-get-pasteboard)) + ((and (featurep 'mac) + (fboundp 'gui-get-selection)) + (gui-get-selection 'CLIPBOARD 'NSStringPboardType)) + ((and (featurep 'mac) + (fboundp 'x-get-selection)) + (x-get-selection 'CLIPBOARD 'NSStringPboardType)) + ((fboundp 'gui-get-selection) + (gui-get-selection 'CLIPBOARD (or x-select-request-type 'UTF8_STRING))) + (t + (error "Clipboard support not available"))))) + +(provide 'my-clipboard) +;;; my-clipboard.el ends here diff --git a/emacs/elisp/my-strings.el b/emacs/elisp/my-strings.el new file mode 100644 index 0000000..40ad888 --- /dev/null +++ b/emacs/elisp/my-strings.el @@ -0,0 +1,23 @@ +;;; my-strings.el --- Functions related to strings manipulation +;;; Commentary: +;;; Code: + +(defun my/remove-sql-columns () + "Remove \"|\" from strings. +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 " "))) + +;; from https://karl-voit.at/2014/08/10/bookmarks-with-orgmode/ +(defun my/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)))) + +(provide 'my-strings) +;;; my-strings.el ends here diff --git a/emacs/elisp/my-web.el b/emacs/elisp/my-web.el new file mode 100644 index 0000000..12e5c97 --- /dev/null +++ b/emacs/elisp/my-web.el @@ -0,0 +1,21 @@ +;;; my-web.el --- Functions related to web interactions +;;; Commentary: +;;; Code: + +(require 'my-strings) + +(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 "<title>\\([^<]*\\)</title>" nil t 1) + (setq title (match-string 1)) + (goto-char (point-min)) + (re-search-forward "charset=\\([-0-9a-zA-Z]*\\)" nil t 1) + (my/string-replace " " " " + (decode-coding-string title 'utf-8)) + (concat "[[" url "][" title "]]")))) + +(provide 'my-web) +;;; my-web.el ends here |