From 7c506f9e7f2d9d98396611a0e9ccd431e107eb97 Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Sun, 7 Sep 2025 15:11:11 -0400 Subject: [PATCH] Add d2. --- ansible/roles/emacs/files/elisp/lang-d2.el | 16 ++++++++++++++++ ansible/roles/emacs/files/elisp/lang-org.el | 4 ++++ ansible/roles/emacs/files/init.el | 2 ++ ansible/roles/emacs/tasks/linux.yaml | 1 + 4 files changed, 23 insertions(+) create mode 100644 ansible/roles/emacs/files/elisp/lang-d2.el diff --git a/ansible/roles/emacs/files/elisp/lang-d2.el b/ansible/roles/emacs/files/elisp/lang-d2.el new file mode 100644 index 0000000..a4b2696 --- /dev/null +++ b/ansible/roles/emacs/files/elisp/lang-d2.el @@ -0,0 +1,16 @@ +(defun d2-format-buffer () + "Run prettier." + (interactive) + (run-command-on-buffer "d2" "fmt" "-") + ) + +(use-package d2-mode + :commands (d2-mode) + :hook ( + (d2-mode . (lambda () + ;; (add-hook 'before-save-hook 'd2-format-buffer nil 'local) + )) + ) + ) + +(provide 'lang-d2) diff --git a/ansible/roles/emacs/files/elisp/lang-org.el b/ansible/roles/emacs/files/elisp/lang-org.el index 120b364..870e332 100644 --- a/ansible/roles/emacs/files/elisp/lang-org.el +++ b/ansible/roles/emacs/files/elisp/lang-org.el @@ -87,4 +87,8 @@ (use-package gnuplot) (use-package graphviz-dot-mode) +(use-package htmlize + ;; For syntax highlighting when exporting to HTML. + ) + (provide 'lang-org) diff --git a/ansible/roles/emacs/files/init.el b/ansible/roles/emacs/files/init.el index ad9ff8b..9a1bc6c 100644 --- a/ansible/roles/emacs/files/init.el +++ b/ansible/roles/emacs/files/init.el @@ -40,4 +40,6 @@ (require 'lang-cmake) +(require 'lang-d2) + (load-directory autoload-directory) diff --git a/ansible/roles/emacs/tasks/linux.yaml b/ansible/roles/emacs/tasks/linux.yaml index 31101e3..df32127 100644 --- a/ansible/roles/emacs/tasks/linux.yaml +++ b/ansible/roles/emacs/tasks/linux.yaml @@ -15,6 +15,7 @@ - typescript-language-server - shellcheck - vscode-css-languageserver + - d2 # Generating diagrams state: present - name: Create directories