redis.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. /*---------------------------------------------------------------------------------------------
  2. * Copyright (c) Microsoft Corporation. All rights reserved.
  3. * Licensed under the MIT License. See License.txt in the project root for license information.
  4. *--------------------------------------------------------------------------------------------*/
  5. define(["require", "exports"], function (require, exports) {
  6. 'use strict';
  7. Object.defineProperty(exports, "__esModule", { value: true });
  8. exports.conf = {
  9. brackets: [
  10. ['{', '}'],
  11. ['[', ']'],
  12. ['(', ')']
  13. ],
  14. autoClosingPairs: [
  15. { open: '{', close: '}' },
  16. { open: '[', close: ']' },
  17. { open: '(', close: ')' },
  18. { open: '"', close: '"' },
  19. { open: '\'', close: '\'' },
  20. ],
  21. surroundingPairs: [
  22. { open: '{', close: '}' },
  23. { open: '[', close: ']' },
  24. { open: '(', close: ')' },
  25. { open: '"', close: '"' },
  26. { open: '\'', close: '\'' },
  27. ]
  28. };
  29. exports.language = {
  30. defaultToken: '',
  31. tokenPostfix: '.redis',
  32. ignoreCase: true,
  33. brackets: [
  34. { open: '[', close: ']', token: 'delimiter.square' },
  35. { open: '(', close: ')', token: 'delimiter.parenthesis' }
  36. ],
  37. keywords: [
  38. "APPEND", "AUTH", "BGREWRITEAOF", "BGSAVE", "BITCOUNT", "BITFIELD", "BITOP", "BITPOS", "BLPOP", "BRPOP", "BRPOPLPUSH",
  39. "CLIENT", "KILL", "LIST", "GETNAME", "PAUSE", "REPLY", "SETNAME", "CLUSTER", "ADDSLOTS", "COUNT-FAILURE-REPORTS",
  40. "COUNTKEYSINSLOT", "DELSLOTS", "FAILOVER", "FORGET", "GETKEYSINSLOT", "INFO", "KEYSLOT", "MEET", "NODES", "REPLICATE",
  41. "RESET", "SAVECONFIG", "SET-CONFIG-EPOCH", "SETSLOT", "SLAVES", "SLOTS", "COMMAND", "COUNT", "GETKEYS", "CONFIG", "GET",
  42. "REWRITE", "SET", "RESETSTAT", "DBSIZE", "DEBUG", "OBJECT", "SEGFAULT", "DECR", "DECRBY", "DEL", "DISCARD", "DUMP", "ECHO",
  43. "EVAL", "EVALSHA", "EXEC", "EXISTS", "EXPIRE", "EXPIREAT", "FLUSHALL", "FLUSHDB", "GEOADD", "GEOHASH", "GEOPOS", "GEODIST",
  44. "GEORADIUS", "GEORADIUSBYMEMBER", "GETBIT", "GETRANGE", "GETSET", "HDEL", "HEXISTS", "HGET", "HGETALL", "HINCRBY", "HINCRBYFLOAT",
  45. "HKEYS", "HLEN", "HMGET", "HMSET", "HSET", "HSETNX", "HSTRLEN", "HVALS", "INCR", "INCRBY", "INCRBYFLOAT", "KEYS", "LASTSAVE",
  46. "LINDEX", "LINSERT", "LLEN", "LPOP", "LPUSH", "LPUSHX", "LRANGE", "LREM", "LSET", "LTRIM", "MGET", "MIGRATE", "MONITOR",
  47. "MOVE", "MSET", "MSETNX", "MULTI", "PERSIST", "PEXPIRE", "PEXPIREAT", "PFADD", "PFCOUNT", "PFMERGE", "PING", "PSETEX",
  48. "PSUBSCRIBE", "PUBSUB", "PTTL", "PUBLISH", "PUNSUBSCRIBE", "QUIT", "RANDOMKEY", "READONLY", "READWRITE", "RENAME", "RENAMENX",
  49. "RESTORE", "ROLE", "RPOP", "RPOPLPUSH", "RPUSH", "RPUSHX", "SADD", "SAVE", "SCARD", "SCRIPT", "FLUSH", "LOAD", "SDIFF",
  50. "SDIFFSTORE", "SELECT", "SETBIT", "SETEX", "SETNX", "SETRANGE", "SHUTDOWN", "SINTER", "SINTERSTORE", "SISMEMBER", "SLAVEOF",
  51. "SLOWLOG", "SMEMBERS", "SMOVE", "SORT", "SPOP", "SRANDMEMBER", "SREM", "STRLEN", "SUBSCRIBE", "SUNION", "SUNIONSTORE", "SWAPDB",
  52. "SYNC", "TIME", "TOUCH", "TTL", "TYPE", "UNSUBSCRIBE", "UNLINK", "UNWATCH", "WAIT", "WATCH", "ZADD", "ZCARD", "ZCOUNT", "ZINCRBY",
  53. "ZINTERSTORE", "ZLEXCOUNT", "ZRANGE", "ZRANGEBYLEX", "ZREVRANGEBYLEX", "ZRANGEBYSCORE", "ZRANK", "ZREM", "ZREMRANGEBYLEX",
  54. "ZREMRANGEBYRANK", "ZREMRANGEBYSCORE", "ZREVRANGE", "ZREVRANGEBYSCORE", "ZREVRANK", "ZSCORE", "ZUNIONSTORE", "SCAN", "SSCAN",
  55. "HSCAN", "ZSCAN"
  56. ],
  57. operators: [
  58. // NOT SUPPORTED
  59. ],
  60. builtinFunctions: [
  61. // NOT SUPPORTED
  62. ],
  63. builtinVariables: [
  64. // NOT SUPPORTED
  65. ],
  66. pseudoColumns: [
  67. // NOT SUPPORTED
  68. ],
  69. tokenizer: {
  70. root: [
  71. { include: '@whitespace' },
  72. { include: '@pseudoColumns' },
  73. { include: '@numbers' },
  74. { include: '@strings' },
  75. { include: '@scopes' },
  76. [/[;,.]/, 'delimiter'],
  77. [/[()]/, '@brackets'],
  78. [/[\w@#$]+/, {
  79. cases: {
  80. '@keywords': 'keyword',
  81. '@operators': 'operator',
  82. '@builtinVariables': 'predefined',
  83. '@builtinFunctions': 'predefined',
  84. '@default': 'identifier'
  85. }
  86. }],
  87. [/[<>=!%&+\-*/|~^]/, 'operator'],
  88. ],
  89. whitespace: [
  90. [/\s+/, 'white']
  91. ],
  92. pseudoColumns: [
  93. [/[$][A-Za-z_][\w@#$]*/, {
  94. cases: {
  95. '@pseudoColumns': 'predefined',
  96. '@default': 'identifier'
  97. }
  98. }],
  99. ],
  100. numbers: [
  101. [/0[xX][0-9a-fA-F]*/, 'number'],
  102. [/[$][+-]*\d*(\.\d*)?/, 'number'],
  103. [/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number']
  104. ],
  105. strings: [
  106. [/'/, { token: 'string', next: '@string' }],
  107. [/"/, { token: 'string.double', next: '@stringDouble' }]
  108. ],
  109. string: [
  110. [/[^']+/, 'string'],
  111. [/''/, 'string'],
  112. [/'/, { token: 'string', next: '@pop' }],
  113. ],
  114. stringDouble: [
  115. [/[^"]+/, 'string.double'],
  116. [/""/, 'string.double'],
  117. [/"/, { token: 'string.double', next: '@pop' }]
  118. ],
  119. scopes: [
  120. // NOT SUPPORTED
  121. ]
  122. }
  123. };
  124. });