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

Function InitFormat

CodeFormat/src/CodeFormat.cpp:131–188  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

129}
130
131bool InitFormat(CommandLine &cmd, FormatContext &formatContext) {
132 if (cmd.HasOption("file") || cmd.HasOption("stdin")) {
133 if (cmd.HasOption("file")) {
134 formatContext.SetInputFilePath(cmd.Get<std::string>("file"));
135 }
136
137 if (cmd.HasOption("file") && !cmd.HasOption("stdin")) {
138 formatContext.SetWorkMode(WorkMode::File);
139 } else {
140 formatContext.SetWorkMode(WorkMode::Stdin);
141 SET_BINARY_MODE();
142 }
143
144 if (cmd.HasOption("outfile")) {
145 formatContext.SetOutputFilePath(cmd.Get<std::string>("outfile"));
146 } else if (cmd.HasOption("overwrite")) {
147 formatContext.SetOutputFilePath(cmd.Get<std::string>("file"));
148 }
149 } else {
150 formatContext.SetWorkMode(WorkMode::Workspace);
151 }
152
153 if (cmd.HasOption("workspace")) {
154 formatContext.SetWorkspacePath(cmd.Get<std::string>("workspace"));
155 }
156
157 if (cmd.HasOption("ignores")) {
158 auto ignores = cmd.Get<std::string>("ignores");
159 auto patterns = string_util::Split(ignores, ";");
160 for (auto pattern: patterns) {
161 auto patternNoSpace = string_util::TrimSpace(pattern);
162 if (!patternNoSpace.empty()) {
163 formatContext.AddIgnorePattern(patternNoSpace);
164 }
165 }
166 }
167
168 if (cmd.HasOption("ignores-file")) {
169 formatContext.AddIgnorePatternsFromFile(cmd.Get<std::string>("ignores-file"));
170 }
171
172 if (cmd.Get<bool>("detect-config")) {
173 formatContext.EnableAutoDetectConfig();
174 } else if (cmd.HasOption("config")) {
175 formatContext.SetConfigFilePath(cmd.Get<std::string>("config"));
176 }
177
178 if (cmd.Get<bool>("non-standard")) {
179 formatContext.EnableNonStandardLuaSupport();
180 }
181
182 if (cmd.Get<bool>("c-like-comments")) {
183 formatContext.EnableCLikeCommentsSupport();
184 }
185
186 formatContext.SetDefaultStyleOptions(cmd.GetKeyValueOptions());
187 return true;
188}

Callers 2

mainFunction · 0.85
InitRangeFormatFunction · 0.85

Calls 13

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

Tested by

no test coverage detected