Sublime Forum

Sublime Text X 20101208

#1

20101208 is out now. It’s mostly a collection of smaller changes that make using Sublime Text X a fair bit more pleasant: syntax, indentation, and line ending settings can now be set, amongst other things.

The file change detection (i.e., notification when a file you’re editing has been changed on disk) works a bit differently to Sublime Text: if the changed file doesn’t have any in memory changes, then it’ll be automatically reloaded without prompting.

0 Likes

#2

Previously I haven’t been able to do much testing but the indentation and syntax additions make this nearly usable for me. Once STX has the keyboard-friendly multi-select abilities of Sublime 1.x it’ll be golden.

0 Likes

#3

I encountered a strange bug that I’m not sure I can reproduce:
I got Sublime Text X into a state where typing characters produced no output until the delete key was pressed, at which point all the characters (except the last deleted one) suddenly appeared. The way I got it out of this state was by hitting undo, at which point something back in the undo stack (before I typed all these characters) was undone. It made me think that somehow the undo stack got in a strange state that prevented me from typing…?
I’ll let you know if I encounter it again.

In OS X, I use option+backspace to delete the previous word. When I press this in Sublime Text X, the console says:
“no command for selector: deleteWordBackward:”
I edited the keymap file, but I had to restart the program for the changes to take effect.

Can indentSubsequentLines optionally indent the lines further than the parent line? (i.e., hanging indent)

Thanks! This is looking really great.

0 Likes

#4

Hello there, i have an issue with this new version, it’s while editing files i mean i set STX as the default editor on filezilla, i select Edit option in filezilla and STX opens the file, everything good, now when i go to another file and select Edit option, it opens the file in a new window instead of a buffer in the same window. Now while replicating i found another bug, when I have at least one file open and i press: ctrl+right shift+o (to select a buffer) the buffer window opens and if i press up arrow or down arrow to select a buffer STX closes completely, well sorry if my english is not good but i’m mexican and i’m still learning english… well, congratulations for this wonderful software and thanks for making a version to use under gnu/linux, this is just great! :smile:

…by the way, i’m using Ubuntu 10.10 32bit

0 Likes

#5

I’m running into a bug on OS X 10.6.5 with fullscreen and keyboard focus in this build. Whenever I go fullscreen and use cmd-p to open a file in project, I lose all keyboard focus in the app. I can’t see the caret when this happens, and have to quit and restart the app for it to be usable again.

Might be worth noting that most of drop downs in the menubar seem to be unpopulated when the app is stuck in this state.

Also, really excited to see an OS X port of Sublime! I’ve been wishing for this for years, and it was the only reason I didn’t purchase earlier. Kudos!

0 Likes

#6

20101208 is out now, which should address the above issues.

Sublime Text X should now support all the multiple selection related key bindings that Sublime Text does, bookmarks excepted.

hnrch: On Linux, running the Sublime Text X binary multiple times will result in multiple processes, unlike Windows as OSX. I am planning to address this in the future.

0 Likes

#7

Yep, that fixed the fullscreen issue. Awesome.

0 Likes

#8

Jon,

Are package menu’s going to be supported soon? This is really all I really need to get my 1.x packages converted over to X, and would love to get rolling on that. Obviously, I could so most of what I want now, and just assign the keybindings, but the menus are a great way for documenting methods, as well as showing the associated key bindings.

On that note, is there gonna be something in X/2.0 that will allow keybindings and package menus to be specified in a single file? Really, just being able to specify a key binding in a menu item definition rather then in the keymap file is what I’m hoping for…

Thanks,
Greg

0 Likes

#9

Sublime Text X is getting better every day! It’s exciting to see it coming along. :smile:

I think the handling of moveToEndOfParagraph: and moveToBeginningOfParagraph: might be wrong, because ctrl+e, ctrl+a, and option+up and +down don’t work correctly (they move to the beginning and end of the file).

Also, I got the following errors while trying out system shortcuts:
no command for selector: noop:
no command for selector: moveParagraphForwardAndModifySelection:
no command for selector: moveParagraphBackwardAndModifySelection:
no command for selector: transpose:
no command for selector: insertTabIgnoringFieldEditor:

A couple requests:
Could the default keybinding of super+shift+up for switch_file be changed in OS X? This is mapped by default to moveToBeginningOfDocumentAndModifySelection: in the OS.

It’d be really sweet if we could use alt+left to move through words like normal, but also had another command to move through “sub-words”, if you will. E.g., in the case of the word foo_bar, alt+left skips over the whole word, but if we could use ctrl+left, say, to do the following, it’d be awesome:
|foo_bar
ctrl+right:
foo|_bar
ctrl+right:
foo_bar|

And also this:
|fooBar
ctrl+right:
foo|Bar
ctrl+right:
fooBar|

0 Likes

#10

Thanks a lot Jon! buffer selector is fixed, but select_lines command not working on Ubuntu yet.

0 Likes

