Sublime Forum

20091114 Beta

#8

:astonished: You are releasing tomorrow’s build today!!!

Confirmed crashes fixed here. Cheers!

0 Likes

#9

Luckily, it’s already the 15th here in Sydney, so I won’t have to power on the time machine :slight_smile:

Forgot to mention: Ctrl+Enter in the final panel will insert a newline. The find panel can now be resized to show more lines, if required.

0 Likes

#10

YMMD, literally. :smiley:

0 Likes

#11

New find panel is great! http://forums.disenteria.ru/style_emoticons/default/up.gif

How about multi line in replace panel? http://forums.disenteria.ru/style_emoticons/default/mol.gif

0 Likes

#12

the find panel is really cool!

the multiple line options is also very blessed :smile:

0 Likes

#13

Hm… Wrapping selection with tag+tab now not working (HTML).

For example, select some text, type tag and press tab, should have:

<strong>Some text</strong>

But now have only this:

<strong></strong>

:frowning:

0 Likes

#14

Almost, I’ll expose it properly for the next beta

0 Likes

#15

It’s Alt+Enter now

0 Likes

#16

I am the only one who have this problem? http://forums.disenteria.ru/style_emoticons/default/fingal.gif http://forums.disenteria.ru/style_emoticons/default/upset.gif

0 Likes

#17

[quote=“ilya”]

I am the only one who have this problem? http://forums.disenteria.ru/style_emoticons/default/fingal.gif http://forums.disenteria.ru/style_emoticons/default/upset.gif[/quote]

i can confirm that.

0 Likes

#18

Hi, Jon. I have a few points;

First, I like the new panel. It seems more coherent to collapse them into one. I only ever used incremental search anyway. I also like the visual style of the outlines; it’s nice to see what’s coming. Is it possible to change the colours here? They are a little hard to see with my colour scheme and I’d like to highlight them a little more. The tmTheme files support a customisable ‘selection’ property, like this

		<dict>
			<key>settings</key>
			<dict>
				<key>selection</key>
				<string>#0000dddd</string>
			</dict>
		</dict>

Is there one for these ‘pre-found’ regions?

Second, I’ve got ctrl+i burned into my brain now, though, and it’s the same mapping I use in Visual Studio, so I’m trying to re-establish the the old mappings. I’m almost there, but haven’t found the perfect match yet. For those who want to copy, this seems to be working pretty well for me;

  <binding key="ctrl+i" command="showPanel find"/>
  <binding key="ctrl+i" command="findUnder">
      <context name="isPanelVisible" value="true"/>
  </binding>

Only problem is the ‘isPanelVisible’ context seems a bit broad, and will work if you’ve got, say, the replace panel open. The context

<context name="option" value="isFindWidget"/>

Doesn’t work as I expected, because when you do the find, the focus moves into the main window and I think the isFindWidget option is set to false; this means that hitting ctrl+i over and over does this;

find window/next match/find window/next match

rather than

find window/next match/next match/next match

Third, I’m guessing the find/replace panel is going to be updated to be incremental too? The ability to see what’s going to get found/replaced would be really nice.

Lastly, (I promise,) is the question of what appears in the panel when you open it. The current behaviour seems to be to fill it with the current selection. I don’t know if it’s always been like that, but thinking about it now I wonder if it might be nicer to leave it with whatever it had in there last time. It’s worth noting that when I have a regex in the box (say, ‘l…’) and that happens to have selected the word ‘like’, when I re-open the panel it is now searching for the literal ‘like’ and not my original pattern ‘l…’. This can destroy possibly hard-crafted patterns, so I’d prefer that panel to keep whatever content it had before.

That’ll teach you to ask for feedback.

0 Likes

#19

First up, the easy ones:

  • Colours aren’t configurable, but I’ll change that for the next beta
  • Plan is to give the replace panel a similar makeover, to preview the search results and allow multi-line inputs

re: what slurping up the selected text when opening the find panel, I think you’re right, that’s generally the wrong thing to do. I think having a separate key binding to copy the current selection into the find buffer would be better.

