diff options
Diffstat (limited to '')
-rw-r--r-- | src/WixToolset.Converters/FormatCommand.cs | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/WixToolset.Converters/FormatCommand.cs b/src/WixToolset.Converters/FormatCommand.cs new file mode 100644 index 00000000..e9965df3 --- /dev/null +++ b/src/WixToolset.Converters/FormatCommand.cs | |||
@@ -0,0 +1,60 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset.Converters | ||
4 | { | ||
5 | using System; | ||
6 | using System.Threading; | ||
7 | using System.Threading.Tasks; | ||
8 | using WixToolset.Extensibility.Services; | ||
9 | |||
10 | internal class FormatCommand : FixupCommandBase | ||
11 | { | ||
12 | private const string SettingsFileDefault = "wix.format.settings.xml"; | ||
13 | |||
14 | public FormatCommand(IWixToolsetServiceProvider serviceProvider) | ||
15 | { | ||
16 | this.Messaging = serviceProvider.GetService<IMessaging>(); | ||
17 | } | ||
18 | |||
19 | private IMessaging Messaging { get; } | ||
20 | |||
21 | public override Task<int> ExecuteAsync(CancellationToken cancellationToken) | ||
22 | { | ||
23 | if (this.ShowHelp) | ||
24 | { | ||
25 | DisplayHelp(); | ||
26 | return Task.FromResult(-1); | ||
27 | } | ||
28 | |||
29 | var converter = new WixConverter(this.Messaging, this.IndentationAmount, this.ErrorsAsWarnings, this.IgnoreErrors); | ||
30 | |||
31 | this.ParseSettings(SettingsFileDefault); | ||
32 | |||
33 | var errors = base.Inspect(Inspector, cancellationToken); | ||
34 | |||
35 | return Task.FromResult(errors); | ||
36 | |||
37 | int Inspector(string file, bool fix) | ||
38 | { | ||
39 | return converter.FormatFile(file, fix); | ||
40 | } | ||
41 | } | ||
42 | |||
43 | private static void DisplayHelp() | ||
44 | { | ||
45 | Console.WriteLine(); | ||
46 | Console.WriteLine("Usage: wix format [options] sourceFile [sourceFile ...]"); | ||
47 | Console.WriteLine(); | ||
48 | Console.WriteLine("Options:"); | ||
49 | Console.WriteLine(" -h|--help Show command line help."); | ||
50 | Console.WriteLine(" --nologo Suppress displaying the logo information."); | ||
51 | Console.WriteLine(" -n|--dry-run Only display errors, do not update files."); | ||
52 | Console.WriteLine(" -r|--recurse Search for matching files in current dir and subdirs."); | ||
53 | Console.WriteLine(" -set1<file> Primary settings file."); | ||
54 | Console.WriteLine(" -set2<file> Secondary settings file (overrides primary)."); | ||
55 | Console.WriteLine(" -indent:<n> Indentation multiple (overrides default of 4)."); | ||
56 | Console.WriteLine(); | ||
57 | Console.WriteLine(" sourceFile may use wildcards like *.wxs"); | ||
58 | } | ||
59 | } | ||
60 | } | ||