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

Method Query

CodeFormatCore/src/Format/Analyzer/IndentationAnalyzer.cpp:128–163  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

126}
127
128void IndentationAnalyzer::Query(FormatState &f, LuaSyntaxNode n, const LuaSyntaxTree &t, FormatResolve &resolve) {
129 auto it = _indent.find(n.GetIndex());
130 if (it != _indent.end()) {
131 auto &indentData = it->second;
132 switch (indentData.Type) {
133 case IndentType::Standard: {
134 resolve.SetIndent(indentData.Indent);
135 break;
136 }
137 case IndentType::InvertIndentation: {
138 resolve.SetIndent(indentData.Indent, IndentStrategy::InvertRelative);
139 break;
140 }
141 case IndentType::WhenNewLine: {
142 if (f.IsNewLine(n, t)) {
143 resolve.SetIndent(indentData.Indent);
144 }
145 break;
146 }
147 case IndentType::WhenPrevIndent: {
148 auto prev = n.GetPrevSibling(t);
149 if (_indentMark.count(prev.GetIndex())) {
150 resolve.SetIndent(indentData.Indent);
151 }
152 break;
153 }
154 case IndentType::Keep: {
155 resolve.SetIndent(0, IndentStrategy::Absolute);
156 break;
157 }
158 default: {
159 break;
160 }
161 }
162 }
163}
164
165void IndentationAnalyzer::AddIndenter(LuaSyntaxNode n, const LuaSyntaxTree &t, IndentData indentData) {
166 _indent[n.GetIndex()] = indentData;

Callers

nothing calls this directly

Calls 7

GetIndexMethod · 0.80
SetIndentMethod · 0.80
IsNewLineMethod · 0.80
findMethod · 0.45
endMethod · 0.45
GetPrevSiblingMethod · 0.45
countMethod · 0.45

Tested by

no test coverage detected