File tree Expand file tree Collapse file tree 10 files changed +9
-20
lines changed
jupyter-cpp-kernel-03/kernel_spec
jupyter-cpp-kernel-11/kernel_spec
jupyter-cpp-kernel-14/kernel_spec
jupyter-cpp-kernel-17/kernel_spec
jupyter-cpp-kernel-20/kernel_spec
jupyter-cpp-kernel-23/kernel_spec
jupyter-cpp-kernel-98/kernel_spec Expand file tree Collapse file tree 10 files changed +9
-20
lines changed Original file line number Diff line number Diff line change 3
3
from .external_header import CPPExternalHeader
4
4
5
5
class CPPCodeProcessingUnit :
6
-
7
6
main_head = 'int main() {'
8
7
main_foot = '\t return 0;\n }'
9
8
comments = r'\/\/.*?(?=\r?\n)|\/\*[\s\S]*?\*\/'
10
9
main_method = r'\bmain\s*\(|^\s*#\s*define\s+\w+\s+main\b'
11
-
12
- def _prep_main_function (self , code ):
13
- code = f"{ self .main_head } \n { code } \n { self .main_foot } "
14
- return code
15
10
16
11
def _add_code_compat (self , code , cpp_res_path ):
17
12
code = code_sub (self .comments , r'' , code )
18
13
if not code_search (self .main_method , code ):
19
- code = self ._prep_main_function ( code )
14
+ code = f" { self .main_head } \n { code } \n { self . main_foot } "
20
15
21
16
code = f"#include { cpp_res_path } \n { code } "
22
17
code = CPPExternalHeader ._support_external_header (CPPExternalHeader , code )
Original file line number Diff line number Diff line change 3
3
4
4
class CPPExternalHeader :
5
5
def _find_local_header (self ):
6
- if hasattr (self , "_cached_local_header" ):
7
- return self ._cached_local_header
8
6
search_paths = [path .abspath (path .dirname (__file__ )), prefix ]
9
7
for base in search_paths :
10
8
current = base
11
9
while current != path .sep :
12
10
cpp_header_path = path .join (current , "share" , "cpp_header" )
13
11
if path .exists (path .join (cpp_header_path , "check_cpp.hpp" )):
14
- self ._cached_local_header = cpp_header_path
15
12
return cpp_header_path
16
13
new_current = path .dirname (current )
17
14
if new_current == current :
18
15
break
19
16
current = new_current
20
- self ._cached_local_header = ""
21
17
return ""
22
-
18
+
23
19
def _support_external_header (self , code ):
24
20
DATA_FILES_PATH = self ._find_local_header (self )
25
21
includes = []
Original file line number Diff line number Diff line change 2
2
from tempfile import NamedTemporaryFile
3
3
4
4
class CPPTempFileProcessing :
5
-
6
5
def _new_temp_file (self , files , ** kwargs ):
7
6
file = NamedTemporaryFile (delete = False , mode = "w" , ** kwargs )
8
7
files .append (file .name )
9
8
return file
10
-
11
9
12
10
def _cleanup_files (self , master_path , files ):
13
11
for file in files :
Original file line number Diff line number Diff line change 4
4
" -m" ,
5
5
" jupyter-cpp-kernel-03" ,
6
6
" -f" ,
7
- " {connection_file}"
7
+ " \" {connection_file}\" "
8
8
],
9
9
"display_name" : " C++ 03" ,
10
10
"language" : " c++"
Original file line number Diff line number Diff line change 4
4
" -m" ,
5
5
" jupyter-cpp-kernel-11" ,
6
6
" -f" ,
7
- " {connection_file}"
7
+ " \" {connection_file}\" "
8
8
],
9
9
"display_name" : " C++ 11" ,
10
10
"language" : " c++"
Original file line number Diff line number Diff line change 4
4
" -m" ,
5
5
" jupyter-cpp-kernel-14" ,
6
6
" -f" ,
7
- " {connection_file}"
7
+ " \" {connection_file}\" "
8
8
],
9
9
"display_name" : " C++ 14" ,
10
10
"language" : " c++"
Original file line number Diff line number Diff line change 4
4
" -m" ,
5
5
" jupyter-cpp-kernel-17" ,
6
6
" -f" ,
7
- " {connection_file}"
7
+ " \" {connection_file}\" "
8
8
],
9
9
"display_name" : " C++ 17" ,
10
10
"language" : " c++"
Original file line number Diff line number Diff line change 4
4
" -m" ,
5
5
" jupyter-cpp-kernel-20" ,
6
6
" -f" ,
7
- " {connection_file}"
7
+ " \" {connection_file}\" "
8
8
],
9
9
"display_name" : " C++ 20" ,
10
10
"language" : " c++"
Original file line number Diff line number Diff line change 4
4
" -m" ,
5
5
" jupyter-cpp-kernel-23" ,
6
6
" -f" ,
7
- " {connection_file}"
7
+ " \" {connection_file}\" "
8
8
],
9
9
"display_name" : " C++ 23" ,
10
10
"language" : " c++"
Original file line number Diff line number Diff line change 4
4
" -m" ,
5
5
" jupyter-cpp-kernel-98" ,
6
6
" -f" ,
7
- " {connection_file}"
7
+ " \" {connection_file}\" "
8
8
],
9
9
"display_name" : " C++ 98" ,
10
10
"language" : " c++"
You can’t perform that action at this time.
0 commit comments