MCPcopy Create free account
hub / github.com/LadybugDB/ladybug / isInsideCommentOrQuote

Function isInsideCommentOrQuote

tools/shell/embedded_shell.cpp:178–221  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

176}
177
178bool isInsideCommentOrQuote(const std::string& buffer) {
179 bool insideSingleLineComment = false;
180 bool insideMultiLineComment = false;
181 bool insideDoubleQuote = false;
182 bool insideSingleQuote = false;
183
184 for (size_t i = 0; i < buffer.size(); ++i) {
185 if (insideSingleLineComment) {
186 if (buffer[i] == '\n') {
187 insideSingleLineComment = false;
188 }
189 } else if (insideMultiLineComment) {
190 if (buffer[i] == '*' && i + 1 < buffer.size() && buffer[i + 1] == '/') {
191 insideMultiLineComment = false;
192 ++i;
193 }
194 } else if (insideDoubleQuote) {
195 if (buffer[i] == '"' && (i == 0 || buffer[i - 1] != '\\')) {
196 insideDoubleQuote = false;
197 }
198 } else if (insideSingleQuote) {
199 if (buffer[i] == '\'' && (i == 0 || buffer[i - 1] != '\\')) {
200 insideSingleQuote = false;
201 }
202 } else {
203 if (buffer[i] == '/' && i + 1 < buffer.size()) {
204 if (buffer[i + 1] == '/') {
205 insideSingleLineComment = true;
206 ++i;
207 } else if (buffer[i + 1] == '*') {
208 insideMultiLineComment = true;
209 ++i;
210 }
211 } else if (buffer[i] == '"') {
212 insideDoubleQuote = true;
213 } else if (buffer[i] == '\'') {
214 insideSingleQuote = true;
215 }
216 }
217 }
218
219 return insideSingleLineComment || insideMultiLineComment || insideDoubleQuote ||
220 insideSingleQuote;
221}
222
223void findTableVariableNames(const std::string buf, std::regex tableRegex,
224 std::vector<std::string>& tempTableNames, std::vector<std::string>& foundTableNames) {

Callers 1

completionFunction · 0.85

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected