Developing for Pulsar
Community packages extend, customize, and improve the features of Pulsar. The authors of community packages are part of the amazing community that makes Pulsar such a great editor.
There are few limits to what a package can do! If something can be done in Node or in a web browser, it can be done in Pulsar, since Pulsar has access to both of these ecosystems.
Most of the ways you can customize Pulsar can be bundled and distributed as a package. A typical package will perform exactly one of the tasks listed below, and occasionally may perform more than one:
- add a new user interface to Pulsar
- support another package by providing data to it (via a service)
- add a syntax theme
- add a UI theme
- add one or more language grammars
-
Developing a package
Reference documentation for how a package works, including thepackage.jsonfile. -
Package: Word count
Creating your first package. -
Package: Modifying text
Creating a more advanced package that hooks into the text-editing process. -
Package: Active editor info
Creating a package that adds a view to the workspace. -
Developing a theme
UI themes versus syntax themes and strategies for developing each kind. -
Creating a grammar
An overview of the grammar ecosystem. -
Creating a grammar (modern Tree-sitter)
A reference for the brand-new Tree-sitter system. -
Creating a grammar (legacy Tree-sitter)
A reference for the original Tree-sitter system from the Atom days. -
Creating a grammar (TextMate)
A reference for the classic TextMate-style grammars present in Atom since its beginning. -
Creating a grammar (converting from TextMate)
Creating a TextMate grammar by converting a grammar written for TextMate itself. -
Publishing
Publishing your package to the repository. -
Maintaining your package
Putting out new releases of your package. -
Iconography
Using the icons present in Pulsar. -
Writing specs
Proving your code is correct. -
Handling URIs
Responding to theatom://URL scheme.