Skip to content

Commit

Permalink
adds lang selector for settings.json files. Fixes #1343
Browse files Browse the repository at this point in the history
  • Loading branch information
ntotten committed May 13, 2020
1 parent 6684a1c commit df2d03f
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 12 deletions.
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
"prettierrc",
"promisify",
"stylelint",
"userdata",
"vsce"
]
}
36 changes: 24 additions & 12 deletions src/PrettierEditService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -146,35 +146,47 @@ export default class PrettierEditService implements Disposable {
allRangeLanguages.sort()
);

const globalLanguageSelector = allLanguages.filter(
(l) => !disableLanguages.includes(l)
);
const globalRangeLanguageSelector = allRangeLanguages.filter(
(l) => !disableLanguages.includes(l)
);
const specialLanguageSelector: DocumentFilter[] = [
// This selector is for settings.json files
{
language: "jsonc",
scheme: "vscode-userdata",
},
];

const globalLanguageSelector: DocumentFilter[] = allLanguages
.filter((l) => !disableLanguages.includes(l))
.map((l) => ({ language: l }));
const globalRangeLanguageSelector: DocumentFilter[] = allRangeLanguages
.filter((l) => !disableLanguages.includes(l))
.map((l) => ({ language: l }));
if (workspace.workspaceFolders === undefined) {
// no workspace opened
return {
languageSelector: globalLanguageSelector,
languageSelector: globalLanguageSelector.concat(
specialLanguageSelector
),
rangeLanguageSelector: globalRangeLanguageSelector,
};
}

// at least 1 workspace
const untitledLanguageSelector: DocumentFilter[] = globalLanguageSelector.map(
(l) => ({ language: l, scheme: "untitled" })
(l) => ({ language: l.language, scheme: "untitled" })
);
const untitledRangeLanguageSelector: DocumentFilter[] = globalRangeLanguageSelector.map(
(l) => ({ language: l, scheme: "untitled" })
(l) => ({ language: l.language, scheme: "untitled" })
);
const fileLanguageSelector: DocumentFilter[] = globalLanguageSelector.map(
(l) => ({ language: l, scheme: "file" })
(l) => ({ language: l.language, scheme: "file" })
);
const fileRangeLanguageSelector: DocumentFilter[] = globalRangeLanguageSelector.map(
(l) => ({ language: l, scheme: "file" })
(l) => ({ language: l.language, scheme: "file" })
);
return {
languageSelector: untitledLanguageSelector.concat(fileLanguageSelector),
languageSelector: untitledLanguageSelector
.concat(fileLanguageSelector)
.concat(specialLanguageSelector),
rangeLanguageSelector: untitledRangeLanguageSelector.concat(
fileRangeLanguageSelector
),
Expand Down

0 comments on commit df2d03f

Please sign in to comment.