sublime_diagram_plugin
sublime_diagram_plugin copied to clipboard
Reload in same Viewer
Any way to reload the resulting PNG in the same viewer window. In this case the PNG can also be overwritten IMHO. Would be better in fast iteration developing mode.
Unfortunately, this is difficult to do automatically for Preview. I'm fairly sure it would require AppleScript (at least) and it would likely be buggy.
I'll leave this open for now, but I'm not sure how best to do this.
That said, comments / patches are welcome.
Actually, it looks pretty easy. You can replace the contents the file Preview is currently displaying and it will re-render. The problem is how to handle the case of multiple diagrams
being displayed at once. I could see the algorithm being something like:
if len(last_diagrams) == 1 and len(diagrams) == 1:
reload(diagrams[0])
if lastlen != 1 and thislen == 1:
????
What's the right thing to do there?
It'll automatically reload, sure (kpdf does the same thing). However, how to tell if it's already open? What if they closed it?
Preview is Mac-only, so the solution doesn't have to be portable. But I'm not clear on how to ensure there's an open Preview that's viewing what you want to reload, and I don't want to accidentally suppress times that we really do need to open a Preview again to accommodate the, IMO, less important "reload" case.
I can't verify right now, but doesn't calling Preview on the same file raise the window that's already open, meaning it's "free" to explicitly call it again?
A second question: how to uniquely distinguish diagrams so that rendering diagram B doesn't cause preview to replace the contents of diagram A that it was already displaying? It's easy when Diagram is rendering an entire file, but less obvious when Diagram is rendering a selection within a file.
I had appended a new feature to solve it.
When I use a title in a diagram ,and specified the<<sub-title>> in the title, it can generate diagram's filename instead of NamedTemplatefile.
https://github.com/homeway/sublime_diagram_plugin/commit/df74279fb5a3319fcdb30d816462624a765a48f4
#14 does indeed address this, though not quite to my liking. Mulling this one over.
Why you doesn't using Sublime Text as a image viewer? On generating new diagram use the same file that was already opened in another tab and ST will automatically reload this.
Has this been merged in? I can't get it to work with title <
@homeway FYI, I merged in a modified version your feature. It will come out in the next release. Basically, using a file named something like name.py:
title <<subname>> Some File
Will output name-subname.png and give you the title rendered as 'Some File'.
It should be on develop (as of jvantuyl/sublime_diagram_plugin@268f3a7344e49fff380bd3e3c2897318b59fc734).
@smwht When the next release comes out, title <<beep>> boop should work.
I don't quite understand how this works,
I have checked out the develop branch and
made a PlantUML diagram named name.py
and added title <<subname>> to the top.
However, when rednering, it still outputs unique png files
called name-nmg308.png,name-tvypyt.png, etc.
Is there something I'm missing it getting them always to overwrite the same file name?
OS X 10.9.5 SublimeText 3 (Latest)