You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.3 KiB
52 lines
1.3 KiB
import { LanguageDescription } from '@codemirror/language';
|
|
import { javascript } from '@codemirror/lang-javascript';
|
|
|
|
export const CODE_DEFAULTS = {
|
|
C: /** @lang C */ `#include <stdio.h>
|
|
int main() {
|
|
printf("Hello, World!\\n");
|
|
return 0;
|
|
}`,
|
|
'C++': /** @lang C++ */ `#include <iostream>
|
|
int main() {
|
|
std::cout << "Hello, World!\\n";
|
|
return 0;
|
|
}`,
|
|
JavaScript: /** @lang JS */ `console.log("Hello, World!");`,
|
|
TypeScript: /** @lang TS */ `console.log("Hello, World!");`,
|
|
};
|
|
|
|
export const LANGUAGES = [
|
|
LanguageDescription.of({
|
|
name: 'C',
|
|
extensions: ['c', 'h', 'ino'],
|
|
load() {
|
|
return import('@codemirror/lang-cpp').then((m) => m.cpp());
|
|
},
|
|
}),
|
|
LanguageDescription.of({
|
|
name: 'C++',
|
|
alias: ['cpp'],
|
|
extensions: ['cpp', 'c++', 'cc', 'cxx', 'hpp', 'h++', 'hh', 'hxx'],
|
|
load() {
|
|
return import('@codemirror/lang-cpp').then((m) => m.cpp());
|
|
},
|
|
}),
|
|
LanguageDescription.of({
|
|
name: 'JavaScript',
|
|
alias: ['ecmascript', 'js', 'node'],
|
|
extensions: ['js', 'mjs', 'cjs'],
|
|
support: javascript(),
|
|
}),
|
|
LanguageDescription.of({
|
|
name: 'TypeScript',
|
|
alias: ['ts'],
|
|
extensions: ['ts'],
|
|
load() {
|
|
return import('@codemirror/lang-javascript').then((m) =>
|
|
m.javascript({ typescript: true })
|
|
);
|
|
},
|
|
}),
|
|
];
|