diff --git a/flake.nix b/flake.nix index 631b507..04a15fa 100644 --- a/flake.nix +++ b/flake.nix @@ -162,9 +162,6 @@ pg-17-hemar = buildHemarExt pkgs "17"; c-hectic = pkgs.callPackage ./package/c/hectic/default.nix {}; watch = pkgs.callPackage ./package/c/watch/default.nix {}; - hmpl = pkgs.callPackage ./package/c/hmpl/default.nix { - hectic = self.packages.${system}.hectic; - }; }; devShells.${system} = let diff --git a/package/c/hemar/hemar.c b/package/c/hemar/hemar.c index b1c58e9..58a7400 100755 --- a/package/c/hemar/hemar.c +++ b/package/c/hemar/hemar.c @@ -1539,6 +1539,8 @@ render_template(TemplateNode *node, Jsonb *define, StringInfo result, MemoryCont /* Convert to Jsonb */ Jsonb *context_jsonb = JsonbValueToJsonb(res); + + elog(DEBUG1, "Context JSONB: %s", JsonbToCString(NULL, &context_jsonb->root, VARSIZE_ANY_EXHDR(context_jsonb))); /* Render the section body with the new context */ render_template(current->value->section.body, context_jsonb, result, context); diff --git a/package/c/hemar/test/test_render_section.sql b/package/c/hemar/test/test_render_section.sql index e691a9b..bf34b39 100755 --- a/package/c/hemar/test/test_render_section.sql +++ b/package/c/hemar/test/test_render_section.sql @@ -356,6 +356,30 @@ identation1 RAISE WARNING 'Test %: Tabs: FAILED with error: %', total_tests, SQLERRM; END; + -- Test 18: Context + total_tests := total_tests + 1; + BEGIN + test_result := hemar.render( + '{"value": 12, "array": [1, 2, 3]}'::jsonb, + ' + {{for item in array}} + {{exec RETURN context::TEXT}} + {{end}} +' + ); + expected := ' +'; + + IF test_result = expected THEN + RAISE NOTICE 'Test %: Context: PASSED', total_tests; + passed_tests := passed_tests + 1; + ELSE + RAISE WARNING 'Test %: Context: FAILED. Expected "%", got "%"', total_tests, expected, test_result; + END IF; + EXCEPTION WHEN OTHERS THEN + RAISE WARNING 'Test %: Context: FAILED with error: %', total_tests, SQLERRM; + END; + -- Print summary IF passed_tests = total_tests THEN RAISE NOTICE '------------------------------------'; diff --git a/package/nvim-pager.nix b/package/nvim-pager.nix index 7624e17..ddeecf0 100644 --- a/package/nvim-pager.nix +++ b/package/nvim-pager.nix @@ -1,14 +1,10 @@ {pkgs, ...}: pkgs.writeShellScriptBin "pager" '' - nvim -R --clean -c 'set buftype=nofile' -c 'nnoremap q :q!' -c 'set nowrap' \ - -c 'set runtimepath^=${pkgs.vimPlugins.vim-plugin-AnsiEsc}' \ - -c 'runtime! plugin/*.vim' -c 'AnsiEsc' - $@ - # ^^^^^^^^^^^^^^^^^^^^ - # Prevents Neovim from treating the buffer as a file - # ^^^^^^^^^^^^^^^^^^^^ - # Makes 'q' quit Neovim immediately - # ^^^^^^^^^^^ - # Disables text wrapping - # ^^^^^^^^ - # Enables ANSI color interpretation + nvim -R --clean NONE \ + -c 'nnoremap q :q!' \ + -c 'set buftype=nofile nowrap' \ + -c 'set runtimepath^=${pkgs.vimPlugins.vim-plugin-AnsiEsc}' \ + -c 'runtime! plugin/*.vim' \ + -c 'set conceallevel=3' \ + -c 'AnsiEsc' $@ - ''