mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-08-16 14:40:23 +03:00
62a35bccad
…especially syntax highlighting. This change brings in `morphdom` to allow us to be more efficient about how we apply the changes needed when the Markdown source re-renders. Instead of replacing all the content with every single change, we apply only the selective edits needed to adapt our existing markup to the target markup. Once this process is done, we introduce one `TextEditor` instance for each `pre` tag in the markup, then persist those editor elements in the rendered output so that we don't have to spend so much time creating and destroying editors. This is a _huge_ performance win, especially in documents with lots of code blocks. The editor instances are cached using the `pre` elements as keys, which is now possible because the `pre` elements themselves are preserved across re-renders. Editors are created when new `pre` elements appear, and are destroyed when they are no longer needed, change their contents whenever the contents of the `pre` changes, and change language modes whenever the code fence language identifier changes. This approach is now used no matter which Markdown renderer is employed; we manage syntax highlighting ourselves in all cases rather than letting `atom.ui.markdown` do it. |
||
---|---|---|
.. | ||
about | ||
archive-view | ||
atom-dark-syntax | ||
atom-dark-ui | ||
atom-light-syntax | ||
atom-light-ui | ||
autocomplete-atom-api | ||
autocomplete-css | ||
autocomplete-html | ||
autocomplete-plus | ||
autocomplete-snippets | ||
autoflow | ||
autosave | ||
background-tips | ||
base16-tomorrow-dark-theme | ||
base16-tomorrow-light-theme | ||
bookmarks | ||
bracket-matcher | ||
command-palette | ||
dalek | ||
deprecation-cop | ||
dev-live-reload | ||
encoding-selector | ||
exception-reporting | ||
find-and-replace | ||
fuzzy-finder | ||
git-diff | ||
go-to-line | ||
grammar-selector | ||
image-view | ||
incompatible-packages | ||
keybinding-resolver | ||
language-c | ||
language-clojure | ||
language-coffee-script | ||
language-csharp | ||
language-css | ||
language-gfm | ||
language-git | ||
language-go | ||
language-html | ||
language-hyperlink | ||
language-java | ||
language-javascript | ||
language-json | ||
language-less | ||
language-make | ||
language-mustache | ||
language-objective-c | ||
language-perl | ||
language-php | ||
language-property-list | ||
language-python | ||
language-ruby | ||
language-ruby-on-rails | ||
language-rust-bundled | ||
language-sass | ||
language-shellscript | ||
language-source | ||
language-sql | ||
language-text | ||
language-todo | ||
language-toml | ||
language-typescript | ||
language-xml | ||
language-yaml | ||
line-ending-selector | ||
link | ||
markdown-preview | ||
notifications | ||
one-dark-syntax | ||
one-dark-ui | ||
one-light-syntax | ||
one-light-ui | ||
open-on-github | ||
package-generator | ||
pulsar-updater | ||
settings-view | ||
solarized-dark-syntax | ||
solarized-light-syntax | ||
spell-check | ||
status-bar | ||
styleguide | ||
symbol-provider-ctags | ||
symbol-provider-tree-sitter | ||
symbols-view | ||
tabs | ||
timecop | ||
tree-view | ||
update-package-dependencies | ||
welcome | ||
whitespace | ||
wrap-guide | ||
README.md |
Core Packages
This folder contains core packages that are bundled with Pulsar releases. Not all core packages are kept here; please see the table below for the location of every core package.
NOTE: There is an ongoing effort to migrate more Pulsar packages from their individual repositories to this folder. See RFC 003 for more details.
Package | Where to find it | Migration issue |
---|---|---|
about | ./about |
|
atom-dark-syntax | ./atom-dark-syntax |
|
atom-dark-ui | ./atom-dark-ui |
|
atom-light-syntax | ./atom-light-syntax |
|
atom-light-ui | ./atom-light-ui |
|
autocomplete-atom-api | ./autocomplete-atom-api |
|
autocomplete-css | ./autocomplete-css |
|
autocomplete-html | ./autocomplete-html |
|
autocomplete-plus | ./autocomplete-plus |
|
autocomplete-snippets | ./autocomplete-snippets |
|
autoflow | ./autoflow |
|
autosave | ./autosave |
|
background-tips | ./background-tips |
|
base16-tomorrow-dark-theme | ./base16-tomorrow-dark-theme |
|
base16-tomorrow-light-theme | ./base16-tomorrow-light-theme |
|
bookmarks | ./bookmarks |
|
bracket-matcher | ./bracket-matcher |
|
command-palette | ./command-palette |
|
dalek | ./dalek |
|
deprecation-cop | ./deprecation-cop |
|
dev-live-reload | ./dev-live-reload |
|
encoding-selector | ./encoding-selector |
|
exception-reporting | ./exception-reporting |
|
find-and-replace | ./find-and-replace |
|
fuzzy-finder | ./fuzzy-finder |
|
github | pulsar-edit/github |
|
git-diff | ./git-diff |
|
go-to-line | ./go-to-line |
|
grammar-selector | ./grammar-selector |
|
image-view | ./image-view |
|
incompatible-packages | ./incompatible-packages |
|
keybinding-resolver | ./keybinding-resolver |
|
language-c | ./language-c |
|
language-clojure | ./language-clojure |
|
language-coffee-script | ./language-coffee-script |
|
language-csharp | ./language-csharp |
|
language-css | ./language-css |
|
language-gfm | ./language-gfm |
|
language-git | ./language-git |
|
language-go | ./language-go |
|
language-html | ./language-html |
|
language-hyperlink | ./language-hyperlink |
|
language-java | ./language-java |
|
language-javascript | ./language-javascript |
|
language-json | ./language-json |
|
language-less | ./language-less |
|
language-make | ./language-make |
|
language-mustache | ./language-mustache |
|
language-objective-c | ./language-objective-c |
|
language-perl | ./language-perl |
|
language-php | ./language-php |
|
language-property-list | ./language-property-list |
|
language-python | ./language-python |
|
language-ruby | ./language-ruby |
|
language-ruby-on-rails | ./language-ruby-on-rails |
|
language-rust-bundled | ./language-rust-bundled |
|
language-sass | ./language-sass |
|
language-shellscript | ./language-shellscript |
|
language-source | ./language-source |
|
language-sql | ./language-sql |
|
language-text | ./language-text |
|
language-todo | ./language-todo |
|
language-toml | ./language-toml |
|
language-typescript | ./language-typescript |
|
language-xml | ./language-xml |
|
language-yaml | ./language-yaml |
|
line-ending-selector | ./line-ending-selector |
|
link | ./link |
|
markdown-preview | ./markdown-preview |
|
notifications | ./notifications |
|
one-dark-syntax | ./one-dark-syntax |
|
one-dark-ui | ./one-dark-ui |
|
one-light-syntax | ./one-light-syntax |
|
one-light-ui | ./one-light-ui |
|
open-on-github | ./open-on-github |
|
settings-view | ./settings-view |
|
package-generator | ./package-generator |
|
pulsar-updater | ./pulsar-updater |
|
snippets | pulsar-edit/snippets |
|
solarized-dark-syntax | ./solarized-dark-syntax |
|
solarized-light-syntax | ./solarized-light-syntax |
|
spell-check | ./spell-check |
|
status-bar | ./status-bar |
|
styleguide | ./styleguide |
|
symbols-view | pulsar-edit/symbols-view |
|
tabs | ./tabs |
|
timecop | ./timecop |
|
tree-view | ./tree-view |
|
update-package-dependencies | ./update-package-dependencies |
|
welcome | ./welcome |
|
whitespace | ./whitespace |
|
wrap-guide | ./wrap-guide |