Skip to content
This repository was archived by the owner on Sep 6, 2021. It is now read-only.

Commit ae95113

Browse files
committed
Move descriptions to their own preferences
1 parent 015400e commit ae95113

File tree

9 files changed

+78
-68
lines changed

9 files changed

+78
-68
lines changed

src/extensions/default/CSSCodeHints/main.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,14 @@ define(function (require, exports, module) {
3737
TokenUtils = brackets.getModule("utils/TokenUtils"),
3838
StringMatch = brackets.getModule("utils/StringMatch"),
3939
ColorUtils = brackets.getModule("utils/ColorUtils"),
40+
Strings = brackets.getModule("strings"),
4041
CSSProperties = require("text!CSSProperties.json"),
4142
properties = JSON.parse(CSSProperties);
4243

4344

44-
PreferencesManager.definePreference("codehint.CssPropHints", "boolean", true);
45+
PreferencesManager.definePreference("codehint.CssPropHints", "boolean", true, {
46+
description: Strings.DESCRIPTION_CSS_PROP_HINTS
47+
});
4548

4649
// Context of the last request for hints: either CSSUtils.PROP_NAME,
4750
// CSSUtils.PROP_VALUE or null.

src/extensions/default/HTMLCodeHints/main.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,19 @@ define(function (require, exports, module) {
3333
CodeHintManager = brackets.getModule("editor/CodeHintManager"),
3434
HTMLUtils = brackets.getModule("language/HTMLUtils"),
3535
PreferencesManager = brackets.getModule("preferences/PreferencesManager"),
36+
Strings = brackets.getModule("strings"),
3637
HTMLTags = require("text!HtmlTags.json"),
3738
HTMLAttributes = require("text!HtmlAttributes.json"),
3839
tags,
3940
attributes;
4041

42+
PreferencesManager.definePreference("codehint.TagHints", "boolean", true, {
43+
description: Strings.DESCRIPTION_HTML_TAG_HINTS
44+
});
4145

42-
PreferencesManager.definePreference("codehint.TagHints", "boolean", true);
43-
44-
PreferencesManager.definePreference("codehint.AttrHints", "boolean", true);
46+
PreferencesManager.definePreference("codehint.AttrHints", "boolean", true, {
47+
description: Strings.DESCRIPTION_ATTR_HINTS
48+
});
4549

4650
/**
4751
* @constructor

src/extensions/default/HtmlEntityCodeHints/main.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,14 @@ define(function (require, exports, module) {
3434
ExtensionUtils = brackets.getModule("utils/ExtensionUtils"),
3535
HTMLUtils = brackets.getModule("language/HTMLUtils"),
3636
PreferencesManager = brackets.getModule("preferences/PreferencesManager"),
37+
Strings = brackets.getModule("strings"),
3738
HtmlSpecialChars = require("text!SpecialChars.json"),
3839
specialChars;
3940

4041

41-
PreferencesManager.definePreference("codehint.SpecialCharHints", "boolean", true);
42+
PreferencesManager.definePreference("codehint.SpecialCharHints", "boolean", true, {
43+
description: Strings.DESCRIPTION_SPECIAL_CHAR_HINTS
44+
});
4245

4346
/**
4447
* Encodes the special Char value given.

src/extensions/default/PrefsCodeHints/data.json

Lines changed: 0 additions & 44 deletions
This file was deleted.

src/extensions/default/PrefsCodeHints/main.js

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,24 @@ define(function (require, exports, module) {
3838
JSONUtils = brackets.getModule("language/JSONUtils"),
3939
Strings = brackets.getModule("strings"),
4040
ThemeManager = brackets.getModule("view/ThemeManager"),
41+
CodeInspection = brackets.getModule("language/CodeInspection"),
4142
_ = brackets.getModule("thirdparty/lodash"),
42-
data = JSON.parse(require("text!data.json")),
43+
languages = LanguageManager.getLanguages(),
4344
isPrefDocument = false,
4445
isPrefHintsEnabled = false;
4546

47+
// Stores data of preferences used by Brackets and its core/thirdparty extensions.
48+
var data = {
49+
language: {
50+
type: "object",
51+
description: Strings.DESCRIPTION_LANGUAGE
52+
},
53+
path: {
54+
type: "object",
55+
description: Strings.DESCRIPTION_PATH
56+
}
57+
};
58+
4659
var stringMatcherOptions = {
4760
preferPrefixMatches: true
4861
};
@@ -224,7 +237,7 @@ define(function (require, exports, module) {
224237
if (data[ctxInfo.parentKeyName] && data[ctxInfo.parentKeyName].keys) {
225238
keys = data[ctxInfo.parentKeyName].keys;
226239
} else if (ctxInfo.parentKeyName === "language") {
227-
keys = LanguageManager.getLanguages();
240+
keys = languages;
228241
option.type = "object";
229242
} else {
230243
keys = data;
@@ -235,7 +248,7 @@ define(function (require, exports, module) {
235248
var match = StringMatch.stringMatch(key, query, stringMatcherOptions);
236249
if (match) {
237250
match.type = keys[key].type || option.type;
238-
match.description = keys[key].description || Strings[keys[key].string] || null;
251+
match.description = keys[key].description || null;
239252
return match;
240253
}
241254
}
@@ -257,9 +270,11 @@ define(function (require, exports, module) {
257270
} else if (option && option.values && (["number", "string"].indexOf(option.type) !== -1 ||
258271
(option.type === "array" && ctxInfo.isArray))) {
259272
values = option.values;
273+
} else if (ctxInfo.isArray && ctxInfo.keyName === "linting.prefer" && languages[ctxInfo.parentKeyName]) {
274+
values = CodeInspection.getProviderIDsForLanguage(ctxInfo.parentKeyName);
260275
} else if (ctxInfo.parentKeyName === "language.fileExtensions" ||
261276
ctxInfo.parentKeyName === "language.fileNames") {
262-
values = Object.keys(LanguageManager.getLanguages());
277+
values = Object.keys(languages);
263278
} else {
264279
return null;
265280
}
@@ -269,7 +284,7 @@ define(function (require, exports, module) {
269284
var match = StringMatch.stringMatch(value, query, stringMatcherOptions);
270285
if (match) {
271286
match.type = option.valueType || option.type;
272-
match.description = Strings[option.string] || option.description || null;
287+
match.description = option.description || null;
273288
return match;
274289
}
275290
});

src/extensions/default/StaticServer/StaticServer.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ define(function (require, exports, module) {
3131

3232
var BaseServer = brackets.getModule("LiveDevelopment/Servers/BaseServer").BaseServer,
3333
LiveDevelopmentUtils = brackets.getModule("LiveDevelopment/LiveDevelopmentUtils"),
34-
PreferencesManager = brackets.getModule("preferences/PreferencesManager");
34+
PreferencesManager = brackets.getModule("preferences/PreferencesManager"),
35+
Strings = brackets.getModule("strings");
3536

3637

3738
/**
@@ -41,7 +42,9 @@ define(function (require, exports, module) {
4142
*/
4243
var _prefs = PreferencesManager.getExtensionPrefs("staticserver");
4344

44-
_prefs.definePreference("port", "number", 0);
45+
_prefs.definePreference("port", "number", 0, {
46+
description: Strings.DESCRIPTION_STATIC_SERVER_PORT
47+
});
4548

4649
/**
4750
* @constructor

src/extensions/default/UrlCodeHints/main.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,18 @@ define(function (require, exports, module) {
3737
PreferencesManager = brackets.getModule("preferences/PreferencesManager"),
3838
ProjectManager = brackets.getModule("project/ProjectManager"),
3939
StringUtils = brackets.getModule("utils/StringUtils"),
40-
41-
Data = require("text!data.json"),
40+
Strings = brackets.getModule("strings"),
41+
Data = require("text!data.json"),
4242

4343
urlHints,
4444
data,
4545
htmlAttrs,
4646
styleModes = ["css", "text/x-less", "text/x-scss"];
4747

4848

49-
PreferencesManager.definePreference("codehint.UrlCodeHints", "boolean", true);
49+
PreferencesManager.definePreference("codehint.UrlCodeHints", "boolean", true, {
50+
description: Strings.DESCRIPTION_URL_CODE_HINTS
51+
});
5052

5153
/**
5254
* @constructor

src/language/CodeInspection.js

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,21 @@ define(function (require, exports, module) {
198198
return providers;
199199
}
200200

201+
/**
202+
* Returns an array of the IDs of providers registered for a specific language
203+
*
204+
* @param {!string} languageId
205+
* @return {Array.<string>} Names of registered providers.
206+
*/
207+
function getProviderIDsForLanguage(languageId) {
208+
if (!_providers[languageId]) {
209+
return null;
210+
}
211+
return _providers[languageId].map(function (provider) {
212+
return provider.name;
213+
});
214+
}
215+
201216
/**
202217
* Runs a file inspection over passed file. Uses the given list of providers if specified, otherwise uses
203218
* the set of providers that are registered for the file's language.
@@ -608,11 +623,18 @@ define(function (require, exports, module) {
608623
toggleCollapsed(prefs.get(PREF_COLLAPSED), true);
609624
});
610625

611-
prefs.definePreference(PREF_ASYNC_TIMEOUT, "number", 10000);
626+
prefs.definePreference(PREF_ASYNC_TIMEOUT, "number", 10000, {
627+
description: Strings.DESCRIPTION_ASYNC_TIMEOUT
628+
});
612629

613-
prefs.definePreference(PREF_PREFER_PROVIDERS, "array", []);
630+
prefs.definePreference(PREF_PREFER_PROVIDERS, "array", [], {
631+
description: Strings.DESCRIPTION_LINTING_PREFER,
632+
valueType: "string"
633+
});
614634

615-
prefs.definePreference(PREF_PREFERRED_ONLY, "boolean", false);
635+
prefs.definePreference(PREF_PREFERRED_ONLY, "boolean", false, {
636+
description: Strings.DESCRIPTION_USE_PREFERED_ONLY
637+
});
616638

617639
// Initialize items dependent on HTML DOM
618640
AppInit.htmlReady(function () {
@@ -681,10 +703,11 @@ define(function (require, exports, module) {
681703
exports._PREF_PREFERRED_ONLY = PREF_PREFERRED_ONLY;
682704

683705
// Public API
684-
exports.register = register;
685-
exports.Type = Type;
686-
exports.toggleEnabled = toggleEnabled;
687-
exports.inspectFile = inspectFile;
688-
exports.requestRun = run;
689-
exports.getProvidersForPath = getProvidersForPath;
706+
exports.register = register;
707+
exports.Type = Type;
708+
exports.toggleEnabled = toggleEnabled;
709+
exports.inspectFile = inspectFile;
710+
exports.requestRun = run;
711+
exports.getProvidersForPath = getProvidersForPath;
712+
exports.getProviderIDsForLanguage = getProviderIDsForLanguage;
690713
});

src/nls/root/strings.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -714,6 +714,7 @@ define({
714714
"DESCRIPTION_LANGUAGE_FILE_EXTENSIONS" : "Additional mappings from file extension to language name",
715715
"DESCRIPTION_LANGUAGE_FILE_NAMES" : "Additional mappings from file name to language name",
716716
"DESCRIPTION_LINTING_ENABLED" : "True to enable Code Inspection",
717+
"DESCRIPTION_ASYNC_TIMEOUT" : "The time in milliseconds after which asynchronous linters time out",
717718
"DESCRIPTION_LINTING_PREFER" : "Array of linters to run first",
718719
"DESCRIPTION_LIVE_DEV_MULTIBROWSER" : "True to enable experimental Live Preview",
719720
"DESCRIPTION_USE_PREFERED_ONLY" : "True to run providers specified in linting.prefer only",

0 commit comments

Comments
 (0)