Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
176 commits
Select commit Hold shift + click to select a range
d7b3cc1
A new tree-sitter grammar for D.
gdamore Sep 23, 2022
06db8fe
Update README.
gdamore Oct 13, 2022
8875764
Add generated content.
gdamore Oct 13, 2022
0950c1f
Add workflow support.
gdamore Oct 13, 2022
adde89f
No special windows action needed.
gdamore Oct 13, 2022
80d2333
Fix workflow matrix.
gdamore Oct 13, 2022
05b9824
README tweaks.
gdamore Oct 13, 2022
f78efaa
More README tweaks.
gdamore Oct 13, 2022
7e9e3ed
Fix Heredoc handling on Windows.
gdamore Oct 13, 2022
dfe7431
Fix compilation warnings (C).
gdamore Oct 13, 2022
a779ecb
Add some linguist directives to ignore the generated code.
gdamore Oct 13, 2022
8ce85d0
Use prettier.
gdamore Oct 13, 2022
c006a0c
fixes #12 Want text queries
gdamore Oct 14, 2022
85270c6
Treat the !in and !is as operators for highlighting.
gdamore Oct 14, 2022
dc74616
Add injection query for comments.
gdamore Oct 14, 2022
84db982
Fix handling of "in" and "is" when acting as an operator.
gdamore Oct 14, 2022
b5f6862
Highlighting for labels, directives, and EOF.
gdamore Oct 14, 2022
37c4a25
Add label highlight test.
gdamore Oct 14, 2022
ea3ba53
Add better highlighting.
gdamore Oct 14, 2022
2ee7f6f
Add Code of Conduct (derived from 1.4).
gdamore Oct 14, 2022
0235593
Add CONTRIBUTING.
gdamore Oct 14, 2022
11b0ed6
Update issue templates
gdamore Oct 14, 2022
9b123e6
Fix case range statements.
gdamore Oct 15, 2022
22a190c
Scope is a valid foreach type attribute.
gdamore Oct 15, 2022
2305d94
Add test cases for switch statement.
gdamore Oct 15, 2022
4a705e0
New expression fixes (anonymous class fix.)
gdamore Oct 15, 2022
cf76439
Fix alias functions.
gdamore Oct 16, 2022
b825ef8
Fix nested conditional declarations.
gdamore Oct 16, 2022
01b48ca
Templated class with template fix.
gdamore Oct 16, 2022
2e0f766
Add support for alias reassignment.
gdamore Oct 16, 2022
5cc8396
Base classes can start with dot.
gdamore Oct 16, 2022
50a0493
Contracts fix. The documented grammar is wrong here.
gdamore Oct 16, 2022
7407f18
Function literals can be auto ref or ref or neither.
gdamore Oct 16, 2022
f9c2254
Base classes can be types.
gdamore Oct 16, 2022
9386cb6
Anonymous enum members are a super set of enum members.
gdamore Oct 16, 2022
dcf9b28
Fix choice in grammar (forgot to commit).
gdamore Oct 16, 2022
5a3c533
Fix for modules - can have multiple UDAs.
gdamore Oct 16, 2022
de4416f
Explicit instantiation.
gdamore Oct 16, 2022
03276eb
Fix for extern linkage with missing argument list.
gdamore Oct 16, 2022
39a76cf
Permit empty asm({}).
gdamore Oct 16, 2022
85c8a3d
Heredoc identifier can start with an underscore.
gdamore Oct 16, 2022
1fba5f9
Inline assembly - handle very generically.
gdamore Oct 16, 2022
9360525
align and deprecated attrs need right prec.
gdamore Oct 16, 2022
4e62fa3
Vector property types as primary expressions.
gdamore Oct 16, 2022
8a63e19
Fix for qualified delegates.
gdamore Oct 16, 2022
1f9f70f
Declaration or statement permitted in more contexts.
gdamore Oct 16, 2022
699ad5b
Permit missing body to end with contract statement.
gdamore Oct 16, 2022
d272ea9
Fix for for template classes.
gdamore Oct 16, 2022
036e4f6
Permit variadic args to have a default.
gdamore Oct 17, 2022
8011810
Switch statement should allow a declaration.
gdamore Oct 17, 2022
136be02
With needs to be able to do declaration.
gdamore Oct 17, 2022
e77b2f9
Use TR31 for identifiers.
gdamore Oct 17, 2022
8f9c261
Allow literals to have _ after 0x or 0b.
gdamore Oct 17, 2022
bc90d6a
Auto ref functions.
gdamore Oct 17, 2022
9f2314a
Shortened function bodies. (2.101).
gdamore Oct 17, 2022
10df392
Expose expression_statement directly to make queries easier.
gdamore Oct 17, 2022
37e2c4c
Expose module_fqn directly.
gdamore Oct 18, 2022
644522c
Expose expression in more places.
gdamore Oct 18, 2022
a624c22
Expose assert_arguments.
gdamore Oct 18, 2022
99ac95a
Clean up identifier or template chain.
gdamore Oct 18, 2022
139b5d3
Array initializer expression visibility.
gdamore Oct 18, 2022
ec637a9
Shorten some forms to align better to official grammar.
gdamore Oct 18, 2022
983cea9
Foreach tweaks.
gdamore Oct 18, 2022
9a23641
Precedence fixes.
gdamore Oct 18, 2022
5c2db16
Parameters cleanup.
gdamore Oct 18, 2022
984ac9e
Function body cleanup.
gdamore Oct 18, 2022
ae59c24
Conslidate constructor and destructor.
gdamore Oct 18, 2022
23ced24
Expose type specialization.
gdamore Oct 18, 2022
849a8ed
Clean up parameter_with_function_attributes.
gdamore Oct 18, 2022
0605a2d
More inline clean up - template_parameter_list.
gdamore Oct 18, 2022
8783695
Don't inline array_member_init.
gdamore Oct 18, 2022
51d146f
Arguments fixup.
gdamore Oct 18, 2022
ef33d2a
More parameter fixups.
gdamore Oct 18, 2022
48862c8
Scope statement clarifications.
gdamore Oct 18, 2022
601c4a1
fixes #5 Want indent queries
gdamore Oct 19, 2022
619e1ef
Significant updates to the README.
gdamore Oct 19, 2022
ec0b28a
Add Nova queries.
gdamore Nov 4, 2022
96a0ed5
Add support for bitfields.
gdamore Oct 17, 2022
6951b35
Fix typo for text object.
gdamore Nov 23, 2022
d0ae7d1
Symbolication for Nova.
gdamore Nov 23, 2022
5366691
Fix symbolication for bitfields.
gdamore Nov 23, 2022
ada4515
Mark deprecated version(int), debug(int).
gdamore Nov 23, 2022
a4aaf75
Bump version (0.3.0), fix typos.
gdamore Nov 23, 2022
b12ecdc
Nova symbolication tweaks.
gdamore Nov 23, 2022
bd3fa77
Version 0.3.1
gdamore Nov 23, 2022
1d50be1
Anchor some symbol names
gdamore Nov 23, 2022
92179b0
Version 0.3.2
gdamore Nov 23, 2022
6e73c91
Improved queries for enum members for Nova.
gdamore Nov 30, 2022
d0df9ef
Better keyword subclassing for highlighting.
gdamore Nov 30, 2022
279f687
Version 0.3.3
gdamore Nov 30, 2022
5a30761
Inconsistent highlighting of some attributes.
gdamore Dec 20, 2022
aabb7ad
Float is a builtin type.
gdamore Feb 18, 2023
79a8eab
Bracket highlighting fixups.
gdamore Feb 18, 2023
0f0fdd6
Add Helix queries.
gdamore Feb 18, 2023
cf78d40
Treat assignment to void as value.null (Nova).
gdamore Feb 18, 2023
efbfea6
Variable names in declarators are variables (Nova)
gdamore Feb 18, 2023
ee3df44
Enum identifeir names (Nova)
gdamore Feb 18, 2023
30e5b04
Pick up other uses of identifier.type.
gdamore Feb 18, 2023
63a5ea0
Version condition markup.
gdamore Feb 18, 2023
3bf6ea1
auto declaration variable markup
gdamore Feb 18, 2023
0378e6c
Tweak builtin types to workaround Nova limitations.
gdamore Feb 18, 2023
737dfb6
Manifest declarator.
gdamore Feb 18, 2023
9120816
Handle builtin types (string, etc.) more broadly.
gdamore Feb 19, 2023
c313189
build: Make scanner.c build with clang
vadorovsky Dec 1, 2023
20a388f
Build the scanner.c in the rust binding.
gdamore Dec 2, 2023
8e37cb2
bump setup node
gdamore Dec 2, 2023
1609828
Bump tree-sitter to 20.8
gdamore Dec 2, 2023
f5a96a2
gyp fails on npm 18 on macos
gdamore Dec 2, 2023
72025b1
go back to macos-11, because of python problems
gdamore Dec 2, 2023
5be34b5
try forcing python 3.11
gdamore Dec 2, 2023
9b97bb5
pip cache not working
gdamore Dec 2, 2023
5566f8c
fixes #19 add a test for static assert with multiple args
gdamore Dec 2, 2023
d9a1a2e
Add some metadata for tree-sitter (highlights and injections.)
gdamore Jan 22, 2024
775d65f
bump version to 0.3.8
gdamore Dec 2, 2023
e9da94b
Tidelift security
gdamore Feb 17, 2024
a33d400
Create FUNDING.yml
gdamore Feb 17, 2024
322d119
Regenerate using `tree-sitter generate` version 0.22.2
nordlow Mar 21, 2024
9f6ce41
Fix for webassembly build.
gdamore Mar 23, 2024
77a35ab
Fixes for highlighting (base highlights only)
gdamore Mar 23, 2024
7fa235c
Fix highlights for is operator, added test (base highlights only).
gdamore Mar 23, 2024
7692aa4
Add test for !in
gdamore Mar 23, 2024
804650c
Add test for !is
gdamore Mar 23, 2024
501057b
Remove extra conflicts.
gdamore Mar 23, 2024
8a0e9d6
fixes #24 DMD 2.105 alias this enhancement
gdamore Mar 23, 2024
1c5c147
Bump tree-sitter to 0.22.2
gdamore Mar 23, 2024
4950d80
bump copyright
gdamore Mar 23, 2024
94e7ef4
Fix missing scanner from npm build
gdamore Mar 23, 2024
595bdcf
Fix version building.
gdamore Mar 23, 2024
750dde9
fixes #23 DMD 2.105 deprecated bare enum as function return
gdamore Mar 23, 2024
f8c5659
fixes #28 Support Hexadecimal String Literals
gdamore Jul 27, 2024
6cdd062
add test for import expression
gdamore Jul 27, 2024
6f7c83c
add simple test case for if statement
gdamore Jul 27, 2024
5ac5dd8
bump copyright
gdamore Jul 27, 2024
f0fb364
fixes #26 Support Named Arguments added in DMD 2.108.0
gdamore Jul 27, 2024
be44a7c
Move raw and hex string parsing out of scanner and into grammar.
gdamore Jul 28, 2024
9f5d98e
Double quoted strings in parser instead of scanner.
gdamore Jul 28, 2024
79b25c6
Literal characters are now handled by the grammar instead of scanner.
gdamore Jul 28, 2024
20fb336
Bump to version 0.5.0
gdamore Jul 29, 2024
adcee93
misc fixups
gdamore Jul 29, 2024
191554b
Make builtin type aliases (e.g. string) real built-in types.
gdamore Jul 29, 2024
143a2e6
fix version
gdamore Jul 29, 2024
726aba0
Version 0.6.0 - add interpolated string support
gdamore Jul 29, 2024
c067ff3
Conforms to D 2.108.
gdamore Jul 29, 2024
69652b7
Update nova highlights for interpolation strings.
gdamore Jul 29, 2024
b840f51
fixes #36 directive mismatch
gdamore Jul 29, 2024
d41756a
bump version
gdamore Jul 29, 2024
8b94edb
package.json version
gdamore Jul 29, 2024
ac58458
more package.json version fixes
gdamore Jul 29, 2024
559c29e
Make escape sequences use immediate tokens.
gdamore Sep 17, 2024
c0dc93c
Add a test case for embedded comments.
gdamore Sep 17, 2024
1ff801d
Move !in and !is out of the scanner and into the grammar.
gdamore Sep 17, 2024
2a2cdce
Use token.immediate for shebang
gdamore Sep 17, 2024
f1c1ca5
string unescaped content should be token.immediate
gdamore Sep 17, 2024
b94c405
Remove the htmlentity. THIS IS A BREAKING CHANGE.
gdamore Sep 17, 2024
31d8821
Don't use a seq for the htmlentity.
gdamore Sep 17, 2024
b0edd52
Add test for #38
gdamore Sep 17, 2024
b9d9bea
fixes #37 Locate attributes properly with the thing they modify
gdamore Sep 19, 2024
7c5611c
fixes #41 "__EOF__" fails to parse
gdamore Sep 20, 2024
345206d
fixes #40 Parser error for strings starting with embedded comment.
gdamore Sep 20, 2024
6f492fa
Bump to version 0.7.0
gdamore Sep 20, 2024
0665519
Bring back htmlentity.
gdamore Sep 21, 2024
3f8009e
fixes #21 Highlight function names in callexpr as functions
gdamore Sep 21, 2024
430ce86
fixes #48 Problem with template parameters and "!in" and "!is"
gdamore Sep 21, 2024
f11ede3
fixes #49 Want tag queries
gdamore Sep 21, 2024
5dd6407
Version 0.8.0.
gdamore Sep 21, 2024
99eeccc
fixes #42 Bump tree-sitter version to 0.23.0
gdamore Sep 22, 2024
58ad7d4
Bump node version in GH actions to node 20.
gdamore Sep 22, 2024
d4e7de3
Fix compiler warning
gdamore Sep 22, 2024
2762f73
Bump pyproject tree-sitter to 0.23.0
gdamore Sep 22, 2024
e0be293
bump version
gdamore Sep 22, 2024
70f2c04
Add missing nodejs bindings test
gdamore Sep 22, 2024
45e5f1e
GH workflow versions
gdamore Sep 22, 2024
fb028c8
Add tags for aliases
BaruchWeka Jun 29, 2025
b842758
Add 'vendored_parsers/tree-sitter-d/' from commit 'fb028c8f14f4188286…
BaruchWeka Jul 5, 2025
ca2f41b
Add language support for D
BaruchWeka Jul 5, 2025
6babab3
Merge branch 'master' into dlang-support
baruch Aug 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,11 @@ fn main() {
src_dir: "vendored_parsers/tree-sitter-cmake-src",
extra_files: vec!["scanner.c"],
},
TreeSitterParser {
name: "tree-sitter-d",
src_dir: "vendored_parsers/tree-sitter-d-src",
extra_files: vec!["scanner.c"],
},
TreeSitterParser {
name: "tree-sitter-dart",
src_dir: "vendored_parsers/tree-sitter-dart-src",
Expand Down
3 changes: 3 additions & 0 deletions src/parse/guess_language.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ pub(crate) enum Language {
CPlusPlus,
CSharp,
Css,
D,
Dart,
DeviceTree,
Elixir,
Expand Down Expand Up @@ -128,6 +129,7 @@ pub(crate) fn language_name(language: Language) -> &'static str {
CPlusPlus => "C++",
CSharp => "C#",
Css => "CSS",
D => "D",
Dart => "Dart",
DeviceTree => "Device Tree",
Elixir => "Elixir",
Expand Down Expand Up @@ -258,6 +260,7 @@ pub(crate) fn language_globs(language: Language) -> Vec<glob::Pattern> {
],
CSharp => &["*.cs"],
Css => &["*.css"],
D => &["*.d", "*.di"],
Dart => &["*.dart"],
DeviceTree => &["*.dts", "*.dtsi", "*.dtso", "*.its"],
Elm => &["*.elm"],
Expand Down
15 changes: 15 additions & 0 deletions src/parse/tree_sitter_parser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ extern "C" {
fn tree_sitter_apex() -> ts::Language;
fn tree_sitter_clojure() -> ts::Language;
fn tree_sitter_cmake() -> ts::Language;
fn tree_sitter_d() -> ts::Language;
fn tree_sitter_dart() -> ts::Language;
fn tree_sitter_devicetree() -> ts::Language;
fn tree_sitter_elisp() -> ts::Language;
Expand Down Expand Up @@ -278,6 +279,20 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig {
sub_languages: vec![],
}
}
D => {
let language = unsafe { tree_sitter_d() };
TreeSitterConfig {
language: language.clone(),
atom_nodes: ["string_literal", "char_literal"].into_iter().collect(),
delimiter_tokens: vec![("(", ")"), ("{", "}"), ("[", "]")],
highlight_query: ts::Query::new(
&language,
include_str!("../../vendored_parsers/highlights/d.scm"),
)
.unwrap(),
sub_languages: vec![],
}
}
Dart => {
let language = unsafe { tree_sitter_dart() };
TreeSitterConfig {
Expand Down
16 changes: 16 additions & 0 deletions vendored_parsers/tree-sitter-d/.clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
BasedOnStyle: WebKit
UseTab: ForIndentation
IndentWidth: 8
ColumnLimit: 79
AlignConsecutiveAssignments: true
AlignConsecutiveDeclarations: true
AlignTrailingComments: true
AlignEscapedNewlines: Left
PointerAlignment: Right
DerivePointerAlignment: false
ForEachMacros: ['NNI_LIST_FOREACH']
AlwaysBreakAfterReturnType: TopLevelDefinitions
SpaceAfterCStyleCast: true
AllowShortFunctionsOnASingleLine: Inline
BreakBeforeBinaryOperators: None
TabWidth: 8
39 changes: 39 additions & 0 deletions vendored_parsers/tree-sitter-d/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

[*.{json,toml,yml,gyp}]
indent_style = space
indent_size = 2

[*.js]
indent_style = space
indent_size = 2

[*.rs]
indent_style = space
indent_size = 4

[*.{c,cc,h}]
indent_style = space
indent_size = 4

[*.{py,pyi}]
indent_style = space
indent_size = 4

[*.swift]
indent_style = space
indent_size = 4

[*.go]
indent_style = tab
indent_size = 8

[Makefile]
indent_style = tab
indent_size = 8
3 changes: 3 additions & 0 deletions vendored_parsers/tree-sitter-d/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/src/parser.c linguist-generated
/src/*.json linguist-generated
/src/tree_sitter/* linguist-vendored
4 changes: 4 additions & 0 deletions vendored_parsers/tree-sitter-d/.github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# These are supported funding model platforms

github: [gdamore]
tidelift: cargo/tree-sitter-d
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior. If this is a grammar bug, please include a sample of grammar acceptable to DMD but rejected by this grammar. For queries or highlighting issues, samples are also helpful.

**Expected behavior**
A clear and concise description of what you expected to happen.


**Additional context**
Add any other context about the problem here.
Your OS, and tree-sitter version, and if you're using this in the context of another project (such as an editor that is making use of the grammar), that is useful
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
22 changes: 22 additions & 0 deletions vendored_parsers/tree-sitter-d/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Build/test
on:
push:
branches:
- "**"
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: latest
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- run: npm install
- run: npm test
3 changes: 3 additions & 0 deletions vendored_parsers/tree-sitter-d/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
samples
log.html
output
73 changes: 73 additions & 0 deletions vendored_parsers/tree-sitter-d/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at [email protected]. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

[homepage]: https://www.contributor-covenant.org
58 changes: 58 additions & 0 deletions vendored_parsers/tree-sitter-d/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
We welcome additional contributions from the community!
If you're thinking of contributing, here's what you should know.

1. First check to make sure if an issue for the problem you're addressing,
or feature you're adding, has already been filed. If not, file one here:

https://github.com/gdamore/tree-sitter-d/issues

Please indicate in the description of the issue that you're working on
the issue, so we don't duplicate effort.

2. By submitting code to the project, you are asserting that the work is
either your own, or that you are authorized to submit it to this project.
Further, you are asserting that the project may continue to use, modify,
and redistribute your contribution under the terms in the LICENSE.txt file.

3. We maintain an "always release ready" stance for the master branch. That
is, at any point in time the tree should be in a state that a release
could be cut, and bisect should never find a point where an issue is
incompletely fixed or addressed.

4. Your code must pass the CI checks. You can test your grammar
using "tree-sitter test", and it must be clean.

5. If you add content to the grammar.js, please make sure to run
the "npm format" script. You will need "prettifier" to be
installed.

6. If you change the scanner.c file, please observe the formatting.
You can format the code automatically using clang-format, and a
`.clang-format` file is provided for this purpose.

7. Every issue must be fixed by at most one git commit, which shall normally
be identified in the first line of the commit message using the syntax

"fixes #<issue#> <exact issue synopsis>"

You can have multiple such lines if your commit addresses multiple issues,
but this is normally discouraged.

8. No merge commits. Rebase if you need to.

9. Additional text may follow the above line(s), separated from them by an
empty line. Normally this is not necessary, since the information should
be in the bug tracking system. Look at the git log to see examples.

10. Submit a GitHub pull request. Ideally just one bug per PR if possible,
and based upon the latest commit in the GitHub master branch.

11. We may rebase your changes, including squashing multiple commits,
or ask you to do so, if you have not followed the procedure above, or
if other changes have been made to the tree since you committed.

12. If you wish to add a copyright notice, please do so after any
existing one and follow the existing style, and do not add new terms.
(For example, do not add "All rights reserved.")

Thank you for your contributions!
26 changes: 26 additions & 0 deletions vendored_parsers/tree-sitter-d/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[package]
name = "tree-sitter-d"
description = "d grammar for the tree-sitter parsing library"
version = "0.8.2"
keywords = ["incremental", "parsing", "d"]
categories = ["parsing", "text-editors"]
repository = "https://github.com/gdamore/tree-sitter-d"
edition = "2021"
license = "MIT"

build = "bindings/rust/build.rs"
include = [
"bindings/rust/*",
"grammar.js",
"queries/*",
"src/*",
]

[lib]
path = "bindings/rust/lib.rs"

[dependencies]
tree-sitter-language = "0.1.0"

[build-dependencies]
cc = "1.0"
19 changes: 19 additions & 0 deletions vendored_parsers/tree-sitter-d/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
The MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom
the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
Loading
Loading