Files
PowerToys/src/modules/launcher/Plugins/Microsoft.Plugin.Folder/EnvironmentVariableProcessor.cs
Davide Giacometti 64cc6b7af7 [PT Run] [Folder Plugin] Environment Variables With Autocomplete (#13811)
* search environment variables folders with autocomplete

* refactoring and tests

* fix
2021-10-20 14:27:15 +01:00

40 lines
1.3 KiB
C#

// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Plugin.Folder.Sources;
using Microsoft.Plugin.Folder.Sources.Result;
namespace Microsoft.Plugin.Folder
{
public class EnvironmentVariableProcessor : IFolderProcessor
{
private readonly IEnvironmentHelper _environmentHelper;
private readonly IQueryEnvironmentVariable _queryEnvironmentVariable;
public EnvironmentVariableProcessor(IEnvironmentHelper environmentHelper, IQueryEnvironmentVariable queryEnvironmentVariable)
{
_environmentHelper = environmentHelper;
_queryEnvironmentVariable = queryEnvironmentVariable;
}
public IEnumerable<IItemResult> Results(string actionKeyword, string search)
{
if (search == null)
{
throw new ArgumentNullException(nameof(search));
}
if (!_environmentHelper.IsEnvironmentVariable(search))
{
return Enumerable.Empty<IItemResult>();
}
return _queryEnvironmentVariable.Query(search);
}
}
}