@@ -96,7 +96,6 @@ public function enforceModuleDependencies(
9696 #[CLI \Argument(name: 'configNames ' , description: 'The config names. ' )]
9797 #[CLI \Option(name: 'optional ' , description: 'Create as optional config. ' )]
9898 #[CLI \Option(name: 'enforced ' , description: 'Move only config with enforced dependency on the module. ' )]
99- #[CLI \Option(name: 'dry-run ' , description: 'Dry run. ' )]
10099 #[CLI \Usage(name: 'drush config_helper:write-module-config my_module ' , description: '' )]
101100 #[CLI \Usage(name: 'drush config_helper:write-module-config --source=sites/all/config my_module ' , description: '' )]
102101 public function writeModuleConfig (
@@ -147,37 +146,37 @@ public function writeModuleConfig(
147146 * Rename config.
148147 */
149148 #[CLI \Command(name: 'config_helper:rename ' )]
150- #[CLI \Argument(name: 'search ' , description: 'The value to search for. ' )]
151- #[CLI \Argument(name: 'replace ' , description: 'The replacement value. ' )]
149+ #[CLI \Argument(name: 'from ' , description: 'The value to search for. ' )]
150+ #[CLI \Argument(name: 'to ' , description: 'The replacement value. ' )]
151+ #[CLI \Argument(name: 'configNames ' , description: 'The config names. ' )]
152152 #[CLI \Option(name: 'regex ' , description: 'Use regex search and replace. ' )]
153- #[CLI \Option(name: 'dry-run ' , description: 'Dry run. ' )]
154153 #[CLI \Usage(name: 'drush config_helper:rename porject project ' , description: 'Fix typo in config. ' )]
155154 #[CLI \Usage(name: "drush config_helper:rename 'field_(.+)' ' \1' --regex " , description: 'Remove superfluous prefix from field machine names. ' )]
156155 public function rename (
157- string $ search ,
158- string $ replace ,
156+ string $ from ,
157+ string $ to ,
158+ array $ configNames ,
159159 array $ options = [
160160 'regex ' => FALSE ,
161- 'dry-run ' => FALSE ,
162161 ]
163162 ): void {
164163 if (!$ options ['regex ' ]) {
165- $ search = '/ ' . preg_quote ($ search , '/ ' ) . '/ ' ;
164+ $ from = '/ ' . preg_quote ($ from , '/ ' ) . '/ ' ;
166165 }
167166
168- $ this ->io ()->writeln (sprintf ('Replacing %s with %s in config ' , $ search , $ replace ));
167+ $ configNames = $ this ->getConfigNames ($ configNames );
168+ $ question = sprintf ("Rename %s to %s in \n * %s \n? " , $ from , $ to , implode ("\n * " , $ configNames ));
169+ if ($ this ->io ()->confirm ($ question )) {
170+ foreach ($ configNames as $ name ) {
171+ $ config = $ this ->configFactory ->getEditable ($ name );
172+ $ original = $ config ->getRawData ();
173+ $ data = $ this ->replaceKeysAndValues ($ from , $ to , $ original );
174+ $ config ->setData ($ data );
175+ $ config ->save ();
169176
170- $ names = $ this ->configFactory ->listAll ();
171- foreach ($ names as $ name ) {
172- $ config = $ this ->configFactory ->getEditable ($ name );
173- $ data = $ this ->replaceKeysAndValues ($ search , $ replace , $ config ->get ());
174- $ config ->setData ($ data );
175- $ config ->save ();
176-
177- if (preg_match ($ search , $ name )) {
178- $ newName = preg_replace ($ search , $ replace , $ name );
179- $ this ->io ()->writeln (sprintf ('%s -> %s ' , $ name , $ newName ));
180- if (!$ options ['dry-run ' ]) {
177+ $ newName = preg_replace ($ from , $ to , $ name );
178+ if ($ newName !== $ name ) {
179+ $ this ->io ()->writeln (sprintf ('%s -> %s ' , $ name , $ newName ));
181180 $ this ->configFactory ->rename ($ name , $ newName );
182181 }
183182 }
0 commit comments