Commit graph

31 commits

Author SHA1 Message Date
Munif Tanjim
7a6d93ca5b feat(indent): ecma - support common use-cases 2022-01-21 16:40:36 +01:00
Munif Tanjim
8f9d4ada35 feat(indent): ecma - support try_catch and if_else 2022-01-21 16:40:36 +01:00
Stephan Seitz
1bbc761acc highlights(ecma): highlight escape_sequence 2021-12-12 02:43:08 +01:00
Steve Occhipinti
c6b90ee9bd Handle .attrs() cases
Now that there are 4 cases handled, I thought it probably needs some comments to
show which case each injection is for.

There are other unsupported cases, such as `.withConfig` but I'm not sure if
they all belong here or into their own plugin or something.

The API reference is available here:
https://styled-components.com/docs/api

Also, not sure if there is a more generic way of handling all these cases at
once, a rule that would read: "any template string descendant from 'styled'".

Will attempt to open a PR and get some advice.
2021-11-28 15:02:55 +01:00
Steve Occhipinti
6240dae0e4 Support both styled.div and styled(Component)
This new injection caters for code like this:

```
const IntroWindow = styled(Window)`
  grid-area: intro;
`
```
2021-11-28 15:02:55 +01:00
Steve Occhipinti
058e050315 Add a basic styled-components injection
I've never written this sort of code before but I was able to get this to work
with the help of copy and paste and using nvim-treesitter/playground.

I had a hard time trying to understand how to indent this style of code so I let
vim do it with `=` and 2 spaces seems to match other files I looked at.

This works for a basic example, like this:

```
const Layout = styled.div`
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: 100px 1fr 3rem;
`
```
2021-11-28 15:02:55 +01:00
numToStr
801c7f0b48 ecma: highlight private properties and methods 2021-11-25 15:42:24 +01:00
Lewis Russell
011ac894ec Prefer lua-match over match
as string.find is much quicker than vim.regex:match*
2021-11-23 10:02:06 +01:00
kiyan
3b533422df fix: remove priority in ecma template substitution hl
This PR removes the priority override for the interpolation because it
overrides every ecma based template literal, setting none with a higher
priority than ecma groups which made every template string look
`un`highlighted.
2021-10-03 11:01:30 +02:00
Santos Gallegos
8b7f70d366 Ecma: increase priority of template_substitution
Fixes https://github.com/nvim-treesitter/nvim-treesitter/issues/1688
2021-09-17 22:08:12 +02:00
delphinus
331b47d246 Use the color of variable 2021-09-09 23:00:05 +02:00
delphinus
398ec42d30 Set property color for destructuring assignment 2021-09-09 23:00:05 +02:00
delphinus
2156a55efa Enable to highlight shebang on JS/TS 2021-08-12 08:47:22 +02:00
antonk52
55e36f4011 place template string after braces 2021-07-07 00:15:21 +02:00
Samyak S Sarnayak
9799a80c55 fix(ecma): add indents to switch and cases
fixes nvim-treesitter#1384
2021-07-06 09:39:56 +02:00
antonk52
90f15d9bf7 feat(keywords) merge return and yield into keyword.return group 2021-07-04 21:49:17 +02:00
antonk52
bd9095e969 feat(keywords) add keyword.return & keyword.yield 2021-07-04 21:49:17 +02:00
Steven Sojka
eb6fdb5085 chore(injections): remove duplicated regex injection for js 2021-06-11 16:15:14 +02:00
antonk52
68bf36c917 highlights(ecma): use KeywordFunction as a highlight group for function 2021-05-17 19:22:00 +02:00
Santos Gallegos
67f0857015 Revert "Comment: use @combined to create just one tree per buffer (#1252)"
This reverts commit 4a7a713c52.
2021-05-07 16:51:57 +02:00
Stephan Seitz
788d212ab3
locals(js,ts): Add parameters again (#1231) 2021-04-28 07:39:14 -05:00
Santos Gallegos
4a7a713c52
Comment: use @combined to create just one tree per buffer (#1252)
* Comment: use `@combined` to create just one tree per buffer

There is no need to create a tree per line/block for comments.
Should fix https://github.com/nvim-treesitter/nvim-treesitter/issues/1251

* Add injections for scss

* Fix jsonc

* Combine jsdoc
2021-04-28 07:19:07 -05:00
Stephan Seitz
082d2ef6e1
Add JS/TS parameters again (#1227)
* highlights(js): add parameters

* highlights(ts): add Typescript parameters
2021-04-23 07:20:51 -05:00
Thomas Vigouroux
9cfd3377e3 fix(highlights): always highlight ternary operator as operator 2021-04-22 17:50:56 +02:00
Stephan Seitz
099b921542 injections(js): add regex highlighting 2021-04-06 21:27:47 +02:00
Santos Gallegos
0df7c4aa39
Fix jsdoc: play nice with the comment parser (#1108)
Using separate queries makes it work as expected.
Also, for the comment parser to be able to override the other tokens
we need to remove the comment from highlights (this shouldn't be a
problem since that section is already highlighted as a comment).

And, the order of the captures matter,
having jsdoc first will have more priority over `@param`.

Fixes https://github.com/nvim-treesitter/nvim-treesitter/issues/1069
2021-03-27 10:51:16 -05:00
kraftwerk28
09045354c0 Add generator functions to ecma queries 2021-03-23 23:37:11 +01:00
Hanh Le
5f97c41c54 Update injections.scm 2021-03-18 18:37:04 +01:00
Stephan Seitz
6cd211f647 Mark several invalid queries 2021-03-16 18:52:43 +01:00
Rohit Pradhan
0bab8e56b2 Ecma: Highlight single-argument callback parameter 2021-03-15 19:02:39 +01:00
kiyan
3b8c2ea492 chore: create ecma base for use in js and ts which fixes jsx issues 2021-03-10 17:34:11 +01:00