MCPcopy Create free account
hub / github.com/CppCXY/EmmyLuaCodeStyle / InitCheck

Function InitCheck

CodeFormat/src/CodeFormat.cpp:190–254  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

188}
189
190bool InitCheck(CommandLine &cmd, FormatContext &formatContext) {
191
192 if (cmd.HasOption("file") || cmd.HasOption("stdin")) {
193 if (cmd.HasOption("file")) {
194 formatContext.SetInputFilePath(cmd.Get<std::string>("file"));
195 }
196
197 if (cmd.HasOption("file") && !cmd.HasOption("stdin")) {
198 formatContext.SetWorkMode(WorkMode::File);
199 } else {
200 formatContext.SetWorkMode(WorkMode::Stdin);
201 SET_BINARY_MODE();
202 }
203
204 if (cmd.HasOption("outfile")) {
205 formatContext.SetOutputFilePath(cmd.Get<std::string>("outfile"));
206 }
207 } else {
208 formatContext.SetWorkMode(WorkMode::Workspace);
209 }
210
211 if (cmd.HasOption("workspace")) {
212 formatContext.SetWorkspacePath(cmd.Get<std::string>("workspace"));
213 }
214
215 if (cmd.HasOption("ignores")) {
216 auto ignores = cmd.Get<std::string>("ignores");
217 auto patterns = string_util::Split(ignores, ";");
218 for (auto pattern: patterns) {
219 auto patternNoSpace = string_util::TrimSpace(pattern);
220 if (!patternNoSpace.empty()) {
221 formatContext.AddIgnorePattern(patternNoSpace);
222 }
223 }
224 }
225
226 if (cmd.HasOption("ignores-file")) {
227 formatContext.AddIgnorePatternsFromFile(cmd.Get<std::string>("ignores-file"));
228 }
229
230 if (cmd.Get<bool>("detect-config")) {
231 formatContext.EnableAutoDetectConfig();
232 } else if (cmd.HasOption("config")) {
233 formatContext.SetConfigFilePath(cmd.Get<std::string>("config"));
234 }
235
236 if (cmd.Get<bool>("non-standard")) {
237 formatContext.EnableNonStandardLuaSupport();
238 }
239
240 if (cmd.Get<bool>("name-style")) {
241 formatContext.EnableNameStyleCheckSupport();
242 }
243
244 if (cmd.Get<bool>("dump-json")) {
245 formatContext.EnableJsonDump();
246 }
247

Callers 1

mainFunction · 0.85

Calls 15

HasOptionMethod · 0.80
SetInputFilePathMethod · 0.80
SetWorkModeMethod · 0.80
SetOutputFilePathMethod · 0.80
SetWorkspacePathMethod · 0.80
AddIgnorePatternMethod · 0.80
SetConfigFilePathMethod · 0.80
EnableJsonDumpMethod · 0.80

Tested by

no test coverage detected