Atom 1.31 is out, improving usage metrics, Tree-sitter, Tree view and providing more pull request details.
Tree-sitter grammars can now more reliably detect file languages based on the first line of content, enabling common detection scenarios like vim modelines or shebang lines without producing spurious identifications as easily.
All Tree-sitter grammars use their original TextMate scope names. This reduces the number of changes in user packages needed to transition to supporting Tree Sitter and eases the path to enabling Tree Sitter in Atom as the default grammar provider.
Tree View improvements
Tree View has received many improvements such as the ability to add project folders using drag and drop from your file explorer, support for dragging multiple items to move them, and adding custom styles for ignored files and directories. Git status for project folders is now reflected in the color of the project name. Keyboard navigation with arrow keys in the Tree View behaves more predictably with nested folders. Also,
hideVcsIgnoredFiles play nicely together.
Usage Metrics improvements
We have completely replaced Google Analytics. If you have opted in to usage metrics (thank you!) all data is now flowing through GitHub’s internal analytics pipeline instead. For more details on these metrics changes, check out this blog post.
- atom/metrics#100 RIP Google Analytics
More Pull Request details in the GitHub Package
The GitHub package displays the username, branch, and repository of each pull request in the pull request detail pane.
Furthermore, as a follow-up to the recent redesign of the GitHub tab, we have removed the “preview” suffix from its title.
Don’t forget to check out all the other improvements shipping with Atom 1.31 in the release notes!
Atom 1.32 Beta
Tree-sitter is enabled by default
Our improved parsing system, Tree-sitter, is on by default on our beta channel. Tree-sitter will bring more powerful syntax highlighting and improved fold behavior based on a full, asynchronous incremental parse of the source file, replacing the TextMate-based parsers that Atom has relied upon since launch for a select few languages. Initially, we’re supporting Bash, C, C++,
Tree-sitter has been available behind a configuration option for some time now, but we are now confident enough in its stability to use it as the primary grammar provider.
Special thanks to everyone who enabled it early and reported crashes and bugs. If you’d like to help us bring the power of Tree-sitter to more languages, check out the Tree-sitter documentation.
Significant RAM usage improvement
Thanks to some sleuthing by @maxbrunsfeld, Atom’s main and renderer processes now consume 45MB less RAM each!
To generate the V8 snapshot that substantially accelerates Atom’s startup time, we pre-process all source code with a tool called
electron-link automatically eliminates certain code constructs that wouldn’t work properly within the snapshot, but it also concatenates all of the source into a single string. V8 keeps the raw source around, along with some companion data structures to calculate line ending offsets, but we don’t use it anywhere. By minifying the source blob, we can greatly reduce its fingerprint in memory without losing any functionality.
There are many more details in the release notes.
Get all these improvements today by joining the Atom Beta Channel!