github-linguist 6.0.1 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/annotation.liquidhaskell.haskell.json +13 -4
  3. data/grammars/hint.haskell.json +13 -4
  4. data/grammars/hint.message.haskell.json +13 -4
  5. data/grammars/hint.type.haskell.json +13 -4
  6. data/grammars/source.angelscript.json +1 -1
  7. data/grammars/source.ballerina.json +25 -2
  8. data/grammars/source.batchfile.json +69 -38
  9. data/grammars/source.c.json +1 -1
  10. data/grammars/source.clarion.json +4 -4
  11. data/grammars/source.cs.json +3952 -780
  12. data/grammars/source.elixir.json +7 -7
  13. data/grammars/source.fortran.json +38 -35
  14. data/grammars/source.fortran.modern.json +6 -6
  15. data/grammars/source.graphql.json +55 -2
  16. data/grammars/source.haskell.json +13 -4
  17. data/grammars/source.hsig.json +13 -4
  18. data/grammars/source.hx.json +2309 -0
  19. data/grammars/source.hxml.json +37 -5
  20. data/grammars/source.isabelle.theory.json +7 -7
  21. data/grammars/source.js.json +39 -54
  22. data/grammars/source.js.regexp.json +11 -5
  23. data/grammars/source.julia.json +16 -5
  24. data/grammars/{source.Kotlin.json → source.kotlin.json} +118 -33
  25. data/grammars/source.mathematica.json +0 -1
  26. data/grammars/source.meson.json +4 -0
  27. data/grammars/source.mupad.json +36 -12
  28. data/grammars/source.netlinx.erb.json +1 -2
  29. data/grammars/source.netlinx.json +0 -3
  30. data/grammars/source.nextflow.json +7 -7
  31. data/grammars/source.perl.json +1 -1
  32. data/grammars/source.renpy.json +436 -648
  33. data/grammars/source.scala.json +133 -87
  34. data/grammars/source.sed.json +1520 -0
  35. data/grammars/source.shell.json +17 -17
  36. data/grammars/source.solidity.json +1 -1
  37. data/grammars/source.swift.json +1 -1
  38. data/grammars/source.terraform.json +1 -1
  39. data/grammars/source.ts.json +493 -122
  40. data/grammars/source.tsx.json +568 -191
  41. data/grammars/source.x86.json +295 -0
  42. data/grammars/source.yaml.json +41 -21
  43. data/grammars/source.yara.json +1 -1
  44. data/grammars/text.haml.json +15 -0
  45. data/grammars/text.html.creole.json +1 -1
  46. data/grammars/text.html.php.blade.json +2 -2
  47. data/grammars/text.html.php.json +55 -134
  48. data/grammars/text.html.smarty.json +25 -1
  49. data/grammars/text.html.vue.json +0 -6
  50. data/grammars/text.restructuredtext.json +110 -17
  51. data/grammars/text.tex.latex.haskell.json +13 -4
  52. data/lib/linguist/documentation.yml +1 -0
  53. data/lib/linguist/generated.rb +9 -1
  54. data/lib/linguist/heuristics.rb +2 -0
  55. data/lib/linguist/language.rb +0 -8
  56. data/lib/linguist/languages.json +1 -1
  57. data/lib/linguist/languages.yml +103 -7
  58. data/lib/linguist/linguist.bundle +0 -0
  59. data/lib/linguist/samples.json +1221 -262
  60. data/lib/linguist/shebang.rb +7 -4
  61. data/lib/linguist/strategy/extension.rb +15 -2
  62. data/lib/linguist/strategy/filename.rb +15 -2
  63. data/lib/linguist/vendor.yml +7 -0
  64. data/lib/linguist/version.rb +1 -1
  65. metadata +17 -19
  66. data/grammars/source.erazor.json +0 -118
  67. data/grammars/source.haxe.2.json +0 -1267
  68. data/grammars/source.hss.1.json +0 -442
  69. data/grammars/source.nmml.json +0 -81
  70. data/grammars/source.sbt.json +0 -39
