Very nice find tito, Iāve been looking for something similar. Thanks!
BufferScroll
I get a bit of āspamā in the console when I use your plugin (ST 2, v2165 portable):
app ready
pre session restore time: 0.277987
Traceback (most recent call last):
File ".\sublime_plugin.py", line 211, in on_deactivated
callback.__module__, "on_deactivated", EVENT_TIMEOUT)
File ".\sublime_plugin.py", line 155, in run_timed_function
ret = f()
File ".\sublime_plugin.py", line 210, in <lambda>
run_timed_function(lambda: callback.on_deactivated(v),
File ".\BufferScroll.py", line 33, in on_deactivated
File ".\BufferScroll.py", line 77, in save
AttributeError: 'View' object has no attribute 'folded_regions'
wrote startup cache, added files: 2 orphaned files: 3 total files: 127 cache hits: 125
startup time: 0.362697 (package setup was not run)
loaded 941 snippets
Traceback (most recent call last):
File ".\sublime_plugin.py", line 211, in on_deactivated
callback.__module__, "on_deactivated", EVENT_TIMEOUT)
File ".\sublime_plugin.py", line 155, in run_timed_function
ret = f()
File ".\sublime_plugin.py", line 210, in <lambda>
run_timed_function(lambda: callback.on_deactivated(v),
File ".\BufferScroll.py", line 33, in on_deactivated
File ".\BufferScroll.py", line 77, in save
AttributeError: 'View' object has no attribute 'folded_regions'
I have several files open but none of them is a duplicate (e.g. via āclone fileā) of each other.
Regards,
Highend
Hi,
I have these lines with v2012.01.18.09.38.14, there isnāt any newer version available.
Regards,
Highend
You say you have version 2165 of portable edition.
Can you please open the console and paste the output of the following:
sublime.version()
Itās crazy because the line your are quoting is for greater versions.
github.com/SublimeText/BufferSc ā¦ oll.py#L76
Thanks
I think the package is outdated. Or Iām not seeing something very obvious.
Can you check if the file
github.com/SublimeText/BufferSc ā¦ rScroll.py
is the same to āPackages/BufferScroll/BufferScroll.pyā
Regards
Yes, they are identical (checked with Beyond Compare).
Maybe itās the āuā in front of the ā2165ā version number, that confuses your version check?
Regards,
Highend
Ok I see the error downloading your version.
sublime.version() returns a string instead of an int, and the check for version fails.
Fixed. Thank you
Thatās, IIRC this version checking was working on previous versions, tested with SideBarEnhancements.
Confirmed, itās fixed. Thank you!
Is it normal that it reloads itās settings file (./Data/Packages/User/BufferScroll.sublime-settings) on each tab change / clicking on a file in the sidebar (just for the preview, not via doubleclick to load one)?
Regards,
Highend
Yes, because the application is not sending or do not want send some āeventsā such:
1 - Closing the application
2 - Closing a project
3 - Opening a project
Sorry for the message I have no control over that.
Regards,
A little bit, yeah but anyway, I have to live with that. Thanks again for fixing this little ābugā so fast and for your kind responses!
Regards,
Highend
The plugin doesnāt work correctly in the following scenarios.
Scenario 1:
- Open some file
- Mess with it, make a syntax error
- Scroll a few screens away
- Close the file, so that BufferScroll remembers the position from #3
- Compile the project
- On the build screen hit F4
- The file opened during #1 will be displayed and correctly positioned at the syntax error, but then BufferScroll will restore the position #3
Scenario 2:
- Open a file
- Scroll somewhere
- Modify the file in an external application
- Sublime reloads the file in the background
- After switching to Sublime I see a view positioned at the first line of the file
Scenario 1:
Works as expected. If there some way to āknowā the file is opened via ābuild screenā Iām happy to add the exception.
Scenario 2:
Will take a look, thanks for reporting.
Regards
Hereās what I implemented for myself: github.com/xeno-by/dotsublime/b ā¦ rScroll.py. Itās freaking ugly, thatās why I didnāt make a pull request, but it works for me, and it solves both problems.
Actually, using on_activate doesnāt play well with overlays. When I press Ctrl+G, type the line number and press Enter, Sublime fires on_activate which cancels the effect of Ctrl+G. Okay, this thing needs more workarounds.
Hereās yet another dirty hack: github.com/xeno-by/dotsublime/c ā¦ 6ec#diff-0.
Now I utilize the fact that overlays never show up in window.views(), despite the fact that opening an overlay fires on_activated with an overlay view as an argument (so, overlays do have underlying views). This fact can be used to filter out and ignore on_activated of a real view that happens after quitting an overlay.