incorporates:
https://github.com/atom/language-c/pull/252
Note that this particular change was modified. `class public virtual : public virtual Example` is invalid I think, but I don't see a good way to prevent that because the detection must be moved into `patterns > include` because textmate is not multiline regex.
See also https://github.com/jeff-hykin/better-cpp-syntax/issues/14
(In fact that whole repostory probably has some improvements)
I changed it to include the angle brackets because types can have those
https://github.com/atom/language-c/pull/263https://github.com/atom/language-c/pull/311https://github.com/atom/language-c/pull/368
For tree-sitter, kinda fix the Discord reported issue
(In #support M1 Mac C++ Syntax highlighting)
Note that I syntax color only the last function name and not the namespace or colon. But that could easily be changed.
For future me, the relevant tree-sitter namespace identifier scopes are:
`call_expression > qualified_identifier > identifier` and
`function_declarator > qualified_identifier > identifier`
I don't know anything about template functions so I left that untouched. So this is probably an incomplete fix.
Finally, add the `static_assert` operator. It's technically a directive so it'll appear purple, not blue. Again this could easily be changed so don't hesitate about feedback, idk anything about c++
To make https://github.com/atom-community/atom/pull/386 reviewable,
that pr will be separated into many simpler prs. This is one of them.
This first commit does the following:
- update package.json
- update package-lock.json using `./script/build` which also seems to update `apm/package-lock.json`
- update packages/README.md
- clone all language packages. Specifically:
- `mkdir packages/language-<all of them>`
- `cd packages/about`
- For all languages:
- `cd ../language-<>`
- `git clone language-<>`
- Move all files except `.git` from `language-<>/language-<>`
to `language-<>`
- delete `language-<>/language-<>`
Since at first I accidentally updated `dependencies` then
`packageDependencies`, it appears that since the versions of language-c,
language-css, language-go, language-javascript, and language-sass don't
match, `dependencies` was reset for those versions.
[Those repos just happen to be precisely the ones that have tree-sitter v19](https://github.com/icecream17/atom-update-backlog/blob/main/Languages.md), (sans language-sass),
which [currently breaks atom](https://github.com/atom/atom/issues/22129). So even though their repos are now
in `packages`, **I've decided to not use them**.
This is done by updating `packageDependencies` only for non-breaking
languages.