From: stephan Date: Fri, 10 Apr 2026 23:05:41 +0000 (+0000) Subject: A protype of .prompt support in fiddle but its utility there is in doubt because... X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9d950aa13b7ea5d0a3ab5ec4ccd9a1f6fcf66c46;p=thirdparty%2Fsqlite.git A protype of .prompt support in fiddle but its utility there is in doubt because .open does not work there, so there's very little dynamic info worth showing in a prompt. Also, ANSI colorization can't work there, nor can we colorize the prompts using HTML because of limitations in jquery.terminal. FossilOrigin-Name: 3b17500dc6338df23d1ed0572cd71593da5a9b048731f73242e27b9a76553a27 --- diff --git a/ext/wasm/api/EXPORTED_FUNCTIONS.c-pp b/ext/wasm/api/EXPORTED_FUNCTIONS.c-pp index 2b8397a6d7..c489bdf83b 100644 --- a/ext/wasm/api/EXPORTED_FUNCTIONS.c-pp +++ b/ext/wasm/api/EXPORTED_FUNCTIONS.c-pp @@ -245,4 +245,5 @@ _fiddle_reset_db _fiddle_db_handle _fiddle_db_vfs _fiddle_export_db +_fiddle_get_prompt //#/if fiddle diff --git a/ext/wasm/fiddle/fiddle-worker.js b/ext/wasm/fiddle/fiddle-worker.js index 4b1ea2c538..0336379a9c 100644 --- a/ext/wasm/fiddle/fiddle-worker.js +++ b/ext/wasm/fiddle/fiddle-worker.js @@ -186,6 +186,7 @@ if(!f._){ if(!this.runMain()) return; f._ = sqlite3.wasm.xWrap('fiddle_exec', undefined, ['string']); + f.getPrompt = sqlite3.wasm.xWrap('fiddle_get_prompt', 'string:dealloc', []); } if(fiddleModule.isDead){ stderr("shell module has exit()ed. Cannot run SQL."); @@ -207,7 +208,8 @@ wMsg('working','end'); wMsg('wasm-info', { pointerSize: sqlite3.wasm.ptr.size, - heapSize: sqlite3.wasm.heap8().byteLength + heapSize: sqlite3.wasm.heap8().byteLength, + prompt: f.getPrompt() }); } }, diff --git a/ext/wasm/fiddle/fiddle.js b/ext/wasm/fiddle/fiddle.js index 84f125030c..1de5767885 100644 --- a/ext/wasm/fiddle/fiddle.js +++ b/ext/wasm/fiddle/fiddle.js @@ -349,9 +349,10 @@ SF.e.wasmInfo.innerText = 'WASM: '+( 4===v.pointerSize ? 32 : 64 )+'-bit' - //+' heap size: '+Number(v.heapSize) + +' heap: '+Number(v.heapSize) // Heap size is not changing even when loading a huge db? ; + SF.jqTerm?.set_prompt?.(v.prompt); }); /* querySelectorAll() proxy */ @@ -865,7 +866,7 @@ const jqeTerm = window.jQuery(SF.e.terminal).empty(); SF.jqTerm = jqeTerm.terminal(SF.dbExec.bind(SF),{ prompt: 'sqlite> ', - greetings: false /* note that the docs incorrectly call this 'greeting' */ + greetings: false /* the docs incorrectly call this 'greeting' */ }); EAll('.unhide-if-terminal-available').forEach(e=>{ e.classList.remove('hidden'); diff --git a/manifest b/manifest index 259f648d1b..61c22ba932 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sminor\sissues\son\sWindows. -D 2026-04-10T20:44:38.547 +C A\sprotype\sof\s.prompt\ssupport\sin\sfiddle\sbut\sits\sutility\sthere\sis\sin\sdoubt\sbecause\s.open\sdoes\snot\swork\sthere,\sso\sthere's\svery\slittle\sdynamic\sinfo\sworth\sshowing\sin\sa\sprompt.\sAlso,\sANSI\scolorization\scan't\swork\sthere,\snor\scan\swe\scolorize\sthe\sprompts\susing\sHTML\sbecause\sof\slimitations\sin\sjquery.terminal. +D 2026-04-10T23:05:41.450 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -582,7 +582,7 @@ F ext/wasm/SQLTester/SQLTester.mjs 6b3c52ed36a5573ca4883176f326332a8d4c0cecf5efd F ext/wasm/SQLTester/SQLTester.run.mjs 57f2adb33f43f2784abbf8026c1bfd049d8013af1998e7dcb8b50c89ffc332e0 F ext/wasm/SQLTester/index.html 64f3435084c7d6139b08d1f2a713828a73f68de2ae6a3112cbb5980d991ba06f F ext/wasm/SQLTester/touint8array.c 2d5ece04ec1393a6a60c4bf96385bda5e1a10ad49f3038b96460fc5e5aa7e536 -F ext/wasm/api/EXPORTED_FUNCTIONS.c-pp de2ce128aebeff9ef4161cff7a0ff0089be866121bcb8941ad44a38a65f1d436 +F ext/wasm/api/EXPORTED_FUNCTIONS.c-pp 189935d0106bca86661efc991ab13e1d5d6e1f55ec34dc7b5055a99321397edd F ext/wasm/api/README.md a905d5c6bfc3e2df875bd391d6d6b7b48d41b43bdee02ad115b47244781a7e81 F ext/wasm/api/extern-post-js.c-pp.js 80accc53cc6ea1e61c721595f42ba95baa7c7ea636807d9507e69403301f8c54 F ext/wasm/api/extern-pre-js.js cc61c09c7a24a07dbecb4c352453c3985170cec12b4e7e7e7a4d11d43c5c8f41 @@ -621,8 +621,8 @@ F ext/wasm/demo-worker1-promiser.c-pp.js d210aa1e8a74ea6244fe2290de5710bb55b3a9e F ext/wasm/demo-worker1.html 2c178c1890a2beb5a5fecb1453e796d067a4b8d3d2a04d65ca2eb1ab2c68ef5d F ext/wasm/demo-worker1.js fdfa90aa9d6b402bfed802cf1595fe4da6cc834ac38c8ff854bf1ee01f5ff9bb F ext/wasm/example_extra_init.c 2347cd69d19d839ef4e5e77b7855103a7fe3ef2af86f2e8c95839afd8b05862f -F ext/wasm/fiddle/fiddle-worker.js 6c72acac2d381480bc9f5eb538e3f2faf2c1f72dd4fcbd05d3b409818a9a8fd5 -F ext/wasm/fiddle/fiddle.js 84fd75967e0af8b69d3dd849818342227d0f81d13db92e0dcbc63649b31a4893 +F ext/wasm/fiddle/fiddle-worker.js 3cdd20c1e84494a1f28bd80265ae2a754764b08c67e146e61f99d864de4bf5f6 +F ext/wasm/fiddle/fiddle.js aa5df1e56f54d3ef8cf4ca6e58cc4977380297debcd4e39a9bda64ca50d7ebb2 F ext/wasm/fiddle/index.c-pp.html 02f063ef30b8124f311029855c4439e77bc6505d1bf65a163d88c064a63ee9d9 F ext/wasm/index-dist.html db23748044e286773f2768eec287669501703b5d5f72755e8db73607dc54d290 F ext/wasm/index.html 5bf6cf1b0a3c8b9f5f54d77f2219d7ae87a15162055ce308109c49b1dcab4239 @@ -735,7 +735,7 @@ F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c F src/resolve.c 928ff887f2a7c64275182060d94d06fdddbe32226c569781cf7e7edc6f58d7fd F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97 F src/select.c ffe199f025a0dd74670d2a77232bdea364a4d7b36f32c64a6572d39ba6a11576 -F src/shell.c.in c36f64a3edfbf57d495570a3140aeba475f1982a3b25fad38e7dc96d6fd08c88 +F src/shell.c.in 793a37b4db7a4e3c56ad997b2ff8b3210ab9954c7ea857558fa6ae3bb8750ccf F src/sqlite.h.in a5605faa9479bbaac16c4ab43eb09ff50632004a8e05084d3fde56063ef73766 F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479 F src/sqlite3ext.h 1b7a0ee438bb5c2896d0609c537e917d8057b3340f6ad004d2de44f03e3d3cca @@ -2197,8 +2197,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c -P 166894725569cafa96c434aa14db0428db6791a8296fcc2990bec4ec819fd876 -R 2c75543b21d9df41c96d37c1e2521622 -U drh -Z 9488bb6f8a2bd1c8cd9ed25f04693ceb +P 48e40d3f6a193d6c4d1b8deda36415a690602dbe33d49984a9d92c6d40d8da5c +R 36c4b7bda37fe0a82332385d585e25c8 +U stephan +Z 116e2e61ae77c762ad7badc7376d6d1b # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 2b3a4a7735..55623f9645 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -48e40d3f6a193d6c4d1b8deda36415a690602dbe33d49984a9d92c6d40d8da5c +3b17500dc6338df23d1ed0572cd71593da5a9b048731f73242e27b9a76553a27 diff --git a/src/shell.c.in b/src/shell.c.in index b9202602b5..1d6af32b67 100644 --- a/src/shell.c.in +++ b/src/shell.c.in @@ -13602,7 +13602,6 @@ int SQLITE_CDECL main(int argc, char **argv){ if( rc ){ goto shell_main_exit; } - } if( data.nPopOutput && azCmd[i][0]!='.' ){ output_reset(&data); @@ -13861,4 +13860,8 @@ void fiddle_exec(const char * zSql){ shellState.wasm.zInput = shellState.wasm.zPos = 0; } } + +char *fiddle_get_prompt(void){ + return expand_prompt(&shellState, 0, &shellState.mainPrompt[0]); +} #endif /* SQLITE_SHELL_FIDDLE */