replaced <code></code> with more concise {@code}
[idea/community.git] / platform / editor-ui-api / src / com / intellij / openapi / editor / IndentsModel.java
1 /*
2  * Copyright 2000-2013 JetBrains s.r.o.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 /*
18  * @author max
19  */
20 package com.intellij.openapi.editor;
21
22 import org.jetbrains.annotations.Nullable;
23
24 import java.util.List;
25
26 public interface IndentsModel {
27   @Nullable
28   IndentGuideDescriptor getCaretIndentGuide();
29
30   /**
31    * Tries to return a descriptor (if any) that defines indent guide for the given lines.
32    *
33    * @param startLine   logical line where target indent guide is started
34    * @param endLine     logical line where target indent guide is ended
35    * @return            indent guide descriptor registered for the given lines at the current model previously if any;
36    *                    {@code null} otherwise
37    */
38   @Nullable
39   IndentGuideDescriptor getDescriptor(int startLine, int endLine);
40
41   void assumeIndents(List<IndentGuideDescriptor> descriptors);
42
43 }