#11

Thanks for your continued work on this! I’m particularly looking forward to a full OS X version.

I know you are working on adding features gradually, one thing that would help me be more productive using it is the middle button select. You know, clicking the scoll button to do column highlighting, etc. I tend to do that a lot, love that feature.

Also, any way to hide the minimap? The position change throws me off a bit, and I’d like to hide it - I tend to not use it anyway since I can’t click on it to jump around.

0 Likes

#12

select_lines works, but on Ubuntu the window manager eats the ctrl+alt+arrow keys combination; it just needs a different key binding.

You can column select using shift+right mouse button drag (works under Sublime Text 1.x too). The middle mouse button is already spoken for under X windows, which is why I’m no longer using it for column select.

There’s no way to hide the minimap yet, but there will be in the future.

0 Likes

#13

Oh no! I’ve become addicted to using the middle button… any chance you could support an option to map the middle button to shift-click for those not using Xwin?

0 Likes

#14

Some bugs in build 20101210:
[ul]
[li] Sublime crashes then continues to crash indefinitely, until I delete Session.sublime_session. I tried to diff and track down what’s causing it, but couldn’t. All the crashes seem to be one of the following four stack traces, though:
[list]
[] d.pr/m1dD[/li]
[li] d.pr/ZJax[/li]
[li] d.pr/SRre[/li]
[li] d.pr/U5uv[/li][/ul][/
:m]
[li] Clicking on a file in the project section of the sidebar opens it, but doesn’t actually add it to a group. The file is not closeable (you have to switch to another file).[/li]
[li] Similar bug with multiple columns. When opening a file using cmd+p or cmd+shift+o, the files are previewed while you are typing. If a file is previewed in column 1, but the final file that you open opens in column 2, the previewed file is left open in column 1, and is not closeable.[/li]
[li] Fullscreen window doesn’t react to resolution changes. This shows up most often when I close the laptop at home, then go to work and plugin an external monitor – window is in fullscreen mode but not fullscreen.[/li]
[li] cmd+a doesn’t work to select all the text in the quick file open popups.[/li][/list:u]

0 Likes

#15

That’s a feature, not a bug. It allows you to browse files in a project without cluttering your list of open files. To add the file to the list of open files, either double click instead of single click, or start editing.

0 Likes

#16

[quote=“noonat”]Some bugs in build 20101210:

  • Sublime crashes then continues to crash indefinitely, until I delete Session.sublime_session. I tried to diff and track down what’s causing it, but couldn’t. All the crashes seem to be one of the following four stack traces, though:
    [list]
    *] d.pr/m1dD

  • d.pr/ZJax

  • d.pr/SRre

  • d.pr/U5uv
    /*:m][/list:u]
    [/quote]

Thanks for the crash reports, by the way. I know what’s going on with one of the four, but the others I’m not immediately sure about. If it happens again, and you aren’t editing any sensitive files (the contents of every modified file is stored in the session), would you be up for email the .sublime-session file to me?

0 Likes

#17

[quote=“sublimator”]Look at the new API, it seems commands are referencing ‘self.view’ which implies having a command instance per view.

def create_text_commands(view):
    cmds = ]
    for class_ in text_command_classes:
        cmds.append(class_(view))
    return cmds

class TextCommand(Command):
    def __init__(self, view):
        self.view = view

Can you give us some info on the life cycle of commands in X? I’m interested to know the reasoning behind this change. Does each view get every command primed for it at ‘some point’?[/quote]

Yep, there’s one instance of the command per-view. They get created for a particular view the first time any command is run on that view. The reasoning is simply because that’s how things work within the C++ UI toolkit (aka ‘hydra’), so it makes things a little simpler this way. I think that if you do need to write a stateful command (to be avoided where possible, so that the command works properly with macros), life is a bit simpler this way, compared to having only global state available.

0 Likes

#18

Ah, that’s cool. I guess it just felt like a bug because the normal action to get rid of a buffer I don’t want (cmd+w, for me) didn’t do anything… so it felt “stuck” there.

Will do.

0 Likes

#19

[quote=“jps”]
Yep, there’s one instance of the command per-view. They get created for a particular view the first time any command is run on that view. The reasoning is simply because that’s how things work within the C++ UI toolkit (aka ‘hydra’), so it makes things a little simpler this way. I think that if you do need to write a stateful command (to be avoided where possible, so that the command works properly with macros), life is a bit simpler this way, compared to having only global state available.[/quote]

Makes sense, but what if a particular command needs to maintain a single state for a file or a whole window, what would be the best way to achieve this?

0 Likes

#20

I’ll add it to the todo list.

  • For state associated with a single view, use object scoped variables in the command
  • For state associated with a single buffer, either use the regions API if appropriate, otherwise store in a (global) buffer id keyed dictionary
  • For state associated with a window, use a (global) window id keyed dictionary

Window ids aren’t yet present in the X api, but they will be in the future.

0 Likes