Sublime Forum

20091114 Beta

#7

Crashes arenā€™t much fun, so Iā€™ve just released 20091115 which should fix the above issues. Letā€™s all pretend 20091114 never happened :slight_smile:

0 Likes

#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