imo, there are a few situations where the find panel behaviour is debatable:

  • What should happen when you press enter? Currently, it goes to the next match, where the incremental find panel closed the panel.
  • What should happen when pressing ctrl+f (or whatever it’s bound to) again when the find panel is already open and focussed? Currently it closes the find panel, where as with the incremental find panel it did a find next.
  • What should happen when it’s initially opened: start empty, start with the selected text, or start with the last text. Currently it uses the selected text; the incremental find panel always started empty.

Changing key bindings alone can’t cover these options properly, so I’ll likely make them explicitly configurable. What the defaults should be is still up in the air though.

0 Likes

#20

I suspect this will be the zen coding plugin, tag+tab will work out of the box with a clean packages directory.

0 Likes

#21

Perfect. Thanks.

Sweet.

Personally, I’ll probably just ctrl+c, ctrl+i, ctrl+v (cut, find, paste) to get it in.

For reference, both Visual Studio and emacs work in the same way. VS stops the incremental search mode and retains the selection. Emacs ‘isearch-forward’ does the same; hitting enter sets the mark at the start of the selection and the point at the end, and quits the incremental search mode. My preference (just so I don’t have to switch mental models) is for ST to work the same.

Next match.

last text, but with it highlighted so I can overtype it immediately.

0 Likes

#22

I believe Sublime already does this but with some annoyances I wanted to toss out there. The bracket matching and such works inside the find panel. When I try to do a new a find and overtype whatever I was last searching for with an open parenthesis for instance, it encases what was already there in parentheses which can be annoying.

Unrelated to overtype, but also related to bracket matching in the find / replace panels is with regex. A lot of the time I go to enter capture groups or literal parentheses and if I’m already in a capture group the bracket handling likes to eat them if I’m trying to type the same bracket next to each other. So I find myself having to double tap the key often to get it to insert one.

An option to disable bracket matching in the find / replace panels would be great.

0 Likes

#23

Just checked. Last beta where wrapping was working is 20091029. All next betas (20091108, 20091113, 20091115) has this regression.

0 Likes

#24

[quote=“sublimator”]The bindings were each set up with
specifically to avoid this problem.[/quote]

Ah, I see that now… it seems that after the changes to regex key bindings a few betas ago, that context isn’t enough. The basic rules, as they’re implemented are:

  • A sequence key binding must have all its contexts match every step of the way.
  • However, if multiple sequence key bindings share the same prefix, then as long as one of them has its contexts match for the current input, then all bindings get to stay in contention.

So for the input “b,tab”, when the initial b is typed, the normal HTML binding has its contexts match, so both it and the zenHTML binding remain in contention, then when tab is pressed, the selection has been overwritten with “b”, and is thus empty, so the zenHTML binding is now allowed to proceed.

The correct behaviour here is fairly clear, but implementing it going to be fairly complex… anyway, I’ve added it to the todo list.

0 Likes

#25

If this problem will be resolved without temporary hacks, then I am ready to wait, that would not waste your time on temporary solutions :wink:

0 Likes

#26

this is the binding I’m using;

  <binding key="ctrl+shift+i" command="findUnderPrev">
    <context name="isPanelVisible" value="true"/>
  </binding>
0 Likes

#27

[quote=“jps”]

[quote=“sublimator”]The bindings were each set up with
specifically to avoid this problem.[/quote]

Ah, I see that now… it seems that after the changes to regex key bindings a few betas ago, that context isn’t enough. The basic rules, as they’re implemented are:

  • A sequence key binding must have all its contexts match every step of the way.
  • However, if multiple sequence key bindings share the same prefix, then as long as one of them has its contexts match for the current input, then all bindings get to stay in contention.

So for the input “b,tab”, when the initial b is typed, the normal HTML binding has its contexts match, so both it and the zenHTML binding remain in contention, then when tab is pressed, the selection has been overwritten with “b”, and is thus empty, so the zenHTML binding is now allowed to proceed.

The correct behaviour here is fairly clear, but implementing it going to be fairly complex… anyway, I’ve added it to the todo list.[/quote]

Any news?
:frowning:

0 Likes