Skip to content

Commit 5d69543

Browse files
committed
Removed disabledLanguges setting
1 parent 163d680 commit 5d69543

File tree

8 files changed

+28
-39
lines changed

8 files changed

+28
-39
lines changed

README.md

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -249,10 +249,6 @@ When enabled, this extension will attempt to use global npm or yarn modules if l
249249

250250
> NOTE: This setting can have a negative performance impact, particularly on Windows when you have attached network drives. Only enable this if you must use global modules. It is recommended that you always use local modules when possible.
251251
252-
#### prettier.disableLanguages
253-
254-
A list of languages IDs to disable this extension on.
255-
256252
**Note: Disabling a language enabled in a parent folder will prevent formatting instead of letting any other formatter to run**
257253

258254
#### prettier.documentSelectors
@@ -299,7 +295,3 @@ When a `package.json` is present in your project and it contains prettier, plugi
299295
**Your project is configured to use an outdated version of prettier that cannot be used by this extension. Upgrade to the latest version of prettier.**
300296

301297
You must upgrade to a newer version of prettier.
302-
303-
```
304-
305-
```

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@
111111
},
112112
"dependencies": {
113113
"find-up": "^5.0.0",
114-
"ignore": "^5.1.8",
115114
"prettier": "^2.2.1",
116115
"resolve": "^1.17.0",
117116
"semver": "^7.3.4",
@@ -127,6 +126,7 @@
127126
"items": {
128127
"type": "string"
129128
},
129+
"deprecationMessage": "%ext.config.disableLanguagesDeprecation%",
130130
"markdownDescription": "%ext.config.disableLanguages%",
131131
"scope": "window"
132132
},

package.nls.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"ext.config.bracketSpacing": "Controls the printing of spaces inside object literals",
66
"ext.config.configPath": "Path to the prettier configuration file",
77
"ext.config.disableLanguages": "A list of languages IDs to disable this extension on",
8+
"ext.config.disableLanguagesDeprecation": "This feature is no longer supported. Instead, configure VS Code [default formatters](https://github.com/prettier/prettier-vscode#default-formatter) or use .prettierignore.",
89
"ext.config.documentSelectors": "A list of [glob patterns](https://code.visualstudio.com/api/references/vscode-api#GlobPattern) to register Prettier formatter",
910
"ext.config.endOfLine": "Specify the end of line used by prettier",
1011
"ext.config.htmlWhitespaceSensitivity": "Specify the global whitespace sensitivity for HTML files.\n Valid options:\n- `css` - Respect the default value of CSS display property.\n- `strict` - Whitespaces are considered sensitive.\n- `ignores` - Whitespaces are considered insensitive.",

src/PrettierEditService.ts

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,12 @@ import { ModuleResolver } from "./ModuleResolver";
2929
import { NotificationService } from "./NotificationService";
3030
import { PrettierEditProvider } from "./PrettierEditProvider";
3131
import { FormatterStatus, StatusBar } from "./StatusBar";
32-
import { PrettierModule, PrettierVSCodeConfig } from "./types";
33-
import { getConfig, getWorkspaceRelativePath } from "./util";
32+
import { PrettierModule } from "./types";
33+
import {
34+
getConfig,
35+
getWorkspaceRelativePath,
36+
isDefaultFormatterOrUnset,
37+
} from "./util";
3438

