diff --git a/composer.json b/composer.json index f593355..a04f43c 100644 --- a/composer.json +++ b/composer.json @@ -21,12 +21,12 @@ "require": { "php": ">=5.5", "sabre/dav" : "~4.1.0", - "sabre/vobject": "^4.0", + "sabre/vobject": "^4.2.1", "nesbot/carbon": "^2.0.0", "laminas/laminas-validator": "^2.13", "laminas/laminas-stdlib": "^3.2", "psr/container": "^1.0", - "symfony/config": "3.4", + "symfony/config": "3.4|^4.0|^5.0", "symfony/process": "^3.4|^4.0|^5.0", "monolog/monolog": "^2.0", "symfony/yaml": "~3.0|~4.0", diff --git a/lib/Commands/CreateConfigFileCommand.php b/lib/Commands/CreateConfigFileCommand.php index 5c755d0..157248a 100644 --- a/lib/Commands/CreateConfigFileCommand.php +++ b/lib/Commands/CreateConfigFileCommand.php @@ -22,7 +22,12 @@ class CreateConfigFileCommand extends Command { public function addtaskwarriorConfig() { $configs = []; - $filePath = $this->io->askQuestion(new Question('Where is the location for the taskrc file?')); + $taskrcQuestion = new Question('Where is the location for the taskrc file?'); + $self = $this; + $taskrcQuestion->setAutocompleterCallback(function(string $input) use ($self) { + return $self->autocompleteFilePathCallback($input); + }); + $filePath = $this->io->askQuestion($taskrcQuestion); $taskrcFilePath = $filePath . '/.taskrc'; if (!file_exists($taskrcFilePath)) { throw new \RuntimeException("The taskrc file at $taskrcFilePath does not exist"); @@ -70,7 +75,10 @@ class CreateConfigFileCommand extends Command { // TODO: move create config file code block to function $question = new Question('Where to create `config.yaml` configuration file?'); - $question->setAutocompleterCallback($this->autocompleteFilePathCallback); + $self = $this; + $question->setAutocompleterCallback(function(string $input) use ($self) { + return $self->autocompleteFilePathCallback($input); + }); $filePath = $this->io->askQuestion($question); try { @@ -125,7 +133,14 @@ class CreateConfigFileCommand extends Command { $this->configs['general'] = []; if ($this->io->confirm('Enable logging?')) { $this->configs['general']['logger'] = []; - $logFilePath = $this->io->askQuestion(new Question('Where to create log file?')); + + $logFileQuestion = new Question('Where to create log file?'); + $self = $this; + $logFileQuestion->setAutocompleterCallback(function(string $input) use ($self) { + return $self->autocompleteFilePathCallback($input); + }); + $logFilePath = $this->io->askQuestion($logFileQuestion); + $this->configs['general']['logger']['file'] = $this->verifyAndCreateFile($logFilePath, CreateConfigFileCommand::$LOGGER_FILE_NAME); $logLevelChoiceQuestion = new ChoiceQuestion('Log level (defaults to ERROR)', array_keys(Monolog::getLevels()), 4);