Merge branch 'main' into cherrypick/refresh-polls
Some checks failed
Test (frontend) / vitest (22.x) (pull_request) Successful in 2m33s
Test (backend) / validate-api-json (22.x) (pull_request) Successful in 3m5s
Test (production install and build) / production (22.x) (pull_request) Successful in 2m26s
Test (backend) / unit (22.x) (pull_request) Successful in 3m7s
Lint / pnpm_install (pull_request) Successful in 26s
Lint / lint (misskey-js) (pull_request) Successful in 31s
Lint / lint (sw) (pull_request) Successful in 27s
Lint / typecheck (misskey-js) (pull_request) Successful in 30s
Lint / typecheck (backend) (pull_request) Successful in 1m22s
Lint / lint (frontend) (pull_request) Successful in 7m48s
Lint / lint (backend) (pull_request) Failing after 53s
Test (backend) / e2e (22.x) (pull_request) Successful in 6m29s

This commit is contained in:
ashten 2025-02-03 13:13:22 +00:00
commit c48a73b5b1
3 changed files with 26 additions and 2 deletions

View file

@ -72,6 +72,25 @@ watch(() => props.lang, (to) => {
</script>
<style module lang="scss">
.codeBlockRoot {
text-align: left;
}
.codeBlockRoot :global(.shiki) > code {
counter-reset: step;
counter-increment: step 0;
}
.codeBlockRoot :global(.shiki) > code > span::before {
content: counter(step);
counter-increment: step;
width: 1rem;
margin-right: 1.5rem;
display: inline-block;
text-align: right;
color: rgba(115,138,148,.4)
}
.codeBlockRoot :global(.shiki) {
padding: 1em;
margin: .5em 0;

View file

@ -206,7 +206,8 @@ watch(v, newValue => {
outline: 0;
min-width: calc(100% - 24px);
height: 100%;
padding: 12px;
// the +2.5 rem is because of the line numbers
padding: 12px 12px 12px calc(12px + 2.5rem);
line-height: 1.5em;
font-size: 1em;
font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;

View file

@ -64,7 +64,11 @@ export async function parsePluginMeta(code: string): Promise<AiScriptPluginMeta>
try {
ast = parser.parse(code);
} catch (err) {
throw new Error('Aiscript syntax error');
if (err instanceof Error) {
throw new Error(`Aiscript syntax error\n${(err as Error).message}`);
} else {
throw new Error('Aiscript syntax error');
}
}
const meta = Interpreter.collectMetadata(ast);