Commit Graph

41879 Commits

Author SHA1 Message Date
Andrew Dupont
83a0e127f9 Update web-tree-sitter to custom version of 0.20.9 2024-03-06 23:03:11 -08:00
Andrew Dupont
579cc2605b [grammar-selector] Show a badge for all kinds of grammars…
…when `hideDuplicateTextMateGrammars` is `false`.
2024-03-03 21:42:18 -08:00
Andrew Dupont
e8d4e0b06d [grammar-selector] Simplify fallback options…
…when the user's preferred type of grammar isn't available for a particular language.
2024-03-03 00:11:25 -08:00
Andrew Dupont
df6349af83 Update workspace spec…
…to reflect new behavior of `GrammarRegistry#getGrammars`.
2024-03-02 21:23:44 -08:00
Andrew Dupont
b9258b5884 [grammar-selector] Overhaul grammar display:
* When set to `true`, `hideDuplicateTextMateGrammars` will hide all grammars except whichever one the user has indicated a preference for — via `useTreeSitterParsers` and `useLegacyTreeSitter` settings, whether global or scope-specific.

* When set to `false`, `hideDuplicateTextMateGrammars` will show all grammars, even Legacy Tree-sitter.
2024-03-02 20:55:02 -08:00
Andrew Dupont
6c54813c21 Add spec for scope-specific core.useLegacyTreeSitter setting 2024-03-02 17:37:04 -08:00
Andrew Dupont
fd37c4dcbf Fix issue where we fail to consider legacy Tree-sitter grammars…
…if the user has opted into them via _only_ a scope-specific setting.
2024-03-02 17:31:32 -08:00
Andrew Dupont
ab6f08101d Make divided folds end at the end of the preceding line much more often 2024-03-02 17:15:10 -08:00
Andrew Dupont
89d410baef Small fixes 2024-03-02 17:13:57 -08:00
Andrew Dupont
8b0f62b7a0 Prefer synchronous indentation by default in modern Tree-sitter…
…but only while we can afford to spend time on re-parsing.

Synchronous indentation hinting is clearly the best choice, but it can theoretically be very costly. So we'll set a time budget per transaction — currently 10ms, but could be adjusted up or down. We'll start out doing synchronous indentation, but flip to async indentation if we run out of time in a given transaction. At the end of a transaction, the time budget resets.

This allows us to balance indentation accuracy with editor responsiveness, and would even allow us to expose this tradeoff as a setting in the future. The current threshold, 10ms, would probably result in one dropped frame if exceeded, but not two.

Right now, any one parse can exceed the budget — because we don't set a timeout on the parse the way we do with an async parse. But this could be changed in the future. The main goal here is to prevent a catastrophic scenario where a complex transaction locks up the editor.
2024-03-02 16:27:29 -08:00
Andrew Dupont
afe6e1e7bf Be more aggressive in determining suggested indent positions…
…at ends of transactions — instead of falling back to a transaction-wide auto-indent quite so easily.
2024-03-02 13:45:57 -08:00
Andrew Dupont
2827e6a4c4 [language-typescript] Add cts(x)/mts(x) to the file extensions lists 2024-03-01 15:43:49 -08:00
Andrew Dupont
0cea2667a8 [language-typescript] Highlighting fixes…
* Add scopes for unary arithmetic operators (`+`, `-`)
* Ensure that function parameters set `capture.final`
2024-02-17 22:19:44 -08:00
Andrew Dupont
0df4e7528a Simplify the test case and add an explanation 2024-02-16 09:01:35 -08:00
confused_techie
4c6d9071c2
Merge pull request #929 from pulsar-edit/1.114.0-release
1.114.0 Release
2024-02-16 00:31:38 -08:00
confused-Techie
5bfa0fbcac Add back -dev 2024-02-16 00:31:04 -08:00
confused-Techie
62e5ba2f5a Update version 2024-02-15 19:58:32 -08:00
confused_techie
e2a1209502
Merge pull request #927 from pulsar-edit/1.114.0-changelog
1.114.0 Changelog
2024-02-15 19:57:50 -08:00
confused-Techie
02f6a45944 Add github summary change 2024-02-15 19:56:48 -08:00
confused-Techie
176762234f Add last minute entries 2024-02-15 19:14:09 -08:00
DeeDeeG
f767672a35
Merge pull request #926 from savetheclocktower/symbols-view-keymap-fix
[symbols-view] Remap go-to-declaration commands on Windows/Linux
2024-02-15 22:08:07 -05:00
DeeDeeG
b931457ecb
Merge pull request #925 from pulsar-edit/update-github-v0.36.20-pretranspiled-bump-dugite
deps: Update github to v0.36.20-pretranspiled to bump dugite
2024-02-15 21:52:54 -05:00
confused-Techie
8052078d60 Manually add summary items 2024-02-15 18:34:36 -08:00
confused-Techie
299cc9c5ea Removed Rolling Release notes
These don't make much sense for the summary section, as pointed out on Discord
2024-02-15 18:25:41 -08:00
confused-Techie
b1a2187fd3 Add Changelog entries for 1.114.0 2024-02-15 17:33:10 -08:00
Andrew Dupont
325b6b6b1e [symbols-view] Remap go-to-declaration commands on Windows/Linux 2024-02-15 14:23:41 -08:00
DeeDeeG
544dcc01b7 deps: Update github to v0.36.20-pretranspiled to bump dugite
Effectively bumps dugite from 2.1.0 to 2.5.2.
Should improve github package's compatibility with ARM Linux?
2024-02-15 12:04:34 -05:00
confused_techie
68c88e731d
Merge pull request #924 from pulsar-edit/update-cirrus-token
[meta] Update Cirrus `GITHUB_TOKEN`
2024-02-15 08:07:48 -08:00
Andrew Dupont
ec12b2f0af
Merge pull request #906 from savetheclocktower/tree-sitter-february
Tree-sitter rolling fixes (February)
2024-02-14 21:30:09 -08:00
Andrew Dupont
114a7247de
Merge pull request #861 from savetheclocktower/symbols-view-fixes
`symbols-view` rolling fixes
2024-02-14 21:29:31 -08:00
confused-Techie
d99fe383d4 Update Cirrus GITHUB_TOKEN 2024-02-14 19:01:12 -08:00
Andrew Dupont
9b1e8e5513 Add features to folds:
* A new predicate called `fold.invalidateOnChange` that can be used when a change should automatically invalidate the fold cache for each row in a node's range.
* The ability to use custom predicates in `folds.scm` files. (Previously, captures from `folds.scm` did not consult an instance of `ScopeResolver` in the processing phase.)
2024-02-10 14:36:32 -08:00
Andrew Dupont
82eac2276d [language-typescript] Add syntax highlighting for enums 2024-02-09 22:33:48 -08:00
Andrew Dupont
89686ce03a [language-html] Allow for folding of attribute lists…
…such as in multi-line self-closing tags and multi-line opening tags.

