Skip to content

Commit 59458aa

Browse files
dgmcdonaDavid McDonald
authored and
David McDonald
committed
Adds tree-sitter-powershell
1 parent df88612 commit 59458aa

7 files changed

+47
-0
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ javascript
103103
markdown
104104
nix
105105
php
106+
powershell
106107
python
107108
ruby
108109
rust

build.rs

+17
Original file line numberDiff line numberDiff line change
@@ -284,4 +284,21 @@ fn main() {
284284
.warnings(false)
285285
.file(typescript_dir.join("scanner.c"))
286286
.compile("tree_sitter_typescript_scanner");
287+
288+
// powershell
289+
let powershell_dir: PathBuf = ["vendor", "tree-sitter-powershell", "src"].iter().collect();
290+
291+
println!("cargo:rerun-if-changed=vendor/tree-sitter-powershell/src/parser.c");
292+
cc::Build::new()
293+
.include(&powershell_dir)
294+
.warnings(false)
295+
.file(&powershell_dir.join("parser.c"))
296+
.compile("tree-sitter-powershell");
297+
298+
println!("cargo:rerun-if-changed=vendor/tree-sitter-powershell/src/scanner.c");
299+
cc::Build::new()
300+
.include(&powershell_dir)
301+
.warnings(false)
302+
.file(&powershell_dir.join("scanner.c"))
303+
.compile("tree_sitter_powershell_scanner");
287304
}

flake.lock

+17
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

+6
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@
9090
url = "github:theHamsta/tree-sitter-cuda/v0.20.3";
9191
flake = false;
9292
};
93+
94+
tree-sitter-powershell = {
95+
url = "github:airbus-cert/tree-sitter-powershell";
96+
flake = false;
97+
};
9398
};
9499

95100
outputs = inputs:
@@ -123,6 +128,7 @@
123128
ln -s ${inputs.tree-sitter-typescript} vendor/tree-sitter-typescript
124129
ln -s ${inputs.tree-sitter-nix} vendor/tree-sitter-nix
125130
ln -s ${inputs.tree-sitter-cuda} vendor/tree-sitter-cuda
131+
ln -s ${inputs.tree-sitter-powershell} vendor/tree-sitter-powershell
126132
'';
127133
in rec {
128134
# `nix build`

src/extractor_chooser.rs

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ impl<'extractor> ExtractorChooser<'extractor> {
1515
types_builder.add_defaults();
1616
types_builder.add_def("cuda:*.cu,*.cuh,*.hpp")?;
1717
types_builder.add_def("cuda:include:cpp")?;
18+
types_builder.add_def("powershell:*.ps1")?;
1819

1920
let mut names_to_extractors = HashMap::with_capacity(extractors.len());
2021

src/language.rs

+4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ pub enum Language {
1818
Markdown,
1919
Nix,
2020
Php,
21+
PowerShell,
2122
Python,
2223
Ruby,
2324
Rust,
@@ -45,6 +46,7 @@ impl Language {
4546
Language::Markdown => tree_sitter_markdown(),
4647
Language::Nix => tree_sitter_nix(),
4748
Language::Php => tree_sitter_php(),
49+
Language::PowerShell => tree_sitter_powershell(),
4850
Language::Python => tree_sitter_python(),
4951
Language::Ruby => tree_sitter_ruby(),
5052
Language::Rust => tree_sitter_rust(),
@@ -77,6 +79,7 @@ impl Language {
7779
Language::Rust => "rust",
7880
Language::Sass => "sass",
7981
Language::TypeScript => "ts",
82+
Language::PowerShell => "powershell",
8083
}
8184
}
8285
}
@@ -112,6 +115,7 @@ extern "C" {
112115
fn tree_sitter_markdown() -> tree_sitter::Language;
113116
fn tree_sitter_nix() -> tree_sitter::Language;
114117
fn tree_sitter_php() -> tree_sitter::Language;
118+
fn tree_sitter_powershell() -> tree_sitter::Language;
115119
fn tree_sitter_python() -> tree_sitter::Language;
116120
fn tree_sitter_ruby() -> tree_sitter::Language;
117121
fn tree_sitter_rust() -> tree_sitter::Language;

tests/cmd/languages.trycmd

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ javascript
1212
markdown
1313
nix
1414
php
15+
powershell
1516
python
1617
ruby
1718
rust

0 commit comments

Comments
 (0)