Hook up prettier in the editor.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4854 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
@ -205,7 +205,6 @@ class TfFilesElement extends LitElement {
|
||||
gFiles[file.name] = {
|
||||
doc: new cm6.EditorState.create({doc: text, extensions: cm6.extensions}),
|
||||
buffer: buffer,
|
||||
generation: -1,
|
||||
isNew: true,
|
||||
};
|
||||
gCurrentFile = file.name;
|
||||
@ -1010,7 +1009,6 @@ function updateFiles() {
|
||||
function makeNewFile(name) {
|
||||
gFiles[name] = {
|
||||
doc: cm6.EditorState.create({extensions: cm6.extensions}),
|
||||
generation: -1,
|
||||
};
|
||||
openFile(name);
|
||||
}
|
||||
@ -1121,6 +1119,27 @@ async function appImport() {
|
||||
}
|
||||
}
|
||||
|
||||
async function sourcePretty() {
|
||||
let prettier = (await import('/prettier/standalone.mjs')).default;
|
||||
let babel = (await import('/prettier/babel.mjs')).default;
|
||||
let estree = (await import('/prettier/estree.mjs')).default;
|
||||
let source = gEditor.state.doc.toString();
|
||||
let formatted = await prettier.format(source, {
|
||||
parser: 'babel',
|
||||
plugins: [babel, estree],
|
||||
useTabs: true,
|
||||
});
|
||||
if (source !== formatted) {
|
||||
gEditor.dispatch({
|
||||
changes: {
|
||||
from: 0,
|
||||
to: gEditor.state.doc.length,
|
||||
insert: formatted,
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener("load", function() {
|
||||
window.addEventListener("hashchange", hashChange);
|
||||
window.addEventListener("focus", focus);
|
||||
@ -1134,6 +1153,7 @@ window.addEventListener("load", function() {
|
||||
document.getElementById('delete').addEventListener('click', () => deleteApp());
|
||||
document.getElementById('export').addEventListener('click', () => appExport());
|
||||
document.getElementById('import').addEventListener('click', () => appImport());
|
||||
document.getElementById('pretty').addEventListener('click', () => sourcePretty());
|
||||
document.getElementById('trace_button').addEventListener('click', function(event) {
|
||||
event.preventDefault();
|
||||
trace();
|
||||
|
Reference in New Issue
Block a user