Architecture overview
main process
- Emitting a ton of events
- Managing state (current application, window, url of the browser tab, etc.)
- Loading user settings and code
- Managing packages
- Generating grammars
- Listening for and executing commands
- UI
packages
code grouped by domain/application/some kind of logic.
Package could, but is not limited to, define one or many
some of the larger packages (atom, chrome) run lots of support code which allows for tight integration with their respective applications.