mirror of
https://github.com/peklaiho/madlisp.git
synced 2024-11-26 07:04:27 +00:00
check php extensions when loading libraries
This commit is contained in:
parent
167711c4f0
commit
882bbe8405
@ -67,21 +67,22 @@ class IO implements ILib
|
||||
));
|
||||
|
||||
// Readline support
|
||||
if (extension_loaded('readline')) {
|
||||
$env->set('readline', new CoreFunc('readline', 'Read line of user input.', 0, 1,
|
||||
fn ($prompt = null) => readline($prompt)
|
||||
));
|
||||
|
||||
$env->set('readline', new CoreFunc('readline', 'Read line of user input.', 0, 1,
|
||||
fn ($prompt = null) => readline($prompt)
|
||||
));
|
||||
$env->set('readline-add', new CoreFunc('readline-add', 'Add new line of input to history.', 1, 1,
|
||||
fn (string $line) => readline_add_history($line)
|
||||
));
|
||||
|
||||
$env->set('readline-add', new CoreFunc('readline-add', 'Add new line of input to history.', 1, 1,
|
||||
fn (string $line) => readline_add_history($line)
|
||||
));
|
||||
$env->set('readline-load', new CoreFunc('readline-load', 'Load the history for readline from a file.', 1, 1,
|
||||
fn (string $file) => readline_read_history($file)
|
||||
));
|
||||
|
||||
$env->set('readline-load', new CoreFunc('readline-load', 'Load the history for readline from a file.', 1, 1,
|
||||
fn (string $file) => readline_read_history($file)
|
||||
));
|
||||
|
||||
$env->set('readline-save', new CoreFunc('readline-save', 'Save the readline history into a file.', 1, 1,
|
||||
fn (string $file) => readline_write_history($file)
|
||||
));
|
||||
$env->set('readline-save', new CoreFunc('readline-save', 'Save the readline history into a file.', 1, 1,
|
||||
fn (string $file) => readline_write_history($file)
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -19,17 +19,25 @@ class LispFactory
|
||||
// Register core libraries
|
||||
(new Lib\Collections())->register($env);
|
||||
(new Lib\Compare())->register($env);
|
||||
(new Lib\Json())->register($env);
|
||||
if (extension_loaded('json')) {
|
||||
(new Lib\Json())->register($env);
|
||||
}
|
||||
(new Lib\Math())->register($env);
|
||||
(new Lib\Regex())->register($env);
|
||||
if (extension_loaded('pcre')) {
|
||||
(new Lib\Regex())->register($env);
|
||||
}
|
||||
(new Lib\Strings())->register($env);
|
||||
(new Lib\Time())->register($env);
|
||||
(new Lib\Types())->register($env);
|
||||
|
||||
// Register unsafe libraries if not in safe-mode
|
||||
if (!$safemode) {
|
||||
(new Lib\Database())->register($env);
|
||||
(new Lib\Http())->register($env);
|
||||
if (extension_loaded('PDO')) {
|
||||
(new Lib\Database())->register($env);
|
||||
}
|
||||
if (extension_loaded('curl')) {
|
||||
(new Lib\Http())->register($env);
|
||||
}
|
||||
(new Lib\IO())->register($env);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user