mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-17 18:51:10 +01:00
add source code viewer for different languages
This commit is contained in:
@@ -86,10 +86,29 @@ class SourcecodeViewer extends React.Component<Props, State> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function getLanguage(contentType: string) {
|
export function getLanguage(contentType: string) {
|
||||||
return contentType.substring(
|
const language = contentType.substring(
|
||||||
contentType.indexOf("/") + 1,
|
contentType.indexOf("/") + 1,
|
||||||
contentType.length
|
contentType.length
|
||||||
);
|
);
|
||||||
|
|
||||||
|
let languageType;
|
||||||
|
|
||||||
|
switch (language) {
|
||||||
|
case "x-go":
|
||||||
|
languageType = "go";
|
||||||
|
break;
|
||||||
|
case "x-java-source":
|
||||||
|
languageType = "java";
|
||||||
|
break;
|
||||||
|
case "x-web-markdown":
|
||||||
|
languageType = "markdown";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
languageType = language;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(languageType);
|
||||||
|
return languageType;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getContent(url: string) {
|
export function getContent(url: string) {
|
||||||
|
|||||||
@@ -20,11 +20,20 @@ describe("get content", () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("get correct language Type", () => {
|
describe("get correct language type", () => {
|
||||||
it("should return javascript", () => {
|
it("should return javascript", () => {
|
||||||
expect(getLanguage("application/javascript")).toBe("javascript");
|
expect(getLanguage("application/javascript")).toBe("javascript");
|
||||||
});
|
});
|
||||||
it("should return text", () => {
|
it("should return text", () => {
|
||||||
expect(getLanguage("text/plain")).toBe("plain");
|
expect(getLanguage("text/plain")).toBe("plain");
|
||||||
});
|
});
|
||||||
|
it("should return go", () => {
|
||||||
|
expect(getLanguage("text/x-go")).toBe("go");
|
||||||
|
});
|
||||||
|
it("should return java", () => {
|
||||||
|
expect(getLanguage("text/x-java-source")).toBe("java");
|
||||||
|
});
|
||||||
|
it("should return markdown", () => {
|
||||||
|
expect(getLanguage("text/x-web-markdown")).toBe("markdown");
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -152,6 +152,7 @@ export function getContentType(url: string, state: any) {
|
|||||||
return apiClient
|
return apiClient
|
||||||
.head(url)
|
.head(url)
|
||||||
.then(response => {
|
.then(response => {
|
||||||
|
console.log(response.headers.get("Content-Type"));
|
||||||
return { type: response.headers.get("Content-Type") };
|
return { type: response.headers.get("Content-Type") };
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
|
|||||||
Reference in New Issue
Block a user