text: /*---------------------------------------------------------------------------------------------
   *  Copyright (c) Microsoft Corporation. All rights reserved.
   *  Licensed under the MIT License. See License.txt in the project root for license information.
   *--------------------------------------------------------------------------------------------*/
  define('vs/basic-languages/redis/redis',["require", "exports"], function (require, exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.language = exports.conf = void 0;
      exports.conf = {
          brackets: [
              ['{', '}'],
              ['[', ']'],
              ['(', ')']
          ],
          autoClosingPairs: [
              { open: '{', close: '}' },
              { open: '[', close: ']' },
              { open: '(', close: ')' },
              { open: '"', close: '"' },
              { open: "'", close: "'" }
          ],
          surroundingPairs: [
              { open: '{', close: '}' },
              { open: '[', close: ']' },
              { open: '(', close: ')' },
              { open: '"', close: '"' },
              { open: "'", close: "'" }
          ]
      };
      exports.language = {
          defaultToken: '',
          tokenPostfix: '.redis',
          ignoreCase: true,
          brackets: [
              { open: '[', close: ']', token: 'delimiter.square' },
              { open: '(', close: ')', token: 'delimiter.parenthesis' }
          ],
          keywords: [
              'APPEND',
              'AUTH',
              'BGREWRITEAOF',
              'BGSAVE',
              'BITCOUNT',
              'BITFIELD',
              'BITOP',
              'BITPOS',
              'BLPOP',
              'BRPOP',
              'BRPOPLPUSH',
              'CLIENT',
              'KILL',
              'LIST',
              'GETNAME',
              'PAUSE',
              'REPLY',
              'SETNAME',
              'CLUSTER',
              'ADDSLOTS',
              'COUNT-FAILURE-REPORTS',
              'COUNTKEYSINSLOT',
              'DELSLOTS',
              'FAILOVER',
              'FORGET',
              'GETKEYSINSLOT',
              'INFO',
              'KEYSLOT',
              'MEET',
              'NODES',
              'REPLICATE',
              'RESET',
              'SAVECONFIG',
              'SET-CONFIG-EPOCH',
              'SETSLOT',
              'SLAVES',
              'SLOTS',
              'COMMAND',
              'COUNT',
              'GETKEYS',
              'CONFIG',
              'GET',
              'REWRITE',
              'SET',
              'RESETSTAT',
              'DBSIZE',
              'DEBUG',
              'OBJECT',
              'SEGFAULT',
              'DECR',
              'DECRBY',
              'DEL',
              'DISCARD',
              'DUMP',
              'ECHO',
              'EVAL',
              'EVALSHA',
              'EXEC',
              'EXISTS',
              'EXPIRE',
              'EXPIREAT',
              'FLUSHALL',
              'FLUSHDB',
              'GEOADD',
              'GEOHASH',
              'GEOPOS',
              'GEODIST',
              'GEORADIUS',
              'GEORADIUSBYMEMBER',
              'GETBIT',
              'GETRANGE',
              'GETSET',
              'HDEL',
              'HEXISTS',
              'HGET',
              'HGETALL',
              'HINCRBY',
              'HINCRBYFLOAT',
              'HKEYS',
              'HLEN',
              'HMGET',
              'HMSET',
              'HSET',
              'HSETNX',
              'HSTRLEN',
              'HVALS',
              'INCR',
              'INCRBY',
              'INCRBYFLOAT',
              'KEYS',
              'LASTSAVE',
              'LINDEX',
              'LINSERT',
              'LLEN',
              'LPOP',
              'LPUSH',
              'LPUSHX',
              'LRANGE',
              'LREM',
              'LSET',
              'LTRIM',
              'MGET',
              'MIGRATE',
              'MONITOR',
              'MOVE',
              'MSET',
              'MSETNX',
              'MULTI',
              'PERSIST',
              'PEXPIRE',
              'PEXPIREAT',
              'PFADD',
              'PFCOUNT',
              'PFMERGE',
              'PING',
              'PSETEX',
              'PSUBSCRIBE',
              'PUBSUB',
              'PTTL',
              'PUBLISH',
              'PUNSUBSCRIBE',
              'QUIT',
              'RANDOMKEY',
              'READONLY',
              'READWRITE',
              'RENAME',
              'RENAMENX',
              'RESTORE',
              'ROLE',
              'RPOP',
              'RPOPLPUSH',
              'RPUSH',
              'RPUSHX',
              'SADD',
              'SAVE',
              'SCARD',
              'SCRIPT',
              'FLUSH',
              'LOAD',
              'SDIFF',
              'SDIFFSTORE',
              'SELECT',
              'SETBIT',
              'SETEX',
              'SETNX',
              'SETRANGE',
              'SHUTDOWN',
              'SINTER',
              'SINTERSTORE',
              'SISMEMBER',
              'SLAVEOF',
              'SLOWLOG',
              'SMEMBERS',
              'SMOVE',
              'SORT',
              'SPOP',
              'SRANDMEMBER',
              'SREM',
              'STRLEN',
              'SUBSCRIBE',
              'SUNION',
              'SUNIONSTORE',
              'SWAPDB',
              'SYNC',
              'TIME',
              'TOUCH',
              'TTL',
              'TYPE',
              'UNSUBSCRIBE',
              'UNLINK',
              'UNWATCH',
              'WAIT',
              'WATCH',
              'ZADD',
              'ZCARD',
              'ZCOUNT',
              'ZINCRBY',
              'ZINTERSTORE',
              'ZLEXCOUNT',
              'ZRANGE',
              'ZRANGEBYLEX',
              'ZREVRANGEBYLEX',
              'ZRANGEBYSCORE',
              'ZRANK',
              'ZREM',
              'ZREMRANGEBYLEX',
              'ZREMRANGEBYRANK',
              'ZREMRANGEBYSCORE',
              'ZREVRANGE',
              'ZREVRANGEBYSCORE',
              'ZREVRANK',
              'ZSCORE',
              'ZUNIONSTORE',
              'SCAN',
              'SSCAN',
              'HSCAN',
              'ZSCAN'
          ],
          operators: [
          // NOT SUPPORTED
          ],
          builtinFunctions: [
          // NOT SUPPORTED
          ],
          builtinVariables: [
          // NOT SUPPORTED
          ],
          pseudoColumns: [
          // NOT SUPPORTED
          ],
          tokenizer: {
              root: [
                  { include: '@whitespace' },
                  { include: '@pseudoColumns' },
                  { include: '@numbers' },
                  { include: '@strings' },
                  { include: '@scopes' },
                  [/[;,.]/, 'delimiter'],
                  [/[()]/, '@brackets'],
                  [
                      /[\w@#$]+/,
                      {
                          cases: {
                              '@keywords': 'keyword',
                              '@operators': 'operator',
                              '@builtinVariables': 'predefined',
                              '@builtinFunctions': 'predefined',
                              '@default': 'identifier'
                          }
                      }
                  ],
                  [/[<>=!%&+\-*/|~^]/, 'operator']
              ],
              whitespace: [[/\s+/, 'white']],
              pseudoColumns: [
                  [
                      /[$][A-Za-z_][\w@#$]*/,
                      {
                          cases: {
                              '@pseudoColumns': 'predefined',
                              '@default': 'identifier'
                          }
                      }
                  ]
              ],
              numbers: [
                  [/0[xX][0-9a-fA-F]*/, 'number'],
                  [/[$][+-]*\d*(\.\d*)?/, 'number'],
                  [/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number']
              ],
              strings: [
                  [/'/, { token: 'string', next: '@string' }],
                  [/"/, { token: 'string.double', next: '@stringDouble' }]
              ],
              string: [
                  [/[^']+/, 'string'],
                  [/''/, 'string'],
                  [/'/, { token: 'string', next: '@pop' }]
              ],
              stringDouble: [
                  [/[^"]+/, 'string.double'],
                  [/""/, 'string.double'],
                  [/"/, { token: 'string.double', next: '@pop' }]
              ],
              scopes: [
              // NOT SUPPORTED
              ]
          }
      };
  });
  
  