@@ -11,7 +11,7 @@
11
11
  "patterns": [
12
12
  {
13
13
  "name": "support.class.builtin.php",
14
- "match": "(?i)(\\\\)?\\b(st(dClass|reamWrapper)|R(RD(Graph|Creator|Updater)|untimeException|e(sourceBundle|cursive(RegexIterator|Ca(chingIterator|llbackFilterIterator)|TreeIterator|Iterator(Iterator)?|DirectoryIterator|FilterIterator|ArrayIterator)|flect(ion(Generator|Method|Class|Type|ZendExtension|Object|P(arameter|roperty)|Extension|Function(Abstract)?)?|or)|gexIterator)|angeException)|G(ender\\\\Gender|lobIterator|magick(Draw|Pixel)?)|X(sltProcessor|ML(Reader|Diff\\\\(Memory|Base|DOM|File)|Writer)|SLTProcessor)|M(ysqlndUh(Connection|PreparedStatement)|ongo(Re(sultException|gex)|Grid(fsFile|FS(Cursor|File)?)|BinData|C(o(de|llection|mmandCursor)|ursor(Interface|Exception)?|lient)|Timestamp|I(n(sertBatch|t(32|64))|d)|D(B(Ref|\\\\(BSON\\\\(Regex|M(inKey|axKey)|Binary|Serializable|Timestamp|ObjectID|Decimal128|U(nserializable|TCDateTime)|Javascript)|Driver\\\\(Read(Concern|Preference)|Manager|BulkWrite|Server|C(ommand|ursor(Id)?)|Exception\\\\WriteException|Query|Write(Result|Concern(Error)?|Error))))?|eleteBatch|ate)|UpdateBatch|Pool|Write(Batch|ConcernException)|Log)?|u(tex|ltipleIterator)|e(ssageFormatter|mcache(d)?))|Bad(MethodCallException|FunctionCallException)|tidy(Node)?|S(ync(ReaderWriter|Mutex|S(haredMemory|emaphore)|Event)|impleXML(Iterator|Element)|oap(Server|Header|Client|Param|Var|Fault)|NMP|CA(_(SoapProxy|LocalProxy))?|p(hinxClient|oofchecker|l(M(inHeap|axHeap)|S(tack|ubject)|Heap|T(ype|empFileObject)|Ob(server|jectStorage)|DoublyLinkedList|PriorityQueue|Enum|Queue|Fi(le(Info|Object)|xedArray)))|e(ssionHandler(Interface)?|ekableIterator|rializable)|DO_(Model_(ReflectionDataObject|Type|Property)|Sequence|D(ata(Object|Factory)|AS_(Relational|XML(_Document)?|Setting|ChangeSummary|Data(Object|Factory)))|Exception|List)|wish(Result(s)?|Search)?|VM(Model)?|QLite(Result|3(Result|Stmt)?|Database|Unbuffered)|AM(Message|Connection))|H(RTime\\\\(StopWatch|PerformanceCounter)|aru(Image|Outline|D(oc|estination)|Page|Encoder|Font|Annotation))|Ya(f_(R(oute(_(Re(write|gex)|Map|S(tatic|imple|upervar)|Interface)|r)|e(sponse_Abstract|quest_(Simple|Http|Abstract)|gistry))|Session|Con(troller_Abstract|fig_(Simple|Ini|Abstract))|Dispatcher|Plugin_Abstract|Exception|View_(Simple|Interface)|Loader|A(ction_Abstract|pplication))|r_(Server(_Exception)?|C(oncurrent_Client|lient(_Exception)?)))|N(o(RewindIterator|rmalizer)|umberFormatter)|C(o(nd|untable|ll(ectable|ator))|URLFile|a(chingIterator|llbackFilterIterator))|T(hread(ed)?|okyoTyrant(Table|Iterator|Query)?|ra(nsliterator|versable))|I(n(tl(RuleBasedBreakIterator|BreakIterator|C(har|odePointBreakIterator|alendar)|TimeZone|Iterator|DateFormatter|PartsIterator)|validArgumentException|finiteIterator)|terator(Iterator|Aggregate)?|magick(Draw|Pixel(Iterator)?|Kernel)?)|php_user_filter|Z(MQ(Socket|Context|Device|Poll)?|ipArchive|ookeeper)|O(CI\\-(Collection|Lob)|ut(erIterator|Of(RangeException|BoundsException))|verflowException)|D(s\\\\(Map|S(tack|e(t|quence))|Hashable|Collection|Deque|P(air|riorityQueue)|Vector|Queue)|irectory(Iterator)?|omainException|OM(XPath|N(ode(list)?|amedNodeMap)|C(haracterData|omment|dataSection)|Text|Implementation|Document(Fragment)?|ProcessingInstruction|E(ntityReference|lement)|Attr)|ate(Time(I(nterface|mmutable)|Zone)?|Interval|Period))|U(n(derflowException|expectedValueException)|Converter|I\\\\(Menu(Item)?|Size|Control(s\\\\(Radio|Gr(id|oup)|MultilineEntry|B(ox|utton)|S(pin|eparator|lider)|C(heck|o(lorButton|mbo))|Tab|P(icker|rogress)|E(ntry|ditableCombo)|Form|Label))?|Draw\\\\(Matrix|Brush(\\\\(RadialGradient|Gradient|LinearGradient))?|Stroke|Color|Text\\\\(Font(\\\\Descriptor)?|Layout)|P(en|ath))|Point|Executor|Window|Area))|JsonSerializable|finfo|P(har(Data|FileInfo)?|ool|DO(Statement)?|arentIterator)|E(v(S(tat|ignal)|Ch(ild|eck)|Timer|I(o|dle)|ent(B(uffer(Event)?|ase)|SslContext|Http(Request|Connection)?|Config|DnsBase|Util|Listener)?|P(eriodic|repare)|Embed|Fork|Watcher|Loop)?|rrorException|xception|mptyIterator)|V(8Js(Exception)?|arnish(Stat|Log|Admin))|KTaglib_(MPEG_(File|AudioProperties)|Tag|ID3v2_(Tag|Frame|AttachedPictureFrame))|QuickHash(StringIntHash|Int(S(tringHash|et)|Hash))|F(il(terIterator|esystemIterator)|ANNConnection)|mysqli(_(stmt|driver|warning|result))?|W(orker|eak(Map|ref))|L(imitIterator|o(cale|gicException)|ua(Closure)?|engthException|apack)|A(ppendIterator|PC(Iterator|UIterator)|rray(Iterator|Object|Access)))\\b",
14
+ "match": "(?ix)\n\t\t\t\t\t\t(\\\\)?\\b\n\t\t\t\t\t\t(st(dClass|reamWrapper)|R(RD(Graph|Creator|Updater)|untimeException|e(sourceBundle|cursive(RegexIterator|Ca(chingIterator|llbackFilterIterator)|TreeIterator|Iterator(Iterator)?|DirectoryIterator|FilterIterator|ArrayIterator)|flect(ion(Generator|Method|Class|Type|ZendExtension|Object|P(arameter|roperty)|Extension|Function(Abstract)?)?|or)|gexIterator)|angeException)|G(ender\\\\Gender|lobIterator|magick(Draw|Pixel)?)|X(sltProcessor|ML(Reader|Diff\\\\(Memory|Base|DOM|File)|Writer)|SLTProcessor)|M(ysqlndUh(Connection|PreparedStatement)|ongo(Re(sultException|gex)|Grid(fsFile|FS(Cursor|File)?)|BinData|C(o(de|llection|mmandCursor)|ursor(Interface|Exception)?|lient)|Timestamp|I(n(sertBatch|t(32|64))|d)|D(B(Ref|\\\\(BSON\\\\(Regex|M(inKey|axKey)|Binary|Serializable|Timestamp|ObjectID|Decimal128|U(nserializable|TCDateTime)|Javascript)|Driver\\\\(Read(Concern|Preference)|Manager|BulkWrite|Server|C(ommand|ursor(Id)?)|Exception\\\\WriteException|Query|Write(Result|Concern(Error)?|Error))))?|eleteBatch|ate)|UpdateBatch|Pool|Write(Batch|ConcernException)|Log)?|u(tex|ltipleIterator)|e(ssageFormatter|mcache(d)?))|Bad(MethodCallException|FunctionCallException)|tidy(Node)?|S(ync(ReaderWriter|Mutex|S(haredMemory|emaphore)|Event)|impleXML(Iterator|Element)|oap(Server|Header|Client|Param|Var|Fault)|NMP|CA(_(SoapProxy|LocalProxy))?|p(hinxClient|oofchecker|l(M(inHeap|axHeap)|S(tack|ubject)|Heap|T(ype|empFileObject)|Ob(server|jectStorage)|DoublyLinkedList|PriorityQueue|Enum|Queue|Fi(le(Info|Object)|xedArray)))|e(ssionHandler(Interface)?|ekableIterator|rializable)|DO_(Model_(ReflectionDataObject|Type|Property)|Sequence|D(ata(Object|Factory)|AS_(Relational|XML(_Document)?|Setting|ChangeSummary|Data(Object|Factory)))|Exception|List)|wish(Result(s)?|Search)?|VM(Model)?|QLite(Result|3(Result|Stmt)?|Database|Unbuffered)|AM(Message|Connection))|H(RTime\\\\(StopWatch|PerformanceCounter)|aru(Image|Outline|D(oc|estination)|Page|Encoder|Font|Annotation))\n\t\t\t\t\t\t|Ya(f_(R(oute(_(Re(write|gex)|Map|S(tatic|imple|upervar)|Interface)|r)|e(sponse_Abstract|quest_(Simple|Http|Abstract)|gistry))|Session|Con(troller_Abstract|fig_(Simple|Ini|Abstract))|Dispatcher|Plugin_Abstract|Exception|View_(Simple|Interface)|Loader|A(ction_Abstract|pplication))|r_(Server(_Exception)?|C(oncurrent_Client|lient(_Exception)?)))|N(o(RewindIterator|rmalizer)|umberFormatter)|C(o(nd|untable|ll(ectable|ator))|URLFile|a(chingIterator|llbackFilterIterator))|T(hread(ed)?|okyoTyrant(Table|Iterator|Query)?|ra(nsliterator|versable))|I(n(tl(RuleBasedBreakIterator|BreakIterator|C(har|odePointBreakIterator|alendar)|TimeZone|Iterator|DateFormatter|PartsIterator)|validArgumentException|finiteIterator)|terator(Iterator|Aggregate)?|magick(Draw|Pixel(Iterator)?|Kernel)?)|php_user_filter|Z(MQ(Socket|Context|Device|Poll)?|ipArchive|ookeeper)|O(CI\\-(Collection|Lob)|ut(erIterator|Of(RangeException|BoundsException))|verflowException)|D(s\\\\(Map|S(tack|e(t|quence))|Hashable|Collection|Deque|P(air|riorityQueue)|Vector|Queue)|irectory(Iterator)?|omainException|OM(XPath|N(ode(list)?|amedNodeMap)|C(haracterData|omment|dataSection)|Text|Implementation|Document(Fragment)?|ProcessingInstruction|E(ntityReference|lement)|Attr)|ate(Time(I(nterface|mmutable)|Zone)?|Interval|Period))|U(n(derflowException|expectedValueException)|Converter|I\\\\(Menu(Item)?|Size|Control(s\\\\(Radio|Gr(id|oup)|MultilineEntry|B(ox|utton)|S(pin|eparator|lider)|C(heck|o(lorButton|mbo))|Tab|P(icker|rogress)|E(ntry|ditableCombo)|Form|Label))?|Draw\\\\(Matrix|Brush(\\\\(RadialGradient|Gradient|LinearGradient))?|Stroke|Color|Text\\\\(Font(\\\\Descriptor)?|Layout)|P(en|ath))|Point|Executor|Window|Area))|JsonSerializable|finfo|P(har(Data|FileInfo)?|ool|DO(Statement)?|arentIterator)|E(v(S(tat|ignal)|Ch(ild|eck)|Timer|I(o|dle)|ent(B(uffer(Event)?|ase)|SslContext|Http(Request|Connection)?|Config|DnsBase|Util|Listener)?|P(eriodic|repare)|Embed|Fork|Watcher|Loop)?|rrorException|xception|mptyIterator)|V(8Js(Exception)?|arnish(Stat|Log|Admin))|KTaglib_(MPEG_(File|AudioProperties)|Tag|ID3v2_(Tag|Frame|AttachedPictureFrame))|QuickHash(StringIntHash|Int(S(tringHash|et)|Hash))|F(il(terIterator|esystemIterator)|ANNConnection)|mysqli(_(stmt|driver|warning|result))?|W(orker|eak(Map|ref))|L(imitIterator|o(cale|gicException)|ua(Closure)?|engthException|apack)|A(ppendIterator|PC(Iterator|UIterator)|rray(Iterator|Object|Access)))\n\t\t\t\t\t\t\\b\n\t\t\t\t\t",
15
15
  "captures": {
16
16
  "1": {
17
17
  "name": "punctuation.separator.inheritance.php"
@@ -24,7 +24,7 @@
24
24
  "patterns": [
25
25
  {
26
26
  "begin": "(?i)(?=\\\\?[a-z_0-9]+\\\\)",
27
- "end": "(?i)([a-z_][a-z_0-9]*)?(?=[^a-z0-9_\\\\])",
27
+ "end": "(?i)([a-z_][a-z_0-9]*)?(?=[^a-z0-9_\\\\]|\\z)",
28
28
  "patterns": [
29
29
  {
30
30
  "include": "#namespace"
@@ -41,7 +41,7 @@
41
41
  },
42
42
  {
43
43
  "begin": "(?=[\\\\a-zA-Z_])",
44
- "end": "(?i)([a-z_][a-z_0-9]*)?(?=[^a-z0-9_\\\\])",
44
+ "end": "(?i)([a-z_][a-z_0-9]*)?(?=[^a-z0-9_\\\\]|\\z)",
45
45
  "patterns": [
46
46
  {
47
47
  "include": "#namespace"
@@ -170,7 +170,7 @@
170
170
  },
171
171
  {
172
172
  "name": "support.constant.ext.php",
173
- "match": "(\\\\)?\\b(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)|XML_(SAX_IMPL|HTML_DOCUMENT_NODE|N(OTATION_NODE|AMESPACE_DECL_NODE)|C(OMMENT_NODE|DATA_SECTION_NODE)|TEXT_NODE|OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)|D(TD_NODE|OCUMENT_(NODE|TYPE_NODE|FRAG_NODE))|PI_NODE|E(RROR_(RECURSIVE_ENTITY_REF|MISPLACED_XML_PI|B(INARY_ENTITY_REF|AD_CHAR_REF)|SYNTAX|NO(NE|_(MEMORY|ELEMENTS))|TAG_MISMATCH|IN(CORRECT_ENCODING|VALID_TOKEN)|DUPLICATE_ATTRIBUTE|UN(CLOSED_(CDATA_SECTION|TOKEN)|DEFINED_ENTITY|KNOWN_ENCODING)|JUNK_AFTER_DOC_ELEMENT|PAR(TIAL_CHAR|AM_ENTITY_REF)|EXTERNAL_ENTITY_HANDLING|A(SYNC_ENTITY|TTRIBUTE_EXTERNAL_ENTITY_REF))|NTITY_(REF_NODE|NODE|DECL_NODE)|LEMENT_(NODE|DECL_NODE))|LOCAL_NAMESPACE|ATTRIBUTE_(N(MTOKEN(S)?|O(TATION|DE))|CDATA|ID(REF(S)?)?|DECL_NODE|EN(TITY|UMERATION)))|M(HASH_(RIPEMD(1(28|60)|256|320)|GOST|MD(2|4|5)|S(HA(1|2(24|56)|384|512)|NEFRU256)|HAVAL(1(28|92|60)|2(24|56))|CRC32(B)?|TIGER(1(28|60))?|WHIRLPOOL|ADLER32)|YSQL(_(BOTH|NUM|CLIENT_(SSL|COMPRESS|I(GNORE_SPACE|NTERACTIVE))|ASSOC)|I_(RE(PORT_(STRICT|INDEX|OFF|ERROR|ALL)|FRESH_(GRANT|MASTER|BACKUP_LOG|S(TATUS|LAVE)|HOSTS|T(HREADS|ABLES)|LOG)|AD_DEFAULT_(GROUP|FILE))|GROUP_FLAG|MULTIPLE_KEY_FLAG|B(INARY_FLAG|OTH|LOB_FLAG)|S(T(MT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|ORE_RESULT)|E(RVER_QUERY_(NO_(GOOD_INDEX_USED|INDEX_USED)|WAS_SLOW)|T_(CHARSET_NAME|FLAG)))|N(O(_D(EFAULT_VALUE_FLAG|ATA)|T_NULL_FLAG)|UM(_FLAG)?)|C(URSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)|LIENT_(SSL|NO_SCHEMA|COMPRESS|I(GNORE_SPACE|NTERACTIVE)|FOUND_ROWS))|T(YPE_(GEOMETRY|MEDIUM_BLOB|B(IT|LOB)|S(HORT|TRING|ET)|YEAR|N(ULL|EWD(ECIMAL|ATE))|CHAR|TI(ME(STAMP)?|NY(_BLOB)?)|INT(24|ERVAL)|D(OUBLE|ECIMAL|ATE(TIME)?)|ENUM|VAR_STRING|FLOAT|LONG(_BLOB|LONG)?)|IMESTAMP_FLAG)|INIT_COMMAND|ZEROFILL_FLAG|O(N_UPDATE_NOW_FLAG|PT_(NET_(READ_BUFFER_SIZE|CMD_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE))|D(EBUG_TRACE_ENABLED|ATA_TRUNCATED)|U(SE_RESULT|N(SIGNED_FLAG|IQUE_KEY_FLAG))|P(RI_KEY_FLAG|ART_KEY_FLAG)|ENUM_FLAG|A(S(SOC|YNC)|UTO_INCREMENT_FLAG)))|CRYPT_(R(C(2|6)|IJNDAEL_(1(28|92)|256)|AND)|GOST|XTEA|M(ODE_(STREAM|NOFB|C(BC|FB)|OFB|ECB)|ARS)|BLOWFISH(_COMPAT)?|S(ERPENT|KIPJACK|AFER(128|PLUS|64))|C(RYPT|AST_(128|256))|T(RIPLEDES|HREEWAY|WOFISH)|IDEA|3DES|DE(S|CRYPT|V_(RANDOM|URANDOM))|PANAMA|EN(CRYPT|IGNA)|WAKE|LOKI97|ARCFOUR(_IV)?))|S(TREAM_(REPORT_ERRORS|M(UST_SEEK|KDIR_RECURSIVE)|BUFFER_(NONE|FULL|LINE)|S(HUT_(RD(WR)?|WR)|OCK_(R(DM|AW)|S(TREAM|EQPACKET)|DGRAM)|ERVER_(BIND|LISTEN))|NOTIFY_(RE(SOLVE|DIRECTED)|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|CO(MPLETED|NNECT)|PROGRESS|F(ILE_SIZE_IS|AILURE)|AUTH_RE(SULT|QUIRED))|C(RYPTO_METHOD_(SSLv(2(_(SERVER|CLIENT)|3_(SERVER|CLIENT))|3_(SERVER|CLIENT))|TLS_(SERVER|CLIENT))|LIENT_(CONNECT|PERSISTENT|ASYNC_CONNECT)|AST_(FOR_SELECT|AS_STREAM))|I(GNORE_URL|S_URL|PPROTO_(RAW|TCP|I(CMP|P)|UDP))|O(OB|PTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER))|U(RL_STAT_(QUIET|LINK)|SE_PATH)|P(EEK|F_(INET(6)?|UNIX))|ENFORCE_SAFE_MODE|FILTER_(READ|WRITE|ALL))|UNFUNCS_RET_(STRING|TIMESTAMP|DOUBLE)|QLITE(_(R(OW|EADONLY)|MIS(MATCH|USE)|B(OTH|USY)|SCHEMA|N(O(MEM|T(FOUND|ADB)|LFS)|UM)|C(O(RRUPT|NSTRAINT)|ANTOPEN)|TOOBIG|I(NTER(RUPT|NAL)|OERR)|OK|DONE|P(ROTOCOL|ERM)|E(RROR|MPTY)|F(ORMAT|ULL)|LOCKED|A(BORT|SSOC|UTH))|3_(B(OTH|LOB)|NU(M|LL)|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT|ASSOC)))|CURL(M(SG_DONE|_(BAD_(HANDLE|EASY_HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|O(UT_OF_MEMORY|K)))|SSH_AUTH_(HOST|NONE|DEFAULT|P(UBLICKEY|ASSWORD)|KEYBOARD)|CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC))|_(HTTP_VERSION_(1_(1|0)|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF(MODSINCE|UNMODSINCE)|LASTMOD)|IPRESOLVE_(V(4|6)|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))|INFO_(RE(DIRECT_(COUNT|TIME)|QUEST_SIZE)|S(SL_VERIFYRESULT|TARTTRANSFER_TIME|IZE_(DOWNLOAD|UPLOAD)|PEED_(DOWNLOAD|UPLOAD))|H(TTP_CODE|EADER_(SIZE|OUT))|NAMELOOKUP_TIME|C(ON(NECT_TIME|TENT_(TYPE|LENGTH_(DOWNLOAD|UPLOAD)))|ERTINFO)|TOTAL_TIME|PR(IVATE|ETRANSFER_TIME)|EFFECTIVE_URL|FILETIME)|OPT_(R(E(SUME_FROM|TURNTRANSFER|DIR_PROTOCOLS|FERER|AD(DATA|FUNCTION))|AN(GE|DOM_FILE))|MAX(REDIRS|CONNECTS)|B(INARYTRANSFER|UFFERSIZE)|S(S(H_(HOST_PUBLIC_KEY_MD5|P(RIVATE_KEYFILE|UBLIC_KEYFILE)|AUTH_TYPES)|L(CERT(TYPE|PASSWD)?|_(CIPHER_LIST|VERIFY(HOST|PEER))|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?))|TDERR)|H(TTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)|EADER(FUNCTION)?)|N(O(BODY|SIGNAL|PROGRESS)|ETRC)|C(RLF|O(NNECTTIMEOUT(_MS)?|OKIE(SESSION|JAR|FILE)?)|USTOMREQUEST|ERTINFO|LOSEPOLICY|A(INFO|PATH))|T(RANSFERTEXT|CP_NODELAY|IME(CONDITION|OUT(_MS)?|VALUE))|I(N(TERFACE|FILE(SIZE)?)|PRESOLVE)|DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|U(RL|SER(PWD|AGENT)|NRESTRICTED_AUTH|PLOAD)|P(R(IVATE|O(GRESSFUNCTION|XY(TYPE|USERPWD|PORT|AUTH)?|TOCOLS))|O(RT|ST(REDIR|QUOTE|FIELDS)?)|UT)|E(GDSOCKET|NCODING)|VERBOSE|K(RB4LEVEL|EYPASSWD)|QUOTE|F(RESH_CONNECT|TP(SSLAUTH|_(S(SL|KIP_PASV_IP)|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)|PORT|LISTONLY|APPEND)|ILE(TIME)?|O(RBID_REUSE|LLOWLOCATION)|AILONERROR)|WRITE(HEADER|FUNCTION)|LOW_SPEED_(TIME|LIMIT)|AUTOREFERER)|PRO(XY_(SOCKS(4|5)|HTTP)|TO_(S(CP|FTP)|HTTP(S)?|T(ELNET|FTP)|DICT|F(TP(S)?|ILE)|LDAP(S)?|ALL))|E_(RE(CV_ERROR|AD_ERROR)|GOT_NOTHING|MALFORMAT_USER|BAD_(C(ONTENT_ENCODING|ALLING_ORDER)|PASSWORD_ENTERED|FUNCTION_ARGUMENT)|S(S(H|L_(C(IPHER|ONNECT_ERROR|ERTPROBLEM|ACERT)|PEER_CERTIFICATE|ENGINE_(SETFAILED|NOTFOUND)))|HARE_IN_USE|END_ERROR)|HTTP_(RANGE_ERROR|NOT_FOUND|PO(RT_FAILED|ST_ERROR))|COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|T(OO_MANY_REDIRECTS|ELNET_OPTION_SYNTAX)|O(BSOLETE|UT_OF_MEMORY|PERATION_TIMEOUTED|K)|U(RL_MALFORMAT(_USER)?|N(SUPPORTED_PROTOCOL|KNOWN_TELNET_OPTION))|PARTIAL_FILE|F(TP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|C(OULDNT_(RETR_FILE|GET_SIZE|S(TOR_FILE|ET_(BINARY|ASCII))|USE_REST)|ANT_(RECONNECT|GET_HOST))|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|W(RITE_ERROR|EIRD_(SERVER_REPLY|227_FORMAT|USER_REPLY|PAS(S_REPLY|V_REPLY)))|ACCESS_DENIED)|ILE(SIZE_EXCEEDED|_COULDNT_READ_FILE)|UNCTION_NOT_FOUND|AILED_INIT)|WRITE_ERROR|L(IBRARY_NOT_FOUND|DAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL))|ABORTED_BY_CALLBACK)|VERSION_NOW|FTP(METHOD_(MULTICWD|SINGLECWD|NOCWD)|SSL_(NONE|CONTROL|TRY|ALL)|AUTH_(SSL|TLS|DEFAULT))|AUTH_(GSSNEGOTIATE|BASIC|NTLM|DIGEST|ANY(SAFE)?))|I(MAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|I(CO|FF)|UNKNOWN|J(B2|P(X|2|C|EG(2000)?))|P(SD|NG)|WBMP)|NPUT_(REQUEST|GET|SE(RVER|SSION)|COOKIE|POST|ENV)|CONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION))|D(NS_(MX|S(RV|OA)|HINFO|N(S|APTR)|CNAME|TXT|PTR|A(NY|LL|AAA|6)?)|OM(STRING_SIZE_ERR|_(SYNTAX_ERR|HIERARCHY_REQUEST_ERR|N(O(_(MODIFICATION_ALLOWED_ERR|DATA_ALLOWED_ERR)|T_(SUPPORTED_ERR|FOUND_ERR))|AMESPACE_ERR)|IN(DEX_SIZE_ERR|USE_ATTRIBUTE_ERR|VALID_(MODIFICATION_ERR|STATE_ERR|CHARACTER_ERR|ACCESS_ERR))|PHP_ERR|VALIDATION_ERR|WRONG_DOCUMENT_ERR)))|JSON_(HEX_(TAG|QUOT|A(MP|POS))|NUMERIC_CHECK|ERROR_(S(YNTAX|TATE_MISMATCH)|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)|P(REG_(RECURSION_LIMIT_ERROR|GREP_INVERT|BA(CKTRACK_LIMIT_ERROR|D_UTF8_(OFFSET_ERROR|ERROR))|S(PLIT_(NO_EMPTY|OFFSET_CAPTURE|DELIM_CAPTURE)|ET_ORDER)|NO_ERROR|INTERNAL_ERROR|OFFSET_CAPTURE|PATTERN_ORDER)|SFS_(PASS_ON|ERR_FATAL|F(EED_ME|LAG_(NORMAL|FLUSH_(CLOSE|INC))))|CRE_VERSION|OSIX_(R_OK|X_OK|S_IF(REG|BLK|SOCK|CHR|IFO)|F_OK|W_OK))|F(NM_(NOESCAPE|CASEFOLD|P(ERIOD|ATHNAME))|IL(TER_(REQUIRE_(SCALAR|ARRAY)|SANITIZE_(MAGIC_QUOTES|S(TRI(NG|PPED)|PECIAL_CHARS)|NUMBER_(INT|FLOAT)|URL|E(MAIL|NCODED)|FULL_SPECIAL_CHARS)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW|VALIDATE_(REGEXP|BOOLEAN|I(NT|P)|URL|EMAIL|FLOAT)|F(ORCE_ARRAY|LAG_(S(CHEME_REQUIRED|TRIP_(BACKTICK|HIGH|LOW))|HOST_REQUIRED|NO(NE|_(RES_RANGE|PRIV_RANGE|ENCODE_QUOTES))|IPV(4|6)|PATH_REQUIRED|E(MPTY_STRING_NULL|NCODE_(HIGH|LOW|AMP))|QUERY_REQUIRED|ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION))))|E(_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)|INFO_(RAW|MIME(_(TYPE|ENCODING))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)))|ORCE_(GZIP|DEFLATE))|LIBXML_(XINCLUDE|N(SCLEAN|O(XMLDECL|BLANKS|NET|CDATA|E(RROR|MPTYTAG|NT)|WARNING))|COMPACT|D(TD(VALID|LOAD|ATTR)|OTTED_VERSION)|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)|VERSION|LOADED_VERSION))\\b",
173
+ "match": "(?x)\n\t\t\t\t\t\t\t\t(\\\\)?\\b\n\t\t\t\t\t\t\t\t(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)|XML_(SAX_IMPL|HTML_DOCUMENT_NODE|N(OTATION_NODE|AMESPACE_DECL_NODE)|C(OMMENT_NODE|DATA_SECTION_NODE)|TEXT_NODE|OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)|D(TD_NODE|OCUMENT_(NODE|TYPE_NODE|FRAG_NODE))|PI_NODE|E(RROR_(RECURSIVE_ENTITY_REF|MISPLACED_XML_PI|B(INARY_ENTITY_REF|AD_CHAR_REF)|SYNTAX|NO(NE|_(MEMORY|ELEMENTS))|TAG_MISMATCH|IN(CORRECT_ENCODING|VALID_TOKEN)|DUPLICATE_ATTRIBUTE|UN(CLOSED_(CDATA_SECTION|TOKEN)|DEFINED_ENTITY|KNOWN_ENCODING)|JUNK_AFTER_DOC_ELEMENT|PAR(TIAL_CHAR|AM_ENTITY_REF)|EXTERNAL_ENTITY_HANDLING|A(SYNC_ENTITY|TTRIBUTE_EXTERNAL_ENTITY_REF))|NTITY_(REF_NODE|NODE|DECL_NODE)|LEMENT_(NODE|DECL_NODE))|LOCAL_NAMESPACE|ATTRIBUTE_(N(MTOKEN(S)?|O(TATION|DE))|CDATA|ID(REF(S)?)?|DECL_NODE|EN(TITY|UMERATION)))|M(HASH_(RIPEMD(1(28|60)|256|320)|GOST|MD(2|4|5)|S(HA(1|2(24|56)|384|512)|NEFRU256)|HAVAL(1(28|92|60)|2(24|56))|CRC32(B)?|TIGER(1(28|60))?|WHIRLPOOL|ADLER32)|YSQL(_(BOTH|NUM|CLIENT_(SSL|COMPRESS|I(GNORE_SPACE|NTERACTIVE))|ASSOC)|I_(RE(PORT_(STRICT|INDEX|OFF|ERROR|ALL)|FRESH_(GRANT|MASTER|BACKUP_LOG|S(TATUS|LAVE)|HOSTS|T(HREADS|ABLES)|LOG)|AD_DEFAULT_(GROUP|FILE))|GROUP_FLAG|MULTIPLE_KEY_FLAG|B(INARY_FLAG|OTH|LOB_FLAG)|S(T(MT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|ORE_RESULT)|E(RVER_QUERY_(NO_(GOOD_INDEX_USED|INDEX_USED)|WAS_SLOW)|T_(CHARSET_NAME|FLAG)))|N(O(_D(EFAULT_VALUE_FLAG|ATA)|T_NULL_FLAG)|UM(_FLAG)?)|C(URSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)|LIENT_(SSL|NO_SCHEMA|COMPRESS|I(GNORE_SPACE|NTERACTIVE)|FOUND_ROWS))|T(YPE_(GEOMETRY|MEDIUM_BLOB|B(IT|LOB)|S(HORT|TRING|ET)|YEAR|N(ULL|EWD(ECIMAL|ATE))|CHAR|TI(ME(STAMP)?|NY(_BLOB)?)|INT(24|ERVAL)|D(OUBLE|ECIMAL|ATE(TIME)?)|ENUM|VAR_STRING|FLOAT|LONG(_BLOB|LONG)?)|IMESTAMP_FLAG)|INIT_COMMAND|ZEROFILL_FLAG|O(N_UPDATE_NOW_FLAG|PT_(NET_(READ_BUFFER_SIZE|CMD_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE))|D(EBUG_TRACE_ENABLED|ATA_TRUNCATED)|U(SE_RESULT|N(SIGNED_FLAG|IQUE_KEY_FLAG))|P(RI_KEY_FLAG|ART_KEY_FLAG)|ENUM_FLAG|A(S(SOC|YNC)|UTO_INCREMENT_FLAG)))|CRYPT_(R(C(2|6)|IJNDAEL_(1(28|92)|256)|AND)|GOST|XTEA|M(ODE_(STREAM|NOFB|C(BC|FB)|OFB|ECB)|ARS)|BLOWFISH(_COMPAT)?|S(ERPENT|KIPJACK|AFER(128|PLUS|64))|C(RYPT|AST_(128|256))|T(RIPLEDES|HREEWAY|WOFISH)|IDEA|3DES|\n\t\t\t\t\t\t\t\t\tDE(S|CRYPT|V_(RANDOM|URANDOM))|PANAMA|EN(CRYPT|IGNA)|WAKE|LOKI97|ARCFOUR(_IV)?))|S(TREAM_(REPORT_ERRORS|M(UST_SEEK|KDIR_RECURSIVE)|BUFFER_(NONE|FULL|LINE)|S(HUT_(RD(WR)?|WR)|OCK_(R(DM|AW)|S(TREAM|EQPACKET)|DGRAM)|ERVER_(BIND|LISTEN))|NOTIFY_(RE(SOLVE|DIRECTED)|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|CO(MPLETED|NNECT)|PROGRESS|F(ILE_SIZE_IS|AILURE)|AUTH_RE(SULT|QUIRED))|C(RYPTO_METHOD_(SSLv(2(_(SERVER|CLIENT)|3_(SERVER|CLIENT))|3_(SERVER|CLIENT))|TLS_(SERVER|CLIENT))|LIENT_(CONNECT|PERSISTENT|ASYNC_CONNECT)|AST_(FOR_SELECT|AS_STREAM))|I(GNORE_URL|S_URL|PPROTO_(RAW|TCP|I(CMP|P)|UDP))|O(OB|PTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER))|U(RL_STAT_(QUIET|LINK)|SE_PATH)|P(EEK|F_(INET(6)?|UNIX))|ENFORCE_SAFE_MODE|FILTER_(READ|WRITE|ALL))|UNFUNCS_RET_(STRING|TIMESTAMP|DOUBLE)|QLITE(_(R(OW|EADONLY)|MIS(MATCH|USE)|B(OTH|USY)|SCHEMA|N(O(MEM|T(FOUND|ADB)|LFS)|UM)|C(O(RRUPT|NSTRAINT)|ANTOPEN)|TOOBIG|I(NTER(RUPT|NAL)|OERR)|OK|DONE|P(ROTOCOL|ERM)|E(RROR|MPTY)|F(ORMAT|ULL)|LOCKED|A(BORT|SSOC|UTH))|3_(B(OTH|LOB)|NU(M|LL)|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT|ASSOC)))|CURL(M(SG_DONE|_(BAD_(HANDLE|EASY_HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|O(UT_OF_MEMORY|K)))|SSH_AUTH_(HOST|NONE|DEFAULT|P(UBLICKEY|ASSWORD)|KEYBOARD)|CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC))|_(HTTP_VERSION_(1_(1|0)|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF(MODSINCE|UNMODSINCE)|LASTMOD)|IPRESOLVE_(V(4|6)|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))|INFO_(RE(DIRECT_(COUNT|TIME)|QUEST_SIZE)|S(SL_VERIFYRESULT|TARTTRANSFER_TIME|IZE_(DOWNLOAD|UPLOAD)|PEED_(DOWNLOAD|UPLOAD))|H(TTP_CODE|EADER_(SIZE|OUT))|NAMELOOKUP_TIME|C(ON(NECT_TIME|TENT_(TYPE|LENGTH_(DOWNLOAD|UPLOAD)))|ERTINFO)|TOTAL_TIME|PR(IVATE|ETRANSFER_TIME)|EFFECTIVE_URL|FILETIME)|OPT_(R(E(SUME_FROM|TURNTRANSFER|DIR_PROTOCOLS|FERER|AD(DATA|FUNCTION))|AN(GE|DOM_FILE))|MAX(REDIRS|CONNECTS)|B(INARYTRANSFER|UFFERSIZE)|S(S(H_(HOST_PUBLIC_KEY_MD5|P(RIVATE_KEYFILE|UBLIC_KEYFILE)|AUTH_TYPES)|L(CERT(TYPE|PASSWD)?|_(CIPHER_LIST|VERIFY(HOST|PEER))|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?))|TDERR)|H(TTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)|EADER(FUNCTION)?)\n\t\t\t\t\t\t\t\t\t|N(O(BODY|SIGNAL|PROGRESS)|ETRC)|C(RLF|O(NNECTTIMEOUT(_MS)?|OKIE(SESSION|JAR|FILE)?)|USTOMREQUEST|ERTINFO|LOSEPOLICY|A(INFO|PATH))|T(RANSFERTEXT|CP_NODELAY|IME(CONDITION|OUT(_MS)?|VALUE))|I(N(TERFACE|FILE(SIZE)?)|PRESOLVE)|DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|U(RL|SER(PWD|AGENT)|NRESTRICTED_AUTH|PLOAD)|P(R(IVATE|O(GRESSFUNCTION|XY(TYPE|USERPWD|PORT|AUTH)?|TOCOLS))|O(RT|ST(REDIR|QUOTE|FIELDS)?)|UT)|E(GDSOCKET|NCODING)|VERBOSE|K(RB4LEVEL|EYPASSWD)|QUOTE|F(RESH_CONNECT|TP(SSLAUTH|_(S(SL|KIP_PASV_IP)|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)|PORT|LISTONLY|APPEND)|ILE(TIME)?|O(RBID_REUSE|LLOWLOCATION)|AILONERROR)|WRITE(HEADER|FUNCTION)|LOW_SPEED_(TIME|LIMIT)|AUTOREFERER)|PRO(XY_(SOCKS(4|5)|HTTP)|TO_(S(CP|FTP)|HTTP(S)?|T(ELNET|FTP)|DICT|F(TP(S)?|ILE)|LDAP(S)?|ALL))|E_(RE(CV_ERROR|AD_ERROR)|GOT_NOTHING|MALFORMAT_USER|BAD_(C(ONTENT_ENCODING|ALLING_ORDER)|PASSWORD_ENTERED|FUNCTION_ARGUMENT)|S(S(H|L_(C(IPHER|ONNECT_ERROR|ERTPROBLEM|ACERT)|PEER_CERTIFICATE|ENGINE_(SETFAILED|NOTFOUND)))|HARE_IN_USE|END_ERROR)|HTTP_(RANGE_ERROR|NOT_FOUND|PO(RT_FAILED|ST_ERROR))|COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|T(OO_MANY_REDIRECTS|ELNET_OPTION_SYNTAX)|O(BSOLETE|UT_OF_MEMORY|PERATION_TIMEOUTED|K)|U(RL_MALFORMAT(_USER)?|N(SUPPORTED_PROTOCOL|KNOWN_TELNET_OPTION))|PARTIAL_FILE|F(TP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|C(OULDNT_(RETR_FILE|GET_SIZE|S(TOR_FILE|ET_(BINARY|ASCII))|USE_REST)|ANT_(RECONNECT|GET_HOST))|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|W(RITE_ERROR|EIRD_(SERVER_REPLY|227_FORMAT|USER_REPLY|PAS(S_REPLY|V_REPLY)))|ACCESS_DENIED)|ILE(SIZE_EXCEEDED|_COULDNT_READ_FILE)|UNCTION_NOT_FOUND|AILED_INIT)|WRITE_ERROR|L(IBRARY_NOT_FOUND|DAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL))|ABORTED_BY_CALLBACK)|VERSION_NOW|FTP(METHOD_(MULTICWD|SINGLECWD|NOCWD)|SSL_(NONE|CONTROL|TRY|ALL)|AUTH_(SSL|TLS|DEFAULT))|AUTH_(GSSNEGOTIATE|BASIC|NTLM|DIGEST|ANY(SAFE)?))|I(MAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|I(CO|FF)|UNKNOWN|J(B2|P(X|2|C|EG(2000)?))|P(SD|NG)|WBMP)|NPUT_(REQUEST|GET|SE(RVER|SSION)|COOKIE|POST|ENV)|CONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION))|D(NS_(MX|S(RV|OA)|HINFO|N(S|APTR)|CNAME|TXT|PTR|A(NY|LL|AAA|6)?)|OM(STRING_SIZE_ERR|_(SYNTAX_ERR|HIERARCHY_REQUEST_ERR|N(O(_(MODIFICATION_ALLOWED_ERR|DATA_ALLOWED_ERR)|T_(SUPPORTED_ERR|FOUND_ERR))|AMESPACE_ERR)|IN(DEX_SIZE_ERR|USE_ATTRIBUTE_ERR|VALID_(MODIFICATION_ERR|STATE_ERR|CHARACTER_ERR|ACCESS_ERR))|PHP_ERR|VALIDATION_ERR|WRONG_DOCUMENT_ERR)))|JSON_(HEX_(TAG|QUOT|A(MP|POS))|NUMERIC_CHECK|ERROR_(S(YNTAX|TATE_MISMATCH)|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)|P(REG_(RECURSION_LIMIT_ERROR|GREP_INVERT|BA(CKTRACK_LIMIT_ERROR|D_UTF8_(OFFSET_ERROR|ERROR))|S(PLIT_(NO_EMPTY|OFFSET_CAPTURE|DELIM_CAPTURE)|ET_ORDER)|NO_ERROR|INTERNAL_ERROR|OFFSET_CAPTURE|PATTERN_ORDER)|SFS_(PASS_ON|ERR_FATAL|F(EED_ME|LAG_(NORMAL|FLUSH_(CLOSE|INC))))|CRE_VERSION|OSIX_(R_OK|X_OK|S_IF(REG|BLK|SOCK|CHR|IFO)|F_OK|W_OK))|F(NM_(NOESCAPE|CASEFOLD|P(ERIOD|ATHNAME))|IL(TER_(REQUIRE_(SCALAR|ARRAY)|SANITIZE_(MAGIC_QUOTES|S(TRI(NG|PPED)|PECIAL_CHARS)|NUMBER_(INT|FLOAT)|URL|E(MAIL|NCODED)|FULL_SPECIAL_CHARS)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW|VALIDATE_(REGEXP|BOOLEAN|I(NT|P)|URL|EMAIL|FLOAT)|F(ORCE_ARRAY|LAG_(S(CHEME_REQUIRED|TRIP_(BACKTICK|HIGH|LOW))|HOST_REQUIRED|NO(NE|_(RES_RANGE|PRIV_RANGE|ENCODE_QUOTES))|IPV(4|6)|PATH_REQUIRED|E(MPTY_STRING_NULL|NCODE_(HIGH|LOW|AMP))|QUERY_REQUIRED|ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION))))|E(_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)|INFO_(RAW|MIME(_(TYPE|ENCODING))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)))|ORCE_(GZIP|DEFLATE))|LIBXML_(XINCLUDE|N(SCLEAN|O(XMLDECL|BLANKS|NET|CDATA|E(RROR|MPTYTAG|NT)|WARNING))|COMPACT|D(TD(VALID|LOAD|ATTR)|OTTED_VERSION)|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)|VERSION|LOADED_VERSION))\n\t\t\t\t\t\t\t\\b\n\t\t\t\t\t\t\t",
174
174
  "captures": {
175
175
  "1": {
176
176
  "name": "punctuation.separator.inheritance.php"
@@ -200,155 +200,54 @@
200
200
  "include": "#comments"
201
201
  },
202
202
  {
203
- "name": "meta.function.argument.array.php",
204
- "contentName": "meta.array.php",
205
- "begin": "(?xi)\n\t\t\t\t\t\t\t\\s*(array) # Typehint\n\t\t\t\t\t\t\t\\s*(\u0026)? \t\t\t\t\t# Reference\n\t\t\t\t\t\t\t\\s*((\\$+)[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*) # The variable name\n\t\t\t\t\t\t\t\\s*(=)\t# A default value\n\t\t\t\t\t\t\t\\s*(array)\\s*(\\()\n\t\t\t\t\t\t\t",
206
- "end": "\\)",
203
+ "name": "meta.function.argment.php",
204
+ "begin": "(?ix)\n\t\t\t\t\t\t(?:\t\t\t\t\t\t\t\t\t\t\t\t\t\t# Optional\n\t\t\t\t\t\t\t(\\?)?\n\t\t\t\t\t\t\t(?:\n\t\t\t\t\t\t\t\t(array|bool|float|int|string)\t\t\t\t\t# scalar-type\n\t\t\t\t\t\t\t | (callable|iterable)\t\t\t\t\t\t\t\t# base-type-declaration\n\t\t\t\t\t\t\t | ([a-z_0-9\\\\]*[a-z_][a-z_0-9]*)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\\s+\n\t\t\t\t\t\t)?\n\t\t\t\t\t\t(?:(\u0026)\\s*)?\t\t\t\t\t\t\t\t\t\t\t\t# Reference\n\t\t\t\t\t\t((\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\t\t# Variable name\n\t\t\t\t\t",
205
+ "end": "(?=,|\\)|/[/*]|\\#)",
207
206
  "patterns": [
208
207
  {
209
- "include": "#comments"
210
- },
211
- {
212
- "include": "#strings"
208
+ "begin": "\\s*(=)",
209
+ "end": "(?=,|\\)|/[/*]|\\#)",
210
+ "patterns": [
211
+ {
212
+ "include": "#parameter-default-types"
213
+ }
214
+ ],
215
+ "beginCaptures": {
216
+ "1": {
217
+ "name": "keyword.operator.assignment.php"
218
+ }
219
+ }
213
220
  },
214
221
  {
215
- "include": "#numbers"
222
+ "name": "invalid.illegal.character-not-allowed-here.php",
223
+ "match": "\\S"
216
224
  }
217
225
  ],
218
226
  "beginCaptures": {
219
227
  "1": {
220
- "name": "storage.type.php"
228
+ "name": "storage.modifier.nullable.php"
221
229
  },
222
230
  "2": {
223
- "name": "storage.modifier.reference.php"
231
+ "name": "storage.type.$2.php"
224
232
  },
225
233
  "3": {
226
- "name": "variable.other.php"
234
+ "name": "storage.modifier.$3.php"
227
235
  },
228
236
  "4": {
229
- "name": "punctuation.definition.variable.php"
237
+ "patterns": [
238
+ {
239
+ "include": "#class-name"
240
+ }
241
+ ]
230
242
  },
231
243
  "5": {
232
- "name": "keyword.operator.assignment.php"
233
- },
234
- "6": {
235
- "name": "support.function.construct.php"
236
- },
237
- "7": {
238
- "name": "punctuation.definition.array.begin.php"
239
- }
240
- },
241
- "endCaptures": {
242
- "0": {
243
- "name": "punctuation.definition.array.end.php"
244
- }
245
- }
246
- },
247
- {
248
- "name": "meta.function.argument.array.php",
249
- "match": "(?xi)\n\t\t\t\t\t\t\t\\s*(array) # Typehint\n\t\t\t\t\t\t\t\\s*(\u0026)? \t\t\t\t\t# Reference\n\t\t\t\t\t\t\t\\s*((\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # The variable name\n\t\t\t\t\t\t\t(?:\n\t\t\t\t\t\t\t\t\\s*(?:(=)\\s*(?:(null)|(\\[)\\s*(\\])|((?:\\S*?\\(\\))|(?:\\S*?))))\t# A default value\n\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\\s*(?=,|\\)|/[/*]|\\#|$) # A closing parentheses (end of argument list) or a comma or a comment\n\t\t\t\t\t\t\t",
250
- "captures": {
251
- "1": {
252
- "name": "storage.type.php"
253
- },
254
- "2": {
255
244
  "name": "storage.modifier.reference.php"
256
245
  },
257
- "3": {
258
- "name": "variable.other.php"
259
- },
260
- "4": {
261
- "name": "punctuation.definition.variable.php"
262
- },
263
- "5": {
264
- "name": "keyword.operator.assignment.php"
265
- },
266
246
  "6": {
267
- "name": "constant.language.php"
268
- },
269
- "7": {
270
- "name": "punctuation.section.array.begin.php"
271
- },
272
- "8": {
273
- "name": "punctuation.section.array.end.php"
274
- },
275
- "9": {
276
- "name": "invalid.illegal.non-null-typehinted.php"
277
- }
278
- }
279
- },
280
- {
281
- "name": "meta.function.argument.typehinted.php",
282
- "begin": "(?i)(?=[a-z_0-9\\\\]*[a-z_][a-z_0-9]*\\s*\u0026?\\s*\\$)",
283
- "end": "(?=,|\\)|/[/*]|\\#|$)",
284
- "patterns": [
285
- {
286
- "include": "#class-name"
287
- },
288
- {
289
- "match": "(?xi)\n \t\t\t\t\t\t\t\\s*([a-z_][a-z_0-9]*)? # Typehinted class name\n \t\t\t\t\t\t\t\\s*(\u0026)? \t\t\t\t\t# Reference\n \t\t\t\t\t\t\t\\s*((\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # The variable name\n \t\t\t\t\t\t\t(?:\n \t\t\t\t\t\t\t\t\\s*(?:(=)\\s*(?:(null)|((?:\\S*?\\(\\))|(?:\\S*?))))\t# A default value\n \t\t\t\t\t\t\t)?\n \t\t\t\t\t\t\t\\s*(?=,|\\)|/[/*]|\\#|$) # A closing parentheses (end of argument list) or a comma\n\t\t\t\t\t ",
290
- "captures": {
291
- "1": {
292
- "name": "support.class.php"
293
- },
294
- "2": {
295
- "name": "storage.modifier.reference.php"
296
- },
297
- "3": {
298
- "name": "variable.other.php"
299
- },
300
- "4": {
301
- "name": "punctuation.definition.variable.php"
302
- },
303
- "5": {
304
- "name": "keyword.operator.assignment.php"
305
- },
306
- "6": {
307
- "name": "constant.language.php"
308
- },
309
- "7": {
310
- "name": "invalid.illegal.non-null-typehinted.php"
311
- }
312
- }
313
- }
314
- ]
315
- },
316
- {
317
- "name": "meta.function.argument.no-default.php",
318
- "match": "(?:\\s*(\u0026))?\\s*((\\$+)[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)\\s*(?=,|\\)|/[/*]|\\#)",
319
- "captures": {
320
- "1": {
321
- "name": "storage.modifier.reference.php"
322
- },
323
- "2": {
324
- "name": "variable.other.php"
325
- },
326
- "3": {
327
- "name": "punctuation.definition.variable.php"
328
- }
329
- }
330
- },
331
- {
332
- "name": "meta.function.argument.default.php",
333
- "begin": "(?:\\s*(\u0026))?\\s*((\\$+)[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)(?:\\s*(=)\\s*)\\s*",
334
- "end": "(?=,|\\)|/[/*]|\\#)",
335
- "patterns": [
336
- {
337
- "include": "#parameter-default-types"
338
- }
339
- ],
340
- "captures": {
341
- "1": {
342
- "name": "storage.modifier.reference.php"
343
- },
344
- "2": {
345
247
  "name": "variable.other.php"
346
248
  },
347
- "3": {
249
+ "7": {
348
250
  "name": "punctuation.definition.variable.php"
349
- },
350
- "4": {
351
- "name": "keyword.operator.assignment.php"
352
251
  }
353
252
  }
354
253
  }
@@ -1137,7 +1036,7 @@
1137
1036
  "name": "meta.function.php",
1138
1037
  "contentName": "meta.function.arguments.php",
1139
1038
  "begin": "(?x)\\s*\n\t\t\t\t\t ((?:(?:final|abstract|public|private|protected|static)\\s+)*)\n\t\t\t\t (function)\n\t\t\t\t (?:\\s+|(\\s*\u0026\\s*))\n\t\t\t\t (?:\n\t\t\t\t (__(?:call|construct|debugInfo|destruct|get|set|isset|unset|tostring|clone|set_state|sleep|wakeup|autoload|invoke|callStatic))\n\t\t\t\t |([a-zA-Z0-9_]+)\n\t\t\t\t )\n\t\t\t\t \\s*\n\t\t\t\t (\\()",
1140
- "end": "(\\))",
1039
+ "end": "(?ix)\n\t\t\t\t\t\t(\\))\t\t\t\t\t\t\t\t\t\t\t# Close arguments\n\t\t\t\t\t\t(?:\t\t\t\t\t\t\t\t\t\t\t\t# Optional return type\n\t\t\t\t\t\t\t\\s*(:)\\s*\n\t\t\t\t\t\t\t(\\?)?\n\t\t\t\t\t\t\t(?:\n\t\t\t\t\t\t\t\t(array|bool|float|int|string)\t\t\t# scalar-type\n\t\t\t\t\t\t\t | (callable|iterable)\t\t\t\t\t\t# base-type-declaration\n\t\t\t\t\t\t\t | (void)\n\t\t\t\t\t\t\t | ([a-z_0-9\\\\]*[a-z_][a-z_0-9]*)\t\t\t# qualified-name\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)?\n\t\t\t\t\t",
1141
1040
  "patterns": [
1142
1041
  {
1143
1042
  "include": "#function-arguments"
@@ -1171,6 +1070,28 @@
1171
1070
  "endCaptures": {
1172
1071
  "1": {
1173
1072
  "name": "punctuation.definition.parameters.end.php"
1073
+ },
1074
+ "2": {
1075
+ "name": "punctuation.separator.return-type.php"
1076
+ },
1077
+ "3": {
1078
+ "name": "storage.modifier.nullable.php"
1079
+ },
1080
+ "4": {
1081
+ "name": "storage.type.$4.php"
1082
+ },
1083
+ "5": {
1084
+ "name": "storage.modifier.$5.php"
1085
+ },
1086
+ "6": {
1087
+ "name": "storage.type.void.php"
1088
+ },
1089
+ "7": {
1090
+ "patterns": [
1091
+ {
1092
+ "include": "#class-name"
1093
+ }
1094
+ ]
1174
1095
  }
1175
1096
  }
1176
1097
  },
@@ -1404,8 +1325,8 @@
1404
1325
  },
1405
1326
  "namespace": {
1406
1327
  "name": "support.other.namespace.php",
1407
- "begin": "(?i)(?:(namespace)|[a-z0-9_]+)?(\\\\)(?=.*?[^a-z_0-9\\\\])",
1408
- "end": "(?i)(?=[a-z0-9_]*[^a-z0-9_\\\\])",
1328
+ "begin": "(?i)(?:(namespace)|[a-z0-9_]+)?(\\\\)(?=.*?([^a-z0-9_\\\\]|\\z))",
1329
+ "end": "(?i)(?=[a-z0-9_]*([^a-z0-9_\\\\]|\\z))",
1409
1330
  "patterns": [
1410
1331
  {
1411
1332
  "match": "(?i)(\\\\)",
@@ -9,6 +9,30 @@
9
9
  "repository": {
10
10
  "blocks": {
11
11
  "patterns": [
12
+ {
13
+ "name": "meta.block.literal.smarty",
14
+ "begin": "(\\{)(literal)(\\})",
15
+ "end": "(\\{/)(literal)(\\})",
16
+ "patterns": [
17
+ {
18
+ "include": "text.html.basic"
19
+ }
20
+ ],
21
+ "captures": {
22
+ "0": {
23
+ "name": "meta.embedded.line.tag.literal.smarty"
24
+ },
25
+ "1": {
26
+ "name": "punctuation.definition.tag.begin.smarty"
27
+ },
28
+ "2": {
29
+ "name": "support.function.built-in.smarty"
30
+ },
31
+ "3": {
32
+ "name": "punctuation.definition.tag.end.smarty"
33
+ }
34
+ }
35
+ },
12
36
  {
13
37
  "name": "meta.embedded.line.tag.smarty",
14
38
  "contentName": "source.smarty",
@@ -194,7 +218,7 @@
194
218
  }
195
219
  },
196
220
  "injections": {
197
- "text.html.smarty - (meta.embedded | meta.tag | comment.block), L:text.html.smarty meta.tag": {
221
+ "text.html.smarty - (meta.embedded | meta.tag | comment.block | meta.block.literal), L:text.html.smarty meta.tag": {
198
222
  "patterns": [
199
223
  {
200
224
  "include": "#comments"
@@ -302,9 +302,6 @@
302
302
  "patterns": [
303
303
  {
304
304
  "include": "source.sass"
305
- },
306
- {
307
- "include": "source.scss"
308
305
  }
309
306
  ],
310
307
  "beginCaptures": {
@@ -338,9 +335,6 @@
338
335
  "begin": "(\u003e)",
339
336
  "end": "(?=\u003c/(?i:style))",
340
337
  "patterns": [
341
- {
342
- "include": "source.sass"
343
- },
344
338
  {
345
339
  "include": "source.scss"
346
340
  }
@@ -234,7 +234,7 @@
234
234
  },
235
235
  {
236
236
  "begin": "^([ \\t]*)(\\.\\.)\\s(raw)(::)\\s+(html)\\s*$",
237
- "end": "^(?!\\1[ \\t])",
237
+ "end": "^(?!\\s*$|\\1[ \\t]+\\S)",
238
238
  "patterns": [
239
239
  {
240
240
  "include": "text.html.basic"
@@ -567,6 +567,78 @@
567
567
  }
568
568
  }
569
569
  },
570
+ {
571
+ "contentName": "source.embedded.python",
572
+ "begin": "^([ \\t]*)(\\.\\.)\\s(ipython)(::)\\s+(py(thon)?)\\s*$",
573
+ "end": "^(?!\\s*$|\\1[ \\t]+\\S)",
574
+ "patterns": [
575
+ {
576
+ "include": "source.python"
577
+ }
578
+ ],
579
+ "beginCaptures": {
580
+ "2": {
581
+ "name": "punctuation.definition.directive.restructuredtext"
582
+ },
583
+ "3": {
584
+ "name": "support.directive.restructuredtext"
585
+ },
586
+ "4": {
587
+ "name": "punctuation.separator.key-value.restructuredtext"
588
+ },
589
+ "5": {
590
+ "name": "entity.name.directive.restructuredtext"
591
+ }
592
+ }
593
+ },
594
+ {
595
+ "contentName": "source.embedded.stata",
596
+ "begin": "^([ \\t]*)(\\.\\.)\\s(code(?:-block)?)(::)\\s+(stata)\\s*$",
597
+ "end": "^(?!\\s*$|\\1[ \\t]+\\S)",
598
+ "patterns": [
599
+ {
600
+ "include": "source.stata"
601
+ }
602
+ ],
603
+ "beginCaptures": {
604
+ "2": {
605
+ "name": "punctuation.definition.directive.restructuredtext"
606
+ },
607
+ "3": {
608
+ "name": "support.directive.restructuredtext"
609
+ },
610
+ "4": {
611
+ "name": "punctuation.separator.key-value.restructuredtext"
612
+ },
613
+ "5": {
614
+ "name": "entity.name.directive.restructuredtext"
615
+ }
616
+ }
617
+ },
618
+ {
619
+ "contentName": "source.embedded.python",
620
+ "begin": "^([ \\t]*)(\\.\\.)\\s(code(?:-block)?)(::)\\s+(sas)\\s*$",
621
+ "end": "^(?!\\s*$|\\1[ \\t]+\\S)",
622
+ "patterns": [
623
+ {
624
+ "include": "source.python"
625
+ }
626
+ ],
627
+ "beginCaptures": {
628
+ "2": {
629
+ "name": "punctuation.definition.directive.restructuredtext"
630
+ },
631
+ "3": {
632
+ "name": "support.directive.restructuredtext"
633
+ },
634
+ "4": {
635
+ "name": "punctuation.separator.key-value.restructuredtext"
636
+ },
637
+ "5": {
638
+ "name": "entity.name.directive.restructuredtext"
639
+ }
640
+ }
641
+ },
570
642
  {
571
643
  "contentName": "source.embedded.objc",
572
644
  "begin": "^([ \\t]*)(\\.\\.)\\s(code(?:-block)?)(::)\\s+(objective-?c|obj-?c)\\s*$",
@@ -953,25 +1025,41 @@
953
1025
  "patterns": [
954
1026
  {
955
1027
  "name": "markup.bold.restructuredtext",
956
- "match": "(\\*\\*)[^\\*\\s][^*]*(\\*\\*)",
957
- "captures": {
958
- "1": {
959
- "name": "punctuation.definition.bold.restructuredtext"
960
- },
961
- "2": {
962
- "name": "punctuation.definition.bold.restructuredtext"
1028
+ "begin": "\\*\\*(?=[^\\*\\s])",
1029
+ "end": "\\*\\*|^(?=\\s*$)",
1030
+ "patterns": [
1031
+ {
1032
+ "include": "#inlines"
1033
+ }
1034
+ ],
1035
+ "beginCaptures": {
1036
+ "0": {
1037
+ "name": "punctuation.definition.bold.begin.restructuredtext"
1038
+ }
1039
+ },
1040
+ "endCaptures": {
1041
+ "0": {
1042
+ "name": "punctuation.definition.bold.end.restructuredtext"
963
1043
  }
964
1044
  }
965
1045
  },
966
1046
  {
967
1047
  "name": "markup.italic.restructuredtext",
968
- "match": "(?\u003c!\\\\)(\\*)[^\\*\\s][^*]*(?\u003c!\\\\)(\\*)",
969
- "captures": {
970
- "1": {
971
- "name": "punctuation.definition.italic.restructuredtext"
972
- },
973
- "2": {
974
- "name": "punctuation.definition.italic.restructuredtext"
1048
+ "begin": "(?\u003c!\\\\)\\*(?=[^\\*\\s])",
1049
+ "end": "(?\u003c!\\\\)\\*|^(?=\\s*$)",
1050
+ "patterns": [
1051
+ {
1052
+ "include": "#inlines"
1053
+ }
1054
+ ],
1055
+ "beginCaptures": {
1056
+ "0": {
1057
+ "name": "punctuation.definition.italic.begin.restructuredtext"
1058
+ }
1059
+ },
1060
+ "endCaptures": {
1061
+ "0": {
1062
+ "name": "punctuation.definition.italic.end.restructuredtext"
975
1063
  }
976
1064
  }
977
1065
  }
@@ -1442,9 +1530,14 @@
1442
1530
  "name": "markup.raw.restructuredtext",
1443
1531
  "begin": "``",
1444
1532
  "end": "``((?=[^`\\w\\d])|$)",
1445
- "captures": {
1533
+ "beginCaptures": {
1534
+ "0": {
1535
+ "name": "punctuation.definition.raw.begin.restructuredtext"
1536
+ }
1537
+ },
1538
+ "endCaptures": {
1446
1539
  "0": {
1447
- "name": "punctuation.definition.raw.restructuredtext"
1540
+ "name": "punctuation.definition.raw.end.restructuredtext"
1448
1541
  }
1449
1542
  }
1450
1543
  },