Dev - #5
Merged
Merged
Conversation
- ci.yml: add release job that triggers on push to main (needs build,
downloads Release artifact, creates tarball and publishes GitHub Release
with tag auto-${{ github.sha }} via softprops/action-gh-release)
- release.yml: extend on.push to include branches: [main] and make
build-release create dynamic TAG (auto-${{ github.sha }} for main,
ref_name for tags) and publish automatic release on main pushes
- repl/session.cpp: robust cross-platform :clear handling (isatty check,
readline rl_clear_screen, Win32 Console API with cls/ANSI fallback,
POSIX terminfo clear with dumb-terminal newlines fallback)
Replace clang's truncated %6g/%8g printing in ValueDataToString with high-precision formatting (9 for float, 17 for double, 21 for long double). Add helpers formatFloatHighPrec, formatDoubleHighPrec, formatLongDoubleHighPrec and highPrecisionDump() to keep input precision and ensure round-trip. Fixes f(234.2342394893489384203948) truncated to 0.98282814.
Add capture.png hero at title, badges, why-table, 30s demo, features grid, architecture, quick-start and streamlined CLI/REPL docs to boost project visibility.
Add Testing/ to .gitignore to avoid committing CTest generated CTestCostData.txt and LastTest.log (ephemeral test output).
Add prompt helpers (shouldUseColor, formatDuration, buildPrimaryPrompt, buildContinuationPrompt, printTimingLine) to Session, timing in exec(), colored help and prompt with version and execution time, --no-color flag and NO_COLOR/FORCE_COLOR env handling. Use simple Doxygen comments.
…words, strings, numbers) - highlight utility colors C++ keywords (magenta), types (bold cyan), strings (green), numbers (yellow), comments/preprocessor (grey/yellow) - echo executed input with highlight (▸) after each execution when tty+color - colorize result type (cyan) and value (green/yellow) in highPrecisionDump - respects NO_COLOR/CPP_REPL_NO_COLOR/--no-color/TERM=dumb, only when isatty
Extend Session::isIncomplete to buffer incomplete definitions: - template headers (template <typename T> without ; or body) - requires/concept trailing clauses - struct/class/enum headers - if/for/while/switch without body - trailing : , = - uses trim + regex heuristics and rfind checks for template Ensures 'template <typename T>' + next line declaration are evaluated together Tested with template functions, Box struct, concepts and requires clauses
| } | ||
| } | ||
| } | ||
| // Struct/class/enum header without ; or { |
| if (t.size() >= 8 && t.compare(t.size()-8, 8, "requires")==0) return true; | ||
| static const std::regex reRequires(R"(.*\brequires\b[^;]*$)"); | ||
| if (std::regex_match(t, reRequires)) { | ||
| // if requires clause without trailing ; or { |
- by default include <bits/stdc++.h> (fallback to common headers) on init, ensuring std::exp/std::vector/std::sort etc work without explicit include - proactive ensureStdLib() when code contains std:: and on-demand retry when error mentions undeclared std:: member - tryIncludeStdLib() with fallback bundle - stdLibIncluded_ flag reset on reinit/reset/ensureVersion - JIT poison handling: on Symbols not found / Failed to materialize symbols, auto Undo(1) and hint about :undo/:reset and forward<T> misuse - hint for template forward error now actionable
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.
Description
Type of change
How Has This Been Tested?
Checklist
cmake -B build && cmake --build build -jpassesclang-formatREADME.md/ docs if needed