mirror of
https://github.com/elladunbar/tree-sitter-zanscript.git
synced 2025-11-05 23:29:54 -06:00
Compare commits
No commits in common. "v1" and "main" have entirely different histories.
8 changed files with 81637 additions and 2481 deletions
34
.github/workflows/release.yml
vendored
34
.github/workflows/release.yml
vendored
|
|
@ -35,7 +35,35 @@ jobs:
|
||||||
|
|
||||||
- name: Release
|
- name: Release
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
if: startsWith(github.ref, 'refs/tags/')
|
|
||||||
with:
|
with:
|
||||||
files: grammar-with-artifacts.zip
|
files:
|
||||||
make_latest: true
|
grammar-with-artifacts.zip
|
||||||
|
|
||||||
|
# release:
|
||||||
|
# needs: build
|
||||||
|
# runs-on: ubuntu-latest
|
||||||
|
# steps:
|
||||||
|
# - name: Download the artifact
|
||||||
|
# uses: actions/download-artifact@v3
|
||||||
|
# with:
|
||||||
|
# name: tree-sitter-grammar-release
|
||||||
|
#
|
||||||
|
# - name: Create GitHub Release
|
||||||
|
# id: create_release
|
||||||
|
# uses: actions/create-release@v1
|
||||||
|
# env:
|
||||||
|
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN}}
|
||||||
|
# with:
|
||||||
|
# tag_name: v${{ github.run_number }}
|
||||||
|
# release_name: Release v${{ github.run_number }}
|
||||||
|
# draft: false
|
||||||
|
# prerelease: false
|
||||||
|
#
|
||||||
|
# - name: Upload zip file to GitHub release
|
||||||
|
# uses: actions/upload-release-asset@v1
|
||||||
|
# with:
|
||||||
|
# upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
|
# asset_path: ./tree-sitter-grammar-release.zip
|
||||||
|
# asset_name: tree-sitter-grammar-release.zip
|
||||||
|
# asset_content_type: application/zip
|
||||||
|
#
|
||||||
|
|
|
||||||
19
generate_case_insensitive.py
Executable file
19
generate_case_insensitive.py
Executable file
|
|
@ -0,0 +1,19 @@
|
||||||
|
#!/usr/bin/env pypy3
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import itertools
|
||||||
|
|
||||||
|
word = sys.argv[1]
|
||||||
|
if " " in word:
|
||||||
|
print("Word must contain only letters in the alphabet.")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
word_versions = tuple(zip(word.lower(), word.upper()))
|
||||||
|
|
||||||
|
capitalization_index_sets = itertools.product((0, 1), repeat=len(word))
|
||||||
|
for capitalization_index_set in capitalization_index_sets:
|
||||||
|
combined_word = ""
|
||||||
|
for i, capitalization_index in enumerate(capitalization_index_set):
|
||||||
|
combined_word += word_versions[i][capitalization_index]
|
||||||
|
|
||||||
|
print('"' + combined_word + '"')
|
||||||
1455
grammar.js
1455
grammar.js
File diff suppressed because it is too large
Load diff
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "tree-sitter-zanscript",
|
"name": "tree-sitter-zanscript",
|
||||||
"version": "1.0.0",
|
"version": "3.0.0",
|
||||||
"description": "Zanscript grammar for tree-sitter",
|
"description": "Zanscript grammar for tree-sitter",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "bindings/node",
|
"types": "bindings/node",
|
||||||
|
|
|
||||||
|
|
@ -1,46 +1,17 @@
|
||||||
; highlights.scm
|
; highlights.scm
|
||||||
|
|
||||||
[
|
(comment) @comment
|
||||||
"DEFINE"
|
(variable) @variable
|
||||||
"define"
|
(match) @constant.macro
|
||||||
"Define"
|
(identifier) @constant
|
||||||
] @keyword.directive.define
|
(number) @number
|
||||||
|
(string) @string
|
||||||
[
|
(function name: (identifier) @function.builtin)
|
||||||
"INCLUDE"
|
(action name: (identifier) @function)
|
||||||
"include"
|
(detector invoked_action: (identifier) @function.call)
|
||||||
"Include"
|
(invoke invoked_action: (identifier) @function.call)
|
||||||
] @keyword.import
|
(select first_action: (identifier) @function.call)
|
||||||
|
(select second_action: (identifier) @function.call)
|
||||||
[
|
|
||||||
"ACTION"
|
|
||||||
"action"
|
|
||||||
"Action"
|
|
||||||
"COMPLETE"
|
|
||||||
"complete"
|
|
||||||
"Complete"
|
|
||||||
] @keyword.function
|
|
||||||
|
|
||||||
[
|
|
||||||
"IF"
|
|
||||||
"if"
|
|
||||||
"If"
|
|
||||||
"ELSE"
|
|
||||||
"else"
|
|
||||||
"Else"
|
|
||||||
"ENDIF"
|
|
||||||
"endif"
|
|
||||||
"Endif"
|
|
||||||
] @keyword.conditional
|
|
||||||
|
|
||||||
[
|
|
||||||
"WHILE"
|
|
||||||
"while"
|
|
||||||
"While"
|
|
||||||
"ENDWHILE"
|
|
||||||
"endwhile"
|
|
||||||
"Endwhile"
|
|
||||||
] @keyword.repeat
|
|
||||||
|
|
||||||
[
|
[
|
||||||
"+"
|
"+"
|
||||||
|
|
@ -59,11 +30,18 @@
|
||||||
")"
|
")"
|
||||||
] @punctuation.bracket
|
] @punctuation.bracket
|
||||||
|
|
||||||
(comment) @comment
|
; case insensitive
|
||||||
(variable) @variable
|
|
||||||
(match) @constant.macro
|
(define_insensitive) @keyword.directive.define
|
||||||
(identifier) @constant
|
(include_insensitive) @keyword.import
|
||||||
(number) @number
|
(action_insensitive) @keyword.function
|
||||||
(string) @string
|
(complete_insensitive) @keyword.function
|
||||||
(function name: (identifier) @function.call)
|
(if_insensitive) @keyword.conditional
|
||||||
(action name: (identifier) @function)
|
(else_insensitive) @keyword.conditional
|
||||||
|
(elseif_insensitive) @keyword.conditional
|
||||||
|
(endif_insensitive) @keyword.conditional
|
||||||
|
(while_insensitive) @keyword.repeat
|
||||||
|
(endwhile_insensitive) @keyword.repeat
|
||||||
|
(detector_insensitive) @function.builtin
|
||||||
|
(invoke_insensitive) @function.builtin
|
||||||
|
(select_insensitive) @function.builtin
|
||||||
|
|
|
||||||
5606
src/grammar.json
generated
5606
src/grammar.json
generated
File diff suppressed because it is too large
Load diff
5343
src/node-types.json
generated
5343
src/node-types.json
generated
File diff suppressed because it is too large
Load diff
71571
src/parser.c
generated
71571
src/parser.c
generated
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue