Package com.dci.intellij.dbn.code.common.style.presets.clause

Source Code of com.dci.intellij.dbn.code.common.style.presets.clause.ClauseChopDownNeverPreset

package com.dci.intellij.dbn.code.common.style.presets.clause;

import com.dci.intellij.dbn.language.common.SharedTokenTypeBundle;
import com.dci.intellij.dbn.language.common.TokenType;
import com.dci.intellij.dbn.language.common.psi.BasePsiElement;
import com.dci.intellij.dbn.language.common.psi.TokenPsiElement;
import com.intellij.formatting.Spacing;
import com.intellij.formatting.Wrap;
import com.intellij.psi.PsiElement;
import com.intellij.psi.codeStyle.CodeStyleSettings;

public class ClauseChopDownNeverPreset extends ClauseAbstractPreset {
    public ClauseChopDownNeverPreset() {
        super("do_not_chop_down", "Do not chop down");
    }

    public Wrap getWrap(BasePsiElement psiElement, CodeStyleSettings settings) {
        return WRAP_NONE;
    }

    public Spacing getSpacing(BasePsiElement psiElement, CodeStyleSettings settings) {
        PsiElement previousPsiElement = psiElement.getPrevSibling();
        if (previousPsiElement instanceof TokenPsiElement) {
            TokenPsiElement previousToken = (TokenPsiElement) previousPsiElement;
            SharedTokenTypeBundle sharedTokenTypes = psiElement.getLanguage().getSharedTokenTypes();
            TokenType tokenType = previousToken.getElementType().getTokenType();
            return tokenType ==  sharedTokenTypes.getLeftParenthesis() ?
                    SPACING_NO_SPACE :
                    SPACING_ONE_SPACE;

        }
        return SPACING_ONE_SPACE;
    }
}
TOP

Related Classes of com.dci.intellij.dbn.code.common.style.presets.clause.ClauseChopDownNeverPreset

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.