@@ -19,67 +19,56 @@ package com.itsaky.androidide.lsp.xml.models
19
19
20
20
import com.itsaky.androidide.lsp.xml.providers.format.FormatElementCategory
21
21
import com.itsaky.androidide.lsp.xml.providers.format.FormatElementCategory.PreserveSpace
22
+ import org.eclipse.lemminx.dom.builder.EmptyElements
23
+ import org.eclipse.lemminx.dom.builder.BaseXmlFormattingOptions
22
24
import org.eclipse.lemminx.dom.DOMElement
23
25
24
26
/* *
25
27
* Options for XML code formatting.
26
28
*
27
29
* @author Akash Yadav
28
30
*/
29
- open class XMLFormattingOptions {
30
- open val trimFinalNewLine: Boolean
31
+ open class XMLFormattingOptions : BaseXmlFormattingOptions () {
32
+
33
+ override val isTrimFinalNewLine: Boolean
31
34
get() = com.itsaky.androidide.preferences.internal.trimFinalNewLine
32
- open val insertFinalNewLine : Boolean
35
+ override val isInsertFinalNewLine : Boolean
33
36
get() = com.itsaky.androidide.preferences.internal.insertFinalNewLine
34
- open val splitAttributes : Boolean
37
+ override val isSplitAttributes : Boolean
35
38
get() = com.itsaky.androidide.preferences.internal.splitAttributes
36
- open val joinCDataLines : Boolean
39
+ override val isJoinCDataLines : Boolean
37
40
get() = com.itsaky.androidide.preferences.internal.joinCDataLines
38
- open val joinCommentLines : Boolean
41
+ override val isJoinCommentLines : Boolean
39
42
get() = com.itsaky.androidide.preferences.internal.joinCommentLines
40
- open val joinContentLines : Boolean
43
+ override val isJoinContentLines : Boolean
41
44
get() = com.itsaky.androidide.preferences.internal.joinContentLines
42
- open val spaceBeforeEmptyCloseTag : Boolean
45
+ override val isSpaceBeforeEmptyCloseTag : Boolean
43
46
get() = com.itsaky.androidide.preferences.internal.spaceBeforeEmptyCloseTag
44
- open val preserveEmptyContent : Boolean
47
+ override val isPreserveEmptyContent : Boolean
45
48
get() = com.itsaky.androidide.preferences.internal.preserveEmptyContent
46
- open val preserveAttributeLineBreaks : Boolean
49
+ override val isPreserveAttributeLineBreaks : Boolean
47
50
get() = com.itsaky.androidide.preferences.internal.preserveAttributeLineBreaks
48
- open val closingBracketNewLine : Boolean
51
+ override val isClosingBracketNewLine : Boolean
49
52
get() = com.itsaky.androidide.preferences.internal.closingBracketNewLine
50
- open val trimTrailingWhitespace : Boolean
53
+ override val isTrimTrailingWhitespace : Boolean
51
54
get() = com.itsaky.androidide.preferences.internal.trimTrailingWhitespace
52
55
53
- open val maxLineWidth: Int
56
+ override val maxLineWidth: Int
54
57
get() = com.itsaky.androidide.preferences.internal.maxLineWidth
55
- open val preservedNewLines: Int
58
+ override val preservedNewLines: Int
56
59
get() = com.itsaky.androidide.preferences.internal.preservedNewLines
57
- open val splitAttributesIndentSize: Int
60
+ override val splitAttributesIndentSize: Int
58
61
get() = com.itsaky.androidide.preferences.internal.splitAttributesIndentSize
59
62
60
- open val emptyElementsBehavior: EmptyElements
61
- get() = EmptyElements .valueOf(com.itsaky.androidide.preferences.internal.emptyElementsBehavior)
63
+ override val emptyElementsBehavior: EmptyElements
64
+ get() = EmptyElements .valueOf(
65
+ com.itsaky.androidide.preferences.internal.emptyElementsBehavior)
62
66
63
67
private val preserveSpace =
64
- listOf (
65
- " xsl:text" ,
66
- " xsl:comment" ,
67
- " xsl:processing-instruction" ,
68
- " literallayout" ,
69
- " programlisting" ,
70
- " screen" ,
71
- " synopsis" ,
72
- " pre" ,
73
- " xd:pre"
74
- )
68
+ listOf (" xsl:text" , " xsl:comment" , " xsl:processing-instruction" ,
69
+ " literallayout" , " programlisting" , " screen" , " synopsis" , " pre" , " xd:pre" )
75
70
76
71
fun getFormatElementCategory (element : DOMElement ): FormatElementCategory ? {
77
72
return preserveSpace.find { it == element.tagName }?.let { PreserveSpace }
78
73
}
79
74
}
80
-
81
- enum class EmptyElements {
82
- Expand ,
83
- Collapse ,
84
- Ignore
85
- }
0 commit comments