Command IntelliSense
functionalComplete commands, options, subcommands and scanned key names, with syntax and safety badges on hover.
A Redis query tab completes commands the way a SQL tab completes tables and
columns. Start typing on a line and SQLly offers the command names that match -
HSE narrows to HSET and HSETNX, js
lists the JSON.* commands - with each command's one-line summary beside
it. Commands you have accepted before in the session come first; otherwise the data
structure commands (strings, hashes, lists, sets, sorted sets, streams) lead and the
administrative ones follow.
Options, subcommands and key names
After a command, the popup follows its documented syntax. Type
ZRANGE k 0 -1 and you are offered BYSCORE, BYLEX,
REV, LIMIT and WITHSCORES; after LIMIT
nothing is offered because the next word is a number you type. Options that cannot be
combined disappear once one is chosen - after SET k v EX 10 the list no
longer shows KEEPTTL. Container commands offer their subcommands:
XINFO lists CONSUMERS, GROUPS, HELP and
STREAM, and CONFIG G narrows to GET.
Where a command takes a key, SQLly offers the key names the Server Explorer has
already scanned for the tab's logical database: expand a database or a key folder in
the explorer, then type GET us in the tab to see user:1,
user:2, users:all with each key's type. Keys that need quoting
(spaces, quotes) are inserted quoted. Nothing is scanned for the popup itself - it only
reuses what the explorer already listed, so a busy server is never walked by typing.
Hover and signature help
Rest the pointer on a command name to see its documented syntax, summary, version it
appeared in, and complexity. The card also carries the same safety verdict the Run gate
applies: Write for commands that change keys or state,
Destructive for FLUSHALL, DEL,
CONFIG SET and friends, and Blocking, with the reason, for a
line that would never answer on a query connection such as SUBSCRIBE or
BLPOP q 0 - so you learn before you press Run. Hovering an option word
(WITHSCORES) explains which argument it belongs to.
While the caret is on a command line, signature help shows the whole syntax above the
line - ZRANGE key start stop [BYSCORE | BYLEX] [REV] [LIMIT offset count] [WITHSCORES]
- with the argument you are typing highlighted and described underneath. Press Esc to
hide it for that line. Both follow the editor's "Show hover info" and "Show signature
help" preferences.
Where the vocabulary comes from
On connect SQLly asks the server for its own command documentation (COMMAND DOCS
and COMMAND INFO, through the read-only SQLLY.COMMANDS virtual
command), so the popup matches the server you are on: Redis Stack connections complete
JSON.*, FT.* and TS.*, Valkey its own additions, and a
module you loaded yourself completes too. When the server refuses COMMAND
(an ACL user without +command) or predates version 7.0 and has no
COMMAND DOCS, SQLly falls back to a bundled snapshot of Redis 7.4 and Redis
Stack, so completion always works. SQLly's own SQLLY.* virtual commands are
always included.
The SQL formatter, SQL validation and the SQL lints stay off for Redis tabs - a command script is one command per line, and Validate checks those lines instead. The F2 "improve IntelliSense" report works on a Redis popup exactly as it does on SQL. The CLI's sqlly-cli intellisense complete-enriched accepts Redis scripts with dialect redis and takes key names as objects of kind key.