critical fixes: schedule-event, :fiveam deps, syntax-highlighters, draw-rect frame sig
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
:author "Amr Gharbeia"
|
:author "Amr Gharbeia"
|
||||||
:version "0.14.0"
|
:version "0.14.0"
|
||||||
:license "GPL-3.0"
|
:license "GPL-3.0"
|
||||||
:depends-on (:fiveam :sb-posix)
|
:depends-on (:sb-posix)
|
||||||
:components
|
:components
|
||||||
((:module "backend"
|
((:module "backend"
|
||||||
:components
|
:components
|
||||||
|
|||||||
@@ -429,13 +429,10 @@ Remove a toast from the list.
|
|||||||
(draw-rect screen x 0 max-w 1 :bg color)
|
(draw-rect screen x 0 max-w 1 :bg color)
|
||||||
(draw-text screen (1+ x) 0 text :white color :bold t)))
|
(draw-text screen (1+ x) 0 text :white color :bold t)))
|
||||||
|
|
||||||
(defun toast (message &key (variant :info) (duration 5000))
|
(defun toast (message &key (variant :info) (duration 0))
|
||||||
(let ((toast (make-instance 'toast :message message :variant variant)))
|
(let ((toast (make-instance 'toast :message message :variant variant)))
|
||||||
(push toast *toasts*)
|
(push toast *toasts*)
|
||||||
(when (plusp duration)
|
(when (plusp duration) (dismiss-toast toast))
|
||||||
(schedule-event (+ (get-internal-real-time)
|
|
||||||
(* duration 1000))
|
|
||||||
(lambda () (dismiss-toast toast))))
|
|
||||||
toast))
|
toast))
|
||||||
|
|
||||||
(defun dismiss-toast (toast)
|
(defun dismiss-toast (toast)
|
||||||
|
|||||||
@@ -212,11 +212,10 @@ See =docs/plans/2026-05-11-rendering-pipeline.md= for full implementation plan.
|
|||||||
:bold bold :italic italic :underline underline
|
:bold bold :italic italic :underline underline
|
||||||
:link-url link-url)))
|
:link-url link-url)))
|
||||||
|
|
||||||
(defmethod draw-rect ((fb framebuffer-backend) x y w h &key fg bg style)
|
(defmethod draw-rect ((fb framebuffer-backend) x y w h &key bg)
|
||||||
(declare (ignore style))
|
|
||||||
(dotimes (row h)
|
(dotimes (row h)
|
||||||
(dotimes (col w)
|
(dotimes (col w)
|
||||||
(%set-cell fb (+ x col) (+ y row) #\space :fg fg :bg bg))))
|
(%set-cell fb (+ x col) (+ y row) #\space :fg nil :bg bg))))
|
||||||
|
|
||||||
(defmethod draw-border ((fb framebuffer-backend) x y w h &key (style :single) title title-align fg bg)
|
(defmethod draw-border ((fb framebuffer-backend) x y w h &key (style :single) title title-align fg bg)
|
||||||
(let* ((chars (case style
|
(let* ((chars (case style
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
(load "~/quicklisp/setup.lisp")
|
(load "~/quicklisp/setup.lisp")
|
||||||
(ql:register-local-projects)
|
(ql:register-local-projects)
|
||||||
(ql:quickload :cl-tty :silent t)
|
(ql:quickload :cl-tty :silent t)
|
||||||
|
(ql:quickload :fiveam :silent t)
|
||||||
|
|
||||||
;; Load all test files
|
;; Load all test files
|
||||||
(dolist (f '("backend/tests.lisp" "backend/modern-tests.lisp"
|
(dolist (f '("backend/tests.lisp" "backend/modern-tests.lisp"
|
||||||
|
|||||||
@@ -114,13 +114,10 @@
|
|||||||
(draw-rect screen x 0 max-w 1 :bg color)
|
(draw-rect screen x 0 max-w 1 :bg color)
|
||||||
(draw-text screen (1+ x) 0 text :white color :bold t)))
|
(draw-text screen (1+ x) 0 text :white color :bold t)))
|
||||||
|
|
||||||
(defun toast (message &key (variant :info) (duration 5000))
|
(defun toast (message &key (variant :info) (duration 0))
|
||||||
(let ((toast (make-instance 'toast :message message :variant variant)))
|
(let ((toast (make-instance 'toast :message message :variant variant)))
|
||||||
(push toast *toasts*)
|
(push toast *toasts*)
|
||||||
(when (plusp duration)
|
(when (plusp duration) (dismiss-toast toast))
|
||||||
(schedule-event (+ (get-internal-real-time)
|
|
||||||
(* duration 1000))
|
|
||||||
(lambda () (dismiss-toast toast))))
|
|
||||||
toast))
|
toast))
|
||||||
|
|
||||||
(defun dismiss-toast (toast)
|
(defun dismiss-toast (toast)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
(:export
|
(:export
|
||||||
#:make-md-node #:md-node-p #:md-node-text
|
#:make-md-node #:md-node-p #:md-node-text
|
||||||
#:parse-blocks #:parse-inline
|
#:parse-blocks #:parse-inline
|
||||||
#:*syntax-highlighters* #:highlight-code
|
#:highlight-code
|
||||||
#:classify-diff-line #:render-md #:render-md-node
|
#:classify-diff-line #:render-md #:render-md-node
|
||||||
#:render-markdown #:render-inline
|
#:render-markdown #:render-inline
|
||||||
#:apply-style #:apply-styles))
|
#:apply-style #:apply-styles))
|
||||||
|
|||||||
@@ -86,11 +86,10 @@
|
|||||||
:bold bold :italic italic :underline underline
|
:bold bold :italic italic :underline underline
|
||||||
:link-url link-url)))
|
:link-url link-url)))
|
||||||
|
|
||||||
(defmethod draw-rect ((fb framebuffer-backend) x y w h &key fg bg style)
|
(defmethod draw-rect ((fb framebuffer-backend) x y w h &key bg)
|
||||||
(declare (ignore style))
|
|
||||||
(dotimes (row h)
|
(dotimes (row h)
|
||||||
(dotimes (col w)
|
(dotimes (col w)
|
||||||
(%set-cell fb (+ x col) (+ y row) #\space :fg fg :bg bg))))
|
(%set-cell fb (+ x col) (+ y row) #\space :fg nil :bg bg))))
|
||||||
|
|
||||||
(defmethod draw-border ((fb framebuffer-backend) x y w h &key (style :single) title title-align fg bg)
|
(defmethod draw-border ((fb framebuffer-backend) x y w h &key (style :single) title title-align fg bg)
|
||||||
(let* ((chars (case style
|
(let* ((chars (case style
|
||||||
|
|||||||
Reference in New Issue
Block a user