From 74ebb95684d097674cb98df6d390e7a2f7dd5615 Mon Sep 17 00:00:00 2001 From: kr-2003 Date: Thu, 27 Feb 2025 13:09:24 +0530 Subject: [PATCH 1/4] added file magic in xeus-lite --- CMakeLists.txt | 6 +++++- src/xinterpreter.cpp | 5 +++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 63f4bf6b..13388a5c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -215,10 +215,14 @@ set(XEUS_CPP_SRC src/xutils.cpp ) +list(APPEND XEUS_CPP_SRC + src/xmagics/os.cpp +) + if(NOT EMSCRIPTEN) list(APPEND XEUS_CPP_SRC src/xmagics/xassist.cpp - src/xmagics/os.cpp + ) endif() diff --git a/src/xinterpreter.cpp b/src/xinterpreter.cpp index 5ed527e3..b8defb58 100644 --- a/src/xinterpreter.cpp +++ b/src/xinterpreter.cpp @@ -17,8 +17,8 @@ #include "xinput.hpp" #include "xinspect.hpp" -#ifndef EMSCRIPTEN #include "xmagics/os.hpp" +#ifndef EMSCRIPTEN #include "xmagics/xassist.hpp" #endif #include "xparser.hpp" @@ -372,9 +372,10 @@ __get_cxx_version () // preamble_manager["magics"].get_cast().register_magic("timeit", // timeit(&m_interpreter)); // preamble_manager["magics"].get_cast().register_magic("python", pythonexec()); + preamble_manager["magics"].get_cast().register_magic("file", writefile()); #ifndef EMSCRIPTEN preamble_manager["magics"].get_cast().register_magic("xassist", xassist()); - preamble_manager["magics"].get_cast().register_magic("file", writefile()); + #endif } } From beb36269d8cc65a84a57e80fe5bad25b42f9222c Mon Sep 17 00:00:00 2001 From: kr-2003 Date: Thu, 27 Feb 2025 13:37:47 +0530 Subject: [PATCH 2/4] set os.cpp instead of append --- CMakeLists.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 13388a5c..5eac9bb5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -213,9 +213,6 @@ set(XEUS_CPP_SRC src/xoptions.cpp src/xparser.cpp src/xutils.cpp -) - -list(APPEND XEUS_CPP_SRC src/xmagics/os.cpp ) From e5c6505a82f32524350c0d308b9a442f6bf5f75d Mon Sep 17 00:00:00 2001 From: kr-2003 Date: Thu, 27 Feb 2025 13:45:49 +0530 Subject: [PATCH 3/4] formatting --- CMakeLists.txt | 1 - src/xinterpreter.cpp | 1 - 2 files changed, 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5eac9bb5..d2a3ad37 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -219,7 +219,6 @@ set(XEUS_CPP_SRC if(NOT EMSCRIPTEN) list(APPEND XEUS_CPP_SRC src/xmagics/xassist.cpp - ) endif() diff --git a/src/xinterpreter.cpp b/src/xinterpreter.cpp index b8defb58..85aa07b1 100644 --- a/src/xinterpreter.cpp +++ b/src/xinterpreter.cpp @@ -375,7 +375,6 @@ __get_cxx_version () preamble_manager["magics"].get_cast().register_magic("file", writefile()); #ifndef EMSCRIPTEN preamble_manager["magics"].get_cast().register_magic("xassist", xassist()); - #endif } } From 5632edaa5372e37a1a52e00b82bce0ad5184ace0 Mon Sep 17 00:00:00 2001 From: kr-2003 Date: Thu, 27 Feb 2025 15:16:28 +0530 Subject: [PATCH 4/4] updated docs regarding file magic --- docs/source/file_magic.png | Bin 0 -> 25168 bytes docs/source/magics.rst | 22 +++++++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 docs/source/file_magic.png diff --git a/docs/source/file_magic.png b/docs/source/file_magic.png new file mode 100644 index 0000000000000000000000000000000000000000..72e6b68b6b13f3c41f4b3fe4f3971b198b029ad8 GIT binary patch literal 25168 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 R`br246$K6X8d=M*{{bMXa`XTI literal 0 HcmV?d00001 diff --git a/docs/source/magics.rst b/docs/source/magics.rst index d596a71b..a50ee75c 100644 --- a/docs/source/magics.rst +++ b/docs/source/magics.rst @@ -12,7 +12,7 @@ Here are the magics available in xeus-cpp. %%xassist ======================== -Leverage the large language models to assist in your development process. Currently supported models are Gemini, OpenAI, Ollama. +Leverage the large language models to assist in your development process. Currently supported models are Gemini, OpenAI, Ollama. This magic command is supported in only xeus-cpp. - Save the api key (for OpenAI and Gemini) @@ -54,3 +54,23 @@ Leverage the large language models to assist in your development process. Curren .. image:: gemini.png .. image:: ollama.png + + +%%file +======================== + +This magic command copies the content of the cell in a file named `filename`. This magic command is supported in both xeus-cpp and xeus-cpp-lite. + +.. code:: + + %%file [-a] filename + +- Example + +.. image:: file_magic.png + +- Optional argument: + ++------------+---------------------------------+ +| -a | append the content to the file. | ++------------+---------------------------------+ \ No newline at end of file