下面列出了怎么用com.intellij.psi.codeStyle.Indent的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public String fillIndent(Indent indent, FileType fileType) {
IndentImpl indent1 = (IndentImpl)indent;
int indentLevel = indent1.getIndentLevel();
int spaceCount = indent1.getSpaceCount();
final CodeStyleSettings settings = CodeStyle.getSettings(myProject);
if (indentLevel < 0) {
spaceCount += indentLevel * settings.getIndentSize(fileType);
indentLevel = 0;
if (spaceCount < 0) {
spaceCount = 0;
}
}
else {
if (spaceCount < 0) {
int v = (-spaceCount + settings.getIndentSize(fileType) - 1) / settings.getIndentSize(fileType);
indentLevel -= v;
spaceCount += v * settings.getIndentSize(fileType);
if (indentLevel < 0) {
indentLevel = 0;
}
}
}
return IndentHelperImpl.fillIndent(myProject, fileType, indentLevel * IndentHelperImpl.INDENT_FACTOR + spaceCount);
}
@Override
public Indent getIndent(String text, FileType fileType) {
int indent = IndentHelperImpl.getIndent(CodeStyle.getSettings(myProject).getIndentOptions(fileType), text, true);
int indentLevel = indent / IndentHelperImpl.INDENT_FACTOR;
int spaceCount = indent - indentLevel * IndentHelperImpl.INDENT_FACTOR;
return new IndentImpl(CodeStyle.getSettings(myProject), indentLevel, spaceCount, fileType);
}
@Override
public Indent getIndent(String text, FileType fileType) {
return delegate.getIndent(text, fileType);
}
@Override
public String fillIndent(Indent indent, FileType fileType) {
return delegate.fillIndent(indent, fileType);
}
@Override
public Indent zeroIndent() {
return delegate.zeroIndent();
}
@Override
public Indent getIndent(String text, FileType fileType) {
return delegate.getIndent(text, fileType);
}
@Override
public String fillIndent(Indent indent, FileType fileType) {
return delegate.fillIndent(indent, fileType);
}
@Override
public Indent zeroIndent() {
return delegate.zeroIndent();
}
@Override
public Indent getIndent(String text, FileType fileType) {
return original.getIndent(text, fileType);
}
@Override
public String fillIndent(Indent indent, FileType fileType) {
return original.fillIndent(indent, fileType);
}
@Override
public Indent zeroIndent() {
return original.zeroIndent();
}
@Override
public Indent zeroIndent() {
return new IndentImpl(CodeStyle.getSettings(myProject), 0, 0, null);
}
@Override
public boolean isGreaterThan(Indent indent) {
return getSize() > ((IndentImpl)indent).getSize();
}
@Override
public Indent min(Indent anotherIndent) {
return isGreaterThan(anotherIndent) ? anotherIndent : this;
}
@Override
public Indent max(Indent anotherIndent) {
return isGreaterThan(anotherIndent) ? this : anotherIndent;
}
@Override
public Indent add(Indent indent) {
IndentImpl indent1 = (IndentImpl)indent;
return new IndentImpl(mySettings, myIndentLevel + indent1.myIndentLevel, mySpaceCount + indent1.mySpaceCount, myFileType);
}
@Override
public Indent subtract(Indent indent) {
IndentImpl indent1 = (IndentImpl)indent;
return new IndentImpl(mySettings, myIndentLevel - indent1.myIndentLevel, mySpaceCount - indent1.mySpaceCount, myFileType);
}