Commit Graph

1572 Commits

Author SHA1 Message Date
Andrew Dupont
11910a11aa [language-gfm] Change markup.code to markup.raw
…and apply it only to the content _inside_ the fence when handling fenced code blocks.
2024-01-26 17:22:04 -08:00
Andrew Dupont
edf19b2af2 [language-php] Stop scoping all tokens LIKE_THIS as constant 2024-01-24 17:11:47 -08:00
Andrew Dupont
9265e5eb3e [language-css] Fix failure to scope the foo in .div foo
…and other descendant combinators.
2024-01-24 17:10:38 -08:00
Andrew Dupont
f1ce722f33 [language-typescript] Various highlighting fixes…
* Declared namespaces should be `entity` only, not `support`
* `<` and `>` in type parameters should always have the proper `punctuation` scopes applied
* All TSX tags should have the surrounding `meta.tag.ts.tsx` scope applied
* TSX fragments (`<>`) should be highlighted
2024-01-24 17:09:42 -08:00
Andrew Dupont
a0595b275d [language-typescript] Use proper comment delimiters in TypeScript…
…when inside of a TS block within a TSX interpolation.

Some mixing of TS and TSX is too ambiguous for the “Toggle Line Comments” command, but in this case we've got a brace-delimited block inside of a TSX interpolation. That's practically guaranteed to mean we've got a line with _only_ TypeScript on it, so we should use an ordinary TS line comment.
2024-01-23 16:17:06 -08:00
Andrew Dupont
995196a138 [language-c] Support declarations of pointers-of-pointers 2024-01-22 17:43:25 -08:00
Andrew Dupont
5fdcf62ea1 Revert inadvertent change 2024-01-21 20:47:00 -08:00
Andrew Dupont
6b89902761 [language-php] Update parserSource field for internal PHP grammar 2024-01-21 13:32:01 -08:00
Andrew Dupont
2aa0cea8a4 [language-gfm] Actually change the scope name for a horizontal rule…
…instead of forgetting to add the file.
2024-01-21 13:22:36 -08:00
Andrew Dupont
ee220dd6ef [language-gfm] Change scope for a horizontal rule…
to `markup.horizontal-rule.gfm` and add styles to all eight built-in syntax themes to account for it.

All the old GFM scopes are just named however they needed to be named in order to produce syntax highlighting to the grammar author, semantics be damned. Instead, we're making sure the semantics are correct, then adapting the syntax themes accordingly.
2024-01-21 13:20:56 -08:00
Andrew Dupont
4c0e7dda9f Highlight JSON keys in the other six builtin syntax themes…
…always using the color that was already used to highlight YAML keys.
2024-01-21 13:07:16 -08:00
Andrew Dupont
e0009ce188 Highlight JSON keys in one-(dark|light)-ui
Upon suggestion, `@hue-5` was chosen for consistency because the same color is used for keys in YAML.
2024-01-21 12:56:34 -08:00
Andrew Dupont
1e7e1351d8 [language-javascript] Ensure object properties are scoped as entity
…instead of `variable` when a function is on the right-hand side of an assignment.
2024-01-21 12:53:44 -08:00
Andrew Dupont
8525a3f622 [language-php] Move value type usages into support.storage.type 2024-01-21 12:51:47 -08:00
Andrew Dupont
33f193cd60 [language-php] Update tree-sitter-php to latest 2024-01-21 11:16:51 -08:00
Andrew Dupont
aeeb03a824 Adopt the support.storage compromise found in legacy Tree-sitter…
…in which all _value types_ are scoped under `support.storage`. The goal is to avoid drawing an arbitrary distinction between, say, `int` and `SomeCustomCType` — those things are different, but not _so_ different that they belong in separate root scope namespaces.

`storage.type` can be used for core language constructs — `var`, `class`, `function`, `struct`, `enum`, `namespace`, and so on. `support.storage.type` should be used for any _recognized_ value type — certainly core language types like `int`, but also other things if they make sense. `support.other.storage.type` can be used for user-defined types, or any other types that we don't recognize. (Using the `support.other` ordering here adheres to our new convention of reserving all of `support.other` for user-defined things.)

The point of this compromise is that both the `syntax--storage` and `syntax--support` class names are present so that many themes will still highlight these tokens as though they were in the root `storage` namespace.

This commit changes the C/C++ and TypeScript `highlights.scm` files. The results appear to be satisfactory to my eye after testing on two of the builtin themes.

