Commit Graph

41988 Commits

Author SHA1 Message Date
Andrew Dupont
74589feb9c Remove the loading indicator when there's a rendering error 2024-05-05 23:30:29 -07:00
Andrew Dupont
054100b43c Rework loading indicator for markdown-preview
…and make the pane appear earlier on first open.
2024-05-05 23:30:29 -07:00
Andrew Dupont
b46a7e8e86 Don't make TextEditor instances render synchronously…
…because we don't need it for our use case. Helps performance.
2024-05-05 23:30:29 -07:00
Andrew Dupont
18e0da8baa Fix atom.ui.markdown issue with rendering of HTML in code blocks 2024-05-05 23:30:29 -07:00
Andrew Dupont
62a35bccad Optimize re-rendering of content in a preview pane…
…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.
2024-05-05 23:30:29 -07:00
confused_techie
ac17cd589e
Merge pull request #997 from pulsar-edit/CI-pin-GHA-to-macos-12-runner-images
CI: Pin to macOS 12 runner images instead of macos-latest (GiHub Actions)
2024-05-05 22:38:09 -07:00
DeeDeeG
70f48e2770 CI: Pin to macOS 12 runner images instead of macos-latest (GiHub Actions)
There is an issue with the libiconv library not being available
in macOS 14 out of the box. We can get it from Homebrew perhaps,
but for now pin to macos-12 runner images so we can be assured
of having working CI faster, without having to R&D a libiconv-
related workaround for macOS 14.
2024-05-05 22:23:44 -04:00
savetheclocktower
313793d78d GH Action Documentation 2024-04-20 18:37:12 +00:00
Andrew Dupont
b1b6883c57
Merge pull request #973 from savetheclocktower/regenerate-github-css
[markdown-preview] Add dark mode for GitHub-style preview
2024-04-20 11:35:14 -07:00
confused_techie
5c193276a6
Merge pull request #545 from pulsar-edit/change-window-theme
Change Window Theme with Pulsar Theme
2024-04-19 16:28:31 -07:00
DeeDeeG
99b62977b9
Merge pull request #983 from pulsar-edit/update-deprecated-GH-Actions
CI: Upgrade or replace all deprecated GH Actions
2024-04-19 12:24:15 -04:00
confused_techie
c2af92f0f0
Merge pull request #980 from pulsar-edit/org-is-not-clojure
[language-clojure] Stop detecting `.org` files as `language-clojure`
2024-04-18 19:55:10 -07:00
DeeDeeG
419801037e CI: Replace git-auto-commit-action with a short inline script
Avoids another external dependency.
2024-04-18 21:39:49 -04:00
DeeDeeG
f4622128f0 CI: Fix editor test run on macOS (no xvfb-run on macOS) 2024-04-18 17:37:32 -04:00
DeeDeeG
0be235a212 CI: Upgrade or replace all deprecated GH Actions
Most of these were old versions of actions
which were running on Node 16. Upgraded them to newer versions
which run on Node 20 instead.

