1e06490572
Four user-reported gaps from the round-4 testing pass:
1. Empty-prompt hint reworded from "(no active hint)" to
"Type a command — press Tab for options, `help` for a
list" (6 snapshots updated to reflect 80-col truncation).
2. App-lifecycle commands (quit/q, help, rebuild, save/save as,
new, load, export, import, mode, messages) now flow through
the DSL parser:
- 15 new keywords + catalog token entries
- new Command::App(AppCommand) AST with 11 variants
- parse-first dispatch in submit() (app commands work in
both simple and advanced modes)
- pre-chumsky source-slice for `export <path>` /
`import <zip> [as <target>]` mirrors the replay precedent
- UsageEntry registry entries so parse errors surface
relevant usage templates
- `mode <bad>` / `messages <bad>` use try_map for the
friendly "unknown mode/messages" wording
3. DSL completion gaps:
- `1:n` surfaces as a composite candidate at `add `
- --all-rows / --create-fk / --force-conversion /
--dont-convert surface as new CandidateKind::Flag
candidates (coloured with tok_flag in hint panel)
- filter_clause .labelled() wrap removed so chumsky's
expected-set surfaces the constituent options
4. Hardcoded user-facing strings migrated to catalog:
- 4 parser custom errors (incl. the known "tables need at
least one column" wart)
- UnknownType Display now via parse.custom.unknown_type
- UI panel titles + mode labels (Output / Hint / SIMPLE /
ADVANCED / Advanced:)
- app.rs cascade rendering (action labels + summary)
- runtime --resume CLI stderr
- db.rs change-column diagnostic tables (7 headers + 3
wrapper summaries + force-conversion hint)
Tests: 765 → 769 passing, 0 failed, 1 ignored (same doctest
as before). Clippy clean with -D warnings.
Deferred:
- ~25 thiserror #[error] attributes still hand-rolled
(DbError, ArgsError, ArchiveError, PersistenceError,
LockError). Tracked separately.
- DSL/SQL relationship in advanced mode — clarified
implicitly via parse-first dispatch; broader ADR
amendment to follow.
- Post-complete-parse completion gap (e.g. `save ` Tab
can't offer `as` because `save` parses bare; same shape
as `--create-fk` after a complete `add relationship`).
143 lines
2.8 KiB
JSON
143 lines
2.8 KiB
JSON
{
|
|
"version": 1,
|
|
"include": [
|
|
"**/*.ts",
|
|
"**/*.tsx",
|
|
"**/*.js",
|
|
"**/*.jsx",
|
|
"**/*.py",
|
|
"**/*.go",
|
|
"**/*.rs",
|
|
"**/*.java",
|
|
"**/*.c",
|
|
"**/*.h",
|
|
"**/*.cpp",
|
|
"**/*.hpp",
|
|
"**/*.cc",
|
|
"**/*.cxx",
|
|
"**/*.cs",
|
|
"**/*.php",
|
|
"**/*.rb",
|
|
"**/*.swift",
|
|
"**/*.kt",
|
|
"**/*.kts",
|
|
"**/*.dart",
|
|
"**/*.svelte",
|
|
"**/*.vue",
|
|
"**/*.liquid",
|
|
"**/*.pas",
|
|
"**/*.dpr",
|
|
"**/*.dpk",
|
|
"**/*.lpr",
|
|
"**/*.dfm",
|
|
"**/*.fmx",
|
|
"**/*.scala",
|
|
"**/*.sc"
|
|
],
|
|
"exclude": [
|
|
"**/.git/**",
|
|
"**/node_modules/**",
|
|
"**/vendor/**",
|
|
"**/Pods/**",
|
|
"**/dist/**",
|
|
"**/build/**",
|
|
"**/out/**",
|
|
"**/bin/**",
|
|
"**/obj/**",
|
|
"**/target/**",
|
|
"**/*.min.js",
|
|
"**/*.bundle.js",
|
|
"**/.next/**",
|
|
"**/.nuxt/**",
|
|
"**/.svelte-kit/**",
|
|
"**/.output/**",
|
|
"**/.turbo/**",
|
|
"**/.cache/**",
|
|
"**/.parcel-cache/**",
|
|
"**/.vite/**",
|
|
"**/.astro/**",
|
|
"**/.docusaurus/**",
|
|
"**/.gatsby/**",
|
|
"**/.webpack/**",
|
|
"**/.nx/**",
|
|
"**/.yarn/cache/**",
|
|
"**/.pnpm-store/**",
|
|
"**/storybook-static/**",
|
|
"**/.expo/**",
|
|
"**/web-build/**",
|
|
"**/ios/Pods/**",
|
|
"**/ios/build/**",
|
|
"**/android/build/**",
|
|
"**/android/.gradle/**",
|
|
"**/__pycache__/**",
|
|
"**/.venv/**",
|
|
"**/venv/**",
|
|
"**/site-packages/**",
|
|
"**/dist-packages/**",
|
|
"**/.pytest_cache/**",
|
|
"**/.mypy_cache/**",
|
|
"**/.ruff_cache/**",
|
|
"**/.tox/**",
|
|
"**/.nox/**",
|
|
"**/*.egg-info/**",
|
|
"**/.eggs/**",
|
|
"**/go/pkg/mod/**",
|
|
"**/target/debug/**",
|
|
"**/target/release/**",
|
|
"**/.gradle/**",
|
|
"**/.m2/**",
|
|
"**/generated-sources/**",
|
|
"**/.kotlin/**",
|
|
"**/.dart_tool/**",
|
|
"**/.vs/**",
|
|
"**/.nuget/**",
|
|
"**/artifacts/**",
|
|
"**/publish/**",
|
|
"**/cmake-build-*/**",
|
|
"**/CMakeFiles/**",
|
|
"**/bazel-*/**",
|
|
"**/vcpkg_installed/**",
|
|
"**/.conan/**",
|
|
"**/Debug/**",
|
|
"**/Release/**",
|
|
"**/x64/**",
|
|
"**/.pio/**",
|
|
"**/release/**",
|
|
"**/*.app/**",
|
|
"**/*.asar",
|
|
"**/DerivedData/**",
|
|
"**/.build/**",
|
|
"**/.swiftpm/**",
|
|
"**/xcuserdata/**",
|
|
"**/Carthage/Build/**",
|
|
"**/SourcePackages/**",
|
|
"**/__history/**",
|
|
"**/__recovery/**",
|
|
"**/*.dcu",
|
|
"**/.composer/**",
|
|
"**/storage/framework/**",
|
|
"**/bootstrap/cache/**",
|
|
"**/.bundle/**",
|
|
"**/tmp/cache/**",
|
|
"**/public/assets/**",
|
|
"**/public/packs/**",
|
|
"**/.yardoc/**",
|
|
"**/coverage/**",
|
|
"**/htmlcov/**",
|
|
"**/.nyc_output/**",
|
|
"**/test-results/**",
|
|
"**/.coverage/**",
|
|
"**/.idea/**",
|
|
"**/logs/**",
|
|
"**/tmp/**",
|
|
"**/temp/**",
|
|
"**/_build/**",
|
|
"**/docs/_build/**",
|
|
"**/site/**"
|
|
],
|
|
"languages": [],
|
|
"frameworks": [],
|
|
"maxFileSize": 1048576,
|
|
"extractDocstrings": true,
|
|
"trackCallSites": true
|
|
} |