@@ -71,30 +71,10 @@ std::string LuaCodeFormat::Reformat(const std::string& uri, std::string&& text,
7171 return " " ;
7272 }
7373 auto options = GetOptions (uri);
74- if (configMap.empty ())
75- {
76- LuaFormatter formatter (parser, *options);
77- formatter.BuildFormattedElement ();
78- return formatter.GetFormattedText ();
79- }
80- else
81- {
82- LuaCodeStyleOptions tempOptions = *options;
83- if (configMap.count (" insertSpaces" ))
84- {
85- tempOptions.indent_style = configMap.at (" insertSpaces" ) == " true"
86- ? IndentStyle::Space
87- : IndentStyle::Tab;
88- }
89- if (configMap.count (" tabSize" ))
90- {
91- tempOptions.tab_width = std::stoi (configMap.at (" tabSize" ));
92- }
93-
94- LuaFormatter formatter (parser, tempOptions);
95- formatter.BuildFormattedElement ();
96- return formatter.GetFormattedText ();
97- }
74+ auto tempOptions = CalculateOptions (uri, configMap);
75+ LuaFormatter formatter (parser, tempOptions);
76+ formatter.BuildFormattedElement ();
77+ return formatter.GetFormattedText ();
9878}
9979
10080std::string LuaCodeFormat::RangeFormat (const std::string& uri, LuaFormatRange& range, std::string&& text,
@@ -109,33 +89,11 @@ std::string LuaCodeFormat::RangeFormat(const std::string& uri, LuaFormatRange& r
10989 }
11090 auto options = GetOptions (uri);
11191
112- if (configMap.empty ())
113- {
114- LuaFormatter formatter (parser, *options);
115- formatter.BuildFormattedElement ();
116-
117- return formatter.GetRangeFormattedText (range);
118- }
119- else
120- {
121- LuaCodeStyleOptions tempOptions = *options;
122- if (configMap.count (" insertSpaces" ))
123- {
124- tempOptions.indent_style = configMap.at (" insertSpaces" ) == " true"
125- ? IndentStyle::Space
126- : IndentStyle::Tab;
127- }
128- if (configMap.count (" tabSize" ))
129- {
130- tempOptions.tab_width = std::stoi (configMap.at (" tabSize" ));
131- }
132-
133- LuaFormatter formatter (parser, tempOptions);
134- formatter.BuildFormattedElement ();
135-
136- return formatter.GetRangeFormattedText (range);
137- }
92+ auto tempOptions = CalculateOptions (uri, configMap);
93+ LuaFormatter formatter (parser, tempOptions);
94+ formatter.BuildFormattedElement ();
13895
96+ return formatter.GetRangeFormattedText (range);
13997}
14098
14199std::pair<bool , std::vector<LuaDiagnosisInfo>> LuaCodeFormat::Diagnose (const std::string& uri, std::string&& text)
@@ -169,3 +127,35 @@ std::shared_ptr<LuaCodeStyleOptions> LuaCodeFormat::GetOptions(const std::string
169127
170128 return options;
171129}
130+
131+ LuaCodeStyleOptions LuaCodeFormat::CalculateOptions (const std::string& uri, ConfigMap& configMap)
132+ {
133+ auto options = GetOptions (uri);
134+
135+ if (configMap.empty ())
136+ {
137+ return *options;
138+ }
139+ else
140+ {
141+ LuaCodeStyleOptions tempOptions = *options;
142+ if (configMap.count (" insertSpaces" ))
143+ {
144+ tempOptions.indent_style = configMap.at (" insertSpaces" ) == " true"
145+ ? IndentStyle::Space
146+ : IndentStyle::Tab;
147+ }
148+ if (configMap.count (" tabSize" ))
149+ {
150+ if (tempOptions.indent_style == IndentStyle::Tab) {
151+ tempOptions.tab_width = std::stoi (configMap.at (" tabSize" ));
152+ }
153+ else if (tempOptions.indent_style == IndentStyle::Space)
154+ {
155+ tempOptions.indent_size = std::stoi (configMap.at (" tabSize" ));
156+ }
157+ }
158+ return tempOptions;
159+ }
160+
161+ }
0 commit comments