Sublime Forum

Dev Build 2102

#1

Dev Build 2102 is out now. I’ve been on a holiday since the 2101 build, but between airports, planes and the New Zealand snow storm, there are a few features ready for 2102:

First up are a couple of much requested HTML / XML related features:

  • Expand Selection to Tag (Command+Shift+A for OS X, Control+Shift+A elsewhere). Pressing once will select the contents of the current tag, pressing more times will incrementally select more.
  • Close Tag (Command+Alt+. for OS X, Alt+. elsewhere). Inserts a closing tag.

I also had a chance over the holiday to get a bunch of things implemented for Vintage. It now supports text objects (for words, quotes, brackets and tags - see jeetworks.org/node/85 for examples), registers, macros, and bookmarks. Some of the fundamentals are now better behaved too, especially visual line mode, W and w, and a few corner cases, e.g., cw is now equivalent to ce, matching vi. While I hesitate to use the word complete, Vintage now supports a large amount of vim’s command mode functionality, ex commands excluded.

0 Likes

#2

Thanks for the update.

Btw, there is any chance by making the update process somehow automated on windows? On osx there is this update popup (restart & install the update or smth like that).

0 Likes

#3

Last time I looked into it the best option was WinSparkle (a project inspired by Sparkle, which is what’s used on OS X), but that didn’t support 64 bit apps, and doesn’t automate as much as Sparkle: it only downloads and starts the installer, you still need to click through it and restart manually. While writing a custom auto updater is an option, I’d prefer to avoid it.

0 Likes

#4

Oh, i didn’t knew is such a PITA.
Oh well… :mrgreen:

0 Likes

#5

There’s an issue in 2102 where the default caret_style setting was inadvertently set to “wide” rather than “smooth”. I’ll change it back for 2103.

0 Likes

#6

Oh boy. Nice release.

A couple of gotchas: I think both Zen and Alignment packages have Ctrl+Shift+a bindings. My did at any rate. So you might need to change your bindings to suit. Note that Zen kind of already does the new Ctrl+Shift+a action with the Ctrl+Shift+t and Ctrl+Shift+n bindings.

Loving the new Vintage text objects. With these it feels like I can start using it properly now. Thanks Jon.

0 Likes

#7

Regression. File edited externally is scrolled to the top. This was previously reported by someone but it’s still a problem so here it goes again:

  1. Open some file that has enough content so that it can be scrolled.
  2. Scroll it to the bottom for example.
  3. Open new ST window (command + shift + N or equivalent)
  4. Open same file in this new window
  5. Modify file and save.
  6. Switch back to first window.

Expected: Scrolled position to be retained.
What happens: File is scrolled to the top.

I think this bug was introduced somewhere around the time when loading indicator was added but not sure.

0 Likes

#8

rhcl: pre-2081, when a file was reverted, the selection was reset, but the scroll position was maintained. Post-2081 both the scroll position and selection are reset when a file is reverted. I’d like to handle maintaining both of these properly - the previous behavior of maintaining the scroll position was a pleasant side-effect, rather than something that was working by design.

0 Likes

#9

Thank you the update, hope you’re having/had a good trip. I have one thing I found a few days ago in vintage mode. If you press shift + V on a line to highlight it and then press up to highlight the lines above, the original line you had selected becomes unselected. If you do this in reverse it works just fine, i.e. selecting a line then hitting the down arrow.

Many thanks!

p.s. the true VIM nature is when you press ctrl + v it highlights that entire line, letting go of the keys that line is still highlighted then pressing up or down it will selected the entire line again in what ever direction you press until you stop hitting up or down.

0 Likes

#10

Some minor things re: vintage mode I’ve noticed:

  • Using r to replace a character shouldn’t advance the caret to the next character.

  • Inside of a tag (or brackets), vitd and dit should behave like vitx and not the same as vatd or dat; that is, they shouldn’t delete the outer tag.

  • vit should select the contents inside of a tag when the cursor is on the closing tag; it does this correctly when the cursor is on the opening tag.

  • alt-w should be act as a text object so that things like vi work.

  • When using multi-carets, registers are still global; so yank is pretty much useless. I’m not sure sure what the best implementation is here; maybe clone all registers when entering multi-caret, but when anything is put into the registers only make the changes to that caret’s registers. That’s more or less how / work.

0 Likes

#11

Small issue when working in JSP’s with vintage:
When doing CIT with the sweet new Text Objects, If the cursor is in curly brace scope, the tag selection seems to go to the closest parent tag outside of the curly braces, instead of the correct tag.
Underscore is where the cursor is.

[code]

_ <% if (someCondition) { %> _ <% } %>
asdf
[/code]
0 Likes

#12

I’ve been seeing a lot of artifacts on the screen today. Typically it appears to be cursors or indent guides in the middle of my text. They stay there when I select text and scroll and edit the document. I tried to take a screenshot of it, but then they went away :frowning: . So, yea, I don’t know if you’ve made any changes recently that might have caused it. It seems fairly rare, but I’d point it out anyway.

0 Likes

#13

Nice work

0 Likes

#14

Anyone else get bad indenting with Lua’s “elseif”? http://www.youtube.com/watch?v=6zc_n4xIAHs)

0 Likes

#15

Introduction of the vintage mode is what made me switch completely to Sublime Text on Linux. Thank you for this wonderful piece of software!

Is there a chance seeing Sublime Text parse my .vimrc in the future? At least the key bindings. Right now I’ve set one of my absolute favorites, “jj” for exiting insert mode, in the plugin’s keymap:

[code] { “keys”: “j”, “j”], “command”: “exit_insert_mode”,
“context”:

		{ "key": "setting.command_mode", "operand": false },
		{ "key": "setting.is_widget", "operand": false }
	]
},[/code]

Yet, it would be a pain to translate all of my .vimrc and I’m not sure everything is possible.

0 Likes

#16

The newest version of Alignment provides an additional alternate key binding that doesn’t conflict with expand selection to tag. In a future release I intend to remove the ctrl+shift+a/cmd+shift+a key bindings and just leave the newer ones.

0 Likes