Pulsar logo and name, with text that reads, a new text editor.

Pulsar Project: A New Text Editor

  • Adam Douglas

Just over 11 months has past since I talked about the Atom Text Editor Project Ending. Since then the Atom project has now been archived, and new hope has been started with a fork of Atom called Pulsar. As I predicated I knew this would happen, and I wouldn’t surprise me if there will be a few more. When the community loves the software they use, it’s open source, and a demand for a new text editor builds people will come together to make it happen. Free open source software is the beauty of what allows for the freedom of choice to continue building off of what was previously existing.

Pulsar

The Pulsar project is quite new, however they now have a stable release of “the community-led hyper-hackable text editor” as they describe it. Every commit to the master branch of the Pulsar project is treated as beta according to “Maurício Szabo”, one of the maintainers. What we can see from the official website is hard work being done to communicate the project intentions. The text editor is available for the following operating systems, Linux (x86_64), ARM 64 (e.g. Raspberry Pi, Pinebook, etc.), macOS, and Windows. This related to being able to get the application via, Debian/Ubuntu package (deb), Fedora/RHEL package (rpm), Appimage, macOS (Intel/Apple M1/M2), Windows (setup/portable), and as an archive (zip, tar.gz). Seems to cover just about every major system, which is wonderful to see. What surprised me the most thus far is seeing manual instructions to build the binaries for various operating systems. Typically, in my experience this is found on the project Git website.

Screenshot of editing a document within Pulsar text editor with a tree view of files on the left.
Screenshot of Pulsar v1.104.0 x64, Arch Linux with GNOME v43.5

Features

Though the list of features shown is not uncommon in a text editor like this, I still thought it would be nice to see an overview.

Item Description
Archive Viewer Browse the contents of compressed archives (egg, epub, jar, love, nupkg, tar, tar,gz, tgz, war, whl, xpi, zip).
Block Folding Collapse and expand code blocks by using the mouse or keyboard.
Built-in Package Manager Search and install new packages or create your own right from Pulsar.
Command Line Control the application as well as manage packages from the command line.
Cross-platform Editing Pulsar works across operating systems. Use it on OS X, Windows, or Linux.
File System Browser Easily browse and open a single file, a whole project, or multiple projects in one window.
Find and Replace Find, preview, and replace text as you type in a file or across all your projects with regular expression support.
Markdown Preview A live preview/rendered text of Markdown (markdown-preview).
Multiple Cursor Selection Manipulate text on multiple lines or selections at once.
Multiple Panes Split the interface into multiple panes to compare and edit code across files.
Smart Autocompletion Pulsar helps you write code faster with a smart and flexible autocomplete (autocomplete-plus).
Snippets Quickly generate common code with a shortcut written in CoffeeScript Object Notation (snippets).
Spell Check Spelling will automatically be checked in text including plain text files, GitHub Markdown and git commit messages (spell-check).
Syntax Highlighting Code syntax highlighting with default support of C, C#, C++, Clojure, CoffeeScript, CSS, GFM, Git, Go, HTML, Java, JavaScript, JSON, Less, Make, Mustache, Objective-C, Perl, PHP, Property list, Python, Ruby, Ruby on Rails, Rust, SASS, Shell script, Source, SQL, Text, Todo, TOML, TypeScript, XML, and YAML.
Themes Easily customize the look and feel of the editor using themes.
Tree View Explore and open project files using a tree (tree-view).
Version Control Built-in version control with basic Git and GitHub integration.

Packages

By default, Pulsar comes with the following 46 packages (excluding 34 language packages).

Themes

By default, the 12 following themes are included.

Community

I’ve not gone in to the areas of community to see what activity is going on, but I’m happy to see a variety of options are already available. It’s wonderful to see that the project has chosen to be on Mastodon, which I will happily follow.

Support

For those interested in supporting Pulsar financially with a donation then feel free to check out their Open Collective page.

What’s Missing

I’ve been playing around with Pulsar for the past few days and here is what I’ve found missing thus far.

  • No built-in sort
  • No built-in clickable links
  • No multi syntax highlighting
  • No variable support for snippets

The ability to sort content to me is an important feature and should be available by default. However, this feature can be added by installing the sort-lines package.

I’ve found hyperlinks (links) are not clickable within Markdown and plain text files. I’m not certain if this affects all files, but it is quite annoying to not have this ability.

As for multi syntax highlighting, I’m referring to when editing a Markdown file that also contains HTML and YAML, only the Markdown receives the syntax highlighting. I hope this issue can be resolved.

Then there is code snippets, they are a very powerful feature that I’ve grown to love and not having access to variables within the snippets is quite a disadvantage. Hopefully this will be seen in the future.

Closing Thoughts

At this stage it all sounds promising, and nice to see another potential option available for text editors. Over time I hope to see this editor become more polished to provide a more enjoyable experience. With this said though I do have a concern of having the editor based upon the Electron engine. In my own personally experience I found it to be slow, and bloated. However, for all I know this could be just how it has been implemented into software I’ve used. Ultimately we will all have to wait, and see what becomes of this new community-led effort.

This is post 55 of 100, and is round 2 of the 100 Days To Offload challenge.

    • correct grammar
    • add clarity per Maurício Szabo's feedback
    • change 100DaysToOffload message
    • add more features
    • add what's missing
    • add default packages
    • add default themes
    • fix text related to time