I’ve updated the taxonomy document to reflect this new proposal:
https://gist.github.com/savetheclocktower/c9607b97477d4817911e4f2f8db89679#file-scope-taxonomy-md
2024-01-21 10:33:01 -08:00
Andrew Dupont
46877b05ff [language-php] Add meta.embedded.block/meta.embedded.line
…to each PHP section in order to match the functionality of the TextMate grammar.

This was a gigantic endeavor and involved doing several things that were on my “ugh, I’ll get around to it” list:

* To make some of this stuff work, we were using two different PHP parser layers. The root one did the syntax highlighting and separated the HTML from the rest, and the deeper injection was there just so we could scope some ranges as `source.php`.

  That doesn’t work because of rules we have about shallower layers acting before deeper layers when iterating through syntax highlighting boundaries. I was trying to be too clever. Now the _root_ layer is the one that does no highlighting, and the _deeper_ layer is the one that exists to apply `source.php` _and then_ perform highlighting and indentation hinting and folding and whatnot.

  If we need to, we can move some of the queries to the root layer for whatever reason; maybe we come across a bug six months from now that could be fixed if we made the root layer in charge of folding. We have options.

* All boundaries for `HighlightIterator`s now _either_ open one or more scopes _or_ close one or more scopes. If one boundary can close some scopes and open others, then boundaries on different layers that share a buffer position cannot possibly close/open in the correct order because they can't intermingle. This needed to happen and this was as good of an excuse as any to do it.
* We needed to present sane PHP opening/closing ranges to the injection. Ironically, `tree-sitter-php` itself makes this nearly impossible because of how the tree is structured; it tries to hide the `<?php` and `?>` tags from the PHP layer and treat them as text, despite the fact that PHP is the thing that knows how to parse that.

  The best way to do this — at least until I encounter a reason why it can’t work — is to find all the `<?php`s and `?>`s, sort them, group them, and build fake node ranges. This is fine! I mean, it’s ridiculous, but it’s fine! The ranges that we hand off to another parser are allowed to be completely arbitrary!

  This lets us do what we were only approximating before: have _one_ PHP injection layer with _any number of_ content ranges, each of which begins with `<?php` and ends with `?>` without trying to claim any surrounding whitespace. This would be worth it even if we didn’t have to do any of this other stuff.

