Live preview pane
This commit is contained in:
88
config.el
88
config.el
@@ -1,11 +1,28 @@
|
||||
(setq doom-font (font-spec :family "Maple Mono" :size 20))
|
||||
(add-to-list 'default-frame-alist '(height . 53))
|
||||
(add-to-list 'default-frame-alist '(width . 120))
|
||||
(setq catppuccin-flavor 'mocha)
|
||||
(setq doom-theme 'catppuccin)
|
||||
(setq catppuccin-flavor 'catppuccin)
|
||||
(setq doom-theme 'modus-operandi-tinted)
|
||||
(setq display-line-numbers-type 'relative)
|
||||
(setq org-directory "~/org/")
|
||||
|
||||
(use-package! nano-modeline
|
||||
:config
|
||||
(add-hook 'prog-mode-hook #'nano-modeline-prog-mode)
|
||||
(add-hook 'text-mode-hook #'nano-modeline-text-mode)
|
||||
(add-hook 'org-mode-hook #'nano-modeline-org-mode)
|
||||
(add-hook 'pdf-view-mode-hook #'nano-modeline-pdf-mode)
|
||||
(add-hook 'mu4e-headers-mode-hook #'nano-modeline-mu4e-headers-mode)
|
||||
(add-hook 'mu4e-view-mode-hook #'nano-modeline-mu4e-message-mode)
|
||||
(add-hook 'elfeed-show-mode-hook #'nano-modeline-elfeed-entry-mode)
|
||||
(add-hook 'elfeed-search-mode-hook #'nano-modeline-elfeed-search-mode)
|
||||
(add-hook 'term-mode-hook #'nano-modeline-term-mode)
|
||||
(add-hook 'xwidget-webkit-mode-hook #'nano-modeline-xwidget-mode)
|
||||
(add-hook 'messages-buffer-mode-hook #'nano-modeline-message-mode)
|
||||
(add-hook 'org-capture-mode-hook #'nano-modeline-org-capture-mode)
|
||||
(add-hook 'org-agenda-mode-hook #'nano-modeline-org-agenda-mode)
|
||||
(global-hide-mode-line-mode t))
|
||||
|
||||
(use-package! yasnippet
|
||||
:config
|
||||
(defun my-yas-try-expanding-auto-snippets ()
|
||||
@@ -13,12 +30,12 @@
|
||||
(let ((yas-buffer-local-condition ''(require-snippet-condition . auto)))
|
||||
(yas-expand))))
|
||||
(add-hook 'post-command-hook #'my-yas-try-expanding-auto-snippets)
|
||||
)
|
||||
)
|
||||
|
||||
(use-package! gptel
|
||||
:config
|
||||
(setq! gptel-api-key "e994f45f9b46cc8608bd2e9cd508417255514e96913b1764aab612512aa66449")
|
||||
(setq gptel-model 'gpt-5)
|
||||
(setq gptel-model 'claude-sonnet-4.5)
|
||||
(setq gptel-backend (gptel-make-gh-copilot "Copilot"))
|
||||
(map! "M-s RET" #'gptel-send)
|
||||
(map! "M-s m" #'gptel-menu)
|
||||
@@ -46,7 +63,7 @@
|
||||
;; :load-path "path/to/typst-preview.el" ;; if installed manually
|
||||
:init
|
||||
(setq typst-preview-autostart t) ; start preview automatically when typst-preview-mode is activated
|
||||
;; (setq typst-preview-open-browser-automatically t) ; open browser automatically when typst-preview-start is run
|
||||
(setq typst-preview-open-browser-automatically t) ; open browser automatically when typst-preview-start is run
|
||||
|
||||
:custom
|
||||
(typst-preview-browser "default") ; this is the default option; other options are `eaf-browser' or `xwidget'.
|
||||
@@ -56,7 +73,62 @@
|
||||
|
||||
:config
|
||||
(define-key typst-preview-mode-map (kbd "C-c C-j") 'typst-preview-send-position)
|
||||
(define-key typst-ts-mode-map (kbd "C-c C-l") #'typst-preview-mode))
|
||||
(define-key typst-ts-mode-map (kbd "C-c C-l") #'typst-preview-mode)
|
||||
)
|
||||
|
||||
(use-package! org
|
||||
:hook (org-mode . org-latex-preview-mode))
|
||||
(use-package org-latex-preview
|
||||
:config
|
||||
;; Increase preview width
|
||||
(plist-put org-latex-preview-appearance-options
|
||||
:page-width 0.8)
|
||||
|
||||
(add-hook 'org-mode-hook 'org-latex-preview-mode)
|
||||
|
||||
;; ;; Block C-n, C-p etc from opening up previews when using `org-latex-preview-mode'
|
||||
;; (setq org-latex-preview-mode-ignored-commands
|
||||
;; '(next-line previous-line mwheel-scroll
|
||||
;; scroll-up-command scroll-down-command))
|
||||
|
||||
;; ;; Enable consistent equation numbering
|
||||
(setq org-latex-preview-numbered t)
|
||||
|
||||
;; Bonus: Turn on live previews. This shows you a live preview of a LaTeX
|
||||
;; fragment and updates the preview in real-time as you edit it.
|
||||
;; To preview only environments, set it to '(block edit-special) instead
|
||||
(setq org-latex-preview-mode-display-live t)
|
||||
|
||||
;; More immediate live-previews -- the default delay is 1 second
|
||||
(setq org-latex-preview-mode-update-delay 0)
|
||||
|
||||
(defun my/org-latex-preview-uncenter (ov)
|
||||
(overlay-put ov 'before-string nil))
|
||||
(defun my/org-latex-preview-recenter (ov)
|
||||
(overlay-put ov 'before-string (overlay-get ov 'justify)))
|
||||
(defun my/org-latex-preview-center (ov)
|
||||
(save-excursion
|
||||
(goto-char (overlay-start ov))
|
||||
(when-let* ((elem (org-element-context))
|
||||
((or (eq (org-element-type elem) 'latex-environment)
|
||||
(string-match-p "^\\\\\\[" (org-element-property :value elem))))
|
||||
(img (overlay-get ov 'display))
|
||||
(prop `(space :align-to (- center (0.55 . ,img))))
|
||||
(justify (propertize " " 'display prop 'face 'default)))
|
||||
(overlay-put ov 'justify justify)
|
||||
(overlay-put ov 'before-string (overlay-get ov 'justify)))))
|
||||
(define-minor-mode org-latex-preview-center-mode
|
||||
"Center equations previewed with `org-latex-preview'."
|
||||
:global nil
|
||||
(if org-latex-preview-center-mode
|
||||
(progn
|
||||
(add-hook 'org-latex-preview-overlay-open-functions
|
||||
#'my/org-latex-preview-uncenter nil :local)
|
||||
(add-hook 'org-latex-preview-overlay-close-functions
|
||||
#'my/org-latex-preview-recenter nil :local)
|
||||
(add-hook 'org-latex-preview-overlay-update-functions
|
||||
#'my/org-latex-preview-center nil :local))
|
||||
(remove-hook 'org-latex-preview-overlay-close-functions
|
||||
#'my/org-latex-preview-recenter)
|
||||
(remove-hook 'org-latex-preview-overlay-update-functions
|
||||
#'my/org-latex-preview-center)
|
||||
(remove-hook 'org-latex-preview-overlay-open-functions
|
||||
#'my/org-latex-preview-uncenter))))
|
||||
|
||||
98
config.org
98
config.org
@@ -5,16 +5,39 @@
|
||||
(setq doom-font (font-spec :family "Maple Mono" :size 20))
|
||||
(add-to-list 'default-frame-alist '(height . 53))
|
||||
(add-to-list 'default-frame-alist '(width . 120))
|
||||
(setq catppuccin-flavor 'mocha)
|
||||
(setq doom-theme 'catppuccin)
|
||||
(setq catppuccin-flavor 'catppuccin)
|
||||
(setq doom-theme 'modus-operandi-tinted)
|
||||
(setq display-line-numbers-type 'relative)
|
||||
(setq org-directory "~/org/")
|
||||
#+end_src
|
||||
|
||||
*** Themes
|
||||
**** Catppuccin
|
||||
#+begin_src emacs-lisp :tangle packages.el
|
||||
(package! catppuccin-theme)
|
||||
#+end_src
|
||||
*** Nano modeline
|
||||
#+begin_src emacs-lisp :tangle packages.el
|
||||
(package! nano-modeline)
|
||||
#+end_src
|
||||
#+begin_src emacs-lisp
|
||||
(use-package! nano-modeline
|
||||
:config
|
||||
(add-hook 'prog-mode-hook #'nano-modeline-prog-mode)
|
||||
(add-hook 'text-mode-hook #'nano-modeline-text-mode)
|
||||
(add-hook 'org-mode-hook #'nano-modeline-org-mode)
|
||||
(add-hook 'pdf-view-mode-hook #'nano-modeline-pdf-mode)
|
||||
(add-hook 'mu4e-headers-mode-hook #'nano-modeline-mu4e-headers-mode)
|
||||
(add-hook 'mu4e-view-mode-hook #'nano-modeline-mu4e-message-mode)
|
||||
(add-hook 'elfeed-show-mode-hook #'nano-modeline-elfeed-entry-mode)
|
||||
(add-hook 'elfeed-search-mode-hook #'nano-modeline-elfeed-search-mode)
|
||||
(add-hook 'term-mode-hook #'nano-modeline-term-mode)
|
||||
(add-hook 'xwidget-webkit-mode-hook #'nano-modeline-xwidget-mode)
|
||||
(add-hook 'messages-buffer-mode-hook #'nano-modeline-message-mode)
|
||||
(add-hook 'org-capture-mode-hook #'nano-modeline-org-capture-mode)
|
||||
(add-hook 'org-agenda-mode-hook #'nano-modeline-org-agenda-mode)
|
||||
(global-hide-mode-line-mode t))
|
||||
#+end_src
|
||||
** Plugins
|
||||
*** Yasnippet
|
||||
Thisenables the feature of auto-expanding snippets when matching the pattern
|
||||
@@ -27,7 +50,7 @@ Thisenables the feature of auto-expanding snippets when matching the pattern
|
||||
(let ((yas-buffer-local-condition ''(require-snippet-condition . auto)))
|
||||
(yas-expand))))
|
||||
(add-hook 'post-command-hook #'my-yas-try-expanding-auto-snippets)
|
||||
)
|
||||
)
|
||||
#+end_src
|
||||
|
||||
*** Eat (deprecated)
|
||||
@@ -87,7 +110,7 @@ Configuration
|
||||
(use-package! gptel
|
||||
:config
|
||||
(setq! gptel-api-key "e994f45f9b46cc8608bd2e9cd508417255514e96913b1764aab612512aa66449")
|
||||
(setq gptel-model 'gpt-5)
|
||||
(setq gptel-model 'claude-sonnet-4.5)
|
||||
(setq gptel-backend (gptel-make-gh-copilot "Copilot"))
|
||||
(map! "M-s RET" #'gptel-send)
|
||||
(map! "M-s m" #'gptel-menu)
|
||||
@@ -135,7 +158,7 @@ Configuration
|
||||
;; :load-path "path/to/typst-preview.el" ;; if installed manually
|
||||
:init
|
||||
(setq typst-preview-autostart t) ; start preview automatically when typst-preview-mode is activated
|
||||
;; (setq typst-preview-open-browser-automatically t) ; open browser automatically when typst-preview-start is run
|
||||
(setq typst-preview-open-browser-automatically t) ; open browser automatically when typst-preview-start is run
|
||||
|
||||
:custom
|
||||
(typst-preview-browser "default") ; this is the default option; other options are `eaf-browser' or `xwidget'.
|
||||
@@ -145,7 +168,8 @@ Configuration
|
||||
|
||||
:config
|
||||
(define-key typst-preview-mode-map (kbd "C-c C-j") 'typst-preview-send-position)
|
||||
(define-key typst-ts-mode-map (kbd "C-c C-l") #'typst-preview-mode))
|
||||
(define-key typst-ts-mode-map (kbd "C-c C-l") #'typst-preview-mode)
|
||||
)
|
||||
#+end_src
|
||||
|
||||
*** Latex
|
||||
@@ -155,6 +179,9 @@ Configuration
|
||||
#+end_src
|
||||
|
||||
*** Org
|
||||
1. delete all org-* packages from emacs (can be done by deleting folders in .local/straight)
|
||||
2. delete eln-cache
|
||||
3. doom sync -u
|
||||
#+begin_src emacs-lisp :tangle packages.el
|
||||
(package! org :recipe
|
||||
(:host nil :repo "https://git.tecosaur.net/mirrors/org-mode.git" :remote "mirror" :fork
|
||||
@@ -183,6 +210,61 @@ Configuration
|
||||
#+end_src
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package! org
|
||||
:hook (org-mode . org-latex-preview-mode))
|
||||
|
||||
(use-package org-latex-preview
|
||||
:config
|
||||
;; Increase preview width
|
||||
(plist-put org-latex-preview-appearance-options
|
||||
:page-width 0.8)
|
||||
|
||||
(add-hook 'org-mode-hook 'org-latex-preview-mode)
|
||||
|
||||
;; ;; Block C-n, C-p etc from opening up previews when using `org-latex-preview-mode'
|
||||
;; (setq org-latex-preview-mode-ignored-commands
|
||||
;; '(next-line previous-line mwheel-scroll
|
||||
;; scroll-up-command scroll-down-command))
|
||||
|
||||
;; ;; Enable consistent equation numbering
|
||||
(setq org-latex-preview-numbered t)
|
||||
|
||||
;; Bonus: Turn on live previews. This shows you a live preview of a LaTeX
|
||||
;; fragment and updates the preview in real-time as you edit it.
|
||||
;; To preview only environments, set it to '(block edit-special) instead
|
||||
(setq org-latex-preview-mode-display-live t)
|
||||
|
||||
;; More immediate live-previews -- the default delay is 1 second
|
||||
(setq org-latex-preview-mode-update-delay 0)
|
||||
|
||||
(defun my/org-latex-preview-uncenter (ov)
|
||||
(overlay-put ov 'before-string nil))
|
||||
(defun my/org-latex-preview-recenter (ov)
|
||||
(overlay-put ov 'before-string (overlay-get ov 'justify)))
|
||||
(defun my/org-latex-preview-center (ov)
|
||||
(save-excursion
|
||||
(goto-char (overlay-start ov))
|
||||
(when-let* ((elem (org-element-context))
|
||||
((or (eq (org-element-type elem) 'latex-environment)
|
||||
(string-match-p "^\\\\\\[" (org-element-property :value elem))))
|
||||
(img (overlay-get ov 'display))
|
||||
(prop `(space :align-to (- center (0.55 . ,img))))
|
||||
(justify (propertize " " 'display prop 'face 'default)))
|
||||
(overlay-put ov 'justify justify)
|
||||
(overlay-put ov 'before-string (overlay-get ov 'justify)))))
|
||||
(define-minor-mode org-latex-preview-center-mode
|
||||
"Center equations previewed with `org-latex-preview'."
|
||||
:global nil
|
||||
(if org-latex-preview-center-mode
|
||||
(progn
|
||||
(add-hook 'org-latex-preview-overlay-open-functions
|
||||
#'my/org-latex-preview-uncenter nil :local)
|
||||
(add-hook 'org-latex-preview-overlay-close-functions
|
||||
#'my/org-latex-preview-recenter nil :local)
|
||||
(add-hook 'org-latex-preview-overlay-update-functions
|
||||
#'my/org-latex-preview-center nil :local))
|
||||
(remove-hook 'org-latex-preview-overlay-close-functions
|
||||
#'my/org-latex-preview-recenter)
|
||||
(remove-hook 'org-latex-preview-overlay-update-functions
|
||||
#'my/org-latex-preview-center)
|
||||
(remove-hook 'org-latex-preview-overlay-open-functions
|
||||
#'my/org-latex-preview-uncenter))))
|
||||
#+end_src
|
||||
|
||||
10
init.el
10
init.el
@@ -32,19 +32,19 @@
|
||||
doom ; what makes DOOM look the way it does
|
||||
doom-dashboard ; a nifty splash screen for Emacs
|
||||
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
|
||||
(emoji +unicode) ; 🙂
|
||||
;; (emoji +unicode) ; 🙂
|
||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||
;; indent-guides ; highlighted indent columns
|
||||
ligatures ; ligatures and symbols to make your code pretty again
|
||||
;;minimap ; show a map of the code on the side
|
||||
modeline ; snazzy, Atom-inspired modeline, plus API
|
||||
;; modeline ; snazzy, Atom-inspired modeline, plus API
|
||||
;;nav-flash ; blink cursor line after big motions
|
||||
;;neotree ; a project drawer, like NERDTree for vim
|
||||
ophints ; highlight the region an operation acts on
|
||||
(popup +defaults) ; tame sudden yet inevitable temporary windows
|
||||
smooth-scroll ; So smooth you won't believe it's not butter
|
||||
tabs ; a tab bar for Emacs
|
||||
treemacs ; a project drawer, like neotree but cooler
|
||||
;; tabs ; a tab bar for Emacs
|
||||
;; treemacs ; a project drawer, like neotree but cooler
|
||||
unicode ; extended unicode support for various languages
|
||||
(vc-gutter +pretty) ; vcs diff in the fringe
|
||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
||||
@@ -99,7 +99,7 @@
|
||||
(eval +overlay) ; run code, run (also, repls)
|
||||
lookup ; navigate your code and its documentation
|
||||
;;llm ; when I said you needed friends, I didn't mean...
|
||||
(lsp +eglot +peek +booster) ; M-x vscode
|
||||
(lsp +eglot +booster) ; M-x vscode
|
||||
magit ; a git porcelain for Emacs
|
||||
make ; run make tasks from Emacs
|
||||
;;pass ; password manager for nerds
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
(package! catppuccin-theme)
|
||||
|
||||
(package! nano-modeline)
|
||||
|
||||
(package! gptel :recipe (:nonrecursive t))
|
||||
|
||||
(package! typst-ts-mode :recipe (:host codeberg :repo "meow_king/typst-ts-mode"))
|
||||
|
||||
Reference in New Issue
Block a user