Also fix an issue in fold handling that made it impossible to use `@_IGNORE_` captures in `folds.scm`.
2024-02-09 14:20:34 -08:00
Andrew Dupont
cc20d7055d [language-html] Fix indentation after self-closing tags 2024-02-09 09:51:41 -08:00
Andrew Dupont
732d1d40a6
Merge pull request #913 from savetheclocktower/fix-command-palette-match-highlighting
[command-palette] Guard against failure to highlight a match
2024-02-09 09:17:46 -08:00
Andrew Dupont
7dbbd7afda
Update packages/command-palette/lib/command-palette-view.js
Co-authored-by: Maurício Szabo <mauricioszabo@users.noreply.github.com>
2024-02-09 09:17:25 -08:00
Andrew Dupont
2c5be1eda9 [command-palette] Guard against failure to highlight a match 2024-02-08 19:44:02 -08:00
DeeDeeG
d1bb4c24a2
Merge pull request #901 from pulsar-edit/fix-Rolling-upload-tag-for-Linux-binaries
CI: Fix tag Linux binaries are uploaded to for Rolling
2024-02-06 14:17:05 -05:00
DeeDeeG
ca8ee62ad0
Merge pull request #903 from pulsar-edit/pulsar-rolling-script-version-check-tweak
script: Update version check in Rolling release binary upload script to exclude '-dev' versions
2024-02-06 10:26:03 -05:00
confused_techie
39caa3bece
Merge pull request #908 from pulsar-edit/update-ppm-241d794f326b63b5abdb9769
ppm: Update ppm to commit 241d794f326b63b5abdb9769
2024-02-05 00:52:32 -08:00
Andrew Dupont
c188a26730 Don’t try to lint JS in the vendor directory 2024-02-04 13:36:33 -08:00
Andrew Dupont
e332953260 [language-c] Add missing anchor to constant pattern 2024-02-04 13:36:17 -08:00
Andrew Dupont
cb7d4aad6c [language-c] C/C++ highlighting fixes…
Changes: 

* `#define FOO 1` and `#define FOO` will _always_ scope `FOO` as `constant.other.c`, even when `FOO` is mixed-case or lower-case.
* `#define FOO()` will _always_ scope `FOO` as `entity.name.function.preprocessor.c`, even when `FOO` is mixed-case or lower-case.
* Usages of bare identifiers in other contexts in preprocessor directives should always scope them as `constant.other.c` — unless I’m made aware of any counterexamples where that shouldn’t happen. For example: in `#if TABLE_SIZE > 200`, `TABLE_SIZE` should always be `constant.other.c`, no matter its casing.
* All-caps variable declarations and assignments (`int FOO = 0`, etc.) should scope `FOO` as `variable` rather than `constant`. We should only scope an arbitrary identifier as `constant` if we think it’s been used in the context of a macro definition.

However:

* When deciding whether something outside of a directive refers to a macro constant, we have no choice but to use the `ALL_CAPS` heuristic. Ideally we’d be able to determine that from some sort of analysis of the source code files — but even if we could keep track of that sort of thing in a single buffer, it’d fall down when macro constants _defined in other files_ are used. All we can do here is make a best guess.
2024-02-03 23:39:12 -08:00
Andrew Dupont
10ce3b11a1 Forgot to bump parserSource (the system works!) 2024-02-02 23:57:21 -08:00
Andrew Dupont
5628d089dc Fix argument passing in the Task class
This code snippet sets up logging so that a worker process can call `console.log` and its siblings and have them show up in the renderer process’s console… but it’s trying to destructure the antiquated magical `arguments` collection (which is like an array, but isn’t an array!) and the engine doesn’t seem to like it.

Logging didn’t work for me until I changed this.

This is such a tiny fix, and I don’t have the energy to shelve everything on this branch just to make a separate PR.
2024-02-02 23:10:49 -08:00
Andrew Dupont
3131464ddb [language-php] Update tree-sitter-phpdoc
…and add some `punctuation` scopes for the generic type delimiters.
2024-02-02 23:07:34 -08:00
Andrew Dupont
69fb61e80c Add fallback values for new compulsory syntax variables…
…that were added to the theme generator in https://github.com/pulsar-edit/ppm/pull/123.
2024-02-01 21:35:07 -08:00
Andrew Dupont
32c464b3cb [language-typescript] Highlight escape characters 2024-02-01 21:35:07 -08:00
Andrew Dupont
982917803e [language-php] Fix block comments failing to re-highlight 2024-02-01 21:35:07 -08:00