package com.bitbakery.plugin.arc.config; /* * Copyright (c) Kurt Christensen, 2009 * * Licensed under the Artistic License, Version 2.0 (the "License"); you may not use this * file except in compliance with the License. You may obtain a copy of the License at: * * http://www.opensource.org/licenses/artistic-license-2.0.php * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License.. */ import com.bitbakery.plugin.arc.ArcFileTypeLoader; 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; /** * Created by IntelliJ IDEA. * User: kurtc * Date: Mar 1, 2009 * Time: 10:13:45 PM * To change this template use File | Settings | File Templates. */ public class ArcIndentOptionsProvider implements FileTypeIndentOptionsProvider { public CodeStyleSettings.IndentOptions createIndentOptions() { final CodeStyleSettings.IndentOptions indentOptions = new CodeStyleSettings.IndentOptions(); indentOptions.INDENT_SIZE = 2; indentOptions.TAB_SIZE = 2; indentOptions.USE_TAB_CHARACTER = false; return indentOptions; } public FileType getFileType() { return ArcFileTypeLoader.ARC; } public IndentOptionsEditor createOptionsEditor() { return new SmartIndentOptionsEditor(); } public String getPreviewText() { return "(def memo (f)\n" + " (let cache (table)\n" + " (fn args\n" + " (or (cache args)\n" + " (= (cache args) (apply f args))))))\n" + "\n" + "; Convenience macro for defining a function\n" + "; that we want to be a memoizing function\n" + "(mac defmemo (name parms . body)\n" + " `(safeset ,name (memo (fn ,parms ,@body))))\n"; } public void prepareForReformat(final PsiFile psiFile) { } }