{
  "scopeName": "source.arithma",
  "name": "arithma",
  "patterns": [
    { "include": "#comments" },
    { "include": "#keywords" },
    { "include": "#numbers" },
    { "include": "#booleans" },
    { "include": "#functions" },
    { "include": "#operators" }
  ],
  "repository": {
    "comments": {
      "patterns": [
        {
          "name": "comment.line.double-slash.arithma",
          "match": "//.*$"
        }
      ]
    },
    "keywords": {
      "patterns": [
        {
          "name": "keyword.control.arithma",
          "match": "\\b(for|in|if|else|print|let|do)\\b"
        }
      ]
    },
    "numbers": {
      "patterns": [
        {
          "name": "constant.numeric.arithma",
          "match": "\\b[+-]?(\\d+(\\.\\d+)?|\\.\\d+)([ij])?\\b"
        }
      ]
    },
    "booleans": {
      "patterns": [
        {
          "name": "constant.language.boolean.arithma",
          "match": "\\b(true|false)\\b"
        }
      ]
    },
    "functions": {
      "patterns": [
        {
          "name": "entity.name.function.arithma",
          "match": "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\("
        }
      ]
    },
    "operators": {
      "patterns": [
        {
          "name": "keyword.operator.arithma",
          "match": "\\+|\\-|\\*|/|=|==|!=|<=|>=|<|>|\\^|%|\\+=|\\-=|\\*=|/=|\\.|\\!|\\[|\\]|\\{|\\}|,|\\|"
        }
      ]
    }
  },
  "fileTypes": ["arithma"],
  "firstLineMatch": "^#!.*\\barthma\\b"
}