iUsing search links is now possible - clic - Clic is an command line interactive client for gopher written in Common LISP Err bitreich.org 70 hgit clone git://bitreich.org/clic/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/clic/ URL:git://bitreich.org/clic/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/clic/ bitreich.org 70 1Log /scm/clic/log.gph bitreich.org 70 1Files /scm/clic/files.gph bitreich.org 70 1Refs /scm/clic/refs.gph bitreich.org 70 1Tags /scm/clic/tag bitreich.org 70 1README /scm/clic/file/README.md.gph bitreich.org 70 1LICENSE /scm/clic/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 1a794d72260ef81d5053b8708dd06ebc65c209b8 /scm/clic/commit/1a794d72260ef81d5053b8708dd06ebc65c209b8.gph bitreich.org 70 1parent c5ad93bd84b0e56df44e063c6871c587e98ef9c0 /scm/clic/commit/c5ad93bd84b0e56df44e063c6871c587e98ef9c0.gph bitreich.org 70 hAuthor: Solene Rapenne URL:mailto:solene@perso.pw bitreich.org 70 iDate: Wed, 3 Jan 2018 15:41:43 +0100 Err bitreich.org 70 i Err bitreich.org 70 iUsing search links is now possible Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M clic.lisp | 29 +++++++++++++++++++++++++---- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 25 insertions(+), 4 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/clic.lisp b/clic.lisp /scm/clic/file/clic.lisp.gph bitreich.org 70 i@@ -199,7 +199,9 @@ Err bitreich.org 70 i Err bitreich.org 70 i ;; 7 Index search server Err bitreich.org 70 i (check "7" Err bitreich.org 70 i- (print-with-color "selector 7 not implemented" 'red)) Err bitreich.org 70 i+ (setf (gethash line-number *links*) Err bitreich.org 70 i+ (make-location :host host :port port :uri uri :type line-type )) Err bitreich.org 70 i+ (print-with-color text 'red line-number)) Err bitreich.org 70 i Err bitreich.org 70 i ;; 8 Telnet session Err bitreich.org 70 i (check "8" Err bitreich.org 70 i@@ -241,7 +243,7 @@ Err bitreich.org 70 i "invalid type ~a : ~a" line-type text) Err bitreich.org 70 i 'red)))))) Err bitreich.org 70 i Err bitreich.org 70 i-(defun getpage(host port uri &optional (binary nil)) Err bitreich.org 70 i+(defun getpage(host port uri &optional (binary nil) (search nil)) Err bitreich.org 70 i "send a request and store the answer (in *buffer* if text or save a file if binary)" Err bitreich.org 70 i Err bitreich.org 70 i ;; we reset the buffer Err bitreich.org 70 i@@ -264,7 +266,12 @@ Err bitreich.org 70 i :output t Err bitreich.org 70 i :element-type :default))) Err bitreich.org 70 i ;; sending the request to the server Err bitreich.org 70 i- (format stream "~a~%" uri) Err bitreich.org 70 i+ (if search Err bitreich.org 70 i+ (progn Err bitreich.org 70 i+ (format t "Input : ") Err bitreich.org 70 i+ (let ((user-input (read-line nil nil))) Err bitreich.org 70 i+ (format stream "~a?~a~%" uri user-input))) Err bitreich.org 70 i+ (format stream "~a~%" uri)) Err bitreich.org 70 i (force-output stream) Err bitreich.org 70 i Err bitreich.org 70 i (if binary Err bitreich.org 70 i@@ -438,6 +445,12 @@ Err bitreich.org 70 i (string= "p" input)) Err bitreich.org 70 i (p)) Err bitreich.org 70 i Err bitreich.org 70 i+ ;; dump raw informations Err bitreich.org 70 i+ ((string= "d" input) Err bitreich.org 70 i+ (loop for c across *buffer* Err bitreich.org 70 i+ do Err bitreich.org 70 i+ (format t "~a~%" c))) Err bitreich.org 70 i+ Err bitreich.org 70 i ;; exit Err bitreich.org 70 i ((or Err bitreich.org 70 i (string= "." input) Err bitreich.org 70 i@@ -507,7 +520,9 @@ Err bitreich.org 70 i Err bitreich.org 70 i ;;;; output is a menu ? Err bitreich.org 70 i ;;;; display the menu and split it in pages if needed Err bitreich.org 70 i- ((string= "1" type) Err bitreich.org 70 i+ ((or Err bitreich.org 70 i+ (string= "1" type) Err bitreich.org 70 i+ (string= "7" type)) Err bitreich.org 70 i Err bitreich.org 70 i ;; we store the user input outside of the loop Err bitreich.org 70 i ;; so if the user doesn't want to scroll Err bitreich.org 70 i@@ -561,6 +576,12 @@ Err bitreich.org 70 i (location-port destination) Err bitreich.org 70 i (location-uri destination))) Err bitreich.org 70 i Err bitreich.org 70 i+ ((string= "7" (location-type destination)) Err bitreich.org 70 i+ (getpage (location-host destination) Err bitreich.org 70 i+ (location-port destination) Err bitreich.org 70 i+ (location-uri destination) Err bitreich.org 70 i+ nil t)) Err bitreich.org 70 i+ Err bitreich.org 70 i (t Err bitreich.org 70 i (getpage (location-host destination) Err bitreich.org 70 i (location-port destination) Err bitreich.org 70 .