indent options for Python (PY-619)

This commit is contained in:
Dmitry Jemerov
2010-03-12 22:22:45 +03:00
parent 53157687c5
commit 2c099c9e49
2 changed files with 38 additions and 0 deletions
@@ -42,6 +42,8 @@
<stubIndex implementation="com.jetbrains.python.psi.stubs.PyFunctionNameIndex"/>
<stubIndex implementation="com.jetbrains.python.psi.stubs.PySuperClassIndex"/>
<fileTypeIndentOptionsProvider implementation="com.jetbrains.python.formatter.PyIndentOptionsProvider"/>
<!-- Run/Debug -->
<configurationType implementation="com.jetbrains.python.run.PythonConfigurationType"/>
<programRunner implementation="com.jetbrains.python.run.PythonRunner"/>
@@ -0,0 +1,36 @@
package com.jetbrains.python.formatter;
import com.intellij.application.options.IndentOptionsEditor;
import com.intellij.application.options.SmartIndentOptionsEditor;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.psi.PsiFile;
import com.intellij.psi.codeStyle.CodeStyleSettings;
import com.intellij.psi.codeStyle.FileTypeIndentOptionsProvider;
import com.jetbrains.python.PythonFileType;
/**
* @author yole
*/
public class PyIndentOptionsProvider implements FileTypeIndentOptionsProvider {
public CodeStyleSettings.IndentOptions createIndentOptions() {
final CodeStyleSettings.IndentOptions indentOptions = new CodeStyleSettings.IndentOptions();
indentOptions.INDENT_SIZE = 4;
return indentOptions;
}
public FileType getFileType() {
return PythonFileType.INSTANCE;
}
public IndentOptionsEditor createOptionsEditor() {
return new SmartIndentOptionsEditor();
}
public String getPreviewText() {
return "def foo():\n"+
" print 'bar'";
}
public void prepareForReformat(final PsiFile psiFile) {
}
}