From 2c099c9e498dcba03bb0852adfd3930c33a38a1a Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Fri, 12 Mar 2010 17:28:56 +0300 Subject: [PATCH] indent options for Python (PY-619) --- python/src/META-INF/python-plugin-common.xml | 2 ++ .../formatter/PyIndentOptionsProvider.java | 36 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 python/src/com/jetbrains/python/formatter/PyIndentOptionsProvider.java diff --git a/python/src/META-INF/python-plugin-common.xml b/python/src/META-INF/python-plugin-common.xml index 72b470087439..3f0a82fa8663 100644 --- a/python/src/META-INF/python-plugin-common.xml +++ b/python/src/META-INF/python-plugin-common.xml @@ -42,6 +42,8 @@ + + diff --git a/python/src/com/jetbrains/python/formatter/PyIndentOptionsProvider.java b/python/src/com/jetbrains/python/formatter/PyIndentOptionsProvider.java new file mode 100644 index 000000000000..fbfc9167aceb --- /dev/null +++ b/python/src/com/jetbrains/python/formatter/PyIndentOptionsProvider.java @@ -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) { + } +}