Skip to content
This repository was archived by the owner on Apr 3, 2026. It is now read-only.

CEL#8522

Open
stefanvanburen wants to merge 1 commit into
nvim-treesitter:mainfrom
stefanvanburen:svanburen/cel
Open

CEL#8522
stefanvanburen wants to merge 1 commit into
nvim-treesitter:mainfrom
stefanvanburen:svanburen/cel

Conversation

@stefanvanburen

Copy link
Copy Markdown
Contributor

https://cel.dev

.cel (supported on nvim nightly: neovim/neovim#37834)

CEL is an expression-based language that's embeddable, so sorry for the short example. (Many more on https://celbyexample.com.)

(I don't think the details/summary work in the pull request template, because the markdown is within HTML, so I've just made it markdown below.)

Representative code sample

// From cel.dev homepage
// Simple predicates
'tacocat'.startsWith('taco')

parser repo: https://github.com/bufbuild/tree-sitter-cel

Parsed tree for code sample

(expr ; [0, 0] - [3, 0]
  (comment) ; [0, 0] - [0, 24]
  (comment) ; [1, 0] - [1, 20]
  (member_call_expression ; [2, 0] - [2, 28]
    operand: (string_literal ; [2, 0] - [2, 9]
      (single_quoted_string_literal)) ; [2, 0] - [2, 9]
    function: (identifier) ; [2, 10] - [2, 20]
    arguments: (arguments ; [2, 20] - [2, 28]
      (string_literal ; [2, 21] - [2, 27]
        (single_quoted_string_literal))))) ; [2, 21] - [2, 27]

Source of queries: written from scratch; cobbled together from other tree-sitter repositories.

Screenshots of code sample image

https://cel.dev

`.cel` (supported on nvim nightly: neovim/neovim#37834)

CEL is an expression-based language that's embeddable, so sorry for the
short example. (Many more on https://celbyexample.com.)

<details>
<summary>Representative code sample</summary>
```
// From cel.dev homepage
// Simple predicates
'tacocat'.startsWith('taco')
```
</details>

https://github.com/bufbuild/tree-sitter-cel

<details>
<summary>Parsed tree for code sample</summary>
```
(expr ; [0, 0] - [3, 0]
  (comment) ; [0, 0] - [0, 24]
  (comment) ; [1, 0] - [1, 20]
  (member_call_expression ; [2, 0] - [2, 28]
    operand: (string_literal ; [2, 0] - [2, 9]
      (single_quoted_string_literal)) ; [2, 0] - [2, 9]
    function: (identifier) ; [2, 10] - [2, 20]
    arguments: (arguments ; [2, 20] - [2, 28]
      (string_literal ; [2, 21] - [2, 27]
        (single_quoted_string_literal))))) ; [2, 21] - [2, 27]

```
</details>

Source of queries: written from scratch; cobbled together from other
tree-sitter repositories.

<details>
<summary>Screenshots of code sample</summary>
<!-- paste screenshot of code sample using provided queries here -->
</details>

<!--
CHECKLIST: _Before_ submitting, make sure

* `./scripts/install-parsers.lua <language>` works without warnings
* `./scripts/install-parsers.lua --generate <language>` works without warnings
* `make query` works without warning
* `make docs` is run
-->
@clason clason added the new language PR adding a new (or switching to a different) parser label Feb 21, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

new language PR adding a new (or switching to a different) parser

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants