From bdfc5855121daf26be78530df1dbb605aad428f9 Mon Sep 17 00:00:00 2001 From: Tim Vaughan Date: Thu, 17 Jun 2021 00:15:04 +0200 Subject: [PATCH] Working on message evaluation. --- lirc.el | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/lirc.el b/lirc.el index 3d7a975..131b7cc 100644 --- a/lirc.el +++ b/lirc.el @@ -43,7 +43,7 @@ "Default full name.") (defcustom lirc-user-name "plugd" "Default user name.") -(defcustom lirc-host "irc.libera.chat" +(defcustom lirc-host "localhost" "Default server.") (defcustom lirc-port 6667 "Default port.") @@ -185,11 +185,10 @@ (with-current-buffer "*lirc*" (set-marker-insertion-type lirc-prompt-marker nil) (set-marker-insertion-type lirc-input-marker t) - (let ((inhibit-read-only t)) - (delete-region lirc-prompt-marker lirc-input-marker)) (save-excursion - (goto-char lirc-prompt-marker) (let ((inhibit-read-only t)) + (delete-region lirc-prompt-marker lirc-input-marker) + (goto-char lirc-prompt-marker) (insert (propertize (if lirc-current-channel lirc-current-channel @@ -199,8 +198,8 @@ (propertize lirc-prompt-string 'face 'lirc-prompt 'read-only t - 'rear-nonsticky t)))) - (set-marker-insertion-type lirc-input-marker nil))) + 'rear-nonsticky t))))) + (set-marker-insertion-type lirc-input-marker nil)) (defvar lirc-prompt-marker nil "Marker for prompt position in LIRC buffer.") @@ -225,13 +224,18 @@ (defun lirc-eval-msg-string (string) (let* ((msg (lirc-string->msg string))) - (cond - ((equal (lirc-msg-cmd msg) "PING") + (pcase (lirc-msg-cmd msg) + ("PING" (lirc-send-msg (lirc-msg nil nil "PONG" (lirc-msg-params msg)))) - ((string-match (rx (= 3 digit)) (lirc-msg-cmd msg)) - (lirc-display-string (string-join (cdr (lirc-msg-params msg)) " "))) - (t + ;; ((rx (= 3 digit)) + ;; (lirc-display-string (string-join (cdr (lirc-msg-params msg)) " "))) + ((and "JOIN" (let (rx (: (literal lirc-nick) "!" (* anychar))) (lirc-msg-src msg))) + (let ((channel (car (lirc-msg-params msg)))) + (setq lirc-current-channel channel) + (add-to-list 'lirc-channel-list channel) + (lirc-render-prompt))) + (_ (lirc-display-string (lirc-msg->string msg)))))) -- 2.20.1