We’ve been hard at work on the next version of Sublime Text, and wanted to give you all a preview while we finish things up for the public release:
Been using it on all my boxes for a bit.
Looking forward to the official release!
Does ist contain built-in support for language servers?
It does not, but there’s been a lot of effort to improve the plugin API specifically for the community LSP plugin which has been continuously developed alongside ST4.
I switched to ST4 for the improved LSP support and I am thrilled with that.
However my main plugin “Emacs Pro Essentials” has some errors that I do not understand.
Is there any improved documentation for this version? And … when you go into alpha or beta, will there be a place to ask plugin questions for people trying to move plugins over to ST4?
We do have ST4 docs available on the Discord server.
Bugs reports of things breaking from ST3 to ST4 would be very helpful. We’ve tried pretty hard to make sure things stay working.
Can you help me … figure out how to … OK - what is the Discord server!?
I decided to use google … seems to have worked …
sublime text 4 also does not support native interactive builds (python)
You can always use
Terminus to make any build system interactive.
thx , but the problem is that in a classroom without an internet connection I can’t find a method to install terminus (offline)
I’d probably recommend using the terminal emulator that comes with the OS then. PowerShell is decent on Windows, Terminal on Mac and your desktop environment’s terminal on Linux.
I feel like this teaser does a poor job of generating anticipation. Presumably people at Sublime HQ have been working on more substantial things than themed title bars or small annotations beside definitions in the 1.5 years since the last major release. Well, what are they? Or is this mostly an API-focused update?
There are also some counterintuitive things going on with the teaser itself. I can’t imagine a single use case where I initiate autocomplete, then use the mouse to click on an unwieldy link to go to definition, when the alternative of just completing the thing and pressing F12 to go to the definition is just tremendously faster.
Sublime already does the presumably hard work of indexing definition locations. Why not go one more step further and index the whole signature, and include that in the auto-completion panel? You don’t need an excessive amount of additional data to get the extent of the signature, and that would be an actual improvement.
You can view the full changelog for each dev release here
Of course, the preview just contains a small, important sample of work done during the dev cycle. Including all of the changes would probably make the preview unwieldy.
There have as usual been a ton of changes towards API (adding more to it, improving the existing endpoints), syntax definitions (non deterministic parsing, inheritance, numerous other fixes not to mention the community maintained
Packages that has been constantly updated almost every other dev release) and much more.
This is just a little teaser of some of the visual things that are digestible in a short video that is appropriate for the attention span of social media.
We’ve got a pretty huge list of new features, improvements and bug fixes spanning the gamut of what Sublime Text does. Trying to put those into a video would be a really poor way to present the info, and we aren’t looking to share the entire list yet, unless users are interested in engaging in our limited beta on Discord.
Please visit the Discord server and join the beta if you are a licensed user to preview ST4.
There is a key binding - f12 that works also. Not everyone is a keyboard user. Showing via the mouse makes it a little more clear what is going on.
You are welcome to contribute to the syntax definitions to make it possible to extract structured work out of syntax definitions. Or, alternatively there is the LSP package that provides more IDE-like features if that is what you are going for.
The main thing highlighted here is that we are indexing and exposing more info, in such a way that it will “just work” using the built-in and third party syntaxes. We actual present all of this info via the API also.
As we prepare for the public launch, we’ll be working on taking the huge list of changes and trying to distill it into a more easily consumed format.
@wbond : Thanks for your response. Your comment was helpful in that I wasn’t actually aware that I could be extracting full function signatures through syntax definitions alone, because as far as I can tell the Sublime API only returns single points when queried for symbol locations, not a begining and end tuple. I will have look into how that works some point.
I look forward to the full announcement.
Sublime Text doesn’t have an API for that currently because the syntax definitions don’t have consistent scoping of this info. The index would be used to look up the symbol location, and then if we had a consistent scoping that we applied across the default syntaxes, then we could provide helpers to extract the signature.
Hence, the first step is to help contribute to making the default syntaxes more consistent in this regard, and then we can work on providing the tooling.
Most of our built-in smarts are created by building on top of the existing syntax definitions. The new info about symbol kind and language is extracted using exactly that existing info. The APIs for symbols have been augmented to provide the info we are grabbing to plugins.