Skip to content

Commit 317aee0

Browse files
authored
Merge pull request #195 from domaframework/fix/correct-project-selection-updating-state-via-settings
Change the scope of the SQL formatting settings
2 parents 800f813 + 6fb89fd commit 317aee0

File tree

61 files changed

+430
-291
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+430
-291
lines changed

src/main/kotlin/org/domaframework/doma/intellij/common/helper/ActiveProjectHelper.kt

Lines changed: 0 additions & 72 deletions
This file was deleted.

src/main/kotlin/org/domaframework/doma/intellij/common/util/DomaToolsSettingUtil.kt

Lines changed: 0 additions & 33 deletions
This file was deleted.

src/main/kotlin/org/domaframework/doma/intellij/formatter/SqlBlockUtil.kt

Lines changed: 48 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package org.domaframework.doma.intellij.formatter
1717

18+
import com.intellij.formatting.FormattingMode
1819
import com.intellij.lang.ASTNode
1920
import com.intellij.psi.PsiComment
2021
import com.intellij.psi.util.PsiTreeUtil
@@ -52,6 +53,8 @@ import org.domaframework.doma.intellij.psi.SqlTypes
5253

5354
class SqlBlockUtil(
5455
sqlBlock: SqlBlock,
56+
private val enableFormat: Boolean,
57+
private val formatMode: FormattingMode,
5558
) {
5659
val wrap = sqlBlock.wrap
5760
val alignment = sqlBlock.alignment
@@ -69,39 +72,39 @@ class SqlBlockUtil(
6972
when (indentLevel) {
7073
IndentType.JOIN -> {
7174
return if (SqlKeywordUtil.isJoinKeyword(child.text)) {
72-
SqlJoinGroupBlock(child, wrap, alignment, spacingBuilder)
75+
SqlJoinGroupBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
7376
} else if (lastGroupBlock is SqlJoinGroupBlock) {
74-
SqlKeywordBlock(child, IndentType.ATTACHED, wrap, alignment, spacingBuilder)
77+
SqlKeywordBlock(child, IndentType.ATTACHED, wrap, alignment, spacingBuilder, enableFormat, formatMode)
7578
} else {
76-
SqlJoinGroupBlock(child, wrap, alignment, spacingBuilder)
79+
SqlJoinGroupBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
7780
}
7881
}
7982

8083
IndentType.INLINE_SECOND -> {
81-
return SqlInlineSecondGroupBlock(child, wrap, alignment, spacingBuilder)
84+
return SqlInlineSecondGroupBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
8285
}
8386

8487
IndentType.TOP -> {
8588
if (keywordText == "create") {
86-
return SqlCreateKeywordGroupBlock(child, wrap, alignment, spacingBuilder)
89+
return SqlCreateKeywordGroupBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
8790
}
8891
if (keywordText == "insert") {
89-
return SqlInsertKeywordGroupBlock(child, wrap, alignment, spacingBuilder)
92+
return SqlInsertKeywordGroupBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
9093
}
9194

92-
return SqlKeywordGroupBlock(child, indentLevel, wrap, alignment, spacingBuilder)
95+
return SqlKeywordGroupBlock(child, indentLevel, wrap, alignment, spacingBuilder, enableFormat, formatMode)
9396
}
9497

9598
IndentType.SECOND -> {
9699
return if (keywordText == "set") {
97-
SqlUpdateKeywordGroupBlock(child, wrap, alignment, spacingBuilder)
100+
SqlUpdateKeywordGroupBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
98101
} else {
99-
SqlKeywordGroupBlock(child, indentLevel, wrap, alignment, spacingBuilder)
102+
SqlKeywordGroupBlock(child, indentLevel, wrap, alignment, spacingBuilder, enableFormat, formatMode)
100103
}
101104
}
102105

103106
else -> {
104-
return SqlKeywordGroupBlock(child, indentLevel, wrap, alignment, spacingBuilder)
107+
return SqlKeywordGroupBlock(child, indentLevel, wrap, alignment, spacingBuilder, enableFormat, formatMode)
105108
}
106109
}
107110
}
@@ -113,14 +116,14 @@ class SqlBlockUtil(
113116
lastGroupBlock?.getNodeText() ?: "",
114117
)
115118
) {
116-
return SqlInlineGroupBlock(child, wrap, alignment, spacingBuilder)
119+
return SqlInlineGroupBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
117120
}
118121
}
119122

