Code Duplication    Length = 23-23 lines in 3 locations

src/UI/Style/BorderStyle.php 3 locations

@@ 128-150 (lines=23) @@
125
     *
126
     * @return BorderStyle The style.
127
     */
128
    public static function none()
129
    {
130
        if (!self::$none) {
131
            self::$none = new static();
132
            self::$none->lineVLChar = '';
133
            self::$none->lineVCChar = ' ';
134
            self::$none->lineVRChar = '';
135
            self::$none->lineHTChar = '';
136
            self::$none->lineHCChar = '';
137
            self::$none->lineHBChar = '';
138
            self::$none->cornerTLChar = '';
139
            self::$none->cornerTRChar = '';
140
            self::$none->cornerBLChar = '';
141
            self::$none->cornerBRChar = '';
142
            self::$none->crossingCChar = '';
143
            self::$none->crossingLChar = '';
144
            self::$none->crossingRChar = '';
145
            self::$none->crossingTChar = '';
146
            self::$none->crossingBChar = '';
147
        }
148
149
        return clone self::$none;
150
    }
151
152
    /**
153
     * A style that uses ASCII characters only.
@@ 157-179 (lines=23) @@
154
     *
155
     * @return BorderStyle The style.
156
     */
157
    public static function ascii()
158
    {
159
        if (!self::$ascii) {
160
            self::$ascii = new static();
161
            self::$ascii->lineVLChar = '|';
162
            self::$ascii->lineVCChar = '|';
163
            self::$ascii->lineVRChar = '|';
164
            self::$ascii->lineHTChar = '-';
165
            self::$ascii->lineHCChar = '-';
166
            self::$ascii->lineHBChar = '-';
167
            self::$ascii->cornerTLChar = '+';
168
            self::$ascii->cornerTRChar = '+';
169
            self::$ascii->cornerBLChar = '+';
170
            self::$ascii->cornerBRChar = '+';
171
            self::$ascii->crossingCChar = '+';
172
            self::$ascii->crossingLChar = '+';
173
            self::$ascii->crossingRChar = '+';
174
            self::$ascii->crossingTChar = '+';
175
            self::$ascii->crossingBChar = '+';
176
        }
177
178
        return clone self::$ascii;
179
    }
180
181
    /**
182
     * A style that uses Unicode characters to draw solid lines.
@@ 186-208 (lines=23) @@
183
     *
184
     * @return BorderStyle The style.
185
     */
186
    public static function solid()
187
    {
188
        if (!self::$solid) {
189
            self::$solid = new static();
190
            self::$solid->lineVLChar = '│';
191
            self::$solid->lineVCChar = '│';
192
            self::$solid->lineVRChar = '│';
193
            self::$solid->lineHTChar = '─';
194
            self::$solid->lineHCChar = '─';
195
            self::$solid->lineHBChar = '─';
196
            self::$solid->cornerTLChar = '┌';
197
            self::$solid->cornerTRChar = '┐';
198
            self::$solid->cornerBLChar = '└';
199
            self::$solid->cornerBRChar = '┘';
200
            self::$solid->crossingCChar = '┼';
201
            self::$solid->crossingLChar = '├';
202
            self::$solid->crossingRChar = '┤';
203
            self::$solid->crossingTChar = '┬';
204
            self::$solid->crossingBChar = '┴';
205
        }
206
207
        return clone self::$solid;
208
    }
209
210
    /**
211
     * Returns the character used to draw a horizontal line at the top.