Search in sources :

Example 1 with Header

use of org.jetbrains.lang.manifest.psi.Header in project intellij-community by JetBrains.

the class HeaderAnnotator method annotate.

@Override
public void annotate(@NotNull PsiElement psiElement, @NotNull AnnotationHolder holder) {
    if (psiElement instanceof Header) {
        Header header = (Header) psiElement;
        String name = header.getName();
        if (!isValidName(name)) {
            holder.createAnnotation(HighlightSeverity.ERROR, header.getNameElement().getTextRange(), ManifestBundle.message("header.name.invalid"));
        } else {
            HeaderParser headerParser = myRepository.getHeaderParser(name);
            if (headerParser != null) {
                headerParser.annotate(header, holder);
            }
        }
    }
}
Also used : HeaderParser(org.jetbrains.lang.manifest.header.HeaderParser) Header(org.jetbrains.lang.manifest.psi.Header)

Example 2 with Header

use of org.jetbrains.lang.manifest.psi.Header in project intellij-community by JetBrains.

the class ManifestPsiTest method assertHeaderValue.

private static void assertHeaderValue(ManifestFile file, String name, @Nullable String expected) {
    Header header = file.getHeader(name);
    assertNotNull(header);
    HeaderValue value = header.getHeaderValue();
    if (expected == null) {
        assertNull(value);
    } else {
        assertNotNull(value);
        assertEquals(expected, value.getUnwrappedText());
    }
}
Also used : HeaderValue(org.jetbrains.lang.manifest.psi.HeaderValue) Header(org.jetbrains.lang.manifest.psi.Header)

Example 3 with Header

use of org.jetbrains.lang.manifest.psi.Header in project intellij-plugins by JetBrains.

the class OsgiPsiUtil method appendToHeader.

public static void appendToHeader(@NotNull ManifestFile manifestFile, @NotNull String headerName, @NotNull String headerValue) {
    Header header = manifestFile.getHeader(headerName);
    if (header != null) {
        HeaderValue oldValue = header.getHeaderValue();
        if (oldValue != null) {
            String oldText = trimTrailing(header.getText().substring(oldValue.getStartOffsetInParent(), header.getTextLength()));
            if (!oldText.isEmpty())
                oldText += ",\n ";
            headerValue = oldText + headerValue;
        }
        header.replace(createHeader(manifestFile.getProject(), headerName, headerValue));
    } else {
        addHeader(manifestFile, createHeader(manifestFile.getProject(), headerName, headerValue));
    }
}
Also used : HeaderValue(org.jetbrains.lang.manifest.psi.HeaderValue) Header(org.jetbrains.lang.manifest.psi.Header)

Example 4 with Header

use of org.jetbrains.lang.manifest.psi.Header in project intellij-plugins by JetBrains.

the class OsgiPsiUtil method addHeader.

private static void addHeader(ManifestFile manifestFile, Header newHeader) {
    Section section = manifestFile.getMainSection();
    List<Header> headers = manifestFile.getHeaders();
    if (section == null) {
        manifestFile.add(newHeader.getParent());
    } else if (headers.isEmpty()) {
        section.addBefore(newHeader, section.getFirstChild());
    } else {
        section.addAfter(newHeader, headers.get(headers.size() - 1));
    }
}
Also used : Header(org.jetbrains.lang.manifest.psi.Header) Section(org.jetbrains.lang.manifest.psi.Section)

Example 5 with Header

use of org.jetbrains.lang.manifest.psi.Header in project intellij-plugins by JetBrains.

the class OsgiPsiUtil method setHeader.

public static void setHeader(@NotNull ManifestFile manifestFile, @NotNull String headerName, @NotNull String headerValue) {
    Header header = manifestFile.getHeader(headerName);
    Header newHeader = createHeader(manifestFile.getProject(), headerName, headerValue);
    if (header != null) {
        header.replace(newHeader);
    } else {
        addHeader(manifestFile, newHeader);
    }
}
Also used : Header(org.jetbrains.lang.manifest.psi.Header)

Aggregations

Header (org.jetbrains.lang.manifest.psi.Header)11 HeaderValue (org.jetbrains.lang.manifest.psi.HeaderValue)4 ManifestFile (org.jetbrains.lang.manifest.psi.ManifestFile)4 PsiElement (com.intellij.psi.PsiElement)2 Clause (org.osmorc.manifest.lang.psi.Clause)2 LocalQuickFix (com.intellij.codeInspection.LocalQuickFix)1 PsiElementVisitor (com.intellij.psi.PsiElementVisitor)1 PsiReference (com.intellij.psi.PsiReference)1 Suggestion (com.intellij.spellchecker.engine.Suggestion)1 IncorrectOperationException (com.intellij.util.IncorrectOperationException)1 AbstractCollection (com.intellij.util.xmlb.annotations.AbstractCollection)1 NotNull (org.jetbrains.annotations.NotNull)1 HeaderParser (org.jetbrains.lang.manifest.header.HeaderParser)1 Section (org.jetbrains.lang.manifest.psi.Section)1 Version (org.osgi.framework.Version)1 AssignmentExpression (org.osmorc.manifest.lang.psi.AssignmentExpression)1