X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?a=blobdiff_plain;f=elpher.el;h=25acb24af82b77f2dd0231d43465c32368d583f2;hb=d70e4457fa29aea69c3d490bb92af4ed861ac210;hp=7add7209d30cba817195a6853b6db714dc9b480f;hpb=184e0cf3c219e7e0266e19e26eb81b39f548df98;p=elpher.git diff --git a/elpher.el b/elpher.el index 7add720..25acb24 100644 --- a/elpher.el +++ b/elpher.el @@ -116,48 +116,44 @@ ;; Face customizations (defface elpher-index - '((((background dark)) :foreground "deep sky blue") - (((background light)) :foreground "blue")) - "Face used for index records.") + '((t :inherit org-drawer)) + "Face used for directory type directory records.") (defface elpher-text - '((((background dark)) :foreground "white") - (((background light)) :weight bold)) - "Face used for text records.") + '((t :inherit org-tag)) + "Face used for text type directory records.") -(defface elpher-info '() - "Face used for info records.") +(defface elpher-info + '((t :inherit org-default)) + "Face used for info type directory records.") (defface elpher-image - '((((background dark)) :foreground "green") - (t :foreground "dark green")) - "Face used for image records.") + '((t :inherit org-level-4)) + "Face used for image type directory records.") (defface elpher-search - '((((background light)) :foreground "orange") - (((background dark)) :foreground "dark orange")) - "Face used for search records.") + '((t :inherit org-level-5)) + "Face used for search type directory records.") (defface elpher-url - '((((background dark)) :foreground "yellow") - (((background light)) :foreground "dark red")) - "Face used for url records.") + '((t :inherit org-level-6)) + "Face used for url type directory records.") (defface elpher-binary - '((t :foreground "magenta")) - "Face used for binary records.") + '((t :inherit org-level-7)) + "Face used for binary type directory records.") (defface elpher-unknown - '((t :foreground "red")) - "Face used for unknown record types.") + '((t :inherit org-warning)) + "Face used for directory records with unknown/unsupported types.") (defface elpher-margin-key - '((((background dark)) :foreground "white")) - "Face used for margin key.") + '((t :inherit org-tag)) + "Face used for directory margin key.") (defface elpher-margin-brackets - '((t :foreground "blue")) - "Face used for brackets around margin key.") + '((t :inherit org-special-keyword)) + "Face used for brackets around directory margin key.") ;; Other customizations @@ -292,6 +288,8 @@ content and cursor position fields of the node." (defun elpher-insert-index (string) "Insert the index corresponding to STRING into the current buffer." + ;; Should be able to split directly on CRLF, but some non-conformant + ;; LF-only servers sadly exist, hence the following. (dolist (line (split-string (replace-regexp-in-string "\r" "" string) "\n")) (unless (= (length line) 0) (elpher-insert-index-record line)))) @@ -330,13 +328,13 @@ content and cursor position fields of the node." getter) 'action #'elpher-click-link 'follow-link t - 'help-echo (format "mouse-1, RET: open %s on %s port %s" + 'help-echo (format "mouse-1, RET: open '%s' on %s port %s" selector host port))) (pcase type - (?i (elpher-insert-margin) ; Information + (?i (elpher-insert-margin) ;; Information (insert (propertize display-string 'face 'elpher-info))) - (?h (elpher-insert-margin "W") ; Web link + (?h (elpher-insert-margin "W") ;; Web link (let ((url (elt (split-string selector "URL:") 1))) (insert-text-button display-string 'face 'elpher-url @@ -344,7 +342,7 @@ content and cursor position fields of the node." 'action #'elpher-click-url 'follow-link t 'help-echo (format "mouse-1, RET: open url %s" url)))) - (?.) ; Occurs at end of index, can safely ignore. + (?.) ;; Occurs at end of index, can safely ignore. (tp (elpher-insert-margin (concat (char-to-string tp) "?")) (insert (propertize display-string 'face 'elpher-unknown-face))))) @@ -438,7 +436,7 @@ The result is stored as a string in the variable ‘elpher-selector-string’." getter) 'action #'elpher-click-link 'follow-link t - 'help-echo (format "mouse-1, RET: open %s on %s port %s" + 'help-echo (format "mouse-1, RET: open '%s' on %s port %s" selector host port))) (make-text-button (match-beginning 0) (match-end 0)