Also tried to replace setup-xvfb action with a direct xvfb-run command.
Let's hope this works.
2024-04-18 17:19:26 -04:00
confused-Techie
9f0e8a2c8a Stop detecting .org files as language-clojure 2024-04-17 19:29:57 -07:00
confused_techie
a6fe2bcf3c
Merge pull request #977 from pulsar-edit/v1.116.0-release
v1.116.0 Release
2024-04-15 20:39:52 -07:00
confused-Techie
68cedf0977 Add back -dev 2024-04-15 20:39:32 -07:00
confused-Techie
31d7d8460e Last minute bug fix in StyleManager Changes
Odd this wasn't caught in our initial specs. But this issue only effects specs, as the actual production code is able to assign the callback with a function reference rather than a string which is then used to assign the callback itself.
2024-04-15 17:45:48 -07:00
confused-Techie
84608dc503 bump version 2024-04-15 17:02:01 -07:00
confused_techie
0b83471eb5
Merge pull request #976 from pulsar-edit/changelog-1.116.0
Changelog Entries 1.116.0
2024-04-15 16:58:29 -07:00
confused-Techie
2636f1e982 Add #935 2024-04-15 16:55:14 -07:00
DeeDeeG
4545472da5
Merge pull request #935 from cat-master21/patch-1
Update Pulsar's Linux desktop & metainfo mostly from Flatpak
2024-04-15 19:52:30 -04:00
confused-Techie
755c9f671f Add #959 2024-04-15 16:49:16 -07:00
confused_techie
cf7040e297
Merge pull request #959 from pulsar-edit/refactor-style-manager
[core] Simplify/Cleanup `StyleManager`
2024-04-15 16:46:56 -07:00
confused-Techie
0c73a6cc84 Add 1.116.0 Changelog entries 2024-04-15 16:44:19 -07:00
confused_techie
83f98e98a5
Update src/style-manager.js
Co-authored-by: DeeDeeG <DeeDeeG@users.noreply.github.com>
2024-04-15 16:38:25 -07:00
cat-master21
9d7933f3de
Revert: WIP: only use an SVG for linux
Signed-off-by: cat-master21 <96554164+cat-master21@users.noreply.github.com>
2024-04-15 16:02:12 -07:00
Andrew Dupont
8b4fbbd23c Remove primer-markdown.less 2024-04-14 14:45:42 -07:00
Andrew Dupont
41d891582b
Merge pull request #968 from savetheclocktower/tree-sitter-april
Tree-sitter fixes (1.116 edition)
2024-04-14 13:19:42 -07:00
Andrew Dupont
2369395ba2 [markdown-preview] Add specs for GitHub light/dark themes 2024-04-14 12:58:52 -07:00
Andrew Dupont
596a3cd798 [markdown-preview] Add dark mode GitHub styles for Markdown…
…and the ability to choose a specific theme via a config setting (or use the system default).
2024-04-14 12:58:52 -07:00
Andrew Dupont
35dd1cc667
Merge pull request #972 from savetheclocktower/bump-snippets-to-1-8-0
Bump `snippets` dependency to 1.8.0
2024-04-14 11:03:34 -07:00
Andrew Dupont
49681fd222 Bump snippets dependency to 1.8.0 2024-04-13 20:11:20 -07:00
cat-master21
5067a152ba
Merge branch 'pulsar-edit:master' into patch-1 2024-04-13 10:34:14 -07:00
cat-master21
2d1fec4686
WIP: only use an SVG for linux
Signed-off-by: cat-master21 <96554164+cat-master21@users.noreply.github.com>
2024-04-13 10:17:56 -07:00
Andrew Dupont
5d6af88dd7 [language-python] Fix highlighting of some constructors 2024-04-11 20:39:26 -07:00
Andrew Dupont
03af1244d3 [language-python] Prevent type annotations from hinting at indents 2024-04-11 17:53:25 -07:00
Andrew Dupont
f7dbe7344a
Merge pull request #970 from savetheclocktower/comment-delimiter-metadata
Add a `TextEditor` method for retrieving comment delimiters…
2024-04-09 20:22:10 -07:00
confused-Techie
d697005b6c Make window to theme syncing configurable 2024-04-09 20:04:06 -07:00
Andrew Dupont
8145f06c5b Make TreeSitterLanguageMode::commentStringsForPosition
…_minimally_ support the new contract.

Some of the edge cases here aren't fixed, but this is good enough for a type of grammar whose days are numbered anyway.
2024-04-07 21:41:48 -07:00
Andrew Dupont
911a8d6fac Remove unused function 2024-04-07 21:14:24 -07:00
Andrew Dupont
769b86ed38 Rename method to getCommentDelimitersForBufferPosition
…as much as it pains me to do so.
2024-04-06 16:38:03 -07:00
Andrew Dupont
035595d1c2 Add TextEditor specs for new getCommentDelimitersForPosition 2024-04-06 16:36:13 -07:00
Andrew Dupont
0e41a3de8a Add specs for comment delimiters 2024-04-06 16:11:39 -07:00
Andrew Dupont
91bd970383 Improve handling of comment metadata edge cases 2024-04-06 16:03:39 -07:00
Andrew Dupont
a3fa3ee56d Rename comment-delimiter-utils.js to comment-utils.js 2024-04-06 13:36:16 -07:00
Andrew Dupont
e7b6265ecf Rename comment utility methods 2024-04-06 13:35:24 -07:00
Andrew Dupont
77260334fe Rewrite WASMTreeSitterGrammar::getCommentDelimiters
…so that it does a settings lookup and returns normalized data like its `LanguageMode` siblings.
2024-04-06 13:33:09 -07:00
Andrew Dupont
b9ee65f6a3 Add extensive comment delimiter metadata to most built-in grammars 2024-04-06 13:00:55 -07:00