aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bard-emacs-modules/bard-emacs-writing.el31
-rw-r--r--config.org36
2 files changed, 67 insertions, 0 deletions
diff --git a/bard-emacs-modules/bard-emacs-writing.el b/bard-emacs-modules/bard-emacs-writing.el
index ac4ca14..4fc50a2 100644
--- a/bard-emacs-modules/bard-emacs-writing.el
+++ b/bard-emacs-modules/bard-emacs-writing.el
@@ -291,6 +291,33 @@
("<f9>" . logos-focus-mode)
("C-x n n" . logos-narrow-dwim)))
+(use-package typst-ts-mode
+ :ensure t
+ :hook (typst-ts-mode . eglot-ensure)
+ :config
+ (add-to-list 'treesit-language-source-alist
+ '(typst "https://github.com/uben0/tree-sitter-typst")))
+
+;; Tinymist for LSP
+(with-eval-after-load 'eglot
+ (add-to-list 'eglot-server-programs
+ '(typst-ts-mode "tinymist")))
+
+
+(use-package typst-preview
+ :ensure t
+ :init
+ (setq typst-preview-autostart t)
+ (setq typst-preview-open-browser-automatically t)
+ :custom
+ (setq typst-preview-browser "zen"
+ typst-preview-invert-colors "never"
+ typst-preview-executable "tinymist"
+ typst-preview-partial-rendering t)
+ ;; :config
+ ;; (define-key typst-preview-mode-map (kbd "C-c C-j") 'typst-preview-send-position)
+ )
+
(use-package citar
:ensure t
:bind
@@ -341,4 +368,8 @@
file = {PDF:%s:application/pdf},
}" file))))
+(use-package citar-typst
+ :ensure t
+ :hook (typst-ts-mode . citar-typst-mode))
+
(provide 'bard-emacs-writing)
diff --git a/config.org b/config.org
index bee76d6..bb35245 100644
--- a/config.org
+++ b/config.org
@@ -2442,6 +2442,36 @@ Watch [[https://protesilaos.com/codelog/2024-02-08-emacs-window-rules-display-bu
("C-x n n" . logos-narrow-dwim)))
#+end_src
+*** Typst mode and preview
+#+begin_src emacs-lisp :tangle bard-emacs-modules/bard-emacs-writing.el :mkdirp yes
+ (use-package typst-ts-mode
+ :ensure t
+ :hook (typst-ts-mode . eglot-ensure)
+ :config
+ (add-to-list 'treesit-language-source-alist
+ '(typst "https://github.com/uben0/tree-sitter-typst")))
+
+ ;; Tinymist for LSP
+ (with-eval-after-load 'eglot
+ (add-to-list 'eglot-server-programs
+ '(typst-ts-mode "tinymist")))
+
+
+ (use-package typst-preview
+ :ensure t
+ :init
+ (setq typst-preview-autostart t)
+ (setq typst-preview-open-browser-automatically t)
+ :custom
+ (setq typst-preview-browser "zen"
+ typst-preview-invert-colors "never"
+ typst-preview-executable "tinymist"
+ typst-preview-partial-rendering t)
+ ;; :config
+ ;; (define-key typst-preview-mode-map (kbd "C-c C-j") 'typst-preview-send-position)
+ )
+#+end_src
+
*** Citations and bibliography
**** Citar bibliography front end
#+begin_src emacs-lisp :tangle bard-emacs-modules/bard-emacs-writing.el :mkdirp yes
@@ -2498,6 +2528,12 @@ Watch [[https://protesilaos.com/codelog/2024-02-08-emacs-window-rules-display-bu
}" file))))
#+end_src
+**** Citations for typst
+#+begin_src emacs-lisp :tangle bard-emacs-modules/bard-emacs-writing.el :mkdirp yes
+ (use-package citar-typst
+ :ensure t
+ :hook (typst-ts-mode . citar-typst-mode))
+#+end_src
*** Provide module
#+begin_src emacs-lisp :tangle bard-emacs-modules/bard-emacs-writing.el :mkdirp yes
(provide 'bard-emacs-writing)