diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/acdw-circe.el | 10 | ||||
-rw-r--r-- | lisp/acdw-ytel.el | 35 |
2 files changed, 44 insertions, 1 deletions
diff --git a/lisp/acdw-circe.el b/lisp/acdw-circe.el index e85587b..d6f5b90 100644 --- a/lisp/acdw-circe.el +++ b/lisp/acdw-circe.el | |||
@@ -9,6 +9,7 @@ | |||
9 | (require 'circe) | 9 | (require 'circe) |
10 | 10 | ||
11 | ;;; Chat commands | 11 | ;;; Chat commands |
12 | |||
12 | (defun circe-command-SHORTEN (url) | 13 | (defun circe-command-SHORTEN (url) |
13 | "Shorten URL using `0x0-shorten-uri'." | 14 | "Shorten URL using `0x0-shorten-uri'." |
14 | (interactive "sURL to shorten: ") | 15 | (interactive "sURL to shorten: ") |
@@ -17,11 +18,18 @@ | |||
17 | (let ((short-url (0x0-shorten-uri (0x0--choose-server) url))) | 18 | (let ((short-url (0x0-shorten-uri (0x0--choose-server) url))) |
18 | (circe-command-SAY short-url))) | 19 | (circe-command-SAY short-url))) |
19 | 20 | ||
21 | (defun circe-command-SLAP (nick) | ||
22 | "Slap NICK around a bit with a large trout." | ||
23 | (interactive "sWho we slappin' today, boss? ") | ||
24 | (circe-command-ME (concat "slaps " | ||
25 | (string-trim nick) | ||
26 | " around a bit with a large trout"))) | ||
27 | |||
20 | ;;; Hooks | 28 | ;;; Hooks |
21 | 29 | ||
22 | (defun circe-chat@set-prompt () | 30 | (defun circe-chat@set-prompt () |
23 | "Set the prompt to the buffer name, shortening it." | 31 | "Set the prompt to the buffer name, shortening it." |
24 | (interactive) ; set interactive to unfuck the prompt when need be | 32 | (interactive) ; set interactive to unfuck the prompt when need be |
25 | (lui-set-prompt | 33 | (lui-set-prompt |
26 | (propertize | 34 | (propertize |
27 | (concat | 35 | (concat |
diff --git a/lisp/acdw-ytel.el b/lisp/acdw-ytel.el new file mode 100644 index 0000000..01e6187 --- /dev/null +++ b/lisp/acdw-ytel.el | |||
@@ -0,0 +1,35 @@ | |||
1 | ;;; acdw-ytel.el --- bespoke functions for ytel -*- lexical-binding: t -*- | ||
2 | |||
3 | ;;; Commentary: | ||
4 | |||
5 | ;; Extra code for the ytel package: | ||
6 | ;; https://github.com/gRastello/ytel | ||
7 | |||
8 | ;;; Code: | ||
9 | |||
10 | (require 'ytel) | ||
11 | |||
12 | (defun acdw/ytel-current-video-link () | ||
13 | "Get the link of the video at point." | ||
14 | (let* ((video (ytel-get-current-video)) | ||
15 | (id (ytel-video-id video))) | ||
16 | (concat "https://www.youtube.com/watch?v=" id))) | ||
17 | |||
18 | (defun acdw/ytel-watch () ; This could possibly use `browse-url'. | ||
19 | "Stream video at point in mpv." | ||
20 | (interactive) | ||
21 | (start-process "ytel mpv" nil | ||
22 | "mpv" | ||
23 | (acdw/ytel-current-video-link) | ||
24 | "--ytdl-format=bestvideo[height<=?720]+bestaudio/best") | ||
25 | (message "Starting streaming...")) | ||
26 | |||
27 | (defun acdw/ytel-copy-link () | ||
28 | "Copy link of the video at point." | ||
29 | (interactive) | ||
30 | (let ((link (acdw/ytel-current-video-link))) | ||
31 | (kill-new link) | ||
32 | (message "Copied %s to kill-ring" link))) | ||
33 | |||
34 | (provide 'acdw-ytel) | ||
35 | ;;; acdw-ytel.el ends here | ||