https://github.com/aadanen updated https://github.com/llvm/llvm-project/pull/150348
>From 4e24cb20efa22e364d41026ae40aec470ff786aa Mon Sep 17 00:00:00 2001 From: Aaron Danen <aaron.da...@gmail.com> Date: Wed, 23 Jul 2025 18:01:14 -0700 Subject: [PATCH 1/3] added undo to docs in same format as %quit --- clang/docs/ClangRepl.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/clang/docs/ClangRepl.rst b/clang/docs/ClangRepl.rst index 5399036c123fb..9ef82df28ee43 100644 --- a/clang/docs/ClangRepl.rst +++ b/clang/docs/ClangRepl.rst @@ -197,6 +197,13 @@ Comments: clang-repl> // Comments in Clang-Repl clang-repl> /* Comments in Clang-Repl */ +Undo: +===== + +.. code-block:: text + + clang-repl>%undo + Closure or Termination: ======================= >From 752e4906b633b1343a52338027fdc0a6e36d6288 Mon Sep 17 00:00:00 2001 From: Aaron Danen <aaron.da...@gmail.com> Date: Sat, 26 Jul 2025 10:01:30 -0700 Subject: [PATCH 2/3] implemented %help --- clang/tools/clang-repl/ClangRepl.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/clang/tools/clang-repl/ClangRepl.cpp b/clang/tools/clang-repl/ClangRepl.cpp index 54b27782d3db3..c347b45306031 100644 --- a/clang/tools/clang-repl/ClangRepl.cpp +++ b/clang/tools/clang-repl/ClangRepl.cpp @@ -185,7 +185,7 @@ struct ReplListCompleter { clang::Interpreter &MainInterp; ReplListCompleter(clang::IncrementalCompilerBuilder &CB, clang::Interpreter &Interp) - : CB(CB), MainInterp(Interp){}; + : CB(CB), MainInterp(Interp) {}; std::vector<llvm::LineEditor::Completion> operator()(llvm::StringRef Buffer, size_t Pos) const; @@ -370,6 +370,8 @@ int main(int argc, const char **argv) { if (Input == R"(%undo)") { if (auto Err = Interp->Undo()) llvm::logAllUnhandledErrors(std::move(Err), llvm::errs(), "error: "); + } else if (Input == R"(%help)") { + printf("clang-repl commands: { %%undo, %%quit }\n"); } else if (Input.rfind("%lib ", 0) == 0) { if (auto Err = Interp->LoadDynamicLibrary(Input.data() + 5)) llvm::logAllUnhandledErrors(std::move(Err), llvm::errs(), "error: "); >From 99e2421447d730e40513ed799ece85c73b6987ce Mon Sep 17 00:00:00 2001 From: Aaron Danen <aaron.da...@gmail.com> Date: Sat, 26 Jul 2025 10:53:39 -0700 Subject: [PATCH 3/3] blurb about %help on startup. better %help format --- clang/tools/clang-repl/ClangRepl.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/clang/tools/clang-repl/ClangRepl.cpp b/clang/tools/clang-repl/ClangRepl.cpp index c347b45306031..540253e377d98 100644 --- a/clang/tools/clang-repl/ClangRepl.cpp +++ b/clang/tools/clang-repl/ClangRepl.cpp @@ -347,7 +347,11 @@ int main(int argc, const char **argv) { } } + const char *percent_commands = "%help\tlist clang-repl %commands\n" + "%undo\tundo the previous input\n" + "%quit\texit clang-repl\n"; if (OptInputs.empty()) { + printf("%%help for list of clang-repl commands\n"); llvm::LineEditor LE("clang-repl"); std::string Input; LE.setListCompleter(ReplListCompleter(CB, *Interp)); @@ -371,7 +375,7 @@ int main(int argc, const char **argv) { if (auto Err = Interp->Undo()) llvm::logAllUnhandledErrors(std::move(Err), llvm::errs(), "error: "); } else if (Input == R"(%help)") { - printf("clang-repl commands: { %%undo, %%quit }\n"); + printf("%s\n", percent_commands); } else if (Input.rfind("%lib ", 0) == 0) { if (auto Err = Interp->LoadDynamicLibrary(Input.data() + 5)) llvm::logAllUnhandledErrors(std::move(Err), llvm::errs(), "error: "); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits