Build and Deploy Verso / deploy (push) Successful in 9m48s
- Add a Typst language (stream highlighting + completions) for .typ, and Quarto completions (code chunks, callouts, cross-refs) for .qmd/markdown. - Project dashboard: new Format column (Quarto/Typst/LaTeX) from the cheap project compiler field, surfaced through the projects list API. - Compiler dropdown: grey out engines that don't match the root file's extension (.qmd->Quarto, .typ->Typst, .tex->LaTeX engines). - Replace the Overleaf fill loader with an animated Verso logo: the four quadrant circles drift on their own orbits while colour warms up with load progress; reused on the token-access screen too. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
78 lines
1.4 KiB
TypeScript
78 lines
1.4 KiB
TypeScript
import { LanguageDescription } from '@codemirror/language'
|
|
|
|
export const languages = [
|
|
LanguageDescription.of({
|
|
name: 'latex',
|
|
extensions: [
|
|
'tex',
|
|
'sty',
|
|
'cls',
|
|
'clo',
|
|
'bbl',
|
|
'pdf_tex',
|
|
'pdf_t',
|
|
'fd',
|
|
'def',
|
|
'pgf',
|
|
'tikz',
|
|
'bbx',
|
|
'cbx',
|
|
'dbx',
|
|
'lbx',
|
|
'lco',
|
|
'ldf',
|
|
'xmpdata',
|
|
'Rnw',
|
|
'rnw',
|
|
'inc',
|
|
'dtx',
|
|
'hak',
|
|
'eps_tex',
|
|
'brf',
|
|
'ins',
|
|
'hva',
|
|
'Rtex',
|
|
'rtex',
|
|
'pstex',
|
|
'pstex_t',
|
|
'gin',
|
|
'fontspec',
|
|
'pygstyle',
|
|
'pygtex',
|
|
'ps_tex',
|
|
'ltx',
|
|
],
|
|
load: () => {
|
|
return import('./latex').then(m => m.latex())
|
|
},
|
|
}),
|
|
LanguageDescription.of({
|
|
name: 'bibtex',
|
|
extensions: ['bib'],
|
|
load: () => {
|
|
return import('./bibtex').then(m => m.bibtex())
|
|
},
|
|
}),
|
|
LanguageDescription.of({
|
|
name: 'markdown',
|
|
extensions: ['md', 'markdown', 'qmd', 'rmd'],
|
|
load: () => {
|
|
return import('./markdown').then(m => m.markdown())
|
|
},
|
|
}),
|
|
LanguageDescription.of({
|
|
name: 'python',
|
|
extensions: ['py'],
|
|
load: () => {
|
|
return import('@codemirror/lang-python').then(m => m.python())
|
|
},
|
|
}),
|
|
LanguageDescription.of({
|
|
name: 'typst',
|
|
extensions: ['typ'],
|
|
load: () => {
|
|
return import('./typst').then(m => m.typst())
|
|
},
|
|
}),
|
|
]
|