Repository navigation
README fact-check + screenshots, keymap/preview/export fixes (v0.18.1) - #60
Merged
Merged
Conversation
- Inline result preview reserves its own row for the "⤥ N more rows" footer instead of painting over the last data row, and the title's preview count now matches the rows actually visible. - `:` opens the command bar in the expanded result view, so `:export` (incl. `:export sql <table>`) can act on the Visual selection — that branch was unreachable before. - The `[result]`, `[chat_normal]` and `[chat_insert]` keybindings tables are now consulted (after the sub-mode keys that stay hardcoded); previously they were parsed but had no effect. - Multi-key entries (e.g. `"<Space>r"` under `[leader]`) are rejected with a clear error instead of being silently dead. - `:help` lists `<Space> 0..9` for session switching (was the stale Shift+digit gesture); fix stale SessionSwitch comments. - seed_sqlite prints the saved-connection flow (`--connection` takes a name, not a URL). - Collapse three nested `if let`s flagged by clippy once MSRV is 1.88.
Correct claims that drifted from the implementation (--connection takes a saved-connection name, 14 themes + picker, <Space>0-9 sessions, `=` scope, nine LLM tools, transaction-only connection pinning, keybindings semantics, autocomplete insert rules, Screen/Overlay architecture, project layout, ...) and document shipped-but-undocumented features: query parameters, saved queries, search & replace, theme picker, which-key hints, destructive-statement guard, command completion, mouse support, result column tools, :update. Add screenshots generated reproducibly with vhs from the sample DB (docs/screenshots/generate.sh + tapes).
The code uses let-chains, which need Rust 1.88; 1.86 could not build it.
…pletion Rust 1.99's clippy flags `double_must_use` on async-trait 0.1.89's expansion (fixed upstream in 0.1.92) and a `question_mark` candidate in the command-completion tree walk.
…parser 0.63 - chacha20poly1305 0.11 deprecates `from_slice`; borrow the fixed-size key/nonce arrays as `&Key` / `&Nonce` instead (no key copy). - sqlparser 0.63 adds `SelectItem::ExprWithAliases`; `:export sql` inference rejects it like a single alias. Verified cross-version: a connection store encrypted by the previous build unlocks, decrypts and connects with this one, and vice versa. reqwest 0.13 and sqlx 0.9 are left for later (see PR description).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
README fact-check. Every section was checked against the source. About 50 claims had drifted, for example:
--connectiontakes a saved-connection name, not a URL.<Space>t/:theme toggleare gone.<Space>0–9.=formats the statement under the cursor.Shipped features that weren't documented are now covered: query parameters, saved queries, search & replace, theme picker, which-key hints, the destructive-statement guard,
:completion, mouse support, result column tools, and:update.Screenshots. Seven screenshots are generated with vhs from the sample DB.
docs/screenshots/generate.shrebuilds them in a throwaway$HOME, so your~/.rowdyis never touched.Code fixes found during the audit:
:in the expanded result view opens the command bar, so:export(and:export sql <table>) can act on the Visual selection. That code path was previously unreachable.[result],[chat_normal],[chat_insert]keybindings are now consulted (after the mode-dependent keys that stay hardcoded). Before, they were parsed but had no effect."<Space>r"under[leader]are now rejected with a clear error instead of being silently ignored.:helpshowed the old Shift+digit session chord; the seeder printed the URL-style--connection.rust-versiongoes from 1.86 to 1.88, because the code uses let-chains. Dependencies top out at 1.87. With the new MSRV, clippy flagged three collapsibleif lets inautocomplete/context.rs; they are fixed.Testing
cargo fmt --all -- --check,cargo clippy --all-targets -- -D warnings: clean.cargo test: 663 passed, including 8 new tests for the preview row count,:in the expanded view, result/chat overrides, and the multi-key rejection.:export csvon a 3×2 Visual selection put exactly that block on the clipboard.CI fix and dependency updates (added after the first CI run)
double_must_use; this is fixed upstream in 0.1.92.question_marklint fired instate/command.rs.cargo update: every semver-compatible update (236 lockfile changes). The resolver only picks versions that support Rust 1.88.argon20.6,chacha20poly13050.11 andbase640.23 needed no code changes beyond replacing the deprecatedfrom_slice.sqlparser0.63 adds the newExprWithAliasesvariant, which:export sqlinference now rejects like a single alias.llm1.3.8 (its latest release) still depends on reqwest 0.12, so upgrading ours would compile two HTTP stacks. Also, 0.13'srustlsfeature defaults to aws-lc, which needs a C toolchain in the cross-compile release jobs.SqlSafeStraudit for dynamic SQL, plus lifetime changes in the drivers). Worth its own PR.