codePreviews: fix urls with query params, use URL, allow markdown for not entire file
This commit is contained in:
parent
d166bbe870
commit
f2e62ecf44
1 changed files with 12 additions and 10 deletions
|
@ -6,11 +6,11 @@ const {getOption} = require("../lib/interactionDispatcher.js");
|
||||||
const events = require("../lib/events.js");
|
const events = require("../lib/events.js");
|
||||||
const {hasFlag} = require("../lib/guildSettings.js");
|
const {hasFlag} = require("../lib/guildSettings.js");
|
||||||
const REGEX_GITHUB =
|
const REGEX_GITHUB =
|
||||||
/(?:\s|^)(\|\|\s*)?https?:\/\/(www\.)?github\.com\/[a-z0-9-]+\/[a-z0-9-]+\/blob\/([a-z0-9-_.#/%]*)(\s*\|\|)?/gi;
|
/(?:\s|^)(\|\|\s*)?https?:\/\/(www\.)?github\.com\/[a-z0-9-]+\/[a-z0-9-]+\/blob\/([a-z0-9-_.?&=#/%]*)(\s*\|\|)?/gi;
|
||||||
const REGEX_GITLAB =
|
const REGEX_GITLAB =
|
||||||
/(?:\s|^)(\|\|\s*)?https?:\/\/.+?\/[a-z0-9-]+\/[a-z0-9-]+\/-\/blob\/([a-z0-9-_.#/%]*)(\s*\|\|)?/gi;
|
/(?:\s|^)(\|\|\s*)?https?:\/\/.+?\/[a-z0-9-]+\/[a-z0-9-]+\/-\/blob\/([a-z0-9-_.?&=#/%]*)(\s*\|\|)?/gi;
|
||||||
const REGEX_GITEA =
|
const REGEX_GITEA =
|
||||||
/(?:\s|^)(\|\|\s*)?https?:\/\/.+?\/[a-z0-9-]+\/[a-z0-9-]+\/src\/(branch|commit)\/([a-z0-9-_.#/%]*)(\s*\|\|)?/gi;
|
/(?:\s|^)(\|\|\s*)?https?:\/\/.+?\/[a-z0-9-]+\/[a-z0-9-]+\/src\/(branch|commit)\/([a-z0-9-_.?&=#/%]*)(\s*\|\|)?/gi;
|
||||||
const REGEX_SPOILER = /(?:\s|^)\|\|([\s\S]+?)\|\|/;
|
const REGEX_SPOILER = /(?:\s|^)\|\|([\s\S]+?)\|\|/;
|
||||||
|
|
||||||
function unindent(str) {
|
function unindent(str) {
|
||||||
|
@ -36,9 +36,10 @@ async function processFile(
|
||||||
const file = await res.text();
|
const file = await res.text();
|
||||||
const lines = file.replace(/\r/g, "").split("\n");
|
const lines = file.replace(/\r/g, "").split("\n");
|
||||||
|
|
||||||
let fileName = decodeURIComponent(link).substring(
|
const urlObj = new URL(link);
|
||||||
link.lastIndexOf("/") + 1,
|
|
||||||
link.indexOf("#") == -1 ? link.length : link.indexOf("#")
|
let fileName = decodeURIComponent(urlObj.pathname).substring(
|
||||||
|
link.lastIndexOf("/") + 1
|
||||||
);
|
);
|
||||||
const fileType =
|
const fileType =
|
||||||
fileName.lastIndexOf(".") == -1
|
fileName.lastIndexOf(".") == -1
|
||||||
|
@ -49,9 +50,7 @@ async function processFile(
|
||||||
fileName = `[${fileName}](<${originalLink}>)`;
|
fileName = `[${fileName}](<${originalLink}>)`;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fileType == "md") return "";
|
const lineStr = urlObj.hash.match(/#L\d+(-L?\d+)?/)?.[0];
|
||||||
|
|
||||||
const lineStr = link.match(/#L\d+(-L?\d+)?/)?.[0];
|
|
||||||
let startLine, endLine;
|
let startLine, endLine;
|
||||||
let entireFile = false;
|
let entireFile = false;
|
||||||
|
|
||||||
|
@ -75,7 +74,10 @@ async function processFile(
|
||||||
? "Line " + startLine
|
? "Line " + startLine
|
||||||
: "Lines " + startLine + "-" + endLine;
|
: "Lines " + startLine + "-" + endLine;
|
||||||
|
|
||||||
if (entireFile && lines.length > 20) return "";
|
if (entireFile) {
|
||||||
|
if (fileType == "md") return "";
|
||||||
|
if (lines.length > 20) return "";
|
||||||
|
}
|
||||||
|
|
||||||
let targetLines = (
|
let targetLines = (
|
||||||
entireFile ? lines : lines.slice(startLine - 1, endLine)
|
entireFile ? lines : lines.slice(startLine - 1, endLine)
|
||||||
|
|
Loading…
Reference in a new issue