{
 "name" : "context.pdf",
 "patterns" : [
  {
   "include" : "#object"
  },
  {
   "include" : "#comment"
  },
  {
   "include" : "#trailer"
  },
  {
   "include" : "#dictionary"
  },
  {
   "include" : "#startxref"
  },
  {
   "include" : "#xref"
  }
 ],
 "repository" : {
  "array" : {
   "begin" : "(\u005C[)",
   "beginCaptures" : {
    "1" : {
     "name" : "context.grouping.array.open.pdf"
    }
   },
   "end" : "(\u005C])",
   "endCaptures" : {
    "1" : {
     "name" : "context.grouping.array.close.pdf"
    }
   },
   "patterns" : [
    {
     "include" : "#content"
    }
   ]
  },
  "comment" : {
   "match" : "%.*$\u005Cn?",
   "name" : "context.comment.comment.pdf"
  },
  "content" : {
   "patterns" : [
    {
     "include" : "#dictionary"
    },
    {
     "include" : "#stream"
    },
    {
     "include" : "#array"
    },
    {
     "match" : "(/[^\u005Cs<>/\u005C[\u005C]\u005C(\u005C)]+)",
     "name" : "context.constant.object.content.name.pdf"
    },
    {
     "captures" : {
      "1" : {
       "name" : "context.warning.content.reference.1.pdf"
      },
      "2" : {
       "name" : "context.warning.content.reference.2.pdf"
      },
      "3" : {
       "name" : "context.command.content.reference.3.pdf"
      }
     },
     "match" : "([0-9]+)\u005Cs*([0-9]+)\u005Cs*(R)"
    },
    {
     "match" : "([\u005C-]?[0-9]*[\u005C.]?[0-9]+)",
     "name" : "context.number.content.real.pdf"
    },
    {
     "match" : "([\u005C-]?[0-9]+)",
     "name" : "context.number.content.integer.pdf"
    },
    {
     "captures" : {
      "1" : {
       "name" : "context.quote.content.string.open.pdf"
      },
      "2" : {
       "name" : "context.string.content.string.text.pdf"
      },
      "3" : {
       "name" : "context.quote.content.string.close.pdf"
      }
     },
     "match" : "(\u005C()((?:\u005C\u005C[\u005C(\u005C)]|[^\u005C(\u005C)])*)(\u005C))"
    },
    {
     "match" : "(true|null|false)",
     "name" : "context.number.content.reserved.pdf"
    },
    {
     "captures" : {
      "1" : {
       "name" : "context.quote.content.unicode.open.pdf"
      },
      "2" : {
       "name" : "context.plain.content.unicode.bomb.pdf"
      },
      "3" : {
       "name" : "context.string.content.unicode.text.pdf"
      },
      "4" : {
       "name" : "context.quote.content.unicode.close.pdf"
      }
     },
     "match" : "(<)(feff)([^>]*)(>)"
    },
    {
     "captures" : {
      "1" : {
       "name" : "context.quote.content.whatsit.open.pdf"
      },
      "2" : {
       "name" : "context.string.content.whatsit.text.pdf"
      },
      "3" : {
       "name" : "context.quote.content.whatsit.close.pdf"
      }
     },
     "match" : "(<)([^>]*)(>)"
    }
   ]
  },
  "dictionary" : {
   "begin" : "(<<)",
   "beginCaptures" : {
    "1" : {
     "name" : "context.grouping.dictionary.open.pdf"
    }
   },
   "end" : "(>>)",
   "endCaptures" : {
    "1" : {
     "name" : "context.grouping.dictionary.close.pdf"
    }
   },
   "patterns" : [
    {
     "begin" : "(/[^\u005Cs<>/\u005C[\u005C]\u005C(\u005C)]+)\u005Cs*",
     "beginCaptures" : {
      "1" : {
       "name" : "context.command.dictionary.name.pdf"
      }
     },
     "end" : "(?=[>])",
     "patterns" : [
      {
       "include" : "#content"
      }
     ]
    }
   ]
  },
  "object" : {
   "begin" : "([0-9]+)\u005Cs*([0-9]+)\u005Cs*(obj)",
   "beginCaptures" : {
    "1" : {
     "name" : "context.warning.object.1.pdf"
    },
    "2" : {
     "name" : "context.warning.object.2.pdf"
    },
    "3" : {
     "name" : "context.keyword.object.open.pdf"
    }
   },
   "end" : "(endobj)",
   "endCaptures" : {
    "1" : {
     "name" : "context.keyword.object.close.pdf"
    }
   },
   "patterns" : [
    {
     "include" : "#content"
    }
   ]
  },
  "startxref" : {
   "begin" : "startxref\u005Cs*",
   "captures" : {
    "0" : {
     "name" : "context.keyword.startxref.1.pdf"
    }
   },
   "end" : "(?=[^0-9])",
   "patterns" : [
    {
     "begin" : "([0-9]+)\u005Cs*",
     "captures" : {
      "1" : {
       "name" : "context.number.startxref.2.pdf"
      }
     },
     "end" : "(?=.)"
    }
   ]
  },
  "stream" : {
   "begin" : "^stream$",
   "beginCaptures" : {
    "0" : {
     "name" : "context.keyword.stream.open.pdf"
    }
   },
   "end" : "^endstream$",
   "endCaptures" : {
    "0" : {
     "name" : "context.keyword.stream.close.pdf"
    }
   }
  },
  "trailer" : {
   "match" : "trailer",
   "name" : "context.keyword.trailer.pdf"
  },
  "xref" : {
   "begin" : "xref\u005Cs*",
   "captures" : {
    "0" : {
     "name" : "context.keyword.xref.1.pdf"
    }
   },
   "end" : "(?=[^0-9])",
   "patterns" : [
    {
     "begin" : "([0-9]+)\u005Cs*([0-9]+)\u005Cs*",
     "captures" : {
      "1" : {
       "name" : "context.number.xref.2.pdf"
      },
      "2" : {
       "name" : "context.number.xref.3.pdf"
      }
     },
     "end" : "(?=[^0-9])",
     "patterns" : [
      {
       "begin" : "([0-9]+)\u005Cs*([0-9]+)\u005Cs*([fn])\u005Cs*",
       "captures" : {
        "1" : {
         "name" : "context.number.xref.4.pdf"
        },
        "2" : {
         "name" : "context.number.xref.5.pdf"
        },
        "3" : {
         "name" : "context.keyword.xref.6.pdf"
        }
       },
       "end" : "(?=.)"
      }
     ]
    }
   ]
  }
 },
 "scopeName" : "source.context.pdf",
 "version" : "1.0.0"
}