aboutsummaryrefslogtreecommitdiff
path: root/modules/prog-webdev.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-12 18:00:50 -0500
committerCraig Jennings <c@cjennings.net>2026-05-12 18:00:50 -0500
commit98a200c955117893d3c27ace8e911c53ca2a7395 (patch)
tree2a180b1190d8f1e0e30d85ca164fabc73662ccc6 /modules/prog-webdev.el
parent040038d42f82d48c2e6b57a0d4494d9aabf453a9 (diff)
downloaddotemacs-98a200c955117893d3c27ace8e911c53ca2a7395.tar.gz
dotemacs-98a200c955117893d3c27ace8e911c53ca2a7395.zip
refactor(prog-webdev): extract the prettier format-command builder
I pulled the prettier command-string construction out of `cj/webdev-format-buffer` into `cj/--webdev-format-command`. The wrapper stays thin: resolve `(or buffer-file-name "file.ts")`, hand the command to `shell-command-on-region`, clamp point. With the command shape in a pure helper I can unit-test it directly.
Diffstat (limited to 'modules/prog-webdev.el')
-rw-r--r--modules/prog-webdev.el11
1 files changed, 7 insertions, 4 deletions
diff --git a/modules/prog-webdev.el b/modules/prog-webdev.el
index 4b0333f2..2b66f2ec 100644
--- a/modules/prog-webdev.el
+++ b/modules/prog-webdev.el
@@ -58,6 +58,10 @@ Install with: sudo pacman -S prettier")
(executable-find ts-language-server-path))
(lsp-deferred)))
+(defun cj/--webdev-format-command (file)
+ "Return the prettier command that formats FILE's contents on stdin."
+ (format "prettier --stdin-filepath %s" (shell-quote-argument file)))
+
(defun cj/webdev-format-buffer ()
"Format the current buffer with prettier.
Detects the file type automatically from the filename."
@@ -65,10 +69,9 @@ Detects the file type automatically from the filename."
(if (executable-find prettier-path)
(let ((point (point)))
(shell-command-on-region (point-min) (point-max)
- (format "prettier --stdin-filepath %s"
- (shell-quote-argument
- (or buffer-file-name "file.ts")))
- nil t)
+ (cj/--webdev-format-command
+ (or buffer-file-name "file.ts"))
+ nil t)
(goto-char (min point (point-max))))
(user-error "prettier not found; install with: sudo pacman -S prettier")))