aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/composer/xdebug_handler/xdebug_handler.rs
blob: 3bbe901491268baf26fcade46f0701698838d6b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//! ref: composer/vendor/composer/xdebug-handler/src/XdebugHandler.php

#[derive(Debug)]
pub struct XdebugHandler;

impl XdebugHandler {
    pub fn is_xdebug_active() -> bool {
        // TODO(php-runtime)
        false
    }

    pub fn get_skipped_version() -> Option<String> {
        // TODO(php-runtime)
        // The restart-to-disable-xdebug mechanism is not ported (`is_xdebug_active` is
        // hardcoded `false`), so a restart never happens and `self::$skipped` stays at
        // its PHP default of `""`.
        Some(String::new())
    }

    pub fn get_all_ini_files() -> Vec<String> {
        // TODO(php-runtime)
        // No XdebugHandler is ever constructed (`self::$name` stays null), because the
        // `new XdebugHandler('Composer'); $xdebug->check();` bootstrap in `bin/composer` is not
        // ported (see the TODO(phase-c) at the top of shirabe's main.rs), so the
        // COMPOSER_ORIGINAL_INIS env-var branch is unreachable here.
        //
        // shirabe-external-packages cannot depend on shirabe-php-rpc (the reverse dependency
        // would cycle, since shirabe-php-rpc already depends on shirabe-external-packages), so
        // callers that need the real PHP runtime's ini files (php_ini_loaded_file() /
        // php_ini_scanned_files()) query shirabe_php_rpc directly instead of going through this
        // stub; see crate::util::ini_helper::IniHelper::get_all.
        vec![String::new()]
    }
}