From e20befbefc352ef1169cfe0841e7d10cebf1beb4 Mon Sep 17 00:00:00 2001 From: Tim Otten Date: Fri, 25 Aug 2023 17:43:18 -0700 Subject: [PATCH] phpstorm - Generate hints about CiviCRM settings --- .../Civi/PhpStorm/SettingsGenerator.php | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tools/extensions/phpstorm/Civi/PhpStorm/SettingsGenerator.php diff --git a/tools/extensions/phpstorm/Civi/PhpStorm/SettingsGenerator.php b/tools/extensions/phpstorm/Civi/PhpStorm/SettingsGenerator.php new file mode 100644 index 0000000000..fde4baa2be --- /dev/null +++ b/tools/extensions/phpstorm/Civi/PhpStorm/SettingsGenerator.php @@ -0,0 +1,28 @@ + 'generate']; + } + + public function generate() { + $metadata = \Civi\Core\SettingsMetadata::getMetadata(); + $methods = ['get', 'getDefault', 'getExplicit', 'getMandatory', 'hasExplicit', 'revert', 'set']; + $builder = new PhpStormMetadata('settings', __CLASS__); + $builder->registerArgumentsSet('settingNames', ...array_keys($metadata)); + foreach ($methods as $method) { + $builder->addExpectedArguments('\Civi\Core\SettingsBag::' . $method . '()', 0, 'settingNames'); + } + $builder->write(); + } + +} -- 2.25.1