mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-13 00:45:44 +01:00
use aceMode or codemirrorMode to determine programming language
This commit is contained in:
@@ -122,7 +122,9 @@ public class ContentResource {
|
||||
private void appendContentHeader(String path, byte[] head, Response.ResponseBuilder responseBuilder) {
|
||||
ContentType contentType = ContentTypes.detect(path, head);
|
||||
responseBuilder.header("Content-Type", contentType.getRaw());
|
||||
contentType.getLanguage().ifPresent(language -> responseBuilder.header("X-Programming-Language", language));
|
||||
contentType.getLanguage().ifPresent(
|
||||
language -> responseBuilder.header(ProgrammingLanguages.HEADER, ProgrammingLanguages.getValue(language))
|
||||
);
|
||||
}
|
||||
|
||||
private byte[] getHead(String revision, String path, RepositoryService repositoryService) throws IOException {
|
||||
|
||||
@@ -65,7 +65,7 @@ final class DiffResultToDiffResultDtoMapper {
|
||||
|
||||
|
||||
Optional<Language> language = ContentTypes.detect(path).getLanguage();
|
||||
language.ifPresent(value -> dto.setLanguage(value.getName()));
|
||||
language.ifPresent(value -> dto.setLanguage(ProgrammingLanguages.getValue(value)));
|
||||
|
||||
List<DiffResultDto.HunkDto> hunks = new ArrayList<>();
|
||||
for (Hunk hunk : file) {
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package sonia.scm.api.v2.resources;
|
||||
|
||||
import com.github.sdorra.spotter.Language;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
final class ProgrammingLanguages {
|
||||
|
||||
static final String HEADER = "X-Programming-Language";
|
||||
|
||||
private static final String DEFAULT = "text";
|
||||
|
||||
private ProgrammingLanguages() {
|
||||
}
|
||||
|
||||
static String getValue(Language language) {
|
||||
Optional<String> aceMode = language.getAceMode();
|
||||
if (!aceMode.isPresent()) {
|
||||
Optional<String> codemirrorMode = language.getCodemirrorMode();
|
||||
return codemirrorMode.orElse(DEFAULT);
|
||||
}
|
||||
return aceMode.get();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user