Skip to content
685 changes: 610 additions & 75 deletions Plugins/RedisDriverPlugin/RedisCommandParser.swift

Large diffs are not rendered by default.

92 changes: 80 additions & 12 deletions Plugins/RedisDriverPlugin/RedisPlugin.swift
Original file line number Diff line number Diff line change
Expand Up @@ -69,44 +69,112 @@ final class RedisPlugin: NSObject, TableProPlugin, DriverPlugin {

static var statementCompletions: [CompletionEntry] {
[
// Key commands
CompletionEntry(label: "GET", insertText: "GET"),
CompletionEntry(label: "SET", insertText: "SET"),
CompletionEntry(label: "DEL", insertText: "DEL"),
CompletionEntry(label: "EXISTS", insertText: "EXISTS"),
CompletionEntry(label: "KEYS", insertText: "KEYS"),
CompletionEntry(label: "GETSET", insertText: "GETSET"),
CompletionEntry(label: "GETDEL", insertText: "GETDEL"),
CompletionEntry(label: "GETEX", insertText: "GETEX"),
CompletionEntry(label: "MGET", insertText: "MGET"),
CompletionEntry(label: "MSET", insertText: "MSET"),
CompletionEntry(label: "INCR", insertText: "INCR"),
CompletionEntry(label: "DECR", insertText: "DECR"),
CompletionEntry(label: "INCRBY", insertText: "INCRBY"),
CompletionEntry(label: "DECRBY", insertText: "DECRBY"),
CompletionEntry(label: "INCRBYFLOAT", insertText: "INCRBYFLOAT"),
CompletionEntry(label: "APPEND", insertText: "APPEND"),
CompletionEntry(label: "EXPIRE", insertText: "EXPIRE"),
CompletionEntry(label: "PEXPIRE", insertText: "PEXPIRE"),
CompletionEntry(label: "EXPIREAT", insertText: "EXPIREAT"),
CompletionEntry(label: "PEXPIREAT", insertText: "PEXPIREAT"),
CompletionEntry(label: "TTL", insertText: "TTL"),
CompletionEntry(label: "PTTL", insertText: "PTTL"),
CompletionEntry(label: "PERSIST", insertText: "PERSIST"),
CompletionEntry(label: "TYPE", insertText: "TYPE"),
CompletionEntry(label: "RENAME", insertText: "RENAME"),
CompletionEntry(label: "SCAN", insertText: "SCAN"),

// Hash commands
CompletionEntry(label: "HGET", insertText: "HGET"),
CompletionEntry(label: "HSET", insertText: "HSET"),
CompletionEntry(label: "HGETALL", insertText: "HGETALL"),
CompletionEntry(label: "HDEL", insertText: "HDEL"),
CompletionEntry(label: "HSCAN", insertText: "HSCAN"),

// List commands
CompletionEntry(label: "LPUSH", insertText: "LPUSH"),
CompletionEntry(label: "RPUSH", insertText: "RPUSH"),
CompletionEntry(label: "LRANGE", insertText: "LRANGE"),
CompletionEntry(label: "LLEN", insertText: "LLEN"),
CompletionEntry(label: "LPOP", insertText: "LPOP"),
CompletionEntry(label: "RPOP", insertText: "RPOP"),
CompletionEntry(label: "LSET", insertText: "LSET"),
CompletionEntry(label: "LINSERT", insertText: "LINSERT"),
CompletionEntry(label: "LREM", insertText: "LREM"),
CompletionEntry(label: "LPOS", insertText: "LPOS"),
CompletionEntry(label: "LMOVE", insertText: "LMOVE"),

// Set commands
CompletionEntry(label: "SADD", insertText: "SADD"),
CompletionEntry(label: "SMEMBERS", insertText: "SMEMBERS"),
CompletionEntry(label: "SREM", insertText: "SREM"),
CompletionEntry(label: "SCARD", insertText: "SCARD"),
CompletionEntry(label: "SPOP", insertText: "SPOP"),
CompletionEntry(label: "SRANDMEMBER", insertText: "SRANDMEMBER"),
CompletionEntry(label: "SMOVE", insertText: "SMOVE"),
CompletionEntry(label: "SUNION", insertText: "SUNION"),
CompletionEntry(label: "SINTER", insertText: "SINTER"),
CompletionEntry(label: "SDIFF", insertText: "SDIFF"),
CompletionEntry(label: "SUNIONSTORE", insertText: "SUNIONSTORE"),
CompletionEntry(label: "SINTERSTORE", insertText: "SINTERSTORE"),
CompletionEntry(label: "SDIFFSTORE", insertText: "SDIFFSTORE"),
CompletionEntry(label: "SSCAN", insertText: "SSCAN"),

// Sorted set commands
CompletionEntry(label: "ZADD", insertText: "ZADD"),
CompletionEntry(label: "ZRANGE", insertText: "ZRANGE"),
CompletionEntry(label: "ZREM", insertText: "ZREM"),
CompletionEntry(label: "ZCARD", insertText: "ZCARD"),
CompletionEntry(label: "ZSCORE", insertText: "ZSCORE"),
CompletionEntry(label: "EXPIRE", insertText: "EXPIRE"),
CompletionEntry(label: "TTL", insertText: "TTL"),
CompletionEntry(label: "PERSIST", insertText: "PERSIST"),
CompletionEntry(label: "TYPE", insertText: "TYPE"),
CompletionEntry(label: "SCAN", insertText: "SCAN"),
CompletionEntry(label: "HSCAN", insertText: "HSCAN"),
CompletionEntry(label: "SSCAN", insertText: "SSCAN"),
CompletionEntry(label: "ZRANGEBYSCORE", insertText: "ZRANGEBYSCORE"),
CompletionEntry(label: "ZREVRANGE", insertText: "ZREVRANGE"),
CompletionEntry(label: "ZREVRANGEBYSCORE", insertText: "ZREVRANGEBYSCORE"),
CompletionEntry(label: "ZINCRBY", insertText: "ZINCRBY"),
CompletionEntry(label: "ZCOUNT", insertText: "ZCOUNT"),
CompletionEntry(label: "ZRANK", insertText: "ZRANK"),
CompletionEntry(label: "ZREVRANK", insertText: "ZREVRANK"),
CompletionEntry(label: "ZPOPMIN", insertText: "ZPOPMIN"),
CompletionEntry(label: "ZPOPMAX", insertText: "ZPOPMAX"),
CompletionEntry(label: "ZSCAN", insertText: "ZSCAN"),

// Stream commands
CompletionEntry(label: "XRANGE", insertText: "XRANGE"),
CompletionEntry(label: "XREVRANGE", insertText: "XREVRANGE"),
CompletionEntry(label: "XLEN", insertText: "XLEN"),
CompletionEntry(label: "XADD", insertText: "XADD"),
CompletionEntry(label: "XREAD", insertText: "XREAD"),
CompletionEntry(label: "XDEL", insertText: "XDEL"),
CompletionEntry(label: "XTRIM", insertText: "XTRIM"),
CompletionEntry(label: "XINFO", insertText: "XINFO"),
CompletionEntry(label: "XGROUP", insertText: "XGROUP"),
CompletionEntry(label: "XACK", insertText: "XACK"),

// Server commands
CompletionEntry(label: "PING", insertText: "PING"),
CompletionEntry(label: "INFO", insertText: "INFO"),
CompletionEntry(label: "DBSIZE", insertText: "DBSIZE"),
CompletionEntry(label: "FLUSHDB", insertText: "FLUSHDB"),
CompletionEntry(label: "FLUSHALL", insertText: "FLUSHALL"),
CompletionEntry(label: "SELECT", insertText: "SELECT"),
CompletionEntry(label: "INCR", insertText: "INCR"),
CompletionEntry(label: "DECR", insertText: "DECR"),
CompletionEntry(label: "APPEND", insertText: "APPEND"),
CompletionEntry(label: "MGET", insertText: "MGET"),
CompletionEntry(label: "MSET", insertText: "MSET")
CompletionEntry(label: "CONFIG", insertText: "CONFIG"),
CompletionEntry(label: "AUTH", insertText: "AUTH"),
CompletionEntry(label: "OBJECT", insertText: "OBJECT"),
CompletionEntry(label: "MULTI", insertText: "MULTI"),
CompletionEntry(label: "EXEC", insertText: "EXEC"),
CompletionEntry(label: "DISCARD", insertText: "DISCARD"),
]
}

Expand Down
Loading
Loading