<commit_before>{
  "fileTypes": [
    "gd"
  ],
  "scopeName": "source.gdscript",
  "name": "GDScript",
  "patterns": [
    { "include": "#base_expression" },
    { "include": "#logic_op" },
    { "include": "#compare_op" },
    { "include": "#arithmetic_op" },
    { "include": "#assignment_op" },
    { "include": "#keywords" },
    { "include": "#self" },
    { "include": "#const_def" },
    { "include": "#type_declear"},
    { "include": "#class_def" },
    { "include": "#class_name"},
    { "include": "#builtin_func" },
    { "include": "#builtin_classes" },
    { "include": "#const_vars" },
    { "include": "#class_new"},
    { "include": "#class_is"},
    { "include": "#class_enum"},
    { "include": "#function-declaration" },
    { "include": "#function-return-type" },
    { "include": "#any-method" },
    { "include": "#any-property" },
    { "include": "#extends" },
    { "include": "#pascal_case_class" }
  ],
  "repository": {
    "comment": {
      "captures": {
        "1": {
          "name": "punctuation.definition.comment.number-sign.gdscript"
        }
      },
      "match": "(#).*$\\n?",
      "name": "comment.line.number-sign.gdscript"
    },
    "strings": {
      "patterns": [{
          "begin": "\"",
          "end": "\"",
          "patterns": [
            {  "name": "constant.character.escape.untitled",
                "match": "\\."
            }
          ],
          "name": "string.quoted.double.gdscript"
        },
        {
          "begin": "'",
          "end": "'",
          "patterns": [
            {  "name": "constant.character.escape.untitled",
                "match": "\\."
            }
          ],
          "name": "string.quoted.single.gdscript"
        },
        {
          "begin": "@\"",
          "end": "\"",
          "patterns": [
            {  "name": "constant.character.escape.untitled",
                "match": "\\."
            }
          ],
          "name": "string.nodepath.gdscript"
        }
      ]
    },
    "self": {
      "match": "\\bself\\b",
      "name": "variable.language.gdscript"
    },
    "base_expression": {
      "patterns": [
        { "include": "#strings"},
        { "include": "#comment"},
        { "include": "#letter"},
        { "include": "#numbers"},
        { "include": "#line-continuation"}
      ]
    },
    "logic_op": {
      "match": "\\b(and|or|not)\\b",
      "name": "keyword.operator.logical.gdscript"
    },
    "compare_op": {
      "match": "<=|>=|==|<|>|!=",
      "name": "keyword.operator.comparison.gdscript"
    },
    "arithmetic_op": {
      "match": "\\+=|-=|\\*=|/=|%=|&=|\\|=|\\*|/|%|\\+|-|<<|>>|&|\\||\\^|~",
      "name": "keyword.operator.arithmetic.gdscript"
    },
    "assignment_op": {
      "match": "=",
      "name": "keyword.operator.assignment.gdscript"
    },

    "keywords": {
      "match": "\\b(?i:if|elif|else|for|while|break|continue|pass|return|match|func|class|class_name|extends|is|onready|tool|static|export|setget|const|var|as|void|enum|preload|assert|yield|signal|breakpoint|rpc|sync|master|puppet|slave|remotesync|mastersync|puppetsync)\\b",
      "name": "keyword.language.gdscript"
    },
    "letter": {
        "match": "\\b(?i:true|false|null)\\b",
        "name": "constant.language.gdscript"
    },
    "numbers": {
      "patterns": [{
          "match": "\\b(?i:0x\\h*)\\b",
          "name": "constant.numeric.integer.hexadecimal.gdscript"
        },
        {
          "match": "\\b(?i:(\\d+\\.\\d*(e[\\-\\+]?\\d+)?))\\b",
          "name": "constant.numeric.float.gdscript"
        },
        {
          "match": "\\b(?i:(\\.\\d+(e[\\-\\+]?\\d+)?))\\b",
          "name": "constant.numeric.float.gdscript"
        },
        {
          "match": "\\b(?i:(\\d+e[\\-\\+]?\\d+))\\b",
          "name": "constant.numeric.float.gdscript"
        },
        {
          "match": "\\b\\d+\\b",
          "name": "constant.numeric.integer.gdscript"
        }
      ]<commit_msg>Add `in` to keyword list<commit_after>{
  "fileTypes": [
    "gd"
  ],
  "scopeName": "source.gdscript",
  "name": "GDScript",
  "patterns": [
    { "include": "#base_expression" },
    { "include": "#logic_op" },
    { "include": "#compare_op" },
    { "include": "#arithmetic_op" },
    { "include": "#assignment_op" },
    { "include": "#keywords" },
    { "include": "#self" },
    { "include": "#const_def" },
    { "include": "#type_declear"},
    { "include": "#class_def" },
    { "include": "#class_name"},
    { "include": "#builtin_func" },
    { "include": "#builtin_classes" },
    { "include": "#const_vars" },
    { "include": "#class_new"},
    { "include": "#class_is"},
    { "include": "#class_enum"},
    { "include": "#function-declaration" },
    { "include": "#function-return-type" },
    { "include": "#any-method" },
    { "include": "#any-property" },
    { "include": "#extends" },
    { "include": "#pascal_case_class" }
  ],
  "repository": {
    "comment": {
      "captures": {
        "1": {
          "name": "punctuation.definition.comment.number-sign.gdscript"
        }
      },
      "match": "(#).*$\\n?",
      "name": "comment.line.number-sign.gdscript"
    },
    "strings": {
      "patterns": [{
          "begin": "\"",
          "end": "\"",
          "patterns": [
            {  "name": "constant.character.escape.untitled",
                "match": "\\."
            }
          ],
          "name": "string.quoted.double.gdscript"
        },
        {
          "begin": "'",
          "end": "'",
          "patterns": [
            {  "name": "constant.character.escape.untitled",
                "match": "\\."
            }
          ],
          "name": "string.quoted.single.gdscript"
        },
        {
          "begin": "@\"",
          "end": "\"",
          "patterns": [
            {  "name": "constant.character.escape.untitled",
                "match": "\\."
            }
          ],
          "name": "string.nodepath.gdscript"
        }
      ]
    },
    "self": {
      "match": "\\bself\\b",
      "name": "variable.language.gdscript"
    },
    "base_expression": {
      "patterns": [
        { "include": "#strings"},
        { "include": "#comment"},
        { "include": "#letter"},
        { "include": "#numbers"},
        { "include": "#line-continuation"}
      ]
    },
    "logic_op": {
      "match": "\\b(and|or|not)\\b",
      "name": "keyword.operator.logical.gdscript"
    },
    "compare_op": {
      "match": "<=|>=|==|<|>|!=",
      "name": "keyword.operator.comparison.gdscript"
    },
    "arithmetic_op": {
      "match": "\\+=|-=|\\*=|/=|%=|&=|\\|=|\\*|/|%|\\+|-|<<|>>|&|\\||\\^|~",
      "name": "keyword.operator.arithmetic.gdscript"
    },
    "assignment_op": {
      "match": "=",
      "name": "keyword.operator.assignment.gdscript"
    },

    "keywords": {
      "match": "\\b(?i:if|elif|else|for|while|break|continue|pass|return|match|func|class|class_name|extends|is|in|onready|tool|static|export|setget|const|var|as|void|enum|preload|assert|yield|signal|breakpoint|rpc|sync|master|puppet|slave|remotesync|mastersync|puppetsync)\\b",
      "name": "keyword.language.gdscript"
    },
    "letter": {
        "match": "\\b(?i:true|false|null)\\b",
        "name": "constant.language.gdscript"
    },
    "numbers": {
      "patterns": [{
          "match": "\\b(?i:0x\\h*)\\b",
          "name": "constant.numeric.integer.hexadecimal.gdscript"
        },
        {
          "match": "\\b(?i:(\\d+\\.\\d*(e[\\-\\+]?\\d+)?))\\b",
          "name": "constant.numeric.float.gdscript"
        },
        {
          "match": "\\b(?i:(\\.\\d+(e[\\-\\+]?\\d+)?))\\b",
          "name": "constant.numeric.float.gdscript"
        },
        {
          "match": "\\b(?i:(\\d+e[\\-\\+]?\\d+))\\b",
          "name": "constant.numeric.float.gdscript"
        },
        {
          "match": "\\b\\d+\\b",
          "name": "constant.numeric.integer.gdscript"
        }
      ]
{'fraction_non_alphanumeric': 0.251828499369483, 'fraction_numerical': 0.0005044136191677175, 'mean_word_length': 1.9428571428571428, 'pattern_counts': {'":': 188, '<': 11, '<?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': '1674883', 'n_tokens_mistral': 2819, 'n_tokens_neox': 2737, 'n_words': 316}