potentially fixes view in same window
This commit is contained in:
@ -117,7 +117,7 @@ class OpenMarkdownPreviewCommand(sublime_plugin.TextCommand):
|
||||
|
||||
markdown_view.set_syntax_file(syntax_file)
|
||||
markdown_view.settings().set(
|
||||
MARKDOWN_VIEW_INFOS, {"original_window_id": original_window_id,},
|
||||
MARKDOWN_VIEW_INFOS, {"original_window_id": original_window_id, "preview_view_id": preview_view.id(),},
|
||||
)
|
||||
|
||||
def is_enabled(self):
|
||||
@ -162,7 +162,13 @@ class MarkdownLivePreviewListener(sublime_plugin.EventListener):
|
||||
if not infos:
|
||||
return
|
||||
|
||||
preview_view = markdown_view.window().active_view_in_group(1)
|
||||
preview_view_id = infos.get("preview_view_id")
|
||||
if not preview_view_id:
|
||||
return # Should not happen if setup was correct
|
||||
|
||||
preview_view = sublime.View(preview_view_id)
|
||||
if not preview_view.is_valid():
|
||||
return # Preview view was closed before loading finished
|
||||
|
||||
self.phantom_sets[markdown_view.id()] = sublime.PhantomSet(preview_view)
|
||||
self._update_preview(markdown_view)
|
||||
@ -177,7 +183,7 @@ class MarkdownLivePreviewListener(sublime_plugin.EventListener):
|
||||
if markdown_view.id() in self.phantom_sets:
|
||||
del self.phantom_sets[markdown_view.id()]
|
||||
|
||||
# don’t close the entire window—just let the user close the preview tab:
|
||||
# don't close the entire window—just let the user close the preview tab:
|
||||
# self.preview_window.run_command("close_window")
|
||||
|
||||
# find the window with the right id
|
||||
@ -243,7 +249,18 @@ class MarkdownLivePreviewListener(sublime_plugin.EventListener):
|
||||
total_region = sublime.Region(0, markdown_view.size())
|
||||
markdown = markdown_view.substr(total_region)
|
||||
|
||||
preview_view = markdown_view.window().active_view_in_group(1)
|
||||
infos = markdown_view.settings().get(MARKDOWN_VIEW_INFOS)
|
||||
if not infos:
|
||||
return # Should not happen
|
||||
|
||||
preview_view_id = infos.get("preview_view_id")
|
||||
if not preview_view_id:
|
||||
return # Should not happen
|
||||
|
||||
preview_view = sublime.View(preview_view_id)
|
||||
if not preview_view.is_valid():
|
||||
return # Preview view was closed
|
||||
|
||||
# Get viewport_width, default to a large value if view isn't ready
|
||||
viewport_extent = preview_view.viewport_extent()
|
||||
viewport_width = viewport_extent[0] if viewport_extent else 1024
|
||||
|
||||
Reference in New Issue
Block a user