branch: elpa/scad-mode
commit 7f5b0e34885346a18b381ac0dc457e0f347a7187
Author: Daniel Mendler <[email protected]>
Commit: Daniel Mendler <[email protected]>
Extract scad--preview-colorscheme
---
ob-scad.el | 5 +++--
scad-mode.el | 17 ++++++++++-------
2 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/ob-scad.el b/ob-scad.el
index f86a0d5fdd..b5a0531832 100644
--- a/ob-scad.el
+++ b/ob-scad.el
@@ -24,7 +24,7 @@
(require 'ob)
(defvar scad-command)
-(defvar scad-preview-colorscheme)
+(declare-function scad--preview-colorscheme "ext:scad-mode")
(defvar scad-preview-projection)
(defvar scad-preview-view)
@@ -43,6 +43,7 @@
(defun org-babel-execute:scad (body params)
"Evaluate BODY with `scad-command' given PARAMS."
+ (require 'scad-mode)
(let* ((outfile (or (alist-get :file params)
(error "Scad code block requires :file header
argument")))
(infile (org-babel-temp-file "scad-")))
@@ -55,7 +56,7 @@
(format "--projection=%s"
(alist-get :projection params
scad-preview-projection))
(format "--colorscheme=%s"
- (alist-get :colorscheme params
scad-preview-colorscheme))
+ (alist-get :colorscheme params
(scad--preview-colorscheme)))
(format "--view=%s" (or (alist-get :view params)
(mapconcat #'identity
scad-preview-view ",")))
(when-let (camera (alist-get :camera params))
diff --git a/scad-mode.el b/scad-mode.el
index 580bec5236..64205f17e2 100644
--- a/scad-mode.el
+++ b/scad-mode.el
@@ -293,6 +293,15 @@ Options are .stl, .off, .amf, .3mf, .csg, .dxf, .svg,
.pdf, .png,
(setq scad--preview-timer nil)
(scad--preview-render))))))))))
+(defun scad--preview-colorscheme ()
+ "Color scheme depending on Emacs theme."
+ (cond
+ ((stringp scad-preview-colorscheme)
+ scad-preview-colorscheme)
+ ((color-dark-p (color-name-to-rgb (face-background 'default)))
+ (cdr scad-preview-colorscheme))
+ (t (car scad-preview-colorscheme))))
+
;; Based on https://github.com/zk-phi/scad-preview
(defun scad--preview-render ()
"Render image from current buffer."
@@ -354,13 +363,7 @@ Options are .stl, .off, .amf, .3mf, .csg, .dxf, .svg,
.pdf, .png,
(mapconcat #'identity scad-preview-view ","))
(format "--camera=%s"
(mapconcat #'number-to-string
scad-preview-camera ","))
- (format "--colorscheme=%s"
- (cond
- ((stringp scad-preview-colorscheme)
- scad-preview-colorscheme)
- ((color-dark-p (color-name-to-rgb
(face-background 'default)))
- (cdr scad-preview-colorscheme))
- (t (car scad-preview-colorscheme))))
+ (format "--colorscheme=%s" (scad--preview-colorscheme))
infile)
scad-extra-args)))))))