Skip to content

Commit

Permalink
ensure rust grammar is available in CI
Browse files Browse the repository at this point in the history
  • Loading branch information
the-mikedavis committed Feb 15, 2022
1 parent 6948f8a commit 91f458d
Show file tree
Hide file tree
Showing 4 changed files with 68 additions and 24 deletions.
30 changes: 22 additions & 8 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ jobs:
steps:
- name: Checkout sources
uses: actions/checkout@v2
with:
submodules: true

- name: Install stable toolchain
uses: actions-rs/toolchain@v1
Expand Down Expand Up @@ -53,8 +51,6 @@ jobs:
steps:
- name: Checkout sources
uses: actions/checkout@v2
with:
submodules: true

- name: Install stable toolchain
uses: actions-rs/toolchain@v1
Expand All @@ -81,6 +77,28 @@ jobs:
path: target
key: ${{ runner.os }}-v2-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}

- name: Cache test tree-sitter-grammar
uses: actions/cache@v2.1.7
with:
path: runtime/grammars
key: ${{ runner.os }}-v2-tree-sitter-grammars-${{ hashFiles('**/Cargo.lock') }}

- run: cp .github/workflows/languages.toml ./languages.toml

- name: Download test tree-sitter grammar
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.cross }}
command: run
args: -- --fetch-grammars

- name: Build test tree-sitter grammar
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.cross }}
command: run
args: -- --build-grammars

- name: Run cargo test
uses: actions-rs/cargo@v1
with:
Expand All @@ -97,8 +115,6 @@ jobs:
steps:
- name: Checkout sources
uses: actions/checkout@v2
with:
submodules: true

- name: Install stable toolchain
uses: actions-rs/toolchain@v1
Expand Down Expand Up @@ -144,8 +160,6 @@ jobs:
steps:
- name: Checkout sources
uses: actions/checkout@v2
with:
submodules: true

- name: Install stable toolchain
uses: actions-rs/toolchain@v1
Expand Down
26 changes: 26 additions & 0 deletions .github/workflows/languages.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# This languages.toml is used for testing in CI.

[[language]]
name = "rust"
scope = "source.rust"
injection-regex = "rust"
file-types = ["rs"]
comment-token = "//"
roots = ["Cargo.toml", "Cargo.lock"]
indent = { tab-width = 4, unit = " " }

[[grammar]]
name = "rust"
source = { git = "https://github.com/tree-sitter/tree-sitter-rust", rev = "a360da0a29a19c281d08295a35ecd0544d2da211" }

[[language]]
name = "nix"
scope = "source.nix"
injection-regex = "nix"
file-types = ["nix"]
shebangs = []
roots = []
comment-token = "#"

# A grammar entry is not necessary for this language - it is only used for
# testing TOML merging behavior.
24 changes: 16 additions & 8 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,6 @@ jobs:
steps:
- name: Checkout sources
uses: actions/checkout@v2
with:
submodules: true

- name: Install ${{ matrix.rust }} toolchain
uses: actions-rs/toolchain@v1
Expand All @@ -64,6 +62,22 @@ jobs:
target: ${{ matrix.target }}
override: true

- run: cp .github/workflows/languages.toml ./languages.toml

- name: Download test tree-sitter grammar
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.cross }}
command: --fetch-grammars
args: --release --locked --target ${{ matrix.target }}

- name: Build test tree-sitter grammar
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.cross }}
command: --build-grammars
args: --release --locked --target ${{ matrix.target }}

- name: Run cargo test
uses: actions-rs/cargo@v1
with:
Expand Down Expand Up @@ -114,14 +128,8 @@ jobs:
steps:
- name: Checkout sources
uses: actions/checkout@v2
with:
submodules: false

- uses: actions/download-artifact@v2
# with:
# path: dist
# - run: ls -al ./dist
- run: ls -al bins-*

- name: Calculate tag name
run: |
Expand Down
12 changes: 4 additions & 8 deletions helix-core/src/syntax.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1935,14 +1935,10 @@ mod test {
let language = get_language(&crate::RUNTIME_DIR, "Rust").unwrap();
let config = HighlightConfiguration::new(
language,
&std::fs::read_to_string(
"../helix-syntax/languages/tree-sitter-rust/queries/highlights.scm",
)
.unwrap(),
&std::fs::read_to_string(
"../helix-syntax/languages/tree-sitter-rust/queries/injections.scm",
)
.unwrap(),
&std::fs::read_to_string("../runtime/grammars/sources/rust/queries/highlights.scm")
.unwrap(),
&std::fs::read_to_string("../runtime/grammars/sources/rust/queries/injections.scm")
.unwrap(),
"", // locals.scm
)
.unwrap();
Expand Down

0 comments on commit 91f458d

Please sign in to comment.