+(defun murk-highlight-current-context ()
+ (maphash
+ (lambda (this-context facelist)
+ (if (equal (take 2 this-context) (take 2 (murk-current-context)))
+ (setcar facelist 'murk-text)
+ (setcar facelist 'murk-faded)))
+ murk-context-facelists)
+ (force-window-update "*murk*"))
+
+(defun murk-zoom-in (context)
+ (with-current-buffer "*murk*"
+ (maphash
+ (lambda (this-context _)
+ (when this-context
+ (let ((this-context-atom
+ (intern (murk-context->string this-context))))
+ (if (equal this-context (take 2 context))
+ (remove-from-invisibility-spec this-context-atom)
+ (add-to-invisibility-spec this-context-atom)))))
+ murk-context-facelists)
+ (force-window-update "*murk*"))
+ (murk-scroll-windows-to-last-line))
+
+(defun murk-zoom-out ()
+ (with-current-buffer "*murk*"
+ (maphash
+ (lambda (this-context _)
+ (let ((this-context-atom
+ (if this-context
+ (intern (murk-context->string this-context))
+ nil)))
+ (remove-from-invisibility-spec this-context-atom)))
+ murk-context-facelists)
+ (force-window-update "*murk*"))
+ (murk-scroll-windows-to-last-line))
+