idisplay current url in the prompt - 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 a331d51d084fea91b64c85500a458999fbab23a6 /scm/clic/commit/a331d51d084fea91b64c85500a458999fbab23a6.gph bitreich.org 70 1parent 25487c3c561873fda304042df02ed8c68575ce20 /scm/clic/commit/25487c3c561873fda304042df02ed8c68575ce20.gph bitreich.org 70 hAuthor: Solene Rapenne URL:mailto:solene@perso.pw bitreich.org 70 iDate: Thu, 28 Dec 2017 12:51:39 +0100 Err bitreich.org 70 i Err bitreich.org 70 idisplay current url in the prompt Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M clic.lisp | 33 +++++++++++++++++++------------ Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 20 insertions(+), 13 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@@ -81,13 +81,14 @@ Err bitreich.org 70 i (format nil "~a[~a;~am" #\Escape type hue))) Err bitreich.org 70 i Err bitreich.org 70 i (defun get-color(name) (gethash name *colors*)) Err bitreich.org 70 i-(add-color 'red 1 31) Err bitreich.org 70 i-(add-color 'white 0 70) Err bitreich.org 70 i-(add-color 'folder 4 34) Err bitreich.org 70 i-(add-color 'green 1 32) Err bitreich.org 70 i-(add-color 'file 0 35) Err bitreich.org 70 i-(add-color 'cyan 0 46) Err bitreich.org 70 i-(add-color 'http 0 33) Err bitreich.org 70 i+(add-color 'red 1 31) Err bitreich.org 70 i+(add-color 'white 0 70) Err bitreich.org 70 i+(add-color 'bg-black 0 40) Err bitreich.org 70 i+(add-color 'folder 4 34) Err bitreich.org 70 i+(add-color 'green 1 32) Err bitreich.org 70 i+(add-color 'file 0 35) Err bitreich.org 70 i+(add-color 'cyan 0 46) Err bitreich.org 70 i+(add-color 'http 0 33) Err bitreich.org 70 i ;;;; END ANSI colors Err bitreich.org 70 i Err bitreich.org 70 i ;;;; is the output interactive or a pipe ? Err bitreich.org 70 i@@ -429,8 +430,8 @@ Err bitreich.org 70 i (when (= row rows) Err bitreich.org 70 i (setf row 0) Err bitreich.org 70 i (format t "~a press enter or a shell command ~a : " Err bitreich.org 70 i- (get-color 'cyan) Err bitreich.org 70 i- (get-color 'white)) Err bitreich.org 70 i+ (get-color 'bg-black) Err bitreich.org 70 i+ (get-color 'white)) Err bitreich.org 70 i (force-output) Err bitreich.org 70 i (let ((first-input (read-char))) Err bitreich.org 70 i (when (not (char= #\NewLine first-input)) Err bitreich.org 70 i@@ -486,11 +487,18 @@ Err bitreich.org 70 i Err bitreich.org 70 i (display-buffer (location-type destination))) Err bitreich.org 70 i Err bitreich.org 70 i+(defun display-prompt() Err bitreich.org 70 i+ (let ((last-page (car *history*))) Err bitreich.org 70 i+ (format t "gopher://~a:~a/~a~a : " Err bitreich.org 70 i+ (location-host last-page) Err bitreich.org 70 i+ (location-port last-page) Err bitreich.org 70 i+ (location-type last-page) Err bitreich.org 70 i+ (location-uri last-page))) Err bitreich.org 70 i+ (force-output)) Err bitreich.org 70 i Err bitreich.org 70 i (defun shell() Err bitreich.org 70 i "Shell for user interaction" Err bitreich.org 70 i- (format t "clic => ") Err bitreich.org 70 i- (force-output) Err bitreich.org 70 i+ (display-prompt) Err bitreich.org 70 i Err bitreich.org 70 i ;; we loop until X or Q is typed Err bitreich.org 70 i (loop for input = (format nil "~a" (read-line nil nil)) Err bitreich.org 70 i@@ -501,8 +509,7 @@ Err bitreich.org 70 i do Err bitreich.org 70 i (when (eq 'end (user-input input)) Err bitreich.org 70 i (loop-finish)) Err bitreich.org 70 i- (format t "clic => ") Err bitreich.org 70 i- (force-output))) Err bitreich.org 70 i+ (display-prompt))) Err bitreich.org 70 i Err bitreich.org 70 i (defun main() Err bitreich.org 70 i "fetch argument, display page and go to shell if type is 1" Err bitreich.org 70 .