* Each content range of the injection needs _either_ `meta.embedded.line.php` _or_ `meta.embedded.block.php` depending on whether the range begins and ends on the same line. This is not something I was willing to regress on because it's _hard_ to distinguish between PHP and non-PHP unless your editor helps you out, and because I wasn't going to go into a bunch of themes and tell them to treat `source.php` like `meta.embedded`.

  This also meant that we needed to be able to add _multiple_ “root” scope names per content range. But we already had a mode in which the `languageScope` injection option could be a callback, so it wasn't hard to make it a callback that could take extra parameters for the buffer and range.

  This isn't a feature that I'm eager for other grammars to use, or even necessarily know about, but it was what we needed to deliver feature parity here. And none of it would have been necessary if `tree-sitter-php` made more sensible choices. (Whatever. Maybe what I want isn't possible for some strange reason.)

All existing tests pass. Tests have been written for the new `languageScope` features. Tests need to be written for PHP just like for all other language grammars, but that was on the to-do list anyway. If any of this turns out to be catastrophic, it’s easy to roll back, but tests are passing on my machine and I expect them to pass in CI.
2024-01-20 20:49:17 -08:00
Andrew Dupont
4d8a7219c3 [language-c] Highlight struct designated initializers 2024-01-20 12:07:22 -08:00
Andrew Dupont
c2fb3075df [language-php] Small fixes…
* Properly highlight comments like `/***/`
* Add `intdiv` as a builtin function
* Change PHPDoc tags back to a `keyword` scope rather than an `entity.name.tag` scope
* Highlight more PHPDoc types
2024-01-20 10:34:48 -08:00
Andrew Dupont
7130f77f27 [language-typescript] Highlight the wildcard import symbol 2024-01-19 23:25:23 -08:00
Andrew Dupont
65de46faa1 [language-html] Update tree-sitter-embedded-template to latest…
…which will make EJS and ERB much more pleasant to use, and which I should've done ages ago.

Most notably: empty tags like `<% %>` are now valid, so the highlighting won't go nuts before you've typed anything.
2024-01-19 23:16:15 -08:00
Andrew Dupont
e1e12ff5ba [language-gfm] Test for undetected URLs in paragraphs…
…and inject `hyperlink` into them for auto-linking.
2024-01-19 21:25:00 -08:00
Andrew Dupont
054b067ff2 Update highlights for all regex injections…
…and add a distinct copy for TypeScript so that it works even if `language-javascript` is disabled or replaced.

(We might want to just make `language-regex` and have it export a service.)
2024-01-19 21:01:07 -08:00
Andrew Dupont
81ca97e0c7 [language-ruby] Tweak scope name for regex injections 2024-01-19 20:47:00 -08:00
Andrew Dupont
cf884f5f86 Update tree-sitter-regex for both JavaScript and Ruby 2024-01-19 20:45:33 -08:00
Andrew Dupont
fd0b9a2dd7 [language-ruby] Move files around to conform better to convention 2024-01-19 20:39:07 -08:00
Andrew Dupont
38534bbd84 [language-ruby] Update tree-sitter-ruby to latest 2024-01-19 20:33:07 -08:00
Andrew Dupont
aff27bb5bf [language-html] Update tree-sitter-html to latest 2024-01-19 20:26:27 -08:00
Andrew Dupont
e874d51362 [language-c] Update the tree-sitter-c and tree-sitter-cpp parsers 2024-01-19 20:02:22 -08:00
Andrew Dupont
5aef671f5c [language-php] Fix incorrect indentation after ternary expressions 2024-01-19 18:42:25 -08:00
Andrew Dupont
5e84a7cda4 [language-shellscript] Highlighting fixes…
* add `declare` and `readonly` modifiers
* distinguish $()-style command substitution from backtick substitution
* prevent double-scoping of punctuation
2024-01-19 17:27:44 -08:00
Andrew Dupont
dcf451cf1b [language-python] Update to latest tree-sitter-python
…and add some items to `highlights.scm` that fell through the cracks.
2024-01-19 16:43:32 -08:00
Andrew Dupont
a13ffcd694 [language-typescript] Move the “Objects” section in highlights.scm
…so that the builtins section gets prioritized higher.
2024-01-19 16:42:01 -08:00
Andrew Dupont
3cd7557504 [language-shellscript] Highlight while and add other fixes…
* `<` as a file redirect operator
* `((` and `))` as punctuation
2024-01-18 20:28:27 -08:00
Andrew Dupont
57e812b5bc [language-typescript] Harmonize syntax decisions between JS and TS…
…and add a new style to `one-dark-syntax` and `one-light-syntax` to ensure continuity of appearance now that object properties are not all treated as `variable`s.

Also, scope private field method definitions in both JS and TS.
2024-01-18 19:05:17 -08:00
Andrew Dupont
937cb15953 [language-c] Apply some fixes to C/C++ highlighting
Choosing the other side of some dilemmas I had to resolve six months ago. Highlighting between modern and legacy Tree-sitters now appears to be identical to me (with rare exception) on the One Dark theme.
2024-01-18 18:33:00 -08:00
Andrew Dupont
f171f33844 [language-go] Highlight method names like function names 2024-01-18 17:31:46 -08:00
Andrew Dupont
3864c0d0f7 [language-go] Update tree-sitter-go parser to latest…
…and include some highlighting fixes from #869.
2024-01-18 13:53:23 -08:00
Andrew Dupont
1ed84b8180 Adjust fold in response to tree-sitter-javascript change 2024-01-18 13:53:23 -08:00
Andrew Dupont
cac042b3c0 [language-php] Support some things that were accidentally omitted…
…like

* Constructors (the "Foo" in `new Foo()`)
* Certain function-like builtins like `list`, `unset`, and `print`
2024-01-18 13:53:23 -08:00
Andrew Dupont
a53a9f6c15 [language-javascript] Fix indents.scm after the parser upgrade 2024-01-18 13:53:23 -08:00
Andrew Dupont
3d526d7959 Add a setting to control switch/case indentation for JS/TS
This is our first venture into _configurable_ indentation. Exciting times.
2024-01-18 13:53:23 -08:00
Andrew Dupont
55a8762478 [language-css] Update tree-sitter-css parser to latest 2024-01-18 13:53:23 -08:00
Andrew Dupont
1ddcff43bd [language-javascript] Rename grammar files for consistency 2024-01-18 13:53:23 -08:00
Andrew Dupont
79d1cff437 [language-javascript] Upgrade tree-sitter-javascript parser to latest…
…and move some files around for consistency.
2024-01-18 13:53:23 -08:00
Andrew Dupont
99388fabb8 [language-typescript] Correctly highlight the angle brackets of TSX tags 2024-01-18 13:53:23 -08:00
Andrew Dupont
bbf5242d96 [language-typescript] Highlighting fixes for TS and TSX:
* Highlight namespaced JSX tags (e.g., `<React.Fragment>`) like other JSX tags
* Don't scope `/` punctuation in JSX tags like a division operator
* Scope ordinary functions as `support.other.function` just as in JavaScript
* Scope the last segment of `namespace` declarations as an `entity`, other segments as `support.class`
2024-01-18 13:53:23 -08:00
Andrew Dupont
95de9bc89f [language-typescript] Distinguish different usages of < and >
Angle brackets in type parameter lists (e.g., `Array<string>`) should not be scoped like comparison operators.
2024-01-18 13:53:23 -08:00
Andrew Dupont
dfb2493e43 Add some more stray .eslintrc files 2024-01-18 13:53:23 -08:00
Andrew Dupont
09184d959f Add documentation for the new TODO/hyperlink services 2024-01-18 13:53:23 -08:00
Andrew Dupont
6069a59804 Remove the requirement for a grammar to have a highlightsQuery 2024-01-18 13:53:23 -08:00
Andrew Dupont
fbc2c822ad Prevent certain Python strings from being double-scoped 2024-01-18 13:53:23 -08:00
Andrew Dupont
93ab0f7bf0 Convert all modern Tree-sitter TODO/hyperlink injections into services 2024-01-18 13:53:22 -08:00
confused_techie
691dd539be
Merge pull request #862 from pulsar-edit/changelog-1.113.0
1.113.0 Changelog
2024-01-15 17:09:39 -08:00
confused-Techie
35a826b851 Add last minute PR update 2024-01-15 17:05:58 -08:00
confused-Techie
d9179f583d Add Modern Tree-sitter notice 2024-01-15 16:11:53 -08:00
confused-Techie
490e826307 Add Changelog 2024-01-15 16:03:59 -08:00
Andrew Dupont
039ea260b2 [symbols-view] Add specs for return-from-declaration fix 2024-01-15 16:01:47 -08:00
Andrew Dupont
a720d967d7 [symbols-view] Fix issue with returning from a declaration…
…when the tab being returned to is closed and must be recreated.
2024-01-15 15:43:06 -08:00
Andrew Dupont
0111e13f0e PHP feedback 2024-01-12 19:38:28 -08:00
Andrew Dupont
6ebdfa0cab Remove unneeded file 2024-01-12 19:33:38 -08:00
Andrew Dupont
bae3689f88 Add folds for PHP 2024-01-12 19:33:20 -08:00
Andrew Dupont
f3be33bbc9 Add <> and <=> operators in PHP 2024-01-12 19:21:00 -08:00
Andrew Dupont
62bd6cc8ba Even more PHP grammar feedback 2024-01-12 17:11:49 -08:00
Andrew Dupont
e78feea098 Address more PHP grammar feedback 2024-01-12 14:25:42 -08:00
Andrew Dupont
a34b01bfb2 In JS/TS, correctly highlight a variable with a default value…
…when destructuring an array.
2024-01-12 13:28:22 -08:00
Andrew Dupont
99722454b8 [symbols-view] Allow for scope-specific overrides of preferred providers 2024-01-12 13:10:51 -08:00
Andrew Dupont
ddfa645122 Fix issue where symbol-provider-ctags used the wrong package root 2024-01-12 12:42:01 -08:00
Andrew Dupont
865153b471 Address newly failing tests 2024-01-11 16:08:37 -08:00
Andrew Dupont
50bfa5141e Update tree-sitter-json WASM build to latest
Spotted it falling down on a very large JSON file I had. Seems to be fixed on `master`. Not sure which verison I originally built it from.
2024-01-11 15:07:11 -08:00
Andrew Dupont
c50b0e629f More PHP grammar feedback 2024-01-11 15:07:10 -08:00
Andrew Dupont
336f609f60 More PHP grammar feedback 2024-01-11 15:07:10 -08:00
Andrew Dupont
0b08306498 Don't add root scopes to CSS for TODO/hyperlink injections 2024-01-11 15:07:10 -08:00
Andrew Dupont
8836be7e16 Only inject TODO and hyperlink into CSS when needed 2024-01-11 15:07:10 -08:00
Andrew Dupont
2580642c0f Address feedback on PHP syntax highlighting 2024-01-11 15:07:10 -08:00
Andrew Dupont
f2dabe5167 Update tree-sitter-php WASM file to latest master 2024-01-11 15:07:10 -08:00
Andrew Dupont
8c946a004e [tree-sitter] TS: Treat parameters with defaults like parameters…
…plus a few other TypeScript fixes.
2024-01-11 15:07:10 -08:00
Andrew Dupont
58b9cc1865 Handle nowdocs in PHP 2024-01-11 15:07:10 -08:00
Andrew Dupont
ad8a215c77 Remove logging from injection callback 2024-01-11 15:07:09 -08:00
Andrew Dupont
c93bdeb21a Add parserSource fields where appropriate 2024-01-11 15:07:09 -08:00
Andrew Dupont
d148a73631 Add a modern Tree-sitter PHP grammar
This one’s got all the frills, including injections into HTML documents and a PHPDoc grammar.

As part of this change, we're also migrating to `web-tree-sitter` version 0.20.8 with some customizations. The PR I submitted at https://github.com/tree-sitter/tree-sitter/pull/2795 is landed on this fork, though if the same issues get fixed in a different way on the source, I'll adopt that approach as well. The PHPDoc parser needed another external added.
2024-01-11 15:07:09 -08:00
Andrew Dupont
b7dc65466f [tree-sitter] Fixes for shell script highlighting 2024-01-11 15:07:09 -08:00
Andrew Dupont
aef7c845b5 (oops) 2024-01-11 15:07:09 -08:00
Andrew Dupont
0b51a77cd6 [tree-sitter] Further JSX indent fixes for JS and TS alike 2024-01-11 15:07:09 -08:00
Andrew Dupont
d9f6946653 [tree-sitter] Fix JSX dedent logic 2024-01-11 15:07:09 -08:00
Andrew Dupont
d32bdf648d [tree-sitter] Highlight assertion function clauses in TypeScript 2024-01-11 15:07:09 -08:00
Andrew Dupont
9db2ace139 [tree-sitter] Add the pipe character (|) as an operator 2024-01-11 15:07:09 -08:00
Andrew Dupont
30f696f567 Address more PHP grammar feedback 2024-01-11 15:07:08 -08:00
Andrew Dupont
70b34cd67a Add TODO and hyperlink injections to YAML comments 2024-01-11 15:07:08 -08:00
Andrew Dupont
e2da555079 Add hyperlink injection to JSON 2024-01-11 15:07:08 -08:00
Andrew Dupont
ebd0ae0383 Add TODO and hyperlink injections to Go 2024-01-11 15:07:08 -08:00
Andrew Dupont
bf039ccf45 Don't add root scopes to CSS for TODO/hyperlink injections 2024-01-11 15:07:08 -08:00
Andrew Dupont
351493fc35 Only inject TODO and hyperlink into CSS when needed 2024-01-11 15:07:08 -08:00
Andrew Dupont
bbf4cb4417 Add TODO and hyperlink injections to C/C++ 2024-01-11 15:07:08 -08:00
Andrew Dupont
0807dcfce5 Add TODO and hyperlink injections to Rust 2024-01-11 15:07:08 -08:00
Andrew Dupont
5e62e205b5 [tree-sitter] Add TODO and hyperlink injections to Java 2024-01-11 15:07:08 -08:00
Andrew Dupont
f6e1a22cf7 Apply PHPDoc learnings to JSDoc
The conventions I had in place for various JSDoc constructs didn't make any sense. They're fixed now.
2024-01-11 15:07:08 -08:00
Andrew Dupont
18788c095e Address feedback on PHP syntax highlighting 2024-01-11 15:07:08 -08:00
Andrew Dupont
b6d88a5693 Update tree-sitter-php WASM file to latest master 2024-01-11 15:07:08 -08:00
Andrew Dupont
8ae599f811 [tree-sitter] TS: Treat parameters with defaults like parameters…
…plus a few other TypeScript fixes.
2024-01-11 15:07:08 -08:00
Andrew Dupont
3a4b2dc039 Handle nowdocs in PHP 2024-01-11 15:07:08 -08:00
Andrew Dupont
1dc1536621 Remove logging from injection callback 2024-01-11 15:07:08 -08:00
Andrew Dupont
00de52c859 Add parserSource fields where appropriate 2024-01-11 15:07:07 -08:00
Andrew Dupont
d6f8a3c43f Add a modern Tree-sitter PHP grammar
This one’s got all the frills, including injections into HTML documents and a PHPDoc grammar.

As part of this change, we're also migrating to `web-tree-sitter` version 0.20.8 with some customizations. The PR I submitted at https://github.com/tree-sitter/tree-sitter/pull/2795 is landed on this fork, though if the same issues get fixed in a different way on the source, I'll adopt that approach as well. The PHPDoc parser needed another external added.
2024-01-11 15:07:07 -08:00
Andrew Dupont
ee54d3727c [tree-sitter] Highlight TypeScript infer clauses properly 2024-01-11 15:07:07 -08:00
Andrew Dupont
294134c544 [tree-sitter] Highlight private fields similarly to other JS properties 2024-01-11 15:07:07 -08:00
Andrew Dupont
66aea45ffe [tree-sitter] Fixes for shell script highlighting 2024-01-11 15:07:07 -08:00
Andrew Dupont
7b4a50d2b5 (oops) 2024-01-11 15:07:07 -08:00
Andrew Dupont
bc55c4fce3 [tree-sitter] Further JSX indent fixes for JS and TS alike 2024-01-11 15:07:07 -08:00
Andrew Dupont
da10036251 [tree-sitter] Fix JSX dedent logic 2024-01-11 15:07:07 -08:00
Andrew Dupont
f6bb61f984 [tree-sitter] Highlight assertion function clauses in TypeScript 2024-01-11 15:07:07 -08:00
Andrew Dupont
be37b26df5 [tree-sitter] Don't highlight JS default param values like parameters 2024-01-11 15:07:07 -08:00
Andrew Dupont
fdc70fc4a5 [tree-sitter] Highlight an obscure inheritance construct properly in C++ 2024-01-11 15:07:07 -08:00
Andrew Dupont
037377a6b7 [tree-sitter] Ruby fixes…
* Show `def self.foo` methods as `self.foo` in the symbols list.
* Highlight the `foo` in `def self.foo` as a method name.
* Properly highlight `..` and `...` range operators.
* Highlight keyword parameters as `variable.parameter.keyword`.
2024-01-11 15:07:07 -08:00
Andrew Dupont
818d204716 [tree-sitter] Add the pipe character (|) as an operator 2024-01-11 15:07:07 -08:00
Andrew Dupont
daf063750e Do the same for the modern Tree-sitter grammar 2024-01-11 15:07:06 -08:00
Andrew Dupont
a1e9fa0aa8 [tree-sitter] Make the shell grammar's file types match the TM grammar's 2024-01-11 15:07:06 -08:00
Andrew Dupont
a8f5b17d31 [tree-sitter] Fold on type objects in TypeScript 2024-01-11 15:07:06 -08:00
Andrew Dupont
f283a34dd0 Address feedback 2024-01-11 13:49:28 -08:00
Andrew Dupont
58f76a8378 Address feedback 2024-01-10 20:47:51 -08:00
Andrew Dupont
c2e10f4da1
Address feedback
Co-authored-by: DeeDeeG <DeeDeeG@users.noreply.github.com>
2024-01-09 20:42:35 -08:00
Andrew Dupont
d6d7572079 Rearrange string/punctuation declaratons for HTML 2024-01-09 14:57:07 -08:00
Andrew Dupont
4f6c31896c Attempt to get integration tests passing 2024-01-09 14:15:54 -08:00
Andrew Dupont
617bd21f41 Rename JS regexp grammar for consistency…
…plus a couple other related fixes.
2024-01-07 15:35:08 -08:00
Andrew Dupont
413eeeaa5b Fix memory access error on autocomplete-html specs 2024-01-07 15:35:08 -08:00
Andrew Dupont
324af65491 Get language-yaml specs passing 2024-01-07 15:35:07 -08:00
Andrew Dupont
1b129ac935 Get language-gfm specs passing 2024-01-07 15:35:07 -08:00
Andrew Dupont
28c39165f3 Get spell-check specs passing 2024-01-07 15:35:07 -08:00
Andrew Dupont
b46fe68ae2 Get link specs passing 2024-01-07 15:35:07 -08:00
Andrew Dupont
e71e56bdad Get bracket-matcher specs passing 2024-01-07 15:35:07 -08:00
Andrew Dupont
a12e75b8c1 Get autocomplete-html specs passing in modern Tree-sitter mode 2024-01-07 15:35:07 -08:00
Andrew Dupont
2dfa4fd792 Enable legacy flag for autocomplete-html tests…
…but also these specs need to be rewritten!
2024-01-07 15:35:07 -08:00
Andrew Dupont
a6b5f23b26 Get the grammar-selector tests passing…
…including a lot more tests for the new `useLegacyTreeSitter` setting.
2024-01-07 15:35:07 -08:00
Andrew Dupont
76ac2cf81c Make useExperimentalModernTreeSitter the default…
…and create `useLegacyTreeSitter` for those who want to opt into the previous default behavior.

(Legacy Tree-sitter grammars will soon be removed, but this is a step toward that future!)
2024-01-07 15:35:07 -08:00
Andrew Dupont
227ac4a147 Rename symbols-view keymap file 2024-01-03 11:27:29 -08:00
Andrew Dupont
ecc9180caf Wait longer when running symbols-view spec 2024-01-03 11:13:43 -08:00
Andrew Dupont
eb56712358 Fix type definition 2024-01-03 11:07:35 -08:00
Andrew Dupont
ee86a18b12 Strip line breaks and other spaces from symbol names 2024-01-03 10:26:17 -08:00
Andrew Dupont
83972a9ef9 Don't activate a new pane when it's created (steals focus) 2024-01-03 10:26:17 -08:00
Andrew Dupont
6a5a840b57 Add an await where appropriate 2024-01-03 10:26:17 -08:00
Andrew Dupont
812ab75acf Update specs 2024-01-03 10:26:17 -08:00
Andrew Dupont
66b5022fb0 Update specs 2024-01-03 10:26:17 -08:00
Andrew Dupont
21095ee94f Wrongly focused test 2024-01-03 10:26:17 -08:00
Andrew Dupont
66f03932fe Prefer an IDE package provider (if one is installed) over Tree-sitter 2024-01-03 10:26:17 -08:00
Andrew Dupont
d48e191024 Fix setting name 2024-01-03 10:26:17 -08:00
Andrew Dupont
5514c982bd Add symbol provider packages 2024-01-03 10:26:17 -08:00
Andrew Dupont
8ba70fba27 First attempted import of symbols-view 2024-01-03 10:26:17 -08:00
Andrew Dupont
5dc12bde9b Opt into emoji in markdown-preview package 2023-12-30 18:49:52 -08:00
Andrew Dupont
3dc198aca7 [find-and-replace] Fix capitalize utility 2023-12-29 14:32:11 -08:00
DeeDeeG
0b4135007b changelog: Update changelog entry for first ppm bug fix 2023-12-18 20:38:48 -05:00
confused_techie
508d1a28c4 Add changelog updates 2023-12-18 08:57:01 -08:00
confused_techie
32ff14f732
Merge pull request #835 from pulsar-edit/1.112.0-changelog
Add `1.112.0` changelog
2023-12-15 20:16:51 -08:00
confused-Techie
37a3f4f19a Add all last minute additions 2023-12-15 20:09:36 -08:00
confused_techie
e77db3e57c
Update packages/welcome/lib/changelog-view.js
Co-authored-by: Daeraxa <58074586+Daeraxa@users.noreply.github.com>
2023-12-15 19:55:19 -08:00
confused_techie
4a52c3a81d
Update packages/welcome/lib/changelog-view.js
Co-authored-by: DeeDeeG <DeeDeeG@users.noreply.github.com>
2023-12-15 19:54:39 -08:00
Andrew Dupont
6cae381cc7 [tree-sitter] Fix Clojure tests 2023-12-15 19:09:53 -08:00
confused-Techie
0d68dec40a Add 1.112.0 changelog notes 2023-12-15 16:47:04 -08:00
Maurício Szabo
f3b9bd8604
Merge pull request #774 from pulsar-edit/filtering-api 2023-12-13 00:01:57 -03:00
Andrew Dupont
2ebf7d514c [tree-sitter] (oops) 2023-12-12 15:41:45 -08:00
Andrew Dupont
aca923ac78 [tree-sitter] Add highlighting of complex destructuring props in JS 2023-12-12 14:47:45 -08:00
Andrew Dupont
a00239c24c [tree-sitter] Highlight more builtins in TypeScript files 2023-12-12 14:46:50 -08:00
Andrew Dupont
ce6bce07a2 [tree-sitter] Typescript files should detect foo = () =>-style fns 2023-12-12 14:46:12 -08:00
Andrew Dupont
aad4dfcbd2 [tree-sitter] Tweak some CSS queries 2023-12-08 00:52:15 -08:00
Andrew Dupont
3ab0c39f24 [tree-sitter] Add firstLineRegex to C grammars 2023-12-07 11:12:15 -08:00
Andrew Dupont
2430f2b85a Improvements to the TextMate Makefile grammar
Treat `${}` identically to `$()`. Too trivial of a change for its own PR.
2023-12-05 23:47:49 -08:00
Andrew Dupont
fd9229b4a2 [tree-sitter] Fix folding behavior in JS if/else blocks 2023-11-29 13:00:51 -08:00
Andrew Dupont
c50dfafff7 [tree-sitter] Tweak CSS highlighting 2023-11-29 13:00:12 -08:00
Andrew Dupont
d7e81a179e [tree-sitter] Inject HTML highlighting into table cells…
…in addition to paragraphs.
2023-11-29 12:58:16 -08:00
Andrew Dupont
a293ff95cf [tree-sitter] Several fixes to Python highlighting
* Destructured variable assignments are now scoped as `variable`
* Namespaced decorators are now highlighted properly
2023-11-29 12:57:20 -08:00
Maurício Szabo
4264de019b Making fuzzy-finder use the right algorithm 2023-11-23 19:38:44 -03:00
DeeDeeG
fbd2b24550
Merge pull request #780 from Trigan2025/master
Ability to indicate when to automatically show or hide the wrap-guide
2023-11-16 16:31:21 -05:00
confused-Techie
c3f2671dc1 Sync changes to welcome package 2023-11-15 20:12:48 -08:00
confused-Techie
bbeb19e208 More grammar 2023-11-15 18:52:41 -08:00
confused-Techie
7cb83593d8 Fix grammar 2023-11-15 18:50:36 -08:00
confused-Techie
ed8bdd26ed Add v1.111.0 changelog 2023-11-15 17:23:31 -08:00
Trigan2025
e2be9adcb6 Reformulating options. 2023-11-14 14:55:34 +01:00
Andrew Dupont
3757358c55
Merge pull request #789 from savetheclocktower/tree-sitter-october-fixes-redux
Tree-sitter running fixes (October)
2023-11-14 01:17:45 -08:00
confused_techie
39391c105f
Merge pull request #763 from pulsar-edit/ui-api
[core] New `UI` API
2023-11-08 20:47:59 -08:00
Maurício Szabo
16b72dcf0b Merge remote-tracking branch 'origin/master' into clojure-grammar-enhancements 2023-11-08 12:20:09 -03:00
Maurício Szabo
db1ec1083b Merge remote-tracking branch 'origin/master' into filtering-api 2023-11-07 16:55:46 -03:00
DeeDeeG
be8bd838c8
Merge pull request #796 from Daeraxa/readme-non-mac-keybinds
[DOCS] Add non-macOS keybindings for fuzzy-finder readme
2023-11-07 11:30:50 -05:00
Maurício Szabo
a987468cfa Merge remote-tracking branch 'origin/ui-api' into filtering-api 2023-11-07 12:12:24 -03:00
confused-Techie
011ddf9c84 Merge branch 'master' into ui-api 2023-11-06 19:39:03 -08:00
Daeraxa
8058821dfd
revert changes to description 2023-11-07 02:42:34 +00:00
Daeraxa
c5853a63a4
add non-macOS keybindings 2023-11-07 02:39:35 +00:00
Daeraxa
025c1b1b11 remove teletype from welcome 2023-11-07 00:09:00 +00:00
Andrew Dupont
193a3dc3e7 [tree-sitter] Tweak C++ highlighting of class function declarations 2023-11-03 22:01:56 -07:00
Andrew Dupont
e2acf70e43 [tree-sitter] Add highlights for C++ destructors…
…and for the `class` keyword, whose omission is a strange oversight.
2023-10-31 13:27:43 -07:00
Andrew Dupont
80126cdbc8 [tree-sitter] More C++ fixes
Built a new `tree-sitter-cpp` parser from latest master to fix a parsing error with variable assignment. Also added/tweaked scopes for some specific scenarios.
2023-10-30 14:46:51 -07:00
Andrew Dupont
f9232482d0 [tree-sitter] Add some scopes to the C++ highlights.scm 2023-10-28 10:17:40 -07:00
confused-Techie
134fb452b4 Stop appending /blob/master to repo URLs
1. `master` isn't always true. We can use `HEAD` now and GitHub will automatically redirect to the main branch.
2. We already have the logic inside our markdown to correct links to use `blob` or `raw` depending on if directing to a link or image, and use `HEAD` like mentioned above
2023-10-27 15:52:02 -07:00
confused-Techie
45c016120b Expect HTML5 preferred <br> instead of <br/>
Most browsers already strip self closing tags within void elements. DOMPurify itself also strips this character.
2023-10-27 15:50:05 -07:00
confused-Techie
cbaa3ad10e Allow sanitizing options, ensure links don't double on /, don't modify base64 links, make test results match universal GitHub links 2023-10-27 01:42:39 -07:00
confused-Techie
8328f9c1ad Modify one spec to different element, fix opts on API usage 2023-10-26 22:52:50 -07:00
Koza
dbf8e11786 🐛 Fix caching for "Dismiss this Version" in pulsar-updater 2023-10-23 11:25:12 +02:00
Trigan2025
47df021e50 revert 'scopeSelector: getRootScopeDescriptor()' to '' 2023-10-23 03:33:15 +02:00
Trigan2025
a6a513c4ca Change the default value of the new settings for "always" 2023-10-22 23:52:35 +02:00
Trigan2025
68843f3c6d Fix of the spec *and rollback of a useless change* 2023-10-21 13:19:43 +02:00
confused-Techie
30e07939b9 Compact disable settings 2023-10-20 18:02:31 -07:00
Trigan2025
05ec5a7c26 Add a setting option to specify when to automatically show or hide the wrap-guide 2023-10-21 01:07:58 +02:00