package com.kaylerrenslow.armaplugin.lang;

import com.intellij.lang.annotation.Annotation;
import com.intellij.lang.annotation.AnnotationHolder;
import com.intellij.lang.annotation.Annotator;
import com.intellij.openapi.util.TextRange;
import com.intellij.psi.PsiElement;
import com.kaylerrenslow.armaplugin.lang.header.psi.codestyle.HeaderSyntaxHighlighter;
import org.jetbrains.annotations.NotNull;

/**
 * @author Kayler
 * @since 09/11/2017
 */
public class PreprocessorColorizerAnnotator implements Annotator {

	@Override
	public void annotate(@NotNull PsiElement element, @NotNull AnnotationHolder holder) {
		String elementText = element.getText();
		if (elementText.length() >= 1 && elementText.charAt(0) == '#') {
			int macroNameEnd = elementText.indexOf(' ');
			Annotation a = holder.createInfoAnnotation(TextRange.from(element.getTextOffset(), macroNameEnd < 0 ? elementText.length() : macroNameEnd), null);
			a.setTextAttributes(HeaderSyntaxHighlighter.PREPROCESSOR);
		}
	}
}