mirror of
https://github.com/DioxusLabs/dioxus
synced 2024-11-10 14:44:12 +00:00
extension specific config for formatOnSave feature
This commit is contained in:
parent
44be89ff38
commit
bc29cf4d28
2 changed files with 36 additions and 5 deletions
|
@ -42,7 +42,33 @@
|
|||
"command": "extension.formatRsxDocument",
|
||||
"title": "Dioxus: Format RSX Document"
|
||||
}
|
||||
]
|
||||
],
|
||||
"configuration": {
|
||||
"properties": {
|
||||
"dioxus.formatOnSave": {
|
||||
"type": [
|
||||
"string"
|
||||
],
|
||||
"default": "followFormatOnSave",
|
||||
"enum": [
|
||||
"followFormatOnSave",
|
||||
"enabled",
|
||||
"disabled"
|
||||
],
|
||||
"enumItemLabels": [
|
||||
"Follow the normal formatOnSave config",
|
||||
"Enabled",
|
||||
"Disabled"
|
||||
],
|
||||
"enumDescriptions": [
|
||||
"Only format Rsx when saving files if the editor.formatOnSave config is enabled",
|
||||
"Always format Rsx when a Rust file is saved",
|
||||
"Never format Rsx when a file is saved"
|
||||
],
|
||||
"description": "Format RSX when a file is saved."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"vscode:prepublish": "npm run build-base -- --minify",
|
||||
|
@ -73,4 +99,4 @@
|
|||
"dependencies": {
|
||||
"vsce": "^2.9.2"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -117,11 +117,16 @@ function fmtSelection() {
|
|||
|
||||
function fmtDocumentOnSave(e: vscode.TextDocumentWillSaveEvent) {
|
||||
// check the settings to make sure format on save is configured
|
||||
if (!vscode.workspace.getConfiguration('editor', e.document).get('formatOnSave')) {
|
||||
return;
|
||||
const dioxusConfig = vscode.workspace.getConfiguration('dioxus', e.document).get('formatOnSave');
|
||||
const globalConfig = vscode.workspace.getConfiguration('editor', e.document).get('formatOnSave');
|
||||
if (
|
||||
(dioxusConfig === 'enabled') ||
|
||||
(dioxusConfig !== 'disabled' && globalConfig)
|
||||
) {
|
||||
fmtDocument(e.document);
|
||||
}
|
||||
fmtDocument(e.document);
|
||||
}
|
||||
|
||||
function fmtDocument(document: vscode.TextDocument) {
|
||||
try {
|
||||
if (document.languageId !== "rust" || document.uri.scheme !== "file") {
|
||||
|
|
Loading…
Reference in a new issue