Atom 1.29


Atom 1.29 is out now, providing many new fixes and improvements including Tree-sitter performance improvements and co-author suggestions in the GitHub package.

Tree-sitter performance improvements

We’re making steady progress on Atom’s experimental new parsing system, Tree-sitter. This month we completed one of the last major steps on the road toward enabling Tree-sitter by default: all parsing is now performed on a background thread. This frees up more time on the main thread, improving Atom’s responsiveness and ensuring that parsing can never impact the frame rate:

tree-sitter async parsing demo

If you use one of the languages that Tree-sitter supports you can try it out by checking the Use Tree-sitter Parsers box in the settings view. And if you want to work on adding support for more languages, we’d love your help! Check out the Tree-sitter documentation for more information.

GitHub package improvements

The GitHub package now fetches co-author suggestions by querying the GitHub API for users that are mentionable in any of the remotes of the local repo. This allows you to autocomplete by GitHub username. You can also exclude individuals from future co-author suggestions by pressing Shift + Del when the author is highlighted in the suggestion list.

co-author username completion

Don’t forget to check out all the other improvements shipping with Atom 1.29 in the release notes! :memo:

Atom Beta

Atom 1.30 Beta

View and check out Pull Requests

The GitHub tab (open with Ctrl+8) shows the pull request associated with the current branch at the top. Underneath is a list of the most recently created pull requests. This lets you stay informed about new pull requests and keep an eye on their build status even when switching to another branch.

pr list

Clicking on a pull request in the list opens a pane from which you can read its description, follow its conversation, get more details about its build status, and even check out its source code. It’s a handy way to switch between branches that have pull requests without ever having to bother about the branch name.

checkout PR

If the current branch has no associated pull request, the GitHub tab offers you a button to push your current branch and create a new pull request on github.com.

open pr

Emojis in commit messages

The recent commit list now renders :emoji: in commit messages: :cake: :tada: :confetti_ball: Need inspiration for adding emojis to your commits? Here are some suggestions from the Atom team.

emojis

GitHub package metrics

To help us see what’s useful and what isn’t, for those of you who have enabled metrics :bow:, we are now collecting activity metrics for GitHub package usage. We’re also beginning to migrate our collection endpoint from Google Analytics to our own metrics pipeline. Moving forward, this will help us make more informed decisions about what capabilities are most used and which are less useful or less known.

New languages supported by Tree-sitter

Atom’s new parsing system, Tree-sitter (discussed above), now supports Ruby. It can also now handle files that contain multiple languages. So far, we’re using this capabilities to parse the following combinations of languages:

  • JavaScript inside of script tags in HTML files
  • JavaScript and HTML in .ejs files
  • Ruby and HTML in .erb files
  • HTML inside of certain template literals in JavaScript
  • HTML inside of certain heredocs in Ruby

Other language combinations are easy to add using the new experimental APIs described in the pull request. We’re now only a few features away from enabling Tree-sitter by default, at which point these APIs will be documented and stabilized.

There are many more details in the release notes.

Get all these improvements today by joining the Atom Beta Channel!