120123
IndentType.ATTACHED -> {
121124
if (lastGroupBlock is SqlCreateKeywordGroupBlock) {
122125
lastGroupBlock.setCreateQueryType(child.text)
123-
return SqlKeywordBlock(child, indentLevel, wrap, alignment, spacingBuilder)
126+
return SqlKeywordBlock(child, indentLevel, wrap, alignment, spacingBuilder, enableFormat, formatMode)
124127
}
125128
}
126129

@@ -130,22 +133,22 @@ class SqlBlockUtil(
130133
lastGroupBlock as? SqlCreateKeywordGroupBlock
131134
?: lastGroupBlock?.parentBlock as? SqlCreateKeywordGroupBlock
132135
if (parentCreateBlock != null && parentCreateBlock.createType == CreateQueryType.VIEW) {
133-
return SqlViewGroupBlock(child, wrap, alignment, spacingBuilder)
136+
return SqlViewGroupBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
134137
}
135138
}
136139
}
137140

138-
else -> return SqlKeywordBlock(child, indentLevel, wrap, alignment, spacingBuilder)
141+
else -> return SqlKeywordBlock(child, indentLevel, wrap, alignment, spacingBuilder, enableFormat, formatMode)
139142
}
140-
return SqlKeywordBlock(child, indentLevel, wrap, alignment, spacingBuilder)
143+
return SqlKeywordBlock(child, indentLevel, wrap, alignment, spacingBuilder, enableFormat, formatMode)
141144
}
142145

143146
fun getSubGroupBlock(
144147
lastGroup: SqlBlock?,
145148
child: ASTNode,
146149
): SqlBlock {
147150
if (child.treePrev.elementType == SqlTypes.WORD) {
148-
return SqlFunctionParamBlock(child, wrap, alignment, spacingBuilder)
151+
return SqlFunctionParamBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
149152
}
150153

151154
when (lastGroup) {
@@ -154,31 +157,31 @@ class SqlBlockUtil(
154157
lastGroup.childBlocks
155158
.lastOrNull { SqlKeywordUtil.isOptionSqlKeyword(it.getNodeText()) }
156159
if (lastKeyword != null && lastKeyword.getNodeText().lowercase() == "in") {
157-
return SqlParallelListBlock(child, wrap, alignment, spacingBuilder)
160+
return SqlParallelListBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
158161
}
159162
if (lastGroup is SqlCreateKeywordGroupBlock) {
160-
return SqlColumnDefinitionGroupBlock(child, wrap, alignment, spacingBuilder)
163+
return SqlColumnDefinitionGroupBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
161164
}
162165
if (lastGroup is SqlInsertKeywordGroupBlock) {
163-
return SqlInsertColumnGroupBlock(child, wrap, alignment, spacingBuilder)
166+
return SqlInsertColumnGroupBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
164167
}
165168
if (lastGroup is SqlUpdateKeywordGroupBlock) {
166169
return if (lastGroup.childBlocks.firstOrNull { it is SqlUpdateColumnGroupBlock } == null) {
167-
SqlUpdateColumnGroupBlock(child, wrap, alignment, spacingBuilder)
170+
SqlUpdateColumnGroupBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
168171
} else if (lastGroup.childBlocks.lastOrNull { it is SqlUpdateColumnGroupBlock } != null) {
169-
SqlUpdateValueGroupBlock(child, wrap, alignment, spacingBuilder)
172+
SqlUpdateValueGroupBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
170173
} else {
171-
SqlSubQueryGroupBlock(child, wrap, alignment, spacingBuilder)
174+
SqlSubQueryGroupBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
172175
}
173176
}
174-
return SqlSubQueryGroupBlock(child, wrap, alignment, spacingBuilder)
177+
return SqlSubQueryGroupBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
175178
}
176179

177180
is SqlColumnDefinitionRawGroupBlock ->
178-
return SqlDataTypeParamBlock(child, wrap, alignment, spacingBuilder)
181+
return SqlDataTypeParamBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
179182

180183
else ->
181-
return SqlSubQueryGroupBlock(child, wrap, alignment, spacingBuilder)
184+
return SqlSubQueryGroupBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
182185
}
183186
}
184187

