src.nth.io/

summaryrefslogtreecommitdiff
path: root/claude-code-context.el
diff options
context:
space:
mode:
authorLuke Hoersten <[email protected]>2026-04-29 07:09:34 -0500
committerLuke Hoersten <[email protected]>2026-04-29 07:09:34 -0500
commit9e9d47d52b342cb488dfd6aa4fba33f5cac44ca6 (patch)
treee98af8c1eccd3503dc543c8745fef5f74e8a0f1c /claude-code-context.el
parentaa90be67b0dc8ae0e72b6a24d739234254e02360 (diff)
Added optimization to not rewrite file if no change occurred.main
Diffstat (limited to 'claude-code-context.el')
-rw-r--r--claude-code-context.el15
1 files changed, 11 insertions, 4 deletions
diff --git a/claude-code-context.el b/claude-code-context.el
index b7cf31b..f61a6f5 100644
--- a/claude-code-context.el
+++ b/claude-code-context.el
@@ -86,6 +86,9 @@
(defvar claude-code-context-timer nil
"Timer for updating Claude Code context.")
+(defvar claude-code-context--last-written nil
+ "Last JSON string written to context file, used to skip redundant writes.")
+
(defun claude-code-context--get-current-context ()
"Get current buffer context as an alist."
(unless (minibufferp)
@@ -120,10 +123,13 @@
(interactive)
(let ((context (claude-code-context--get-current-context)))
(when context
- (with-temp-file claude-code-context-file
- (insert (json-encode context)))
- (when (called-interactively-p 'interactive)
- (message "Claude Code context updated")))))
+ (let ((json (json-encode context)))
+ (unless (equal json claude-code-context--last-written)
+ (setq claude-code-context--last-written json)
+ (with-temp-file claude-code-context-file
+ (insert json)))
+ (when (called-interactively-p 'interactive)
+ (message "Claude Code context updated"))))))
(defun claude-code-context-add-diagnostics ()
"Add flymake diagnostics to Claude Code context file."
@@ -140,6 +146,7 @@
(defun claude-code-context-clear-context ()
"Clear the Claude Code context file."
(interactive)
+ (setq claude-code-context--last-written nil)
(when (file-exists-p claude-code-context-file)
(delete-file claude-code-context-file)
(message "Claude Code context cleared")))