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);
}
}
}
}
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());
}
}
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));
}
}
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));
}
}
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);
}
}
Aggregations