@@ -193,17 +196,19 @@ class SqlBlockUtil(
193196
wrap,
194197
alignment,
195198
spacingBuilder,
199+
enableFormat,
200+
formatMode,
196201
)
197202

198203
is SqlColumnGroupBlock, is SqlKeywordGroupBlock -> {
199204
if (lastGroup.indent.indentLevel == IndentType.SECOND) {
200-
SqlCommaBlock(child, wrap, alignment, spacingBuilder)
205+
SqlCommaBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
201206
} else {
202-
SqlColumnGroupBlock(child, wrap, alignment, spacingBuilder)
207+
SqlColumnGroupBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
203208
}
204209
}
205210

206-
else -> SqlCommaBlock(child, wrap, alignment, spacingBuilder)
211+
else -> SqlCommaBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
207212
}
208213

209214
fun getWordBlock(
@@ -219,9 +224,11 @@ class SqlBlockUtil(
219224
wrap,
220225
alignment,
221226
spacingBuilder,
227+
enableFormat,
228+
formatMode,
222229
)
223230

224-
else -> SqlWordBlock(child, wrap, alignment, spacingBuilder)
231+
else -> SqlWordBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
225232
}
226233
}
227234

@@ -232,6 +239,8 @@ class SqlBlockUtil(
232239
wrap,
233240
alignment,
234241
spacingBuilder,
242+
enableFormat,
243+
formatMode,
235244
)
236245
}
237246

@@ -243,13 +252,15 @@ class SqlBlockUtil(
243252
wrap,
244253
alignment,
245254
spacingBuilder,
255+
enableFormat,
256+
formatMode,
246257
)
247258
} else {
248-
SqlWordBlock(child, wrap, alignment, spacingBuilder)
259+
SqlWordBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
249260
}
250261
}
251262

252-
else -> SqlWordBlock(child, wrap, alignment, spacingBuilder)
263+
else -> SqlWordBlock(child, wrap, alignment, spacingBuilder, enableFormat, formatMode)
253264
}
254265

255266
fun getBlockCommentBlock(
@@ -262,6 +273,8 @@ class SqlBlockUtil(
262273
wrap,
263274
alignment,
264275
spacingBuilder,
276+
enableFormat,
277+
formatMode,
265278
)
266279
}
267280
if (child.psi is SqlCustomElCommentExpr &&
@@ -273,6 +286,8 @@ class SqlBlockUtil(
273286
alignment,
274287
blockCommentSpacingBuilder,
275288
spacingBuilder,
289+
enableFormat,
290+
formatMode,
276291
)
277292
}
278293
return SqlElBlockCommentBlock(
@@ -281,6 +296,8 @@ class SqlBlockUtil(
281296
alignment,
282297
blockCommentSpacingBuilder,
283298
spacingBuilder,
299+
enableFormat,
300+
formatMode,
284301
)
285302
}
286303
}

src/main/kotlin/org/domaframework/doma/intellij/formatter/SqlFormatPreProcessor.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import com.intellij.psi.impl.source.codeStyle.PreFormatProcessor
2828
import com.intellij.psi.util.PsiTreeUtil
2929
import com.intellij.psi.util.elementType
3030
import com.intellij.psi.util.prevLeafs
31-
import org.domaframework.doma.intellij.common.util.DomaToolsSettingUtil
3231
import org.domaframework.doma.intellij.common.util.PluginLoggerUtil
3332
import org.domaframework.doma.intellij.extension.expr.isConditionOrLoopDirective
3433
import org.domaframework.doma.intellij.psi.SqlBlockComment
@@ -47,7 +46,7 @@ class SqlFormatPreProcessor : PreFormatProcessor {
4746
source: PsiFile,
4847
rangeToReformat: TextRange,
4948
): TextRange {
50-
if (!DomaToolsSettingUtil.isEnableFormat(source.project)) return rangeToReformat
49+
// Turn on by default the code formatter that only runs when explicitly invoked by the user.
5150
if (source.language != SqlLanguage.INSTANCE) return rangeToReformat
5251

5352
logging()

0 commit comments

Comments
 (0)