aboutsummaryrefslogtreecommitdiff
path: root/src/frontend/components/RepositoryTreeBlob.vue
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2021-06-05 19:37:52 +0200
committerHampusM <hampus@hampusmat.com>2021-06-05 19:37:52 +0200
commit4da3272bf7893760f6710c9a1ec7de02358136e6 (patch)
tree92eb961bf20a7ef9f7c0650ba288baf512986fca /src/frontend/components/RepositoryTreeBlob.vue
parent4e3074dfd752dd52951d300090c642aee76cfaac (diff)
Reorganized into a monorepo, refactored the frontend again, goodbye Parcel
Diffstat (limited to 'src/frontend/components/RepositoryTreeBlob.vue')
-rw-r--r--src/frontend/components/RepositoryTreeBlob.vue154
1 files changed, 0 insertions, 154 deletions
diff --git a/src/frontend/components/RepositoryTreeBlob.vue b/src/frontend/components/RepositoryTreeBlob.vue
deleted file mode 100644
index f287f47..0000000
--- a/src/frontend/components/RepositoryTreeBlob.vue
+++ /dev/null
@@ -1,154 +0,0 @@
-<template>
- <BaseBreadcrumb :items="[{ name: 'Tree', path: '/' + repository + '/tree' }]" :active-item="path" />
- <table cellspacing="0px">
- <tbody>
- <tr v-for="(line, index) in content_lines" :key="index">
- <td :line="index + 1" />
- <td>
- <code v-html="line" />
- </td>
- </tr>
- </tbody>
- </table>
-</template>
-
-<script>
-import { ref } from "vue";
-import hljs from "highlight.js";
-import hljs_languages from "../util/hljs-languages";
-import path from "path";
-
-export default {
- name: "RepositoryTreeBlob",
- props: {
- repository: {
- type: String,
- required: true
- },
- path: {
- type: String,
- required: true
- },
- content: {
- type: String,
- required: true
- }
- },
- watch: {
- content() {
- this.initHighlightedContent();
- }
- },
- mounted()
- {
- this.initHighlightedContent();
- },
- setup(props)
- {
- const content_lines = ref([]);
-
- const initHighlightedContent = async () =>
- {
- const language = hljs_languages.find((lang) => lang["extensions"].some((extension) => path.extname(props.path) === extension));
- let highlighted = language ? hljs.highlight(language["name"], props.content) : hljs.highlightAuto(props.content);
-
- content_lines.value = highlighted.value.split("\n");
- };
-
- return { content_lines, initHighlightedContent };
-
- /*
- Console.log(props.content);
- const content_lines = props.content.split("\n");
-
- const language = hljs_languages.find((lang) => lang["extensions"].some((extension) => path.extname(props.path) === extension));
- let highlighted = language ? hljs.highlight(language["name"], props.content) : hljs.highlightAuto(props.content);
- console.log(highlighted.value);
- Let all_hunks = props.patch["hunks"].map((hunk) => hunk["hunk"]);
-
- const language = hljs_languages.find((lang) => lang["extensions"].some((extension) => props.patch["to"].endsWith(extension)));
- let highlighted = language ? hljs.highlight(language["name"], all_hunks.join("\n")) : hljs.highlightAuto(all_hunks.join("\n"));
- console.log(highlighted);
- highlighted = highlighted["value"].split("\n");
-
- const highlighted_hunks = [];
- let hunk_start = 0;
- all_hunks.forEach((hunk) =>
- {
- const hunk_row_cnt = hunk.split("\n").length;
- highlighted_hunks.push(highlighted.slice(hunk_start, hunk_start + hunk_row_cnt));
- hunk_start = hunk_start + hunk_row_cnt;
- });
-
- all_hunks = all_hunks.map((hunk) => hunk.split("\n"));
-
- return h("table", { cellspacing: "0px" }, [
- h("tbody", [
- Props.patch["hunks"].map((hunk, hunk_index) =>
- {
- const multiline_comments = [];
-
- return highlighted_hunks[hunk_index].map((line, line_index) =>
- {
- else {
- let first_td;
- let second_td;
- let third_td;
-
- if(hunk['new'].includes(line_index)) {
- first_td = h("td", "");
- second_td = h("td", { class: "line-highlight-new" }, Number(hunk["new_start"]) + line_index - new_offset);
- third_td = h("td", { class: "line-new" }, "+");
- deleted_offset++;
- }
- else if(hunk['deleted'].includes(line_index)) {
- first_td = h("td", Number(hunk["old_start"]) + line_index - deleted_offset);
- second_td = h("td", { class: "line-highlight-deleted" });
- third_td = h("td", { class: "line-deleted" }, "-");
- new_offset++;
- }
- else {
- first_td = h("td", { class: "line-unchanged" }, Number(hunk["old_start"]) + line_index - deleted_offset);
- second_td = h("td", { class: "line-unchanged" }, Number(hunk["new_start"]) + line_index - new_offset);
- third_td = h("td", "");
- }
-
- let comment_open = line.match(/<span class="hljs-comment">/g);
- const comment_open_cnt = (comment_open !== null) ? comment_open.length : 0;
- comment_open = (comment_open !== null) ? comment_open[0] : "";
-
- let comment_close = line.match(/<\/span>/g);
- const comment_close_cnt = (comment_close !== null) ? comment_close.length : 0;
- comment_close = (comment_close !== null) ? comment_close[0] : "";
-
- if(comment_open_cnt > comment_close_cnt) {
- line = line + "</span>";
- console.log("Öppning " + line);
- multiline_comments.push(comment_open);
- }
- else if(comment_open_cnt < comment_close_cnt && multiline_comments.length !== 0) {
- line = multiline_comments[multiline_comments.length - 1] + line;
- console.log("Stängning " + line + " " + multiline_comments[multiline_comments.length - 1]);
- multiline_comments.pop();
- }
- else if(multiline_comments.length !== 0) {
- line = multiline_comments[multiline_comments.length - 1] + line + "</span>";
- console.log("Mitt i " + line);
- }
-
- return h("tr", [
- first_td,
- second_td,
- third_td,
- h("td", [
- h("code", { innerHTML: line })
- ])
- ]);
- }
- });
- })
- ])
- ]);*/
- }
-};
-</script> \ No newline at end of file