dealSlash(range, strBefore, indentSize) {
        const line = this.currentEditor.buffer.getLines()[range.end.row]
        this.backspaceIfNeeded(range, strBefore, indentSize)
        if (
            line.substr(range.end.column, 1) === '>' ||
            hasOddQuots(strBefore)
        ) {
            return
        }
        this.currentEditor.backspace()
        this.closeSelfTag(strBefore)
    }
/**
     * when user sype /
     *
     * @param  {string}   strBefore  [ string before the current charactor / ]
     * @param  {number}   indentSize [ the indent size of the tag beginning part ]
     */
when user sype
@param  {string}   strBefore  [ string before the current charactor / ]
@param  {number}   indentSize [ the indent size of the tag beginning part ]
when user sype @param { string } strBefore [ string before the current charactor / ] @param { number } indentSize [ the indent size of the tag beginning part ]
dealSlash(range, strBefore, indentSize) {
        const line = this.currentEditor.buffer.getLines()[range.end.row]
        this.backspaceIfNeeded(range, strBefore, indentSize)
        if (
            line.substr(range.end.column, 1) === '>' ||
            hasOddQuots(strBefore)
        ) {
            return
        }
        this.currentEditor.backspace()
        this.closeSelfTag(strBefore)
    }
dealSlash ( range , strBefore , indentSize ) { const line = this . currentEditor . buffer . getLines ( ) [ range . end . row ] this . backspaceIfNeeded ( range , strBefore , indentSize ) if ( line . substr ( range . end . column , 1 ) === '>' || hasOddQuots ( strBefore ) ) { return } this . currentEditor . backspace ( ) this . closeSelfTag ( strBefore ) }
when user sype
 @param  {string}   strBefore  [ string before the current charactor / ]
 @param  {number}   indentSize [ the indent size of the tag beginning part ]
when user sype @param { string } strBefore [ string before the current charactor / ] @param { number } indentSize [ the indent size of the tag beginning part ]