<commit_before>%YAML 1.2
---
name: mellow
scope: source.mellow
file_extensions: [mlo]

contexts:
  prototype:
    - include: comments

  comments:
    - match: //.*
      scope: comment.line.double-slash

  main:
    - match: \b(import|func|struct|variant|if|else|then|coda|for|foreach|while|match|is|in|fn|return)\b
      scope: keyword.control.mellow
    - match: \b(func|struct|variant)\b
      scope: storage.type.mellow
    - match: (::|==|\b=|:=|<|>|<=|>=|=>|->|~|!)
      scope: keyword.operator.mellow
    - match: \b(true|false)\b
      scope: constant.language.mellow
    - match: \b(int|long|short|char|byte|string)\b
      scope: support.function.mellow
    - match: \b([0-9]+)\.\.
      captures:
        1: constant.numeric.mellow
    - match: \b([0-9]+\.[0-9]*)
      scope: constant.numeric.mellow
    - match: \b([0-9]*\.[0-9]+)
      scope: constant.numeric.mellow
    - match: \b([0-9]+)
      scope: constant.numeric.mellow
    - match: '"'
      push: string
    - match: "'"
      push: char
    - match: \(
      push: parens<commit_msg>Add the yield and spawn keywords to the syntax definition<commit_after>%YAML 1.2
---
name: mellow
scope: source.mellow
file_extensions: [mlo]

contexts:
  prototype:
    - include: comments

  comments:
    - match: //.*
      scope: comment.line.double-slash

  main:
    - match: \b(import|func|struct|variant|if|else|then|coda|for|foreach|while|match|is|in|fn|return|yield|spawn)\b
      scope: keyword.control.mellow
    - match: \b(func|struct|variant)\b
      scope: storage.type.mellow
    - match: (::|==|\b=|:=|<|>|<=|>=|=>|->|~|!)
      scope: keyword.operator.mellow
    - match: \b(true|false)\b
      scope: constant.language.mellow
    - match: \b(int|long|short|char|byte|string)\b
      scope: support.function.mellow
    - match: \b([0-9]+)\.\.
      captures:
        1: constant.numeric.mellow
    - match: \b([0-9]+\.[0-9]*)
      scope: constant.numeric.mellow
    - match: \b([0-9]*\.[0-9]+)
      scope: constant.numeric.mellow
    - match: \b([0-9]+)
      scope: constant.numeric.mellow
    - match: '"'
      push: string
    - match: "'"
      push: char
    - match: \(
      push: parens
{'fraction_non_alphanumeric': 0.19301470588235295, 'fraction_numerical': 0.013786764705882353, 'mean_word_length': 2.5226537216828477, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5710368', 'n_tokens_mistral': 816, 'n_tokens_neox': 802, 'n_words': 134}