importsort-d

Sort and format imports in DLang
Log | Files | Refs | README

commit 24ff863c360f25b4d0d357c9b255278db0763223
parent 3364eb552262fa130419771a15411c7abce0666a
Author: Friedel Schön <[email protected]>
Date:   Fri, 22 Dec 2023 23:21:12 +0100

Merge pull request #4 from gizmomogwai/master

feature: Use positional arguments to documents inputs
Diffstat:
Msrc/main.d | 17++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/main.d b/src/main.d @@ -20,7 +20,7 @@ enum VERSION = "0.3.3"; struct SortConfig { @(ArgumentGroup("Input/Output arguments") .Description( - "Define in- and output behavior. Trailing arguments are considered input-files.")) { + "Define in- and output behavior")) { @(NamedArgument(["recursive", "r"]).Description("recursively search in directories")) bool recursive = false; @@ -29,6 +29,9 @@ struct SortConfig { @(NamedArgument(["output", "o"]).Description("writes to `path` instead of stdout")) string output; + + @(PositionalArgument(0).Description("inputfiles or folders, use - for stdin")) + string[] inputs; } @(ArgumentGroup("Sorting arguments").Description("Tune import sorting algorithms")) { @@ -84,26 +87,26 @@ DirEntry[] listEntries(alias F = "true")(string[] input, bool recursive) { return entries; } -mixin CLI!(SortConfig).main!((config, inputs) { - if (config.recursive && inputs.empty) { +mixin CLI!(SortConfig).main!((config) { + if (config.recursive && config.inputs.empty) { stderr.writeln("error: cannot use '--recursive' and specify no input"); exit(1); } - if (config.inplace && inputs.empty) { + if (config.inplace && config.inputs.empty) { stderr.writeln("error: cannot use inplace and read from stdin"); exit(2); } - if (!inputs.empty && (!config.inplace || !config.output.empty)) { + if (!config.inputs.empty && (!config.inplace || !config.output.empty)) { stderr.writeln( "error: if you use inputs you must use inplace sorting or provide an output"); exit(3); } - if (inputs.empty) { + if (config.inputs.empty) { auto outfile = config.output.empty ? stdout : File(config.output); sortImports(stdin, outfile, config); } else { - listEntries(inputs, config.recursive).sortImports(config); + listEntries(config.inputs, config.recursive).sortImports(config); } return 0; });