3539
interface ISelectors {
3640
rangeLanguageSelector: ReadonlyArray<DocumentFilter>;
@@ -200,11 +204,9 @@ export default class PrettierEditService implements Disposable {
200204
}
201205

202206
const score = languages.match(languageSelector, document);
203-
const disabledLanguages: PrettierVSCodeConfig["disableLanguages"] = getConfig(
204-
document.uri
205-
).disableLanguages;
207+
const isFormatterEnabled = isDefaultFormatterOrUnset(document.uri);
206208

207-
if (disabledLanguages.includes(document.languageId)) {
209+
if (!isFormatterEnabled) {
208210
this.statusBar.update(FormatterStatus.Disabled);
209211
} else if (score > 0) {
210212
this.statusBar.update(FormatterStatus.Ready);
@@ -231,7 +233,7 @@ export default class PrettierEditService implements Disposable {
231233

232234
const allExtensions = await getSupportedFileExtensions(prettierInstance);
233235

234-
const { disableLanguages, documentSelectors } = getConfig();
236+
const { documentSelectors } = getConfig();
235237

236238
const allRangeLanguages = getRangeSupportedLanguages();
237239

@@ -255,12 +257,12 @@ export default class PrettierEditService implements Disposable {
255257
});
256258

257259
// Language selectors for language IDs
258-
const globalLanguageSelector: DocumentFilter[] = allLanguages
259-
.filter((l) => !disableLanguages.includes(l))
260-
.map((l) => ({ language: l }));
261-
const globalRangeLanguageSelector: DocumentFilter[] = allRangeLanguages
262-
.filter((l) => !disableLanguages.includes(l))
263-
.map((l) => ({ language: l }));
260+
const globalLanguageSelector: DocumentFilter[] = allLanguages.map((l) => ({
261+
language: l,
262+
}));
263+
const globalRangeLanguageSelector: DocumentFilter[] = allRangeLanguages.map(
264+
(l) => ({ language: l })
265+
);
264266

265267
const languageSelector = globalLanguageSelector
266268
.concat(customLanguageSelectors)
@@ -303,14 +305,6 @@ export default class PrettierEditService implements Disposable {
303305

304306
const vscodeConfig = getConfig(uri);
305307

306-
// This has to stay, as it allows to skip in sub workspaceFolders. Sadly noop.
307-
// wf1 (with "lang") -> glob: "wf1/**"
308-
// wf1/wf2 (without "lang") -> match "wf1/**"
309-
if (vscodeConfig.disableLanguages.includes(languageId)) {
310-
this.statusBar.update(FormatterStatus.Ignore);
311-
return;
312-
}
313-
314308
try {
315309
const hasConfig = await this.configResolver.checkHasPrettierConfig(
316310
fileName
@@ -355,7 +349,7 @@ export default class PrettierEditService implements Disposable {
355349
if (fileName) {
356350
fileInfo = await prettierInstance.getFileInfo(fileName, {
357351
ignorePath,
358-
resolveConfig: true, // Fix for 1.19 (https://prettier.io/blog/2019/11/09/1.19.0.html#api)
352+
resolveConfig: true,
359353
withNodeModules: vscodeConfig.withNodeModules,
360354
});
361355
this.loggingService.logInfo("File Info:", fileInfo);

src/types.d.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,6 @@ interface IExtensionConfig {
2626
* If true will skip formatting if a prettier config isn't found.
2727
*/
2828
requireConfig: boolean;
29-
/**
30-
* Array of language IDs to ignore
31-
*/
32-
disableLanguages: string[];
3329
/**
3430
* If true, take into account the .editorconfig file when resolving configuration.
3531
*/

src/util.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,9 @@ export function getConfig(uri?: Uri): PrettierVSCodeConfig {
3030
// eslint-disable-next-line @typescript-eslint/no-explicit-any
3131
return workspace.getConfiguration("prettier", uri) as any;
3232
}
33+
34+
export function isDefaultFormatterOrUnset(uri?: Uri): boolean {
35+
const config = workspace.getConfiguration("editor", uri);
36+
const defaultFormatter = config.get("defaultFormatter");
37+
return !defaultFormatter || defaultFormatter === "esbenp.prettier-vscode";
38+
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"prettier.disableLanguages": [
3-
"javascript"
4-
],
2+
"[javascript]": {
3+
"editor.defaultFormatter": "vscode.typescript-language-features"
4+
},
55
"javascript.format.enable": true,
66
"files.eol": "\n"
77
}

yarn.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1595,7 +1595,7 @@ ignore@^4.0.6:
15951595
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
15961596
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
15971597

1598-
ignore@^5.1.4, ignore@^5.1.8:
1598+
ignore@^5.1.4:
15991599
version "5.1.8"
16001600
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
16011601
integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==

0 commit comments

Comments
 (0)