@@ -111,18 +111,32 @@ File.write(\"%s\", markdown.render(doc))
111111
112112(defun markdown-preview-eww--make-converter ()
113113 " Return closure for convert markdown and open eww buffer."
114- (let ((doc-buffer (current-buffer ))
114+ (let ((preview-buffer nil )
115+ (last-line (line-number-at-pos (point )))
116+ (doc-buffer (current-buffer ))
115117 (output-buffer (concat " *markdown-preview-eww " (buffer-name ) " *" ))
116118 (preview-temp-file (markdown-preview--tmp-file (buffer-name ))))
117119 (cl-multiple-value-bind (command args)
118120 (markdown-preview-eww-convert-command preview-temp-file)
119121 (lambda ()
120122 (when (eq doc-buffer (current-buffer ))
121123 (apply 'call-process-region (point-max ) (point-min ) command nil output-buffer nil args)
122- (if (not (file-readable-p preview-temp-file))
123- (error " File not exists " )
124- (eww-open-file preview-temp-file)
125- (switch-to-buffer doc-buffer)))))))
124+ (unless (file-readable-p preview-temp-file)
125+ (display-buffer output-buffer)
126+ (error " File not exists " ))
127+ (eww-open-file preview-temp-file)
128+ (setq preview-buffer (get-buffer " *eww*" ))
129+ (display-buffer-use-some-window preview-buffer '((inhibit-same-window . t )))
130+ (pop-to-buffer preview-buffer)
131+ (with-current-buffer preview-buffer
132+ (goto-char (point-min ))
133+ (forward-line last-line)
134+ (message (concat (buffer-name ) " :" (number-to-string (line-number-at-pos (point )))))
135+ (setq last-line (1- (line-number-at-pos (point ))))
136+ (recenter )
137+ (message (number-to-string last-line)))
138+ (display-buffer doc-buffer)))
139+ )))
126140
127141(defun markdown-preview-eww-disable ()
128142 " Disable realtime preview for current buffer."
0 commit comments