Yoann Padioleau
0e7b7a02b6
Merge pull request #210 from amaanq/ci-lint
Add CI scripts + linting/formatting grammar.js
2 anni fa
Amaan Qureshi
72160f477d
feat(ci): add test, lint, and fuzz scripts
2 anni fa
Amaan Qureshi
bef54737be
feat: add eslint formatting
2 anni fa
Yoann Padioleau
2e29f23abc
Merge pull request #209 from amaanq/rewrite-it-in-c
feat: rewrite the scanner in C
2 anni fa
Amaan Qureshi
d8352a82f6
chore: update manifests
2 anni fa
Amaan Qureshi
10d52591d2
feat: rewrite the scanner in C
2 anni fa
Yoann Padioleau
d63acf7c2a
Merge pull request #208 from vladh/master
Revert "add "this" keyword"
2 anni fa
Vlad-Stefan Harbuz
09caf58a4f
Revert "add "this" keyword"
This reverts commit 086dd299d4 .
2 anni fa
Yoann Padioleau
4c917d5605
Merge pull request #206 from XVilka/patch-1
Fix AppVeyor CI builds
3 anni fa
Anton Kochkov
a395cad14b
Fix AppVeyor CI builds
Update used Windows image and NodeJS version to the latest LTS
3 anni fa
Yoann Padioleau
70aed2e9e8
Merge pull request #202 from vladh/patch-1
Add "this" keyword
3 anni fa
Vlad-Ștefan Harbuz
086dd299d4
add "this" keyword
3 anni fa
John Drouhard
670404d7c6
feat: support template friend declarations
3 anni fa
John Drouhard
0b6d0eb9ab
feat!: namespace rule tweaks
breaking change: namespace_definition_name has been renamed to
nested_namespace_specifier and the nesting has been reversed to match
the way normal scope resolution works elsewhere.
identifiers that are part of a namespace_definition are now
namespace_identifier, which matches the identifier node type used in
scope resolution for qualified types.
namespace alias definitions use the new nested_namespace_specifier so
all identifiers are namespace_identifier nodes.
support for top-level "inline" namespace declarations (which are valid
if they are nested in another namespace body).
3 anni fa
Amaan Qureshi
af15a5260b
feat: add missing fold operators ( #195 )
3 anni fa
John Drouhard
03fa93db13
support alternate logical operators (and/or) in requires clauses
Fixes #193
3 anni fa
Yoann Padioleau
66262d3e76
Merge pull request #191 from Luni-4/publish
Add an action to publish the grammar automatically
3 anni fa
Luni-4
698a576166
Add an action to publish the grammar automatically
3 anni fa
John Drouhard
56cec4c2eb
feat!: support virtual inheritance
breaking changes:
- access_specifier is now a named node in base class clauses
- virtual_function_specifier node has been renamed to virtual
3 anni fa
John Drouhard
5e9f44f632
reduce state count a bit more for function declarations; fix a few places where attributes can appear
3 anni fa
John Drouhard
bc8809507a
reduce parse state count by combining class/struct/union declarations into one anonymous rule
3 anni fa
John Drouhard
20beae977e
change function declarator to more accurately parse all the possible components
Fixes #184
3 anni fa
Yoann Padioleau
3845ff48d6
Merge pull request #190 from v1nh1shungry/alias-attr
support attribute in alias declaration
3 anni fa
v1nh1shungry
e2fcae8792
support attribute in alias declaration
3 anni fa
Rebecca Valentine
b9a11ddd09
Adds GH tags queries
3 anni fa
John Drouhard
2d2c4aee86
enum_specifier: change to right precedence; fixes #187
3 anni fa
John Drouhard
2b908639fd
decltype(...) expressions can be used in qualified identifiers prior to scope resolution operators
3 anni fa
John Drouhard
b3bba3856a
scanner: look for string_delimiter first to avoid error recovery hitting the content case and consuming the rest of the input
3 anni fa
John Drouhard
115ce374e2
Revert "fix raw string literal external scanner so it doesn't treat EOF as creating a valid raw_string_content"
This reverts commit 5b7e264bc6 .
3 anni fa
John Drouhard
5b7e264bc6
fix raw string literal external scanner so it doesn't treat EOF as creating a valid raw_string_content
3 anni fa
Sam McCall
cf12e88166
Include rawstring delimiters in the tree, use for injections ( #181 )
Include rawstring delimiters in the tree, use for injections
In raw-strings, the delimiter can be used to indicate embedded language:
R"css( body { background: red; } )css"
This patch adds the delimiter (if present) and raw-string content as
children of the raw_string_literal.
These can be used to parse the content with an injected grammar.
Fixes https://github.com/tree-sitter/tree-sitter-cpp/issues/159
3 anni fa
John Drouhard
5ead1e26c6
support using-enum-declaration
3 anni fa
jdrouhard
d5e90fba89
Add support for alternative operator representations ( #179 )
3 anni fa
John Drouhard
9a877b6180
update nodejs to version 10 in appveyor
3 anni fa
John Drouhard
88ad63bba1
re-generate grammar with correct dependencies
3 anni fa
Michal Liszcz
45593f0578
Correct function-try-block parsing ( #176 )
Support for function-try-block implemented in #168/#169 was not correct:
member initializer list in constructor must appear between `try` and the
opening curly brace. Also some cases where try block is allowed were not
implemented.
Following changes are included:
* fix initializer list handling in try block in constructors,
* disallow initializer list in =default/=delete constructors,
* allow for try block in inline function definition,
* allow for try block in cast operator definition.
3 anni fa
John Drouhard
f401255036
Update tree-sitter-c dependency to 0.20.2
3 anni fa
John Drouhard
818a564afc
Add support for init-statements in range-for loops
- Adds a named "init_statement" node for all applicable locations (if,
switch, while, and range-for)
- Adds alias declarations and typedef declarations to possible types of
init statements (c++20/c++23)
3 anni fa
mliszcz
fd7bec5933
Add support for function-try-block
Fixes #168
3 anni fa
Lukas Pistrol
38d8b495bd
added spm support ( #160 )
4 anni fa
John Drouhard
a832195eb3
trailing return types: all type descriptors can appear as a trailing return type
- apply right precedence to c's type_descriptor rule
- reuse existing type_descriptor rule in trailing_return_type
4 anni fa
Ben Dunkin
a403969cbb
Implement fold expressions and more complete requires clauses ( #151 )
4 anni fa
John Drouhard
656d7ea44b
Type requirements can only specify type names after the typename keyword, not any expression
4 anni fa
John Drouhard
1784c22641
Add some fieldnames to requires clause and expression
4 anni fa
John Drouhard
8071cdeedd
Add support for lambda expression template parameters
4 anni fa
John Drouhard
5b83b753f2
Add support for default comparisons and the three way comparison operator
4 anni fa
John Drouhard
8e735aaf11
Add consteval and constinit support
4 anni fa
John Drouhard
d146a46b58
Concepts: add support for requires clauses in function declarators
4 anni fa
John Drouhard
9c521041ec
trailing return type must be last in a function declarator
4 anni fa
John Drouhard
862f6f2841
alias decltype_auto to decltype
4 anni fa