From 6d12d3098cf1e5ec77d12fdef4ec0ac294d21905 Mon Sep 17 00:00:00 2001 From: rroshan1 Date: Wed, 22 Jul 2015 12:06:46 +0530 Subject: [PATCH 01/26] Fixing UT failures- Do NOT close Search Bar for Instant Search --- test/spec/FindInFiles-test.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/test/spec/FindInFiles-test.js b/test/spec/FindInFiles-test.js index c19077198d2..e19757910fd 100644 --- a/test/spec/FindInFiles-test.js +++ b/test/spec/FindInFiles-test.js @@ -425,22 +425,19 @@ define(function (require, exports, module) { }); }); - it("should dismiss dialog and show panel when there are results", function () { + it("should keep dialog and show panel when there are results", function () { var filePath = testPath + "/foo.js", fileEntry = FileSystem.getFileForPath(filePath); openSearchBar(fileEntry); executeSearch("callFoo"); - waitsFor(function () { - return ($(".modal-bar").length === 0); - }, "search bar close"); - + // With instant search, the Search Bar should not close on a search runs(function () { var fileResults = FindInFiles.searchModel.results[filePath]; expect(fileResults).toBeTruthy(); expect($("#find-in-files-results").is(":visible")).toBeTruthy(); - expect($(".modal-bar").length).toBe(0); + expect($(".modal-bar").length).toBe(1); }); }); From 1cf0f2998bcf3a05da1c514d280db3d0eed752c9 Mon Sep 17 00:00:00 2001 From: rroshan1 Date: Wed, 22 Jul 2015 12:09:58 +0530 Subject: [PATCH 02/26] Fixing UT failures- Null current document issue --- test/spec/FindInFiles-test.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/test/spec/FindInFiles-test.js b/test/spec/FindInFiles-test.js index e19757910fd..104c74a83fb 100644 --- a/test/spec/FindInFiles-test.js +++ b/test/spec/FindInFiles-test.js @@ -500,13 +500,15 @@ define(function (require, exports, module) { expect($firstHit.hasClass("file-section")).toBeFalsy(); $firstHit.click(); - // Verify current document - editor = EditorManager.getActiveEditor(); - expect(editor.document.file.fullPath).toEqual(filePath); + setTimeout(function () { + // Verify current document + editor = EditorManager.getActiveEditor(); + expect(editor.document.file.fullPath).toEqual(filePath); - // Verify selection - expect(editor.getSelectedText().toLowerCase() === "foo"); - waitsForDone(CommandManager.execute(Commands.FILE_CLOSE_ALL), "closing all files"); + // Verify selection + expect(editor.getSelectedText().toLowerCase() === "foo"); + waitsForDone(CommandManager.execute(Commands.FILE_CLOSE_ALL), "closing all files"); + }, 500); }); }); From b11200114a2b323577d402e7d9927d6b7620bcb0 Mon Sep 17 00:00:00 2001 From: rroshan1 Date: Wed, 22 Jul 2015 12:11:37 +0530 Subject: [PATCH 03/26] Temp: Setting node search to false for UTs --- src/search/FindUtils.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/search/FindUtils.js b/src/search/FindUtils.js index caaf6854fd1..d0562281737 100644 --- a/src/search/FindUtils.js +++ b/src/search/FindUtils.js @@ -49,10 +49,10 @@ define(function (require, exports, module) { EventDispatcher.makeEventDispatcher(exports); // define preferences for find in files - PreferencesManager.definePreference("findInFiles.nodeSearch", "boolean", true, { + PreferencesManager.definePreference("findInFiles.nodeSearch", "boolean", false, { description: Strings.DESCRIPTION_FIND_IN_FILES_NODE }); - PreferencesManager.definePreference("findInFiles.instantSearch", "boolean", true, { + PreferencesManager.definePreference("findInFiles.instantSearch", "boolean", false, { description: Strings.DESCRIPTION_FIND_IN_FILES_INSTANT }); From 648f2ee8b087a5d5b975083c72f4f3fb563165f7 Mon Sep 17 00:00:00 2001 From: rroshan1 Date: Wed, 22 Jul 2015 12:33:18 +0530 Subject: [PATCH 04/26] Fixing UT failures- Search bar closing --- test/spec/FindInFiles-test.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/spec/FindInFiles-test.js b/test/spec/FindInFiles-test.js index 104c74a83fb..aa83c1297a5 100644 --- a/test/spec/FindInFiles-test.js +++ b/test/spec/FindInFiles-test.js @@ -745,7 +745,6 @@ define(function (require, exports, module) { it("should jump to last page, then page backward, displaying correct contents at each step", function () { openProject(SpecRunnerUtils.getTestPath("/spec/FindReplace-test-files-manyhits")); - openSearchBar(); executeSearch("find this"); @@ -1925,7 +1924,7 @@ define(function (require, exports, module) { it("should do a regexp search/replace from find bar", function () { openTestProjectCopy(defaultSourcePath); - openSearchBar(null, true); +// openSearchBar(null, true); runs(function () { $("#find-regexp").click(); }); From 6a253672c35d854e88f9c47a12aa8ec91763a38f Mon Sep 17 00:00:00 2001 From: rroshan1 Date: Wed, 22 Jul 2015 15:25:18 +0530 Subject: [PATCH 05/26] search bar closing --- test/spec/FindInFiles-test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/spec/FindInFiles-test.js b/test/spec/FindInFiles-test.js index aa83c1297a5..3789e81487f 100644 --- a/test/spec/FindInFiles-test.js +++ b/test/spec/FindInFiles-test.js @@ -1924,7 +1924,7 @@ define(function (require, exports, module) { it("should do a regexp search/replace from find bar", function () { openTestProjectCopy(defaultSourcePath); -// openSearchBar(null, true); + openSearchBar(null, true); runs(function () { $("#find-regexp").click(); }); From 46bf4f95ee342a33527ef3c966d87b7d618f3d19 Mon Sep 17 00:00:00 2001 From: "walf (Localization Automation)" Date: Wed, 22 Jul 2015 03:16:24 -0700 Subject: [PATCH 06/26] Updated by ALF automation. --- src/nls/fr/strings.js | 7 +++++-- src/nls/ja/strings.js | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index 53c417b303a..ebc943b7542 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -194,6 +194,7 @@ define({ "FIND_IN_FILES_PAGING": "{0}—{1}", "FIND_IN_FILES_FILE_PATH": "{0} {2} {1}", "FIND_IN_FILES_EXPAND_COLLAPSE": "Cliquer tout en appuyant sur Ctrl/Cmd pour tout développer/tout réduire", + "FIND_IN_FILES_INDEXING": "[8389636] !é=Indexing for Instant Search...=!", "REPLACE_IN_FILES_ERRORS_TITLE": "Erreurs de remplacement", "REPLACE_IN_FILES_ERRORS": "Les fichiers suivants n’ont pas été traités car ils ont été modifiés après l’opération de recherche ou ne sont pas accessibles en écriture.", @@ -657,7 +658,7 @@ define({ "EXPAND_ALL": "Développer tout", "COLLAPSE_CURRENT": "Réduire l’élément actif", "EXPAND_CURRENT": "Développer l’élément actif", - + // Descriptions of core preferences "DESCRIPTION_CLOSE_BRACKETS": "vrai pour fermer automatiquement les accolades, les crochets et les parenthèses", "DESCRIPTION_CLOSE_OTHERS_ABOVE": "faux pour supprimer l’option « Fermer les autres au-dessus » du menu contextuel Fichiers de travail", @@ -753,7 +754,9 @@ define({ "DESCRIPTION_USE_THEME_SCROLLBARS": "vrai pour autoriser les barres de défilement personnalisées", "DESCRIPTION_LINTING_COLLAPSED": "vrai pour réduire le panneau d’analyse lint", "DESCRIPTION_FONT_FAMILY": "Changer de famille de polices", - "DESCRIPTION_FONT_SIZE": "Modifier la taille de police, par ex. 13px", + "DESCRIPTION_FONT_SIZE": "[8375220] !é=Change font size; e.g, 13px=!", + "DESCRIPTION_FIND_IN_FILES_NODE": "[8389635] !é=True to enable node based search=!", + "DESCRIPTION_FIND_IN_FILES_INSTANT": "[8389634] !é=True to enable instant search=!", "DESCRIPTION_FONT_SMOOTHING": "Mac uniquement : « subpixel-antialiased » pour activer l’anticrénelage (lissage) des sous-pixels ou « antialiased » pour l’anticrénelage des niveaux de gris", "DESCRIPTION_OPEN_PREFS_IN_SPLIT_VIEW": "faux pour désactiver l’ouverture du fichier de préférences en mode fractionné", "DESCRIPTION_OPEN_USER_PREFS_IN_SECOND_PANE": "faux pour ouvrir le fichier de préférences de l’utilisateur dans le volet gauche/supérieur", diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index b26c82ab464..58d59d3a13d 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -194,6 +194,7 @@ define({ "FIND_IN_FILES_PAGING": "{0}—{1}", "FIND_IN_FILES_FILE_PATH": "{0} {2} {1}", "FIND_IN_FILES_EXPAND_COLLAPSE": "Ctrl / Command キーをクリックしてすべて展開 / 折りたたみ", + "FIND_IN_FILES_INDEXING": "!能=[8389636] Indexing for Instant Search..._=!", "REPLACE_IN_FILES_ERRORS_TITLE": "置換エラー", "REPLACE_IN_FILES_ERRORS": "次のファイルは検索の後で変更されているか、書き込むことができないため、変更されていません。", @@ -657,7 +658,7 @@ define({ "EXPAND_ALL": "すべて展開", "COLLAPSE_CURRENT": "現在のコードをたたむ", "EXPAND_CURRENT": "現在のコードを展開", - + // Descriptions of core preferences "DESCRIPTION_CLOSE_BRACKETS": "中括弧、角括弧、丸括弧を自動的に閉じるには true", "DESCRIPTION_CLOSE_OTHERS_ABOVE": "「作業中ファイル」コンテキストメニューから「上をすべて閉じる」を削除するには false", @@ -753,7 +754,9 @@ define({ "DESCRIPTION_USE_THEME_SCROLLBARS": "カスタムスクロールバーを許可するには true", "DESCRIPTION_LINTING_COLLAPSED": "構文チェックパネルを閉じるには true", "DESCRIPTION_FONT_FAMILY": "フォントファミリーを変更", - "DESCRIPTION_FONT_SIZE": "フォントサイズを変更 (例 : 13 px)", + "DESCRIPTION_FONT_SIZE": "!能=[8375220] Change font size; e.g, 13px_=!", + "DESCRIPTION_FIND_IN_FILES_NODE": "!能=[8389635] True to enable node based search_=!", + "DESCRIPTION_FIND_IN_FILES_INSTANT": "!能=[8389634] True to enable instant search_=!", "DESCRIPTION_FONT_SMOOTHING": "Mac のみ : サブピクセルアンチエイリアスを有効にするには subpixel-antialiased、グレースケールアンチエイリアスの場合は antialiased", "DESCRIPTION_OPEN_PREFS_IN_SPLIT_VIEW": "分割ビューで環境設定ファイルを開けないようにするには false", "DESCRIPTION_OPEN_USER_PREFS_IN_SECOND_PANE": "左側/上部のペインでユーザーの環境設定ファイルを開くには false", From 1dec0b4e94cec618e53ab08ba2dfc9dc03bb94f9 Mon Sep 17 00:00:00 2001 From: abose Date: Wed, 22 Jul 2015 17:13:56 +0530 Subject: [PATCH 07/26] Health Logs related to new find in files workflow. --- src/search/FindInFiles.js | 7 ++++-- src/search/FindUtils.js | 11 +++++++++ src/search/node/FindInFilesDomain.js | 27 ++++++++++++++++++---- src/utils/HealthLogger.js | 34 ++++++++++++++++++++-------- src/utils/StringUtils.js | 27 +++++++++++++++++++++- 5 files changed, 89 insertions(+), 17 deletions(-) diff --git a/src/search/FindInFiles.js b/src/search/FindInFiles.js index 4f99f34d67c..34031ecb99e 100644 --- a/src/search/FindInFiles.js +++ b/src/search/FindInFiles.js @@ -45,7 +45,8 @@ define(function (require, exports, module) { PerfUtils = require("utils/PerfUtils"), NodeDomain = require("utils/NodeDomain"), FileUtils = require("file/FileUtils"), - FindUtils = require("search/FindUtils"); + FindUtils = require("search/FindUtils"), + HealthLogger = require("utils/HealthLogger"); var _bracketsPath = FileUtils.getNativeBracketsDirectoryPath(), _modulePath = FileUtils.getNativeModuleDirectoryPath(module), @@ -94,13 +95,15 @@ define(function (require, exports, module) { DocumentManager.on("fileNameChange", _fileNameChangeHandler); } - function nodeFileCacheComplete() { + function nodeFileCacheComplete(event, numFiles, cacheSize) { + var projectName = ProjectManager.getProjectRoot().name || "noName00"; FindUtils.setInstantSearchDisabled(false); // Node search could be disabled if some error has happened in node. But upon // project change, if we get this message, then it means that node search is working, // we re-enable node search. If a search fails, node search will be switched off eventually. FindUtils.setNodeSearchDisabled(false); FindUtils.notifyIndexingFinished(); + HealthLogger.setProjectDetail(projectName, numFiles, cacheSize); } /** diff --git a/src/search/FindUtils.js b/src/search/FindUtils.js index caaf6854fd1..2e49cb5a7ff 100644 --- a/src/search/FindUtils.js +++ b/src/search/FindUtils.js @@ -559,6 +559,16 @@ define(function (require, exports, module) { return collapseResults; } + /** + * Returns the health data pertaining to Find in files + */ + function getHealthReport() { + return { + prefNodeSearchDisabled : _prefNodeSearchDisabled(), + prefInstantSearchDisabled : _prefInstantSearchDisabled() + }; + } + exports.parseDollars = parseDollars; exports.getInitialQuery = getInitialQuery; exports.hasCheckedMatches = hasCheckedMatches; @@ -575,6 +585,7 @@ define(function (require, exports, module) { exports.isIndexingInProgress = isIndexingInProgress; exports.setCollapseResults = setCollapseResults; exports.isCollapsedResults = isCollapsedResults; + exports.getHealthReport = getHealthReport; exports.ERROR_FILE_CHANGED = "fileChanged"; // event notification functions diff --git a/src/search/node/FindInFilesDomain.js b/src/search/node/FindInFilesDomain.js index c3195226507..939244f7d82 100644 --- a/src/search/node/FindInFilesDomain.js +++ b/src/search/node/FindInFilesDomain.js @@ -48,7 +48,8 @@ maxerr: 50, node: true */ lastSearchedIndex = 0, crawlComplete = false, crawlEventSent = false, - collapseResults = false; + collapseResults = false, + cacheSize = 0; /** * Copied from StringUtils.js @@ -324,9 +325,13 @@ maxerr: 50, node: true */ setTimeout(fileCrawler, 1000); return; } - var i = 0; + var i = 0, + contents = ""; for (i = 0; i < 10 && currentCrawlIndex < files.length; i++) { - getFileContentsForFile(files[currentCrawlIndex]); + contents = getFileContentsForFile(files[currentCrawlIndex]); + if (contents) { + cacheSize += contents.length; + } currentCrawlIndex++; } if (currentCrawlIndex < files.length) { @@ -336,7 +341,7 @@ maxerr: 50, node: true */ crawlComplete = true; if (!crawlEventSent) { crawlEventSent = true; - _domainManager.emitEvent("FindInFiles", "crawlComplete"); + _domainManager.emitEvent("FindInFiles", "crawlComplete", [files.length, cacheSize]); } setTimeout(fileCrawler, 1000); } @@ -350,6 +355,7 @@ maxerr: 50, node: true */ function initCache(fileList) { files = fileList; currentCrawlIndex = 0; + cacheSize = 0; clearProjectCache(); crawlEventSent = false; } @@ -641,7 +647,18 @@ maxerr: 50, node: true */ domainManager.registerEvent( "FindInFiles", // domain name "crawlComplete", // event name - [] + [ + { + name: "numFiles", + type: "number", + description: "number of files cached" + }, + { + name: "cacheSize", + type: "number", + description: "The size of the file cache epressesd as string length of files" + } + ] ); setTimeout(fileCrawler, 5000); } diff --git a/src/utils/HealthLogger.js b/src/utils/HealthLogger.js index b7454184d75..be85db05bab 100644 --- a/src/utils/HealthLogger.js +++ b/src/utils/HealthLogger.js @@ -34,6 +34,8 @@ define(function (require, exports, module) { LanguageManager = require("language/LanguageManager"), FileUtils = require("file/FileUtils"), PerfUtils = require("utils/PerfUtils"), + FindUtils = require("search/FindUtils"), + StringUtils = require("utils/StringUtils"), HEALTH_DATA_STATE_KEY = "HealthData.Logs", logHealthData = true; @@ -53,14 +55,6 @@ define(function (require, exports, module) { return logHealthData; } - /** - * Return the Performance related data - * @returns {Object} Performance Data aggregated till now - */ - function getPerformanceData() { - return PerfUtils.getHealthReport(); - } - /** * Return all health data logged till now stored in the state prefs * @returns {Object} Health Data aggregated till now @@ -75,7 +69,8 @@ define(function (require, exports, module) { */ function getAggregatedHealthData() { var healthData = getStoredHealthData(); - $.extend(healthData, getPerformanceData()); + $.extend(healthData, PerfUtils.getHealthReport()); + $.extend(healthData, FindUtils.getHealthReport()); return healthData; } @@ -158,12 +153,33 @@ define(function (require, exports, module) { } } + /** + * Sets the project details(a probably unique prjID, number of files in the project and the node cache size) in the health log + * The name of the project is never saved into the health data log, only the hash(name) is for privacy requirements. + * @param {string} projectName The name of the project + * @param {number} numFiles The number of file in the project + * @param {number} cacheSize The node file cache memory consumed by the project + */ + function setProjectDetail(projectName, numFiles, cacheSize) { + var projectNameHash = StringUtils.hashCode(projectName), + FIFLog = getHealthDataLog("ProjectDetails"); + if (!FIFLog) { + FIFLog = {}; + } + FIFLog["prj" + projectNameHash] = { + numFiles : numFiles, + cacheSize : cacheSize + }; + setHealthDataLog("ProjectDetails", FIFLog); + } + // Define public API exports.getHealthDataLog = getHealthDataLog; exports.setHealthDataLog = setHealthDataLog; exports.getAggregatedHealthData = getAggregatedHealthData; exports.clearHealthData = clearHealthData; exports.fileOpened = fileOpened; + exports.setProjectDetail = setProjectDetail; exports.setHealthLogsEnabled = setHealthLogsEnabled; exports.shouldLogHealthData = shouldLogHealthData; exports.init = init; diff --git a/src/utils/StringUtils.js b/src/utils/StringUtils.js index 35529174d3f..bea7aad5e86 100644 --- a/src/utils/StringUtils.js +++ b/src/utils/StringUtils.js @@ -21,7 +21,11 @@ * */ -/*jslint vars: true, plusplus: true, devel: true, nomen: true, regexp: true, indent: 4, maxerr: 50 */ +/* The hash code routne is taken from http://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript-jquery + @CC wiki attribution: esmiralha +*/ + +/*jslint vars: true, plusplus: true, devel: true, nomen: true, regexp: true, indent: 4, maxerr: 50, bitwise: true */ /*global define, brackets */ /** @@ -221,6 +225,26 @@ define(function (require, exports, module) { } } + /** + * Computes a 32bit hash from the given string + * Taken from http://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript-jquery + * @CC wiki attribution: esmiralha + * @param {string} str The string for which hash is to be computed + * @returns {number} The 32-bit hash + */ + function hashCode(str) { + var hash = 0, i, chr, len; + if (str.length === 0) { + return hash; + } + for (i = 0, len = str.length; i < len; i++) { + chr = str.charCodeAt(i); + hash = ((hash << 5) - hash) + chr; + hash |= 0; // Convert to 32bit integer + } + return hash; + } + // Define public API exports.format = format; exports.regexEscape = regexEscape; @@ -233,4 +257,5 @@ define(function (require, exports, module) { exports.endsWith = endsWith; exports.prettyPrintBytes = prettyPrintBytes; exports.truncate = truncate; + exports.hashCode = hashCode; }); From e3ecc9e7ac7b94f1107a8e3ca7064ac39b345280 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Dvo=C5=99=C3=A1k?= Date: Wed, 22 Jul 2015 14:39:46 +0200 Subject: [PATCH 08/26] Typo in path to correspond with src/nls/root/strings.js --- samples/root/Getting Started/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/root/Getting Started/index.html b/samples/root/Getting Started/index.html index 276e7446c49..28cd3fb7116 100644 --- a/samples/root/Getting Started/index.html +++ b/samples/root/Getting Started/index.html @@ -157,7 +157,7 @@

Need something else? Try an extension!

extension developers has built hundreds of extensions that add useful functionality. If there's something you need that Brackets doesn't offer, more than likely someone has built an extension for it. To browse or search the list of available extensions, choose File > Extension - Manager and click on the "Available" tab. When you find an extension you want, just click + Manager… and click on the "Available" tab. When you find an extension you want, just click the "Install" button next to it.

From 15a8909367da758391e1b45280b63d859f3ac037 Mon Sep 17 00:00:00 2001 From: vaishnav Date: Wed, 22 Jul 2015 18:20:39 +0530 Subject: [PATCH 09/26] Fixed Error in API Doc Generation --- src/search/FindInFiles.js | 2 +- src/search/FindUtils.js | 14 +++++++------- src/search/node/FindInFilesDomain.js | 12 ++++++------ src/utils/HealthLogger.js | 8 ++++---- src/utils/PerfUtils.js | 4 ++-- src/utils/StringUtils.js | 4 ++-- 6 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/search/FindInFiles.js b/src/search/FindInFiles.js index 34031ecb99e..0a0bb6ce9cd 100644 --- a/src/search/FindInFiles.js +++ b/src/search/FindInFiles.js @@ -856,7 +856,7 @@ define(function (require, exports, module) { /** * Gets the next page of search recults to append to the result set. - * @returns {object} A promise that's resolved with the search results or rejected when the find competes. + * @return {object} A promise that's resolved with the search results or rejected when the find competes. */ function getNextPageofSearchResults() { var searchDeferred = $.Deferred(); diff --git a/src/search/FindUtils.js b/src/search/FindUtils.js index 2e49cb5a7ff..c55b487eb9e 100644 --- a/src/search/FindUtils.js +++ b/src/search/FindUtils.js @@ -58,7 +58,7 @@ define(function (require, exports, module) { /** * returns true if the used disabled node based search in his preferences - * @returns {boolean} + * @return {boolean} */ function _prefNodeSearchDisabled() { return !PreferencesManager.get("findInFiles.nodeSearch"); @@ -66,7 +66,7 @@ define(function (require, exports, module) { /** * returns true if the used instant search in his preferences - * @returns {boolean} + * @return {boolean} */ function _prefInstantSearchDisabled() { return !PreferencesManager.get("findInFiles.instantSearch"); @@ -449,7 +449,7 @@ define(function (require, exports, module) { /** * if instant search is disabled, this will return true we can only do instant search through node - * @returns {boolean} + * @return {boolean} */ function isInstantSearchDisabled() { return _prefNodeSearchDisabled() || _prefInstantSearchDisabled() || nodeSearchDisabled || instantSearchDisabled; @@ -469,7 +469,7 @@ define(function (require, exports, module) { /** * if node search is disabled, this will return true - * @returns {boolean} + * @return {boolean} */ function isNodeSearchDisabled() { return _prefNodeSearchDisabled() || nodeSearchDisabled; @@ -477,7 +477,7 @@ define(function (require, exports, module) { /** * check if a search is progressing in node - * @returns {Boolean} true if search is processing in node + * @return {Boolean} true if search is processing in node */ function isNodeSearchInProgress() { if (nodeSearchCount === 0) { @@ -536,7 +536,7 @@ define(function (require, exports, module) { /** * Return true if indexing is in pregress in node - * @returns {boolean} true if files are being indexed in node + * @return {boolean} true if files are being indexed in node */ function isIndexingInProgress() { return indexingInProgress; @@ -553,7 +553,7 @@ define(function (require, exports, module) { /** * check if results should be collapsed - * @returns {boolean} true if results should be collapsed + * @return {boolean} true if results should be collapsed */ function isCollapsedResults() { return collapseResults; diff --git a/src/search/node/FindInFilesDomain.js b/src/search/node/FindInFilesDomain.js index 939244f7d82..4561d1a41d0 100644 --- a/src/search/node/FindInFilesDomain.js +++ b/src/search/node/FindInFilesDomain.js @@ -190,7 +190,7 @@ maxerr: 50, node: true */ /** * Get the contents of a file given the path * @param {string} filePath full file path - * @returns {string} contents or null if no contents + * @return {string} contents or null if no contents */ function getFileContentsForFile(filePath) { if (projectCache[filePath] || projectCache[filePath] === "") { @@ -364,7 +364,7 @@ maxerr: 50, node: true */ * Counts the number of matches matching the queryExpr in the given contents * @param {String} contents The contents to search on * @param {Object} queryExpr - * @returns {number} number of matches + * @return {number} number of matches */ function countNumMatches(contents, queryExpr) { if (!contents) { @@ -378,7 +378,7 @@ maxerr: 50, node: true */ * Get the total number of matches from all the files in fileList * @param {array} fileList file path array * @param {Object} queryExpr - * @returns {Number} total number of matches + * @return {Number} total number of matches */ function getNumMatches(fileList, queryExpr) { var i, @@ -401,7 +401,7 @@ maxerr: 50, node: true */ * Do a search with the searchObject context and return the results * @param {Object} searchObject * @param {boolean} nextPages set to true if to indicate that next page of an existing page is being fetched - * @returns {Object} search results + * @return {Object} search results */ function doSearch(searchObject, nextPages) { @@ -502,7 +502,7 @@ maxerr: 50, node: true */ /** * Gets the next page of results of the ongoing search - * @returns {Object} search results + * @return {Object} search results */ function getNextPage() { var send_object = { @@ -520,7 +520,7 @@ maxerr: 50, node: true */ /** * Gets all the results for the saved search query if present or empty search results - * @returns {Object} The results object + * @return {Object} The results object */ function getAllResults() { var send_object = { diff --git a/src/utils/HealthLogger.js b/src/utils/HealthLogger.js index be85db05bab..fcdcfc5e9ad 100644 --- a/src/utils/HealthLogger.js +++ b/src/utils/HealthLogger.js @@ -49,7 +49,7 @@ define(function (require, exports, module) { /** * All the logging functions should be disabled if this returns false - * @returns {boolean} true if health data can be logged + * @return {boolean} true if health data can be logged */ function shouldLogHealthData() { return logHealthData; @@ -57,7 +57,7 @@ define(function (require, exports, module) { /** * Return all health data logged till now stored in the state prefs - * @returns {Object} Health Data aggregated till now + * @return {Object} Health Data aggregated till now */ function getStoredHealthData() { return PreferencesManager.getViewState(HEALTH_DATA_STATE_KEY); @@ -65,7 +65,7 @@ define(function (require, exports, module) { /** * Return the aggregate of all health data logged till now from all sources - * @returns {Object} Health Data aggregated till now + * @return {Object} Health Data aggregated till now */ function getAggregatedHealthData() { var healthData = getStoredHealthData(); @@ -87,7 +87,7 @@ define(function (require, exports, module) { /** * Returns health data logged for the given key - * @returns {Object} Health Data object for the key or undefined if no health data stored + * @return {Object} Health Data object for the key or undefined if no health data stored */ function getHealthDataLog(key) { var healthData = getStoredHealthData(); diff --git a/src/utils/PerfUtils.js b/src/utils/PerfUtils.js index 57a4e54fcf7..06d046d57f5 100644 --- a/src/utils/PerfUtils.js +++ b/src/utils/PerfUtils.js @@ -309,7 +309,7 @@ define(function (require, exports, module) { * @param {Array} entry An array or a single value * @param {Boolean} aggregateStats If set, the returned value will be aggregated in the form - * - * @returns {String} a single value, or comma separated values in an array or + * @return {String} a single value, or comma separated values in an array or * if aggregateStats is set */ function getValueAsString(entry, aggregateStats) { @@ -366,7 +366,7 @@ define(function (require, exports, module) { /** * Returns the Performance metrics to be logged for health report - * @returns {Object} An object with the health data logs to be sent + * @return {Object} An object with the health data logs to be sent */ function getHealthReport() { var healthReport = { diff --git a/src/utils/StringUtils.js b/src/utils/StringUtils.js index bea7aad5e86..2378a8dd195 100644 --- a/src/utils/StringUtils.js +++ b/src/utils/StringUtils.js @@ -120,7 +120,7 @@ define(function (require, exports, module) { * Returns true if the given string starts with the given prefix. * @param {String} str * @param {String} prefix - * @returns {Boolean} + * @return {Boolean} */ function startsWith(str, prefix) { return str.slice(0, prefix.length) === prefix; @@ -230,7 +230,7 @@ define(function (require, exports, module) { * Taken from http://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript-jquery * @CC wiki attribution: esmiralha * @param {string} str The string for which hash is to be computed - * @returns {number} The 32-bit hash + * @return {number} The 32-bit hash */ function hashCode(str) { var hash = 0, i, chr, len; From ed57a2cfd8132224ebee91365ba50f8f718f165f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Dvo=C5=99=C3=A1k?= Date: Wed, 22 Jul 2015 15:09:21 +0200 Subject: [PATCH 10/26] Latest typos in root/strings.js --- src/nls/root/strings.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/nls/root/strings.js b/src/nls/root/strings.js index ffab1ae375f..c3728ca8067 100644 --- a/src/nls/root/strings.js +++ b/src/nls/root/strings.js @@ -194,7 +194,7 @@ define({ "FIND_IN_FILES_PAGING" : "{0}—{1}", "FIND_IN_FILES_FILE_PATH" : "{0} {2} {1}", // We should use normal dashes on Windows instead of em dash eventually "FIND_IN_FILES_EXPAND_COLLAPSE" : "Ctrl/Cmd click to expand/collapse all", - "FIND_IN_FILES_INDEXING" : "Indexing for Instant Search...", + "FIND_IN_FILES_INDEXING" : "Indexing for Instant Search\u2026", "REPLACE_IN_FILES_ERRORS_TITLE" : "Replace Errors", "REPLACE_IN_FILES_ERRORS" : "The following files weren't modified because they changed after the search or couldn't be written.", @@ -754,9 +754,9 @@ define({ "DESCRIPTION_USE_THEME_SCROLLBARS" : "true to allow custom scroll bars", "DESCRIPTION_LINTING_COLLAPSED" : "true to collapse linting panel", "DESCRIPTION_FONT_FAMILY" : "Change font family", - "DESCRIPTION_FONT_SIZE" : "Change font size; e.g, 13px", - "DESCRIPTION_FIND_IN_FILES_NODE" : "True to enable node based search", - "DESCRIPTION_FIND_IN_FILES_INSTANT" : "True to enable instant search", + "DESCRIPTION_FONT_SIZE" : "Change font size; e.g. 13px", + "DESCRIPTION_FIND_IN_FILES_NODE" : "true to enable node based search", + "DESCRIPTION_FIND_IN_FILES_INSTANT" : "true to enable instant search", "DESCRIPTION_FONT_SMOOTHING" : "Mac-only: \"subpixel-antialiased\" to enable sub-pixel antialiasing or \"antialiased\" for gray scale antialiasing", "DESCRIPTION_OPEN_PREFS_IN_SPLIT_VIEW" : "false to disable opening preferences file in split view", "DESCRIPTION_OPEN_USER_PREFS_IN_SECOND_PANE" : "false to open user preferences file in left/top pane", From 259380119c1bc0d703dd4c0a2766b174377b17a7 Mon Sep 17 00:00:00 2001 From: abose Date: Wed, 22 Jul 2015 19:53:05 +0530 Subject: [PATCH 11/26] Fixing update notification integration test failures --- test/spec/UpdateNotification-test.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/spec/UpdateNotification-test.js b/test/spec/UpdateNotification-test.js index fac6045e09e..f9a28374317 100644 --- a/test/spec/UpdateNotification-test.js +++ b/test/spec/UpdateNotification-test.js @@ -234,7 +234,7 @@ define(function (require, exports, module) { } it("should fall back to de.json when de-ch.json is not available", function () { - var defaultUpdateUrl = testWindow.brackets.config.update_info_url + "de.json"; + var defaultUpdateUrl = testWindow.brackets.config.update_info_url + "?locale=de"; setupAjaxSpy(defaultUpdateUrl); @@ -243,7 +243,7 @@ define(function (require, exports, module) { runs(function () { var promise = UpdateNotification.checkForUpdate(true, updateInfo); - waitsForDone(promise, "Check for updates"); + waitsForDone(promise, "Check for updates", 10000); }); runs(function () { @@ -253,7 +253,7 @@ define(function (require, exports, module) { }); it("should fall back to en.json when it.json is not available", function () { - var defaultUpdateUrl = testWindow.brackets.config.update_info_url + "en.json"; + var defaultUpdateUrl = testWindow.brackets.config.update_info_url + "?locale=en"; setupAjaxSpy(defaultUpdateUrl); @@ -262,7 +262,7 @@ define(function (require, exports, module) { runs(function () { var promise = UpdateNotification.checkForUpdate(true, updateInfo); - waitsForDone(promise, "Check for updates"); + waitsForDone(promise, "Check for updates", 10000); }); runs(function () { From 82ae76862bb9add5105bf22252181e6f57389a43 Mon Sep 17 00:00:00 2001 From: abose Date: Wed, 22 Jul 2015 20:17:40 +0530 Subject: [PATCH 12/26] Fix UT failure due to api change of get all files. --- test/spec/ProjectModel-test.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/spec/ProjectModel-test.js b/test/spec/ProjectModel-test.js index bde96115ac5..f0faf8e863b 100644 --- a/test/spec/ProjectModel-test.js +++ b/test/spec/ProjectModel-test.js @@ -128,7 +128,7 @@ define(function (require, exports, module) { rootPath = rootPath || "/"; var root = { fullPath: rootPath, - visit: function (visitor, errorHandler) { + visit: function (visitor, options, errorHandler) { visited = true; if (!filelist && error) { errorHandler(error); @@ -1450,4 +1450,4 @@ define(function (require, exports, module) { }); }); }); -}); \ No newline at end of file +}); From 779ba432c80e2bd36d44b98400e046cffc498324 Mon Sep 17 00:00:00 2001 From: abose Date: Wed, 22 Jul 2015 20:45:35 +0530 Subject: [PATCH 13/26] We do not close the search bar after a search now. So updating the unit tests with that. --- test/spec/FileFilters-test.js | 6 ------ test/spec/FindInFiles-test.js | 1 - 2 files changed, 7 deletions(-) diff --git a/test/spec/FileFilters-test.js b/test/spec/FileFilters-test.js index b4241ca7b61..7051e04e33c 100644 --- a/test/spec/FileFilters-test.js +++ b/test/spec/FileFilters-test.js @@ -533,12 +533,6 @@ define(function (require, exports, module) { // it's just these few functions it's probably okay to just keep them in sync manually, // but if this gets more complicated we should probably figure out how to break them out. function openSearchBar(scope) { - // Make sure search bar from previous test has animated out fully - runs(function () { - waitsFor(function () { - return $(".modal-bar").length === 0; - }, "search bar close"); - }); runs(function () { FindInFiles._searchDone = false; FindInFilesUI._showFindBar(scope); diff --git a/test/spec/FindInFiles-test.js b/test/spec/FindInFiles-test.js index 3789e81487f..2f3c2c58ec3 100644 --- a/test/spec/FindInFiles-test.js +++ b/test/spec/FindInFiles-test.js @@ -118,7 +118,6 @@ define(function (require, exports, module) { } function openSearchBar(scope, showReplace) { - waitForSearchBarClose(); runs(function () { FindInFiles._searchDone = false; FindInFilesUI._showFindBar(scope, showReplace); From 534974682ff48f98072cfaeb0d50db6b753945d2 Mon Sep 17 00:00:00 2001 From: Praful Vaishnav Date: Thu, 23 Jul 2015 07:41:06 +0530 Subject: [PATCH 14/26] Set Default preference for instant search to true and disabling in tests --- src/search/FindUtils.js | 4 +-- test/spec/FindInFiles-test.js | 52 +++++++++++++++++++---------------- 2 files changed, 31 insertions(+), 25 deletions(-) diff --git a/src/search/FindUtils.js b/src/search/FindUtils.js index d0562281737..caaf6854fd1 100644 --- a/src/search/FindUtils.js +++ b/src/search/FindUtils.js @@ -49,10 +49,10 @@ define(function (require, exports, module) { EventDispatcher.makeEventDispatcher(exports); // define preferences for find in files - PreferencesManager.definePreference("findInFiles.nodeSearch", "boolean", false, { + PreferencesManager.definePreference("findInFiles.nodeSearch", "boolean", true, { description: Strings.DESCRIPTION_FIND_IN_FILES_NODE }); - PreferencesManager.definePreference("findInFiles.instantSearch", "boolean", false, { + PreferencesManager.definePreference("findInFiles.instantSearch", "boolean", true, { description: Strings.DESCRIPTION_FIND_IN_FILES_INSTANT }); diff --git a/test/spec/FindInFiles-test.js b/test/spec/FindInFiles-test.js index 2f3c2c58ec3..ccfe912e6fc 100644 --- a/test/spec/FindInFiles-test.js +++ b/test/spec/FindInFiles-test.js @@ -38,7 +38,9 @@ define(function (require, exports, module) { StringUtils = require("utils/StringUtils"), Strings = require("strings"), _ = require("thirdparty/lodash"); - + + var PreferencesManager; + var promisify = Async.promisify; // for convenience describe("FindInFiles", function () { @@ -70,32 +72,36 @@ define(function (require, exports, module) { testWindow = w; // Load module instances from brackets.test - CommandManager = testWindow.brackets.test.CommandManager; - DocumentManager = testWindow.brackets.test.DocumentManager; - EditorManager = testWindow.brackets.test.EditorManager; - FileFilters = testWindow.brackets.test.FileFilters; - FileSystem = testWindow.brackets.test.FileSystem; - File = testWindow.brackets.test.File; - FindInFiles = testWindow.brackets.test.FindInFiles; - FindInFilesUI = testWindow.brackets.test.FindInFilesUI; - ProjectManager = testWindow.brackets.test.ProjectManager; - MainViewManager = testWindow.brackets.test.MainViewManager; - $ = testWindow.$; + CommandManager = testWindow.brackets.test.CommandManager; + DocumentManager = testWindow.brackets.test.DocumentManager; + EditorManager = testWindow.brackets.test.EditorManager; + FileFilters = testWindow.brackets.test.FileFilters; + FileSystem = testWindow.brackets.test.FileSystem; + File = testWindow.brackets.test.File; + FindInFiles = testWindow.brackets.test.FindInFiles; + FindInFilesUI = testWindow.brackets.test.FindInFilesUI; + ProjectManager = testWindow.brackets.test.ProjectManager; + MainViewManager = testWindow.brackets.test.MainViewManager; + $ = testWindow.$; + PreferencesManager = testWindow.brackets.test.PreferencesManager; + PreferencesManager.set("findInFiles.nodeSearch", false); + PreferencesManager.set("findInFiles.instantSearch", false); }); }); afterLast(function () { - CommandManager = null; - DocumentManager = null; - EditorManager = null; - FileSystem = null; - File = null; - FindInFiles = null; - FindInFilesUI = null; - ProjectManager = null; - MainViewManager = null; - $ = null; - testWindow = null; + CommandManager = null; + DocumentManager = null; + EditorManager = null; + FileSystem = null; + File = null; + FindInFiles = null; + FindInFilesUI = null; + ProjectManager = null; + MainViewManager = null; + $ = null; + testWindow = null; + PreferencesManager = null; SpecRunnerUtils.closeTestWindow(); SpecRunnerUtils.removeTempDirectory(); }); From dc237b58f82a177b52e0a39074731bf15ddd31b8 Mon Sep 17 00:00:00 2001 From: Praful Vaishnav Date: Thu, 23 Jul 2015 07:51:29 +0530 Subject: [PATCH 15/26] Adding FindInFiles node file as it is not minified --- Gruntfile.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Gruntfile.js b/Gruntfile.js index 71cec956c9c..08e71e4ab10 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -75,7 +75,8 @@ module.exports = function (grunt) { '!extensibility/node/node_modules/**/{test,tst}/**/*', '!extensibility/node/node_modules/**/examples/**/*', 'filesystem/impls/appshell/node/**', - '!filesystem/impls/appshell/node/spec/**' + '!filesystem/impls/appshell/node/spec/**', + 'search/node/**' ] }, /* extensions and CodeMirror modes */ From 094e904334230fd4cae39a5dc5f0d72fd03fb31f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toma=CC=81s=20Malbra=CC=81n?= Date: Thu, 23 Jul 2015 03:18:28 -0300 Subject: [PATCH 16/26] Spanish translation update for 1.4 --- samples/es/Primeros Pasos/index.html | 12 +- src/nls/es/strings.js | 166 ++++++++++++++++++++++++--- 2 files changed, 158 insertions(+), 20 deletions(-) diff --git a/samples/es/Primeros Pasos/index.html b/samples/es/Primeros Pasos/index.html index 668811ddc9a..2fa954f304f 100644 --- a/samples/es/Primeros Pasos/index.html +++ b/samples/es/Primeros Pasos/index.html @@ -32,7 +32,7 @@

¡Ésta es tu guía!

más que no vas a encontrar en otros editores. Además, Brackets está escrito en JavaScript, HTML y CSS. Esto significa que la mayoría de quienes usan Brackets tienen las habilidades necesarias para modificar y extender el editor. De hecho, nosotros usamos Brackets todos los días para desarrollar Brackets. Para - saber más sobre cómo utilizar estas características únicas, continua leyendo. + saber más sobre cómo utilizar estas características únicas, continúa leyendo.

Edición rápida de CSS y JavaScript

- Se acabó el estar saltando de documento en documento perdiendo de vista lo que estás haciendo. Mientras + Se acabó aquello de estar saltando de documento en documento perdiendo de vista lo que estás haciendo. Mientras estás escribiendo HTML, usa el atajo de teclado Cmd/Ctrl + E para abrir un editor rápido en línea con todo el contenido CSS relacionado. Ajusta tu CSS y oprime ESC para volver a tu HTML, o simplemente mantenga las reglas CSS abiertas para que pasen a formar parte de tu editor de HTML. Si pulsas ESC fuera de un editor rápido, todos se cerrarán a la vez. La edición rápida también - funciona con archivos LESS y SCSS files, incluyendo las reglas anidadas. + funciona con archivos LESS y SCSS, incluyendo las reglas anidadas.

¿Quieres verlo funcionando? Coloca tu cursor sobre la etiqueta y oprime Cmd/Ctrl + E. Deberías ver aparecer un editor rápido de CSS más arriba, mostrando la regla de - CSS que le afecta. La edición rápida funciona también en atributos de de tipo clase e id. También puedes + CSS que le afecta. La edición rápida funciona también en atributos de tipo clase e id. También puedes utilizarlo en tus archivos LESS o SCSS. Puedes crear nuevas reglas de la misma manera. Haz clic en una de las etiquetas de más arriba @@ -101,7 +101,7 @@

Edición rápida de CSS y JavaScript

Visualiza cambios en archivos HTML y CSS en vivo en el navegador

¿Conoces ese baile de "guardar/recargar" que llevamos años haciendo? ¿Ése en el que haces cambios en tu - editor, oprimes guardar, cambias al navegador y recargas para por fin poder ver el resultado? Con + editor, oprimes guardar, cambias al navegador y recargas para por fin poder ver el resultado? Con Brackets, ya no tienes que hacerlo.

@@ -161,7 +161,7 @@

¿Necesitas algo más? ¡Prueba una extensión!

Además de todas las bondades naturales de Brackets, nuestra amplia y creciente comunidad de desarrolladores de extensiones ha creado cientos de extensiones que añaden útiles funcionalidades. Si hay algo que - necesitas que Brackets no soporte, es bastante probable que alguien haya construido una extensión para + necesitas que Brackets no soporta, es bastante probable que alguien haya construido una extensión para ello. Para navegar o buscar en la lista de extensiones disponibles, selecciona Archivo > Gestionar extensiones... y haz clic en la pestaña "Disponibles". Cuando encuentres una que quieras, simplemente presiona el botón "Instalar" a su derecha. diff --git a/src/nls/es/strings.js b/src/nls/es/strings.js index 5764735fc70..df4c6d2e1eb 100644 --- a/src/nls/es/strings.js +++ b/src/nls/es/strings.js @@ -88,6 +88,7 @@ define({ // Application preferences corrupt error strings "ERROR_PREFS_CORRUPT_TITLE" : "Error leyendo las preferencias", "ERROR_PREFS_CORRUPT" : "El archivo de preferencias no tiene un formato JSON válido. El archivo se abrirá para que puedas corregir el formato. Luego deberás reiniciar {APP_NAME} para que los cambios surtan efecto.", + "ERROR_PROJ_PREFS_CORRUPT" : "El archivo de preferencias para el proyecto no tiene un formato JSON válido. El archivo se abrirá para que puedas corregir el formato. Luego deberás recargar el proyecto para que los cambios surtan efecto.", // Application error strings "ERROR_IN_BROWSER_TITLE" : "Vaya... parece que {APP_NAME} todavía no funciona en navegadores.", @@ -132,9 +133,9 @@ define({ "CONFIRM_FOLDER_DELETE_TITLE" : "Confirmar eliminación", "CONFIRM_FOLDER_DELETE" : "¿Estás seguro que deseas eliminar el directorio {0}?", "FILE_DELETED_TITLE" : "Archivo eliminado", - "EXT_MODIFIED_WARNING" : "{0} ha sido modificado en el disco.

¿Deseas guardar el archivo y sobrescribir esos cambios?", - "EXT_MODIFIED_MESSAGE" : "{0} ha sido modificado, pero también tiene cambios en {APP_NAME}.

¿Qué versión quieres conservar?", - "EXT_DELETED_MESSAGE" : "{0} ha sido eliminado, pero tiene cambios sin guardar en {APP_NAME}.

¿Quieres conservar tus cambios?", + "EXT_MODIFIED_WARNING" : "{0} ha sido modificado en el disco fuera de {APP_NAME}.

¿Deseas guardar el archivo y sobrescribir esos cambios?", + "EXT_MODIFIED_MESSAGE" : "{0} ha sido modificado en el disco fuera de {APP_NAME}, pero también tiene cambios en {APP_NAME}.

¿Qué versión quieres conservar?", + "EXT_DELETED_MESSAGE" : "{0} ha sido eliminado en el disco fuera de {APP_NAME}, pero tiene cambios sin guardar en {APP_NAME}.

¿Quieres conservar tus cambios?", // Generic dialog/button labels "DONE" : "Aceptar", @@ -192,12 +193,13 @@ define({ "FIND_IN_FILES_MORE_THAN" : "Más de ", "FIND_IN_FILES_PAGING" : "{0}—{1}", "FIND_IN_FILES_FILE_PATH" : "{0} {2} {1}", + "FIND_IN_FILES_INDEXING" : "Indexando archivos para la Búsqueda instantánea...", "FIND_IN_FILES_EXPAND_COLLAPSE" : "Ctrl/Cmd clic para expandir/colapsar todo", "REPLACE_IN_FILES_ERRORS_TITLE" : "Errores al reemplazar", "REPLACE_IN_FILES_ERRORS" : "Los siguientes archivos no fueron modificados porque cambiaron después de realizar la búsqueda o no pueden ser escritos.", "ERROR_FETCHING_UPDATE_INFO_TITLE" : "Error obteniendo información sobre actualizaciones", - "ERROR_FETCHING_UPDATE_INFO_MSG" : "Ocurrió un problema al obtener la información sobre las últimas actualizaciones desde el servidor. Por favor, asegúrate de estar conectado a internet y vuelve a intentarlo.", + "ERROR_FETCHING_UPDATE_INFO_MSG" : "Ocurrió un problema al obtener la información sobre las últimas actualizaciones desde el servidor. Por favor, asegúrate de estar conectado a Internet y vuelve a intentarlo.", // File exclusion filters "NEW_FILE_FILTER" : "Nuevo conjunto de filtros\u2026", @@ -317,6 +319,7 @@ define({ "CMD_FILE_SAVE_ALL" : "Guardar todo", "CMD_FILE_SAVE_AS" : "Guardar como\u2026", "CMD_LIVE_FILE_PREVIEW" : "Vista previa dinámica", + "CMD_TOGGLE_LIVE_PREVIEW_MB_MODE" : "Habilitar la ista previa dinámica experimental", "CMD_RELOAD_LIVE_PREVIEW" : "Recargar la Vista previa dinámica", "CMD_PROJECT_SETTINGS" : "Configuración del proyecto\u2026", "CMD_FILE_RENAME" : "Renombrar", @@ -362,11 +365,9 @@ define({ "CMD_ADD_NEXT_MATCH" : "Agregar la siguiente coincidencia a la selección", "CMD_SKIP_CURRENT_MATCH" : "Omitir y agregar la siguiente coincidencia", "CMD_FIND_IN_FILES" : "Buscar en archivos", - "CMD_FIND_IN_SELECTED" : "Buscar en el archivo/directorio seleccionado", "CMD_FIND_IN_SUBTREE" : "Buscar en\u2026", "CMD_REPLACE" : "Reemplazar", "CMD_REPLACE_IN_FILES" : "Reemplazar en archivos", - "CMD_REPLACE_IN_SELECTED" : "Reemplazar en el archivo/directorio seleccionado", "CMD_REPLACE_IN_SUBTREE" : "Reemplazar en\u2026", // View menu commands @@ -389,7 +390,7 @@ define({ "CMD_WORKING_SORT_TOGGLE_AUTO" : "Ordenación automática", "CMD_THEMES" : "Temas\u2026", - // Navigate menu Commands + // Navigate menu commands "NAVIGATE_MENU" : "Navegación", "CMD_QUICK_OPEN" : "Apertura rápida", "CMD_GOTO_LINE" : "Ir a la línea", @@ -402,6 +403,8 @@ define({ "CMD_CSS_QUICK_EDIT_NEW_RULE" : "Nueva regla", "CMD_NEXT_DOC" : "Documento siguiente", "CMD_PREV_DOC" : "Documento anterior", + "CMD_NEXT_DOC_LIST_ORDER" : "Document siguiente en la lista", + "CMD_PREV_DOC_LIST_ORDER" : "Document anterior en la lista", "CMD_SHOW_IN_TREE" : "Mostrar en el árbol de directorios", "CMD_SHOW_IN_EXPLORER" : "Mostrar en el Explorador", "CMD_SHOW_IN_FINDER" : "Mostrar en Finder", @@ -416,6 +419,7 @@ define({ "CMD_RELEASE_NOTES" : "Notas de la versión", "CMD_GET_INVOLVED" : "Involúcrese", "CMD_SHOW_EXTENSIONS_FOLDER" : "Abrir carpeta de extensiones", + "CMD_HEALTH_DATA_STATISTICS" : "Reporte de estadísticas", "CMD_HOMEPAGE" : "Página principal de {APP_TITLE}", "CMD_TWITTER" : "{TWITTER_NAME} en Twitter", "CMD_ABOUT" : "Acerca de {APP_TITLE}", @@ -445,7 +449,7 @@ define({ "GET_IT_NOW" : "¡Consíguelo ahora!", "PROJECT_SETTINGS_TITLE" : "Configuración del proyecto para: {0}", "PROJECT_SETTING_BASE_URL" : "URL base para Vista previa dinámica", - "PROJECT_SETTING_BASE_URL_HINT" : "(deja en blanco para urls de tipo \"file\")", + "PROJECT_SETTING_BASE_URL_HINT" : "Para usar un servidor local, ingresa una URL como http://localhost:8000/", "BASEURL_ERROR_INVALID_PROTOCOL" : "El protocolo {0} no está soportado por la Vista previa dinámica. Por favor, utiliza http: o https: .", "BASEURL_ERROR_SEARCH_DISALLOWED" : "La URL base no puede contener parámetros de búsqueda como \"{0}\".", "BASEURL_ERROR_HASH_DISALLOWED" : "La URL base no puede contener hashes como \"{0}\".", @@ -467,6 +471,8 @@ define({ "INSTALL" : "Instalar", "UPDATE" : "Actualizar", "REMOVE" : "Eliminar", + "DISABLE" : "Deshabilitar", + "ENABLE" : "Habilitar", "OVERWRITE" : "Sobrescribir", "CANT_REMOVE_DEV" : "Las extensiones en la carpeta \"dev\" se deben eliminar manualmente.", "CANT_UPDATE" : "La actualización no es compatible con esta versión de {APP_NAME}.", @@ -520,7 +526,7 @@ define({ "EXTENSION_LATEST_INCOMPATIBLE_NEWER" : "La versión {0} de esta extensión necesita una versión superior de {APP_NAME}. Puedes instalar la versión anterior {1}.", "EXTENSION_LATEST_INCOMPATIBLE_OLDER" : "La versión {0} de esta extensión sólo funciona con versiones anteriores de {APP_NAME}. Puedes instalar la versión anterior {1}.", "EXTENSION_NO_DESCRIPTION" : "Sin descripción", - "EXTENSION_MORE_INFO" : "Más información...", + "EXTENSION_MORE_INFO" : "Más información\u2026", "EXTENSION_ERROR" : "Error en la extensión", "EXTENSION_KEYWORDS" : "Palabras clave", "EXTENSION_INSTALLED" : "Instalada", @@ -535,15 +541,20 @@ define({ "EXTENSION_MANAGER_REMOVE_ERROR" : "No se pudo eliminar una o más extensiones: {0}. {APP_NAME} se recargará igualmente.", "EXTENSION_MANAGER_UPDATE" : "Actualizar extensión", "EXTENSION_MANAGER_UPDATE_ERROR" : "No se pudo actualizar una o más extensiones: {0}. {APP_NAME} se recargará igualmente.", + "EXTENSION_MANAGER_DISABLE" : "Deshabilitar extensiones", + "EXTENSION_MANAGER_DISABLE_ERROR" : "No se pudo deshabilitar una o más extensiones: {0}. {APP_NAME} se recargará igualmente.", "MARKED_FOR_REMOVAL" : "Marcada para eliminar", "UNDO_REMOVE" : "Deshacer", "MARKED_FOR_UPDATE" : "Marcada para actualizar", "UNDO_UPDATE" : "Deshacer", + "MARKED_FOR_DISABLING" : "Marcada para deshabilitar", + "UNDO_DISABLE" : "Deshacer", "CHANGE_AND_RELOAD_TITLE" : "Cambiar extensiones", "CHANGE_AND_RELOAD_MESSAGE" : "Para actualizar o eliminar las extensiones marcadas, necesitas recargar {APP_NAME}. Se solicitará confirmación para guardar los cambios pendientes.", "REMOVE_AND_RELOAD" : "Eliminar extensiones y recargar", "CHANGE_AND_RELOAD" : "Cambiar extensiones y recargar", "UPDATE_AND_RELOAD" : "Actualizar extensiones y recargar", + "DISABLE_AND_RELOAD" : "Deshabilitar extensiones y recargar", "PROCESSING_EXTENSIONS" : "Procesando los cambios en las extensiones\u2026", "EXTENSION_NOT_INSTALLED" : "No se pudo eliminar la extensión {0} porque no se encuentra instalada.", "NO_EXTENSIONS" : "Todavía no hay ninguna extensión instalada.
Haz clic en la pestaña Disponibles para empezar.", @@ -565,7 +576,6 @@ define({ /** * Unit names */ - "UNIT_PIXELS" : "píxeles", // extensions/default/DebugCommands @@ -575,6 +585,7 @@ define({ "CMD_REFRESH_WINDOW" : "Recargar con extensiones", "CMD_RELOAD_WITHOUT_USER_EXTS" : "Recargar sin extensiones", "CMD_NEW_BRACKETS_WINDOW" : "Nueva ventana de {APP_NAME}", + "CMD_LAUNCH_SCRIPT_MAC" : "Instalar acceso directo por línea de comandos", "CMD_SWITCH_LANGUAGE" : "Cambiar idioma", "CMD_RUN_UNIT_TESTS" : "Ejecutar tests", "CMD_SHOW_PERF_DATA" : "Mostrar información de rendimiento", @@ -582,7 +593,16 @@ define({ "CMD_LOG_NODE_STATE" : "Mostrar estado de Node en Consola", "CMD_RESTART_NODE" : "Reiniciar Node", "CMD_SHOW_ERRORS_IN_STATUS_BAR" : "Mostrar errores en la barra de estado", - "CMD_OPEN_BRACKETS_SOURCE" : "Abrir el código fuente de Brackets", + "CMD_OPEN_BRACKETS_SOURCE" : "Abrir el código fuente de {APP_NAME}", + + "CREATING_LAUNCH_SCRIPT_TITLE" : "Acceso directo a {APP_NAME} por línea de comandos", + "ERROR_CREATING_LAUNCH_SCRIPT" : "Ocurrió un error al instalar el acceso directo por línea de comandos. Por favor probá estas sugerencias de solución de problemas.

Razón: {0}", + "ERROR_CLTOOLS_RMFAILED" : "No se pudó eliminar el enlace simbólico existente /usr/local/bin/brackets.", + "ERROR_CLTOOLS_MKDIRFAILED" : "No se pudó crear el directorio /usr/local/bin.", + "ERROR_CLTOOLS_LNFAILED" : "No se pudó crear elenlace simbólico /usr/local/bin/brackets.", + "ERROR_CLTOOLS_SERVFAILED" : "Error interno.", + "ERROR_CLTOOLS_NOTSUPPORTED" : "El acceso directo por línea de comandos no es compatible con este sistema operativo.", + "LAUNCH_SCRIPT_CREATE_SUCCESS" : "¡Éxito! Ahora puedes abrir fácilmente {APP_NAME} desde la línea de comandos: brackets myFile.txt para abrir un archivo o brackets myFolder para cambiar de proyecto.

Aprende más acerca de como usar {APP_NAME} desde la línea de comandos.", "LANGUAGE_TITLE" : "Cambiar idioma", "LANGUAGE_MESSAGE" : "Idioma:", @@ -590,6 +610,14 @@ define({ "LANGUAGE_CANCEL" : "Cancelar", "LANGUAGE_SYSTEM_DEFAULT" : "Idioma predeterminado", + // extensions/default/HealthData + "HEALTH_DATA_NOTIFICATION" : "Preferencias del reporte de estadísticas", + "HEALTH_FIRST_POPUP_TITLE" : "Reporte de estadísticas de {APP_NAME}", + "HEALTH_DATA_DO_TRACK" : "Compartir información anónima sobre cómo utilizo {APP_NAME}", + "HEALTH_DATA_NOTIFICATION_MESSAGE" : "Para poder mejorar {APP_NAME}, enviamos periódicamente limitadas estadísticas anónimas a Adobe acerca de cómo se utiliza {APP_NAME}. Esta información ayuda a priorizar características a desarrollar, encontrar errores y problemas de usabilidad.

Puedes ver tus datos o elegir no compartir datos seleccionando Ayuda > Reporte de estadísticas.

Aprende más sobre el reporte de estadísticas de {APP_NAME}", + "HEALTH_DATA_PREVIEW" : "Reporte de estadísticas de {APP_NAME}", + "HEALTH_DATA_PREVIEW_INTRO" : "anónimas a Adobe acerca de cómo se utiliza {APP_NAME}. Esta información ayuda a priorizar características a desarrollar, encontrar errores y problemas de usabilidad. Aprende más sobre el Reporte de estadísticas de {APP_NAME} y como beneficia a la comunidad de {APP_NAME} mientras protege tu privacidad.

A continuación hay una vista previa de la información que será enviada en el siguiente Reporte de estadísticas si está habilitado.

", + // extensions/default/InlineTimingFunctionEditor "INLINE_TIMING_EDITOR_TIME" : "Tiempo", "INLINE_TIMING_EDITOR_PROGRESSION" : "Progresión", @@ -611,7 +639,7 @@ define({ "CMD_SHOW_PARAMETER_HINT" : "Mostrar sugerencias de parámetros", "NO_ARGUMENTS" : "", "DETECTED_EXCLUSION_TITLE" : "Problema de inferencia con un archivo JavaScript", - "DETECTED_EXCLUSION_INFO" : "Brackets se encontró con problemas procesando: {0}.

Este archivo no volverá a ser procesado para las sugerencias de código, saltar a la definición o para la edición rápida. Para reactivar este archivo, abra el archivo .brackets.json en su proyecto y edite jscodehints.detectedExclusions

Esto es probablemente un error en Brackets. Si puede proporcionar una copia de este archivo, por favor envíe un informe con un vínculo a dicho archivo.", + "DETECTED_EXCLUSION_INFO" : "{APP_NAME} se encontró con problemas procesando: {0}.

Este archivo no volverá a ser procesado para las sugerencias de código, saltar a la definición o para la edición rápida. Para reactivar este archivo, abra el archivo .brackets.json en su proyecto y edite jscodehints.detectedExclusions

Esto es probablemente un error en {APP_NAME}. Si puede proporcionar una copia de este archivo, por favor envíe un informe con un vínculo a dicho archivo.", // extensions/default/JSLint "JSLINT_NAME" : "JSLint", @@ -623,7 +651,117 @@ define({ "CMD_TOGGLE_RECENT_PROJECTS" : "Proyectos recientes", // extensions/default/WebPlatformDocs - "DOCS_MORE_LINK" : "Más" + "DOCS_MORE_LINK" : "Más", + + // extensions/default/CodeFolding + "COLLAPSE_ALL" : "Colapsar todo", + "EXPAND_ALL" : "Expandir todo", + "COLLAPSE_CURRENT" : "Colapsar actual", + "EXPAND_CURRENT" : "Expandir actual", + + // Descriptions of core preferences + "DESCRIPTION_CLOSE_BRACKETS" : "true para cerrar automáticamente las llaves, los corchetes y los paréntesis", + "DESCRIPTION_CLOSE_OTHERS_ABOVE" : "false para eliminar \"Cerrar otros por encima\" del menú contextual del Área de trabajo", + "DESCRIPTION_CLOSE_OTHERS_BELOW" : "false para eliminar \"Cerrar otros por debajo\" del menú contextual del Área de trabajo", + "DESCRIPTION_CLOSE_OTHERS" : "false para eliminar \"Cerrar otros\" del menú contextual del Área de trabajo", + "DESCRIPTION_CLOSE_TAGS" : "Configura las opciones de cierre de etiquetas automático", + "DESCRIPTION_CLOSE_TAGS_DONT_CLOSE_TAGS" : "Un vector de etiquetas que no deben cerrarse automáticamente", + "DESCRIPTION_CLOSE_TAGS_WHEN_OPENING" : "Cerrar cuando \">\" de la etiqueta de apertura es tipeado", + "DESCRIPTION_CLOSE_TAGS_WHEN_CLOSING" : "Cerrar cuando \"/\" de la etiqueta de clausura es tipeado", + "DESCRIPTION_CLOSE_TAGS_INDENT_TAGS" : "Un vector de etiquetas que cuando se cierran generan una linea en blanco entre las etiquetas", + "DESCRIPTION_CODE_FOLDING_ALWAY_USE_INDENT_FOLD" : "true para siempre generar marcadores plegables cuando cambia el nivel de indentación", + "DESCRIPTION_CODE_FOLDING_ENABLED" : "true para habilitar el colapsado del código", + "DESCRIPTION_CODE_FOLDING_HIDE_UNTIL_MOUSEOVER" : "true para hacer marcadores de sección plegables visible sólo cuando se mueve el cursor sobre el espacio a la izquierda del código", + "DESCRIPTION_CODE_FOLDING_MAX_FOLD_LEVEL" : "Limita a cuántos niveles de profundidad Colapsar todo aplica", + "DESCRIPTION_CODE_FOLDING_MIN_FOLD_SIZE" : "Mínima cantidad de líneas antes de que aparezca un icono de sección plegable", + "DESCRIPTION_CODE_FOLDING_SAVE_FOLD_STATES" : "true para recordar la secciones colapsadas luego de cerrar y abrir un archivo o proyecto", + "DESCRIPTION_ATTR_HINTS" : "Activar/desactivar las sugerencias de código para los atributos en HTML", + "DESCRIPTION_CSS_PROP_HINTS" : "Activar/desactivar las sugerencias de código para las propiedades en CSS/LESS/SCSS", + "DESCRIPTION_JS_HINTS" : "Activar/desactivar las sugerencias de código en JavaScript", + "DESCRIPTION_PREF_HINTS" : "Activar/desactivar las sugerencias de código para las Preferences", + "DESCRIPTION_SPECIAL_CHAR_HINTS" : "Activar/desactivar las sugerencias de código para las entidades en HTML", + "DESCRIPTION_SVG_HINTS" : "Activar/desactivar las sugerencias de código en SVG", + "DESCRIPTION_HTML_TAG_HINTS" : "Activar/desactivar las sugerencias de código para las etiquetas en HTML", + "DESCRIPTION_URL_CODE_HINTS" : "Activar/desactivar las sugerencias de código para las URLs en HTML & CSS/LESS/SCSS", + "DESCRIPTION_DRAG_DROP_TEXT" : "Activar/desactivar la funcionalidad de arrastrar y soltar", + "DESCRIPTION_HEALTH_DATA_TRACKING" : "Habilitar el seguimiento de los Reportes de estadísticas", + "DESCRIPTION_HIGHLIGHT_MATCHES" : "Habilita el resaltado automático de cadenas que coinciden en el documento", + "DESCRIPTION_HIGHLIGHT_MATCHES_SHOW_TOKEN" : "Resaltar todas las cadenas que coincidan con la cadena donde el cursor se encuentra (ninguna selección es necesaria)", + "DESCRIPTION_HIGHLIGHT_MATCHES_WORDS_ONLY" : "Resaltar sólo cuando la selección es una cadena completa", + "DESCRIPTION_INSERT_HINT_ON_TAB" : "true para insertar la sugerencia de código al presionar tab", + "DESCRIPTION_NO_HINTS_ON_DOT" : "true para no mostrar sugerencias de código automáticamente en JS cuando \".\" es tipeado", + "DESCRIPTION_JSLINT_OPTIONS" : "Un objeto con las opciones por defecto de JSLint", + "DESCRIPTION_JSLINT_OPTIONS_ASS" : "true para permitir expresiones de asignación", + "DESCRIPTION_JSLINT_OPTIONS_BITWISE" : "true para permitir los operadores bit a bit", + "DESCRIPTION_JSLINT_OPTIONS_BROWSER" : "true si las variables/funciones globales del navegador deben estar predefinidas", + "DESCRIPTION_JSLINT_OPTIONS_CLOSURE" : "true para permitir modismos de Google Closure", + "DESCRIPTION_JSLINT_OPTIONS_CONTINUE" : "true para permitir la declaración \"continue\"", + "DESCRIPTION_JSLINT_OPTIONS_COUCH" : "true si las variables/funciones globales de CouchDB deben estar predefinidas", + "DESCRIPTION_JSLINT_OPTIONS_DEBUG" : "true para permitir declaraciones del depurador", + "DESCRIPTION_JSLINT_OPTIONS_DEVEL" : "true si las variables/funciones globales del navegador para el desarrollo deben estar predefinidas", + "DESCRIPTION_JSLINT_OPTIONS_EQEQ" : "true para permitir == y !=", + "DESCRIPTION_JSLINT_OPTIONS_ES6" : "true si las variables/funciones globales de ES6 deben estar predefinidas", + "DESCRIPTION_JSLINT_OPTIONS_EVIL" : "true para permitir eval", + "DESCRIPTION_JSLINT_OPTIONS_FORIN" : "true para permitir \"for ... in\" sin filtrar", + "DESCRIPTION_JSLINT_OPTIONS_INDENT" : "Establece un ancho para el tab", + "DESCRIPTION_JSLINT_OPTIONS_MAXERR" : "La cantidad máxima de advertencias reportadas", + "DESCRIPTION_JSLINT_OPTIONS_MAXLEN" : "La cantidad máxima de caracters por línea", + "DESCRIPTION_JSLINT_OPTIONS_NEWCAP" : "true para permitir constructores sin mayúsculas", + "DESCRIPTION_JSLINT_OPTIONS_NODE" : "true si las variables/funciones globales de Node.js deben estar predefinidas", + "DESCRIPTION_JSLINT_OPTIONS_NOMEN" : "true para permitir el guión bajo delante de los identificadores", + "DESCRIPTION_JSLINT_OPTIONS_PASSFAIL" : "true para parar en el primer error", + "DESCRIPTION_JSLINT_OPTIONS_PLUSPLUS" : "true para permitir ++ y --", + "DESCRIPTION_JSLINT_OPTIONS_REGEXP" : "true para permitir . y [^...]. en RegExp", + "DESCRIPTION_JSLINT_OPTIONS_RHINO" : "true si las variables/funciones globales de Rhino deben estar predefinidas", + "DESCRIPTION_JSLINT_OPTIONS_SLOPPY" : "true para permitir que falte el pragma `use strict`", + "DESCRIPTION_JSLINT_OPTIONS_STUPID" : "true si los métodos bloqueantes ('...Sync') se pueden usar", + "DESCRIPTION_JSLINT_OPTIONS_SUB" : "true para permitir subíndices ineficiente", + "DESCRIPTION_JSLINT_OPTIONS_TODO" : "true para permitir comentarios TODO", + "DESCRIPTION_JSLINT_OPTIONS_UNPARAM" : "true para permitir parámetros no usados", + "DESCRIPTION_JSLINT_OPTIONS_VARS" : "true para permitir más de 1 var en una función", + "DESCRIPTION_JSLINT_OPTIONS_WHITE" : "true para ignorar las reglas espaciado", + "DESCRIPTION_LANGUAGE" : "Preferencias específicas de un lenguaje", + "DESCRIPTION_LANGUAGE_FILE_EXTENSIONS" : "Asignaciones adicionales de extensión de archivo a nombre del lenguaje", + "DESCRIPTION_LANGUAGE_FILE_NAMES" : "Asignaciones adicionales de nombre de archivo a nombre del lenguaje", + "DESCRIPTION_LINTING_ENABLED" : "true para habilitar la inspección del código", + "DESCRIPTION_ASYNC_TIMEOUT" : "El tiempo en milisegundos para esperar a los inspectores de código asincrónicos", + "DESCRIPTION_LINTING_PREFER" : "Vector de inspectores de código para ejecutar primero", + "DESCRIPTION_LIVE_DEV_MULTIBROWSER" : "true para habilitar la Vista previa dinámica experimental", + "DESCRIPTION_USE_PREFERED_ONLY" : "true para ejecutar solo los proveedores especificados en linting.prefer", + "DESCRIPTION_MAX_CODE_HINTS" : "Máxima cantidad de sugerencias de código mostradas", + "DESCRIPTION_PATH" : "Preferencias especificas para una ruta de archivo", + "DESCRIPTION_PROXY" : "La URL del servidor proxy utilizada para la instalación de extensiones", + "DESCRIPTION_SCROLL_PAST_END" : "true permitir el desplazamiento más allá del final del documento", + "DESCRIPTION_SHOW_CODE_HINTS" : "false para deshabilitar todas las sugerencias de código", + "DESCRIPTION_SHOW_CURSOR_WHEN_SELECTING" : "Mantiene el cursor intermitente visible cuando se tiene una selección de texto", + "DESCRIPTION_SHOW_LINE_NUMBERS" : "true para mostrar los números de líne a la izquierda del código", + "DESCRIPTION_SMART_INDENT" : "Indentar automáticamente cuando se crea un nuevo bloque", + "DESCRIPTION_SOFT_TABS" : "false para deshabilitar el comportamiento de \"soft tabs\"", + "DESCRIPTION_SORT_DIRECTORIES_FIRST" : "true para ordenar los directorios primero en el árbol del proyecto", + "DESCRIPTION_SPACE_UNITS" : "Cantidad de espacios para utilizar en la indentación basada en espacios", + "DESCRIPTION_STATIC_SERVER_PORT" : "Número de puerto que el servidor utilizará para la Vista previa dinámica", + "DESCRIPTION_STYLE_ACTIVE_LINE" : "true para resaltar la línea en la que se encuentra el cursor", + "DESCRIPTION_TAB_SIZE" : "Cantidad de espacios utilizados para el tab", + "DESCRIPTION_USE_TAB_CHAR" : "true para usar tabs en vez de espacios", + "DESCRIPTION_UPPERCASE_COLORS" : "true para generar color en mayúsculas en el editor de colores", + "DESCRIPTION_WORD_WRAP" : "Ajustar líneas que sobrepasen el ancho de la ventana", + "DESCRIPTION_DETECTED_EXCLUSIONS" : "Una lista de los archivos que se ha detectado que causan que Tern no funcione correctamente", + "DESCRIPTION_INFERENCE_TIMEOUT" : "La cantidad de veces después de la cual Tern dejara de intentar entender los archivos", + "DESCRIPTION_SHOW_ERRORS_IN_STATUS_BAR" : "true para mostrar errores en la barra de estado", + "DESCRIPTION_QUICK_VIEW_ENABLED" : "true para habilitar la Vista rápida", + "DESCRIPTION_EXTENSION_LESS_IMAGE_PREVIEW" : "true para mostrar vistas previas de imágenes para URLs sin extensión", + "DESCRIPTION_THEME" : "Seleccionar un tema para {APP_NAME}", + "DESCRIPTION_USE_THEME_SCROLLBARS" : "true para habilitar la barra de desplazamiento customizada", + "DESCRIPTION_LINTING_COLLAPSED" : "true para colapsar el panel de inspección de código", + "DESCRIPTION_FONT_FAMILY" : "Cambiar la fuente", + "DESCRIPTION_FONT_SIZE" : "Cambiar el tamaño de la fuente; e.j, 13px", + "DESCRIPTION_FIND_IN_FILES_NODE" : "True to para habilitar búsquedas basadas en node", + "DESCRIPTION_FIND_IN_FILES_INSTANT" : "True to para habilitar la búsqueda instantánea", + "DESCRIPTION_FONT_SMOOTHING" : "Sólo para Mac: \"subpixel-antialiased\" para habilitar sub-pixel antialiasing o \"antialiased\" para antialiasing en escala de grises", + "DESCRIPTION_OPEN_PREFS_IN_SPLIT_VIEW" : "false para deshabilitar la apertura del archivo de preferencias en la vista dividida", + "DESCRIPTION_OPEN_USER_PREFS_IN_SECOND_PANE" : "false para abrir el archivo de preferencias en el panel de la izquierda/arriba", + "DEFAULT_PREFERENCES_JSON_HEADER_COMMENT" : "/*\n * Éste es un archivo únicamente de lectura con las preferencias soportadas\n * por {APP_NAME}.\n * Podes usar este archivo como referencia para modificar tu archivo de\n * preferencias \"brackets.json\" abierto en el otro panel.\n * Para más información sobre como usar las preferencias dentro de\n * {APP_NAME}, podes consultar la página web https://github.com/adobe/brackets/wiki/How-to-Use-Brackets#preferences\n */", + "DEFAULT_PREFERENCES_JSON_DEFAULT" : "Por defecto" }); -/* Last translated for c292e896761bc7d451a9e3b95bedd20d6b355d77 */ +/* Last translated for 1e5ba8f612dcf983d3cbffbbf1bfe455a90788c8 */ From c8e59a82ccff2d0927f546b25c6512f55409a57d Mon Sep 17 00:00:00 2001 From: "walf (Localization Automation)" Date: Thu, 23 Jul 2015 01:01:33 -0700 Subject: [PATCH 17/26] Updated by ALF automation. --- src/nls/fr/strings.js | 8 ++++---- src/nls/ja/strings.js | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index ebc943b7542..4499755c03e 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -194,7 +194,7 @@ define({ "FIND_IN_FILES_PAGING": "{0}—{1}", "FIND_IN_FILES_FILE_PATH": "{0} {2} {1}", "FIND_IN_FILES_EXPAND_COLLAPSE": "Cliquer tout en appuyant sur Ctrl/Cmd pour tout développer/tout réduire", - "FIND_IN_FILES_INDEXING": "[8389636] !é=Indexing for Instant Search...=!", + "FIND_IN_FILES_INDEXING": "[8389636] !é=Indexing for Instant Search\u2026=!", "REPLACE_IN_FILES_ERRORS_TITLE": "Erreurs de remplacement", "REPLACE_IN_FILES_ERRORS": "Les fichiers suivants n’ont pas été traités car ils ont été modifiés après l’opération de recherche ou ne sont pas accessibles en écriture.", @@ -754,9 +754,9 @@ define({ "DESCRIPTION_USE_THEME_SCROLLBARS": "vrai pour autoriser les barres de défilement personnalisées", "DESCRIPTION_LINTING_COLLAPSED": "vrai pour réduire le panneau d’analyse lint", "DESCRIPTION_FONT_FAMILY": "Changer de famille de polices", - "DESCRIPTION_FONT_SIZE": "[8375220] !é=Change font size; e.g, 13px=!", - "DESCRIPTION_FIND_IN_FILES_NODE": "[8389635] !é=True to enable node based search=!", - "DESCRIPTION_FIND_IN_FILES_INSTANT": "[8389634] !é=True to enable instant search=!", + "DESCRIPTION_FONT_SIZE": "[8375220] !é=Change font size; e.g. 13px=!", + "DESCRIPTION_FIND_IN_FILES_NODE": "[8389635] !é=true to enable node based search=!", + "DESCRIPTION_FIND_IN_FILES_INSTANT": "[8389634] !é=true to enable instant search=!", "DESCRIPTION_FONT_SMOOTHING": "Mac uniquement : « subpixel-antialiased » pour activer l’anticrénelage (lissage) des sous-pixels ou « antialiased » pour l’anticrénelage des niveaux de gris", "DESCRIPTION_OPEN_PREFS_IN_SPLIT_VIEW": "faux pour désactiver l’ouverture du fichier de préférences en mode fractionné", "DESCRIPTION_OPEN_USER_PREFS_IN_SECOND_PANE": "faux pour ouvrir le fichier de préférences de l’utilisateur dans le volet gauche/supérieur", diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index 58d59d3a13d..58be8c7ed9b 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -194,7 +194,7 @@ define({ "FIND_IN_FILES_PAGING": "{0}—{1}", "FIND_IN_FILES_FILE_PATH": "{0} {2} {1}", "FIND_IN_FILES_EXPAND_COLLAPSE": "Ctrl / Command キーをクリックしてすべて展開 / 折りたたみ", - "FIND_IN_FILES_INDEXING": "!能=[8389636] Indexing for Instant Search..._=!", + "FIND_IN_FILES_INDEXING": "!能=[8389636] Indexing for Instant Search\u2026_=!", "REPLACE_IN_FILES_ERRORS_TITLE": "置換エラー", "REPLACE_IN_FILES_ERRORS": "次のファイルは検索の後で変更されているか、書き込むことができないため、変更されていません。", @@ -754,9 +754,9 @@ define({ "DESCRIPTION_USE_THEME_SCROLLBARS": "カスタムスクロールバーを許可するには true", "DESCRIPTION_LINTING_COLLAPSED": "構文チェックパネルを閉じるには true", "DESCRIPTION_FONT_FAMILY": "フォントファミリーを変更", - "DESCRIPTION_FONT_SIZE": "!能=[8375220] Change font size; e.g, 13px_=!", - "DESCRIPTION_FIND_IN_FILES_NODE": "!能=[8389635] True to enable node based search_=!", - "DESCRIPTION_FIND_IN_FILES_INSTANT": "!能=[8389634] True to enable instant search_=!", + "DESCRIPTION_FONT_SIZE": "!能=[8375220] Change font size; e.g. 13px_=!", + "DESCRIPTION_FIND_IN_FILES_NODE": "!能=[8389635] true to enable node based search_=!", + "DESCRIPTION_FIND_IN_FILES_INSTANT": "!能=[8389634] true to enable instant search_=!", "DESCRIPTION_FONT_SMOOTHING": "Mac のみ : サブピクセルアンチエイリアスを有効にするには subpixel-antialiased、グレースケールアンチエイリアスの場合は antialiased", "DESCRIPTION_OPEN_PREFS_IN_SPLIT_VIEW": "分割ビューで環境設定ファイルを開けないようにするには false", "DESCRIPTION_OPEN_USER_PREFS_IN_SECOND_PANE": "左側/上部のペインでユーザーの環境設定ファイルを開くには false", From 11e7341e812a833bd13c1ded201a9346187690a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Dvo=C5=99=C3=A1k?= Date: Thu, 23 Jul 2015 12:03:55 +0200 Subject: [PATCH 18/26] Czech translation for ed57a2c --- samples/cs/Getting Started/index.html | 2 +- src/nls/cs/strings.js | 7 +++++-- src/nls/cs/urls.js | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/samples/cs/Getting Started/index.html b/samples/cs/Getting Started/index.html index bf00a0aae7c..53653e18880 100644 --- a/samples/cs/Getting Started/index.html +++ b/samples/cs/Getting Started/index.html @@ -206,4 +206,4 @@

Zapojte se

--> - \ No newline at end of file + \ No newline at end of file diff --git a/src/nls/cs/strings.js b/src/nls/cs/strings.js index fa6e93e8f90..a3e4860b7f8 100644 --- a/src/nls/cs/strings.js +++ b/src/nls/cs/strings.js @@ -194,6 +194,7 @@ define({ "FIND_IN_FILES_PAGING" : "{0}—{1}", "FIND_IN_FILES_FILE_PATH" : "Soubor {0} ve složce {1}", "FIND_IN_FILES_EXPAND_COLLAPSE" : "Ctrl/Cmd klik pro rozbalení/sbalení všeho", + "FIND_IN_FILES_INDEXING" : "Indexování pro okamžité vyhledávání\u2026", "REPLACE_IN_FILES_ERRORS_TITLE" : "Nahradit chyby", "REPLACE_IN_FILES_ERRORS" : "Následující soubory nebyly změněny, protože se změnily po hledání nebo do nich nelze zapisovat.", @@ -741,7 +742,7 @@ define({ "DESCRIPTION_STATIC_SERVER_PORT" : "Síťový port, který by zabudovaný server měl použít pro živý náhled", "DESCRIPTION_STYLE_ACTIVE_LINE" : "true ke zvýraznění řádku, na kterém se nachází kurzor, barvou na pozadí", "DESCRIPTION_TAB_SIZE" : "Počet zobrazených mezer místo tabulátoru", - "DESCRIPTION_USE_TAB_CHAR" : "true k použití tabulátorů místo mezer", + "DESCRIPTION_USE_TAB_CHAR" : "true k používání tabulátorů místo mezer", "DESCRIPTION_UPPERCASE_COLORS" : "true k vygenerování hex barev velkými písmeny v Inline Color Editor", "DESCRIPTION_WORD_WRAP" : "Zalomit řádky přesahující šířku viewportu", "DESCRIPTION_DETECTED_EXCLUSIONS" : "Seznam souborů, u kterých bylo zjištěno, že způsobují, že se Tern vymkne kontrole", @@ -754,6 +755,8 @@ define({ "DESCRIPTION_LINTING_COLLAPSED" : "true ke skrytí panelu linteru", "DESCRIPTION_FONT_FAMILY" : "Změnit písmo", "DESCRIPTION_FONT_SIZE" : "Změnit velikost písma, např. 13px", + "DESCRIPTION_FIND_IN_FILES_NODE" : "true k povolení vyhledávání založeného na Node", + "DESCRIPTION_FIND_IN_FILES_INSTANT" : "true k povolení okamžitého vyhledávání", "DESCRIPTION_FONT_SMOOTHING" : "Pouze pro Mac: \"subpixel-antialiased\" k povolení sub-pixel vyhlazování nebo \"antialiased\" k vyhlazování v odstínech šedi", "DESCRIPTION_OPEN_PREFS_IN_SPLIT_VIEW" : "false k zamezení otevírání souboru s preferencemi v rozděleném editoru", "DESCRIPTION_OPEN_USER_PREFS_IN_SECOND_PANE" : "false k otevření souboru s preferencemi v levém/horním panelu", @@ -761,4 +764,4 @@ define({ "DEFAULT_PREFERENCES_JSON_DEFAULT" : "Výchozí" }); -/* Last translated for 473f8f059728c813073732676de6832d04bc94b8 */ +/* Last translated for ed57a2cfd8132224ebee91365ba50f8f718f165f */ \ No newline at end of file diff --git a/src/nls/cs/urls.js b/src/nls/cs/urls.js index ec3aba4b050..bf2d21bb100 100644 --- a/src/nls/cs/urls.js +++ b/src/nls/cs/urls.js @@ -29,4 +29,4 @@ define({ "GETTING_STARTED" : "cs/Getting Started", "ADOBE_THIRD_PARTY" : "http://www.adobe.com/go/thirdparty_cz/", "WEB_PLATFORM_DOCS_LICENSE" : "http://creativecommons.org/licenses/by/3.0/deed.cs" -}); +}); \ No newline at end of file From 9ae33c5badf75447c9c46ffe8ffbcf90c39d10ff Mon Sep 17 00:00:00 2001 From: "walf (Localization Automation)" Date: Thu, 23 Jul 2015 03:29:17 -0700 Subject: [PATCH 19/26] Updated by ALF automation. --- src/nls/fr/strings.js | 8 ++++---- src/nls/ja/strings.js | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index 4499755c03e..714b1888254 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -194,7 +194,7 @@ define({ "FIND_IN_FILES_PAGING": "{0}—{1}", "FIND_IN_FILES_FILE_PATH": "{0} {2} {1}", "FIND_IN_FILES_EXPAND_COLLAPSE": "Cliquer tout en appuyant sur Ctrl/Cmd pour tout développer/tout réduire", - "FIND_IN_FILES_INDEXING": "[8389636] !é=Indexing for Instant Search\u2026=!", + "FIND_IN_FILES_INDEXING": "Indexing for Instant Search\u2026", "REPLACE_IN_FILES_ERRORS_TITLE": "Erreurs de remplacement", "REPLACE_IN_FILES_ERRORS": "Les fichiers suivants n’ont pas été traités car ils ont été modifiés après l’opération de recherche ou ne sont pas accessibles en écriture.", @@ -754,9 +754,9 @@ define({ "DESCRIPTION_USE_THEME_SCROLLBARS": "vrai pour autoriser les barres de défilement personnalisées", "DESCRIPTION_LINTING_COLLAPSED": "vrai pour réduire le panneau d’analyse lint", "DESCRIPTION_FONT_FAMILY": "Changer de famille de polices", - "DESCRIPTION_FONT_SIZE": "[8375220] !é=Change font size; e.g. 13px=!", - "DESCRIPTION_FIND_IN_FILES_NODE": "[8389635] !é=true to enable node based search=!", - "DESCRIPTION_FIND_IN_FILES_INSTANT": "[8389634] !é=true to enable instant search=!", + "DESCRIPTION_FONT_SIZE": "Change font size; e.g. 13px", + "DESCRIPTION_FIND_IN_FILES_NODE": "true to enable node based search", + "DESCRIPTION_FIND_IN_FILES_INSTANT": "true to enable instant search", "DESCRIPTION_FONT_SMOOTHING": "Mac uniquement : « subpixel-antialiased » pour activer l’anticrénelage (lissage) des sous-pixels ou « antialiased » pour l’anticrénelage des niveaux de gris", "DESCRIPTION_OPEN_PREFS_IN_SPLIT_VIEW": "faux pour désactiver l’ouverture du fichier de préférences en mode fractionné", "DESCRIPTION_OPEN_USER_PREFS_IN_SECOND_PANE": "faux pour ouvrir le fichier de préférences de l’utilisateur dans le volet gauche/supérieur", diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index 58be8c7ed9b..68a3b6e005e 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -194,7 +194,7 @@ define({ "FIND_IN_FILES_PAGING": "{0}—{1}", "FIND_IN_FILES_FILE_PATH": "{0} {2} {1}", "FIND_IN_FILES_EXPAND_COLLAPSE": "Ctrl / Command キーをクリックしてすべて展開 / 折りたたみ", - "FIND_IN_FILES_INDEXING": "!能=[8389636] Indexing for Instant Search\u2026_=!", + "FIND_IN_FILES_INDEXING": "Indexing for Instant Search\u2026", "REPLACE_IN_FILES_ERRORS_TITLE": "置換エラー", "REPLACE_IN_FILES_ERRORS": "次のファイルは検索の後で変更されているか、書き込むことができないため、変更されていません。", @@ -754,9 +754,9 @@ define({ "DESCRIPTION_USE_THEME_SCROLLBARS": "カスタムスクロールバーを許可するには true", "DESCRIPTION_LINTING_COLLAPSED": "構文チェックパネルを閉じるには true", "DESCRIPTION_FONT_FAMILY": "フォントファミリーを変更", - "DESCRIPTION_FONT_SIZE": "!能=[8375220] Change font size; e.g. 13px_=!", - "DESCRIPTION_FIND_IN_FILES_NODE": "!能=[8389635] true to enable node based search_=!", - "DESCRIPTION_FIND_IN_FILES_INSTANT": "!能=[8389634] true to enable instant search_=!", + "DESCRIPTION_FONT_SIZE": "Change font size; e.g. 13px", + "DESCRIPTION_FIND_IN_FILES_NODE": "true to enable node based search", + "DESCRIPTION_FIND_IN_FILES_INSTANT": "true to enable instant search", "DESCRIPTION_FONT_SMOOTHING": "Mac のみ : サブピクセルアンチエイリアスを有効にするには subpixel-antialiased、グレースケールアンチエイリアスの場合は antialiased", "DESCRIPTION_OPEN_PREFS_IN_SPLIT_VIEW": "分割ビューで環境設定ファイルを開けないようにするには false", "DESCRIPTION_OPEN_USER_PREFS_IN_SECOND_PANE": "左側/上部のペインでユーザーの環境設定ファイルを開くには false", From 1c7530cff722789b7d61b5b886c8ced6e77ca726 Mon Sep 17 00:00:00 2001 From: abose Date: Thu, 23 Jul 2015 16:48:18 +0530 Subject: [PATCH 20/26] on a fresh install, always return empty data if no stored data. --- src/utils/HealthLogger.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/utils/HealthLogger.js b/src/utils/HealthLogger.js index fcdcfc5e9ad..5828817be8e 100644 --- a/src/utils/HealthLogger.js +++ b/src/utils/HealthLogger.js @@ -60,7 +60,8 @@ define(function (require, exports, module) { * @return {Object} Health Data aggregated till now */ function getStoredHealthData() { - return PreferencesManager.getViewState(HEALTH_DATA_STATE_KEY); + var storedData = PreferencesManager.getViewState(HEALTH_DATA_STATE_KEY) || {}; + return storedData; } /** From b5c794af1fc5102be4c64dab7a66d04c98163475 Mon Sep 17 00:00:00 2001 From: Praful Kumar Vaishnav Date: Fri, 24 Jul 2015 11:49:43 +0530 Subject: [PATCH 21/26] Removing hardcoded String --- src/htmlContent/extension-manager-view-item.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/htmlContent/extension-manager-view-item.html b/src/htmlContent/extension-manager-view-item.html index 9e299e280b7..bb3782e5ed1 100644 --- a/src/htmlContent/extension-manager-view-item.html +++ b/src/htmlContent/extension-manager-view-item.html @@ -91,7 +91,7 @@ {{Strings.MARKED_FOR_REMOVAL}} ({{Strings.UNDO_REMOVE}}) {{/isMarkedForRemoval}} {{#isMarkedForDisabling}} - Marked for disabling ({{Strings.UNDO_DISABLE}}) + {{Strings.MARKED_FOR_DISABLING}} ({{Strings.UNDO_DISABLE}}) {{/isMarkedForDisabling}} {{#isMarkedForUpdate}} {{Strings.MARKED_FOR_UPDATE}} ({{Strings.UNDO_UPDATE}}) From 76d80ae47a6097104200fb99192988a1f36d6fca Mon Sep 17 00:00:00 2001 From: "walf (Localization Automation)" Date: Fri, 24 Jul 2015 02:13:24 -0700 Subject: [PATCH 22/26] Updated by ALF automation. --- src/nls/ja/strings.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index 68a3b6e005e..1bc13594201 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -403,8 +403,8 @@ define({ "CMD_CSS_QUICK_EDIT_NEW_RULE": "新規ルール", "CMD_NEXT_DOC": "次の文書", "CMD_PREV_DOC": "前の文書", - "CMD_NEXT_DOC_LIST_ORDER": "リストの次のドキュメント", - "CMD_PREV_DOC_LIST_ORDER": "リストの前のドキュメント", + "CMD_NEXT_DOC_LIST_ORDER": "リストの次の文書", + "CMD_PREV_DOC_LIST_ORDER": "リストの前の文書", "CMD_SHOW_IN_TREE": "ファイルツリー内で表示", "CMD_SHOW_IN_EXPLORER": "エクスプローラーで表示", "CMD_SHOW_IN_FINDER": "Finder で表示", From 7a0ea71156e1efe0d7016145535f8358b4b326e0 Mon Sep 17 00:00:00 2001 From: Praful Kumar Vaishnav Date: Fri, 24 Jul 2015 15:29:38 +0530 Subject: [PATCH 23/26] Checking the registry is theme is present and then logging it. --- .../default/HealthData/HealthDataManager.js | 11 +++-- .../default/HealthData/HealthDataUtils.js | 47 +++++++++++++++++-- 2 files changed, 52 insertions(+), 6 deletions(-) diff --git a/src/extensions/default/HealthData/HealthDataManager.js b/src/extensions/default/HealthData/HealthDataManager.js index 9562a61a51e..09afbf15ff5 100644 --- a/src/extensions/default/HealthData/HealthDataManager.js +++ b/src/extensions/default/HealthData/HealthDataManager.js @@ -36,7 +36,6 @@ define(function (require, exports, module) { uuid = require("thirdparty/uuid"); var prefs = PreferencesManager.getExtensionPrefs("healthData"); - var themesPref = PreferencesManager.getExtensionPrefs("themes"); prefs.definePreference("healthDataTracking", "boolean", true, { description: Strings.DESCRIPTION_HEALTH_DATA_TRACKING @@ -71,7 +70,6 @@ define(function (require, exports, module) { oneTimeHealthData.osLanguage = brackets.app.language; oneTimeHealthData.bracketsLanguage = brackets.getLocale(); oneTimeHealthData.bracketsVersion = brackets.metadata.version; - oneTimeHealthData.bracketsTheme = themesPref.get("theme"); $.extend(oneTimeHealthData, HealthLogger.getAggregatedHealthData()); HealthDataUtils.getUserInstalledExtensions() @@ -79,7 +77,14 @@ define(function (require, exports, module) { oneTimeHealthData.installedExtensions = userInstalledExtensions; }) .always(function () { - return result.resolve(oneTimeHealthData); + HealthDataUtils.getUserInstalledTheme() + .done(function (bracketsTheme) { + oneTimeHealthData.bracketsTheme = bracketsTheme; + }) + .always(function () { + return result.resolve(oneTimeHealthData); + }); + }); return result.promise(); diff --git a/src/extensions/default/HealthData/HealthDataUtils.js b/src/extensions/default/HealthData/HealthDataUtils.js index 5ea7110db9f..86706ab6732 100644 --- a/src/extensions/default/HealthData/HealthDataUtils.js +++ b/src/extensions/default/HealthData/HealthDataUtils.js @@ -27,8 +27,11 @@ define(function (require, exports, module) { "use strict"; - var ExtensionManager = brackets.getModule("extensibility/ExtensionManager"), - _ = brackets.getModule("thirdparty/lodash"); + var ExtensionManager = brackets.getModule("extensibility/ExtensionManager"), + _ = brackets.getModule("thirdparty/lodash"), + PreferencesManager = brackets.getModule("preferences/PreferencesManager"); + + var themesPref = PreferencesManager.getExtensionPrefs("themes"); /** @@ -67,5 +70,43 @@ define(function (require, exports, module) { return result.promise(); } - exports.getUserInstalledExtensions = getUserInstalledExtensions; + /** + * Utility function to get the user installed theme which are present in the registry + */ + function getUserInstalledTheme() { + var result = new $.Deferred(); + + var installedTheme = themesPref.get("theme"), + bracketsTheme; + + if (installedTheme === "light-theme" || installedTheme === "dark-theme") { + return result.resolve(installedTheme); + } + + if (!ExtensionManager.hasDownloadedRegistry) { + ExtensionManager.downloadRegistry().done(function () { + bracketsTheme = ExtensionManager.extensions[installedTheme]; + if (bracketsTheme && bracketsTheme.installInfo && bracketsTheme.installInfo.locationType === ExtensionManager.LOCATION_USER && bracketsTheme.registryInfo) { + result.resolve(installedTheme); + } else { + result.reject(); + } + }) + .fail(function () { + result.reject(); + }); + } else { + bracketsTheme = ExtensionManager.extensions[installedTheme]; + if (bracketsTheme && bracketsTheme.installInfo && bracketsTheme.installInfo.locationType === ExtensionManager.LOCATION_USER && bracketsTheme.registryInfo) { + result.resolve(installedTheme); + } else { + result.reject(); + } + } + + return result.promise(); + } + + exports.getUserInstalledExtensions = getUserInstalledExtensions; + exports.getUserInstalledTheme = getUserInstalledTheme; }); \ No newline at end of file From 22a99f73478dad4c2546771cdc8665f15b030564 Mon Sep 17 00:00:00 2001 From: Praful Kumar Vaishnav Date: Fri, 24 Jul 2015 15:33:33 +0530 Subject: [PATCH 24/26] Indentation Changes. Adding newline at end of file. --- src/extensions/default/HealthData/HealthDataUtils.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/extensions/default/HealthData/HealthDataUtils.js b/src/extensions/default/HealthData/HealthDataUtils.js index 86706ab6732..2b7678fb091 100644 --- a/src/extensions/default/HealthData/HealthDataUtils.js +++ b/src/extensions/default/HealthData/HealthDataUtils.js @@ -27,8 +27,8 @@ define(function (require, exports, module) { "use strict"; - var ExtensionManager = brackets.getModule("extensibility/ExtensionManager"), - _ = brackets.getModule("thirdparty/lodash"), + var _ = brackets.getModule("thirdparty/lodash"), + ExtensionManager = brackets.getModule("extensibility/ExtensionManager"), PreferencesManager = brackets.getModule("preferences/PreferencesManager"); var themesPref = PreferencesManager.getExtensionPrefs("themes"); @@ -109,4 +109,4 @@ define(function (require, exports, module) { exports.getUserInstalledExtensions = getUserInstalledExtensions; exports.getUserInstalledTheme = getUserInstalledTheme; -}); \ No newline at end of file +}); From ff46a5fdae9e4d17c5628b00af3c7089a31f6bcf Mon Sep 17 00:00:00 2001 From: Amin Ullah Khan Date: Sun, 26 Jul 2015 17:40:59 +0500 Subject: [PATCH 25/26] Convert numbers to strings, so StringMatch can match it. --- src/extensions/default/PrefsCodeHints/main.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/extensions/default/PrefsCodeHints/main.js b/src/extensions/default/PrefsCodeHints/main.js index 367f6f5a0b9..7a210106f25 100644 --- a/src/extensions/default/PrefsCodeHints/main.js +++ b/src/extensions/default/PrefsCodeHints/main.js @@ -281,6 +281,13 @@ define(function (require, exports, module) { return null; } + // Convert integers to strings, so StringMatch.stringMatch can match it. + if (option.type === "number" || option.valueType === "number") { + values = values.map(function (val) { + return val.toString(); + }); + } + // filter through the values. hints = $.map(values, function (value) { var match = StringMatch.stringMatch(value, query, stringMatcherOptions); @@ -332,8 +339,7 @@ define(function (require, exports, module) { } // Put quotes around completion. - completion = quoteChar + completion; - completion = completion + quoteChar; + completion = quoteChar + completion + quoteChar; // Append colon and braces, brackets and quotes. if (!ctxInfo.shouldReplace) { From 414688a4f91a1b6363a08b7ec156ee44c51ec84c Mon Sep 17 00:00:00 2001 From: Arzhan Kinzhalin Date: Sun, 26 Jul 2015 19:16:19 -0300 Subject: [PATCH 26/26] Some corrections to Spanish translation. Also, unified use of
and
to HTML's
. --- src/nls/es/strings.js | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/nls/es/strings.js b/src/nls/es/strings.js index df4c6d2e1eb..04a5724d6f5 100644 --- a/src/nls/es/strings.js +++ b/src/nls/es/strings.js @@ -105,13 +105,13 @@ define({ "LIVE_DEVELOPMENT_ERROR_TITLE" : "Error en la Vista previa dinámica", "LIVE_DEVELOPMENT_RELAUNCH_TITLE" : "Conectando con el navegador", - "LIVE_DEVELOPMENT_ERROR_MESSAGE" : "Para poder iniciar el modo de Vista previa dinámica, Chrome debe ser iniciado habilitando la depuración remota.

¿Quieres reiniciar Chrome y habilitar la depuración remota?

", + "LIVE_DEVELOPMENT_ERROR_MESSAGE" : "Para poder iniciar el modo de Vista previa dinámica, Chrome debe ser iniciado habilitando la depuración remota.

¿Quieres reiniciar Chrome y habilitar la depuración remota?

", "LIVE_DEV_LOADING_ERROR_MESSAGE" : "No se pudo cargar la página para la Vista previa dinámica.", "LIVE_DEV_NEED_HTML_MESSAGE" : "Abra un archivo HTML o asegúrate de que haya un index.html en tu proyecto para poder iniciar el modo de Vista previa dinámica.", "LIVE_DEV_NEED_BASEURL_MESSAGE" : "Necesitas especificar una URL base en este proyecto para poder iniciar la Vista previa dinámica con archivos de servidor.", "LIVE_DEV_SERVER_NOT_READY_MESSAGE" : "Error iniciando el servidor HTTP para la Vista previa dinámica. Vuelve a intentarlo, por favor.", "LIVE_DEVELOPMENT_INFO_TITLE" : "¡Bienvenido a la Vista previa dinámica!", - "LIVE_DEVELOPMENT_INFO_MESSAGE" : "Vista previa dinámica conecta {APP_NAME} con tu navegador. Lanza una vista previa de tu archivo HTML en el navegador y la actualiza a medida que modificas tu código.

En esta versión preliminar de {APP_NAME}, el modo de Vista previa dinámica sólo funciona para cambios de archivos CSS o HTML y únicamente con Google Chrome. Los cambios en los archivos Javascript son recargados automáticamente cuando se guardan.

(No volverás a ver este mensaje.)", + "LIVE_DEVELOPMENT_INFO_MESSAGE" : "Vista previa dinámica conecta {APP_NAME} con tu navegador. Lanza una vista previa de tu archivo HTML en el navegador y la actualiza a medida que modificas tu código.

En esta versión preliminar de {APP_NAME}, el modo de Vista previa dinámica sólo funciona para cambios de archivos CSS o HTML y únicamente con Google Chrome. Los cambios en los archivos Javascript son recargados automáticamente cuando se guardan.

(No volverás a ver este mensaje.)", "LIVE_DEVELOPMENT_TROUBLESHOOTING" : "Para más información, consulta Resolución de Problemas de conexión en Vista previa dinámica.", "LIVE_DEV_STATUS_TIP_NOT_CONNECTED" : "Vista previa dinámica", @@ -133,9 +133,9 @@ define({ "CONFIRM_FOLDER_DELETE_TITLE" : "Confirmar eliminación", "CONFIRM_FOLDER_DELETE" : "¿Estás seguro que deseas eliminar el directorio {0}?", "FILE_DELETED_TITLE" : "Archivo eliminado", - "EXT_MODIFIED_WARNING" : "{0} ha sido modificado en el disco fuera de {APP_NAME}.

¿Deseas guardar el archivo y sobrescribir esos cambios?", - "EXT_MODIFIED_MESSAGE" : "{0} ha sido modificado en el disco fuera de {APP_NAME}, pero también tiene cambios en {APP_NAME}.

¿Qué versión quieres conservar?", - "EXT_DELETED_MESSAGE" : "{0} ha sido eliminado en el disco fuera de {APP_NAME}, pero tiene cambios sin guardar en {APP_NAME}.

¿Quieres conservar tus cambios?", + "EXT_MODIFIED_WARNING" : "{0} ha sido modificado en el disco fuera de {APP_NAME}.

¿Deseas guardar el archivo y sobrescribir esos cambios?", + "EXT_MODIFIED_MESSAGE" : "{0} ha sido modificado en el disco fuera de {APP_NAME}, pero también tiene cambios en {APP_NAME}.

¿Qué versión quieres conservar?", + "EXT_DELETED_MESSAGE" : "{0} ha sido eliminado en el disco fuera de {APP_NAME}, pero tiene cambios sin guardar en {APP_NAME}.

¿Quieres conservar tus cambios?", // Generic dialog/button labels "DONE" : "Aceptar", @@ -164,7 +164,7 @@ define({ "BUTTON_CASESENSITIVE_HINT" : "Sensible a mayúsculas", "BUTTON_REGEXP_HINT" : "Expresión regular", "REPLACE_WITHOUT_UNDO_WARNING_TITLE": "Reemplazar sin deshacer", - "REPLACE_WITHOUT_UNDO_WARNING" : "Dado que hay más de {0} archivos que necesitan ser modificados, {APP_NAME} modificará los archivos no abiertos en el disco.
Por lo tanto, no será posible deshacer los reemplazos en esos archivos.", + "REPLACE_WITHOUT_UNDO_WARNING" : "Dado que hay más de {0} archivos que necesitan ser modificados, {APP_NAME} modificará los archivos no abiertos en el disco.
Por lo tanto, no será posible deshacer los reemplazos en esos archivos.", "BUTTON_REPLACE_WITHOUT_UNDO" : "Reemplazar sin deshacer", "OPEN_FILE" : "Abrir archivo", @@ -193,7 +193,7 @@ define({ "FIND_IN_FILES_MORE_THAN" : "Más de ", "FIND_IN_FILES_PAGING" : "{0}—{1}", "FIND_IN_FILES_FILE_PATH" : "{0} {2} {1}", - "FIND_IN_FILES_INDEXING" : "Indexando archivos para la Búsqueda instantánea...", + "FIND_IN_FILES_INDEXING" : "Indexando archivos para la Búsqueda instantánea\u2026", "FIND_IN_FILES_EXPAND_COLLAPSE" : "Ctrl/Cmd clic para expandir/colapsar todo", "REPLACE_IN_FILES_ERRORS_TITLE" : "Errores al reemplazar", "REPLACE_IN_FILES_ERRORS" : "Los siguientes archivos no fueron modificados porque cambiaron después de realizar la búsqueda o no pueden ser escritos.", @@ -249,7 +249,7 @@ define({ "GEAR_MENU_TOOLTIP" : "Configurar el área de trabajo", "SPLITVIEW_INFO_TITLE" : "Ya está abierto", - "SPLITVIEW_MULTIPANE_WARNING" : "El archivo ya está abierto en otro panel. Próximamente {APP_NAME} soportará abrir el mismo archivo en más de un panel. Hasta entonces, el archivo se mostrará en el panel en el cual ya está abierto.

(Sólo verá este mensaje una vez.)", + "SPLITVIEW_MULTIPANE_WARNING" : "El archivo ya está abierto en otro panel. Próximamente {APP_NAME} soportará abrir el mismo archivo en más de un panel. Hasta entonces, el archivo se mostrará en el panel en el cual ya está abierto.

(Sólo verá este mensaje una vez.)", /** * Keyboard modifier names @@ -319,7 +319,7 @@ define({ "CMD_FILE_SAVE_ALL" : "Guardar todo", "CMD_FILE_SAVE_AS" : "Guardar como\u2026", "CMD_LIVE_FILE_PREVIEW" : "Vista previa dinámica", - "CMD_TOGGLE_LIVE_PREVIEW_MB_MODE" : "Habilitar la ista previa dinámica experimental", + "CMD_TOGGLE_LIVE_PREVIEW_MB_MODE" : "Habilitar la Vista previa dinámica experimental", "CMD_RELOAD_LIVE_PREVIEW" : "Recargar la Vista previa dinámica", "CMD_PROJECT_SETTINGS" : "Configuración del proyecto\u2026", "CMD_FILE_RENAME" : "Renombrar", @@ -596,13 +596,13 @@ define({ "CMD_OPEN_BRACKETS_SOURCE" : "Abrir el código fuente de {APP_NAME}", "CREATING_LAUNCH_SCRIPT_TITLE" : "Acceso directo a {APP_NAME} por línea de comandos", - "ERROR_CREATING_LAUNCH_SCRIPT" : "Ocurrió un error al instalar el acceso directo por línea de comandos. Por favor probá estas sugerencias de solución de problemas.

Razón: {0}", + "ERROR_CREATING_LAUNCH_SCRIPT" : "Ocurrió un error al instalar el acceso directo por línea de comandos. Por favor probá estas sugerencias de solución de problemas.

Razón: {0}", "ERROR_CLTOOLS_RMFAILED" : "No se pudó eliminar el enlace simbólico existente /usr/local/bin/brackets.", "ERROR_CLTOOLS_MKDIRFAILED" : "No se pudó crear el directorio /usr/local/bin.", "ERROR_CLTOOLS_LNFAILED" : "No se pudó crear elenlace simbólico /usr/local/bin/brackets.", "ERROR_CLTOOLS_SERVFAILED" : "Error interno.", "ERROR_CLTOOLS_NOTSUPPORTED" : "El acceso directo por línea de comandos no es compatible con este sistema operativo.", - "LAUNCH_SCRIPT_CREATE_SUCCESS" : "¡Éxito! Ahora puedes abrir fácilmente {APP_NAME} desde la línea de comandos: brackets myFile.txt para abrir un archivo o brackets myFolder para cambiar de proyecto.

Aprende más acerca de como usar {APP_NAME} desde la línea de comandos.", + "LAUNCH_SCRIPT_CREATE_SUCCESS" : "¡Éxito! Ahora puedes abrir fácilmente {APP_NAME} desde la línea de comandos: brackets myFile.txt para abrir un archivo o brackets myFolder para cambiar de proyecto.

Aprende más acerca de como usar {APP_NAME} desde la línea de comandos.", "LANGUAGE_TITLE" : "Cambiar idioma", "LANGUAGE_MESSAGE" : "Idioma:", @@ -616,7 +616,7 @@ define({ "HEALTH_DATA_DO_TRACK" : "Compartir información anónima sobre cómo utilizo {APP_NAME}", "HEALTH_DATA_NOTIFICATION_MESSAGE" : "Para poder mejorar {APP_NAME}, enviamos periódicamente limitadas estadísticas anónimas a Adobe acerca de cómo se utiliza {APP_NAME}. Esta información ayuda a priorizar características a desarrollar, encontrar errores y problemas de usabilidad.

Puedes ver tus datos o elegir no compartir datos seleccionando Ayuda > Reporte de estadísticas.

Aprende más sobre el reporte de estadísticas de {APP_NAME}", "HEALTH_DATA_PREVIEW" : "Reporte de estadísticas de {APP_NAME}", - "HEALTH_DATA_PREVIEW_INTRO" : "anónimas a Adobe acerca de cómo se utiliza {APP_NAME}. Esta información ayuda a priorizar características a desarrollar, encontrar errores y problemas de usabilidad. Aprende más sobre el Reporte de estadísticas de {APP_NAME} y como beneficia a la comunidad de {APP_NAME} mientras protege tu privacidad.

A continuación hay una vista previa de la información que será enviada en el siguiente Reporte de estadísticas si está habilitado.

", + "HEALTH_DATA_PREVIEW_INTRO" : "

Para poder mejorar {APP_NAME}, enviamos periódicamente limitadas estadísticas anónimas a Adobe acerca de cómo se utiliza {APP_NAME}. Esta información ayuda a priorizar características a desarrollar, encontrar errores y problemas de usabilidad. Aprende más sobre el Reporte de estadísticas de {APP_NAME} y cómo beneficia a la comunidad de {APP_NAME} mientras protege tu privacidad.

A continuación hay una vista previa de la información que será enviada en el siguiente Reporte de estadísticas si está habilitado.

", // extensions/default/InlineTimingFunctionEditor "INLINE_TIMING_EDITOR_TIME" : "Tiempo", @@ -754,7 +754,7 @@ define({ "DESCRIPTION_USE_THEME_SCROLLBARS" : "true para habilitar la barra de desplazamiento customizada", "DESCRIPTION_LINTING_COLLAPSED" : "true para colapsar el panel de inspección de código", "DESCRIPTION_FONT_FAMILY" : "Cambiar la fuente", - "DESCRIPTION_FONT_SIZE" : "Cambiar el tamaño de la fuente; e.j, 13px", + "DESCRIPTION_FONT_SIZE" : "Cambiar el tamaño de la fuente; ej., 13px", "DESCRIPTION_FIND_IN_FILES_NODE" : "True to para habilitar búsquedas basadas en node", "DESCRIPTION_FIND_IN_FILES_INSTANT" : "True to para habilitar la búsqueda instantánea", "DESCRIPTION_FONT_SMOOTHING" : "Sólo para Mac: \"subpixel-antialiased\" para habilitar sub-pixel antialiasing o \"antialiased\" para antialiasing en escala de grises",