From 3dce01bbdab8ce9f05407add9bebb34f6fcb7cb5 Mon Sep 17 00:00:00 2001 From: Alejandro Bar Acedo Date: Fri, 5 Oct 2018 19:39:48 +1000 Subject: [PATCH 01/66] Add css scroll-snap-type --- src/extensions/default/CSSCodeHints/CSSProperties.json | 1 + 1 file changed, 1 insertion(+) diff --git a/src/extensions/default/CSSCodeHints/CSSProperties.json b/src/extensions/default/CSSCodeHints/CSSProperties.json index 7b80dbca1..ba6b343d1 100644 --- a/src/extensions/default/CSSCodeHints/CSSProperties.json +++ b/src/extensions/default/CSSCodeHints/CSSProperties.json @@ -190,6 +190,7 @@ "resize": {"values": ["both", "horizontal", "none", "vertical", "inherit"]}, "right": {"values": ["auto", "inherit"]}, "scroll-behavior": {"values": ["auto", "smooth"]}, + "scroll-snap-type": {"values": ["none", "x", "y", "block", "inline", "both", "mandatory", "proximity"]}, "src": {"values": [ "url()"]}, "shape-image-threshold": {"values": []}, "shape-inside": {"values": ["auto", "circle()", "ellipse()", "inherit", "outside-shape", "polygon()", "rectangle()"]}, From 566827fbcaaa000b07fa961f7ebe8545aab86c98 Mon Sep 17 00:00:00 2001 From: Alejandro Bar Acedo Date: Sun, 7 Oct 2018 09:41:50 +1100 Subject: [PATCH 02/66] Add autocompletion for justify-items and justify-self --- src/extensions/default/CSSCodeHints/CSSProperties.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/extensions/default/CSSCodeHints/CSSProperties.json b/src/extensions/default/CSSCodeHints/CSSProperties.json index 7b80dbca1..413307f12 100644 --- a/src/extensions/default/CSSCodeHints/CSSProperties.json +++ b/src/extensions/default/CSSCodeHints/CSSProperties.json @@ -140,6 +140,8 @@ "image-resolution": {"values": ["from-image", "snap"]}, "isolation": {"values": ["auto", "isolate"]}, "justify-content": {"values": ["center", "flex-end", "flex-start", "space-around", "space-between"]}, + "justify-items": {"values": ["auto", "normal", "stretch", "center", "start", "end", "flex-start", "flex-end", "self-start", "self-end", "left", "right", "baseline", "first", "last", "safe", "unsafe", "inherit", "initial", "unset"]}, + "justity-self": {"values": ["auto", "normal", "stretch", "center", "start", "end", "flex-start", "flex-end", "self-start", "self-end", "left", "right", "baseline", "first", "last", "safe", "unsafe", "inherit", "initial", "unset"]}, "left": {"values": ["auto", "inherit"]}, "letter-spacing": {"values": ["normal", "inherit"]}, "line-height": {"values": ["normal", "inherit"]}, From 6b84fa4889f80565438dd92c2235aab68c57561b Mon Sep 17 00:00:00 2001 From: Localization Utility Date: Fri, 12 Apr 2019 05:59:48 +0000 Subject: [PATCH 03/66] Updated by ALF automation. --- src/nls/fr/strings.js | 25 +++++++++++++++++++------ src/nls/ja/strings.js | 23 ++++++++++++++++++----- 2 files changed, 37 insertions(+), 11 deletions(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index bb199373b..ceaf40070 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -650,10 +650,10 @@ define({ // extensions/default/HealthData "HEALTH_DATA_NOTIFICATION": "Health Report Preferences", "HEALTH_FIRST_POPUP_TITLE": "Rapport d’intégrité de {APP_NAME}", - "HEALTH_DATA_DO_TRACK": "Partager des informations anonymes sur la façon dont j’utilise {APP_NAME}", - "HEALTH_DATA_NOTIFICATION_MESSAGE": "

Afin d’améliorer {APP_NAME}, nous transmettons régulièrement des statistiques limitées et anonymes à Adobe sur la manière dont vous utilisez {APP_NAME}. Ces données permettent de hiérarchiser les fonctionnalités à traiter, de détecter les bugs éventuels et d’identifier les problèmes d’utilisation.

Pour voir les renseignements collectés et choisir ceux que vous ne souhaitez pas partager, cliquez sur Aide > Rapport d’intégrité.

Lisez cet article pour en savoir plus concernant le rapport d’intégrité de {APP_NAME}", + "HEALTH_DATA_DO_TRACK": "Partager des informations pseudonymes sur la façon dont j’utilise {APP_NAME}", + "HEALTH_DATA_NOTIFICATION_MESSAGE": "Afin d’améliorer {APP_NAME}, nous transmettons régulièrement des statistiques limitées et pseudonymes à Adobe sur la manière dont vous utilisez {APP_NAME}. Ces données permettent de hiérarchiser les fonctionnalités à traiter, de détecter les bugs éventuels et d’identifier les problèmes d’utilisation.

Pour voir les renseignements collectés et choisir ceux que vous ne souhaitez pas partager, cliquez sur Aide > Rapport d’intégrité.

Lisez cet article pour en savoir plus concernant le rapport d’intégrité de {APP_NAME}", "HEALTH_DATA_PREVIEW": "Rapport d’intégrité de {APP_NAME}", - "HEALTH_DATA_PREVIEW_INTRO": "

Afin d’améliorer {APP_NAME}, nous transmettons régulièrement des statistiques limitées et anonymes à Adobe sur la manière dont vous utilisez {APP_NAME}. Ces données permettent de hiérarchiser les fonctionnalités à traiter, de détecter les bugs éventuels et d’identifier les problèmes d’utilisation. Lisez cet article concernant le rapport d’intégrité de {APP_NAME} et découvrez en quoi il est utile à la communauté {APP_NAME} tout en préservant votre confidentialité.

Vous trouverez ci-dessous un résumé des données qui seront envoyées dans le cadre de votre prochain rapport d’intégrité si vous décidez d’activer cette option.

", + "HEALTH_DATA_PREVIEW_INTRO": "

Afin d’améliorer {APP_NAME}, nous transmettons régulièrement des statistiques limitées et pseudonymes à Adobe sur la manière dont vous utilisez {APP_NAME}. Ces données permettent de hiérarchiser les fonctionnalités à traiter, de détecter les bugs éventuels et d’identifier les problèmes d’utilisation. Lisez cet article concernant le rapport d’intégrité de {APP_NAME} et découvrez en quoi il est utile à la communauté {APP_NAME} tout en préservant votre confidentialité.

Vous trouverez ci-dessous un résumé des données qui seront envoyées dans le cadre de votre prochain rapport d’intégrité si vous décidez d’activer cette option.

", // extensions/default/InlineTimingFunctionEditor "INLINE_TIMING_EDITOR_TIME": "Temps", @@ -872,8 +872,21 @@ define({ "DESCRIPTION_AUTO_UPDATE": "Activer/désactiver la mise à jour automatique de Brackets", "AUTOUPDATE_ERROR": "Erreur !", "AUTOUPDATE_IN_PROGRESS": "Une mise à jour est déjà en cours.", - - "NUMBER_WITH_PERCENTAGE": "{0}%", + + "NUMBER_WITH_PERCENTAGE": "{0} %", // Strings for Related Files - "CMD_FIND_RELATED_FILES": "Trouver les fichiers associés" + "CMD_FIND_RELATED_FILES": "Trouver les fichiers associés", + + ///String for Php Tooling Extensions + "PHP_VERSION_INVALID": "Erreur lors de l’analyse de la version de PHP. Veuillez vérifier la sortie de la commande « php –version ».", + "PHP_UNSUPPORTED_VERSION": "Installez le moteur d’exécution de PHP 7 pour activer les outils correspondants comme Conseils de code, Conseils de paramètres, Accéder à la définition, etc. Version trouvée : {0}", + "PHP_EXECUTABLE_NOT_FOUND": "Moteur d’exécution PHP introuvable. Installez le moteur d’exécution de PHP 7 et mettez à jour « executablePath » dans les préférences PHP. Cela permettra l’activation des outils liés à PHP comme Conseils de code, Conseils de paramètres ou encore Accéder à la définition.", + "PHP_PROCESS_SPAWN_ERROR": "Code d’erreur {0} rencontré lors du démarrage du processus PHP.", + "PHP_SERVER_ERROR_TITLE": "Erreur", + "PHP_SERVER_MEMORY_LIMIT_INVALID": "La limite de mémoire que vous avez fournie n’est pas valide. Veuillez corriger la valeur indiquée dans les préférences PHP.", + "DESCRIPTION_PHP_TOOLING_CONFIGURATION": "Paramètres de configuration par défaut des outils PHP", + "OPEN_PREFERENNCES": "Ouvrir les préférences" + + //Strings for LanguageTools Preferences + LANGUAGE_TOOLS_PREFERENCES : "Preferences for Language Tools" }); diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index 85428d85f..2876692d8 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -650,10 +650,10 @@ define({ // extensions/default/HealthData "HEALTH_DATA_NOTIFICATION": "Health Report Preferences", "HEALTH_FIRST_POPUP_TITLE": "{APP_NAME} の正常性レポート", - "HEALTH_DATA_DO_TRACK": "{APP_NAME} の使用方法に関する情報を匿名で共有します", - "HEALTH_DATA_NOTIFICATION_MESSAGE": "{APP_NAME} 品質向上のため、アドビでは、お客様の {APP_NAME} の使用方法に関する限られた匿名の統計をアドビに定期的に送信しています。この情報は、機能を優先順位付けし、バグを発見し、操作性の問題を検出する際に役立ちます。

お客様のデータを確認するには、または、データを共有しないように選択するには、ヘルプ/正常性レポートを選択してください。

{APP_NAME} の正常性レポートに関する詳細情報", + "HEALTH_DATA_DO_TRACK": "{APP_NAME} の使用方法に関する偽名情報を共有します", + "HEALTH_DATA_NOTIFICATION_MESSAGE": "{APP_NAME} 品質向上のため、アドビでは、お客様の {APP_NAME} の使用方法に関する限られた偽名の統計をアドビに定期的に送信しています。この情報は、機能を優先順位付けし、バグを発見し、操作性の問題を検出する際に役立ちます。

お客様のデータを確認するには、または、データを共有しないように選択するには、ヘルプ/正常性レポートを選択してください。

{APP_NAME} の正常性レポートに関する詳細情報", "HEALTH_DATA_PREVIEW": "{APP_NAME} の正常性レポート", - "HEALTH_DATA_PREVIEW_INTRO": "

{APP_NAME} 品質向上のため、アドビでは、お客様の {APP_NAME} の使用方法に関する限られた匿名の統計をアドビに定期的に送信しています。この情報は、機能を優先順位付けし、バグを発見し、操作性の問題を検出する際に役立ちます。{APP_NAME} の正常性レポートについて、またこれが {APP_NAME} コミュニティにどのように役立ち、プライバシーを保護するかついて詳細をご確認ください。

有効にした場合に、次回のお客様の正常性レポートで送信されるデータのプレビューを以下に示します。

", + "HEALTH_DATA_PREVIEW_INTRO": "

{APP_NAME} 品質向上のため、アドビでは、お客様の {APP_NAME} の使用方法に関する限られた偽名の統計をアドビに定期的に送信しています。この情報は、機能を優先順位付けし、バグを発見し、操作性の問題を検出する際に役立ちます。{APP_NAME} の正常性レポートについて、またこれが {APP_NAME} コミュニティにどのように役立ち、プライバシーを保護するかついて詳細をご確認ください。

有効にした場合に、次回のお客様の正常性レポートで送信されるデータのプレビューを以下に示します。

", // extensions/default/InlineTimingFunctionEditor "INLINE_TIMING_EDITOR_TIME": "時間", @@ -872,8 +872,21 @@ define({ "DESCRIPTION_AUTO_UPDATE": "Brackets の自動更新を有効化/無効化", "AUTOUPDATE_ERROR": "エラー!", "AUTOUPDATE_IN_PROGRESS": "更新は既に進行中です。", - + "NUMBER_WITH_PERCENTAGE": "{0}%", // Strings for Related Files - "CMD_FIND_RELATED_FILES": "関連するファイルを検索" + "CMD_FIND_RELATED_FILES": "関連するファイルを検索", + + ///String for Php Tooling Extensions + "PHP_VERSION_INVALID": "PHP バージョンを解析する際のエラーです。“php –version” コマンドの出力を確認してください。", + "PHP_UNSUPPORTED_VERSION": "コードヒント、パラメーターヒント、定義にジャンプなどの PHP 関連のツールを有効化するために、PHP7 ランタイムをインストールします。検出されたバージョン: {0}", + "PHP_EXECUTABLE_NOT_FOUND": "PHP ランタイムが見つかりません。PHP7 ランタイムをインストールして、PHP の環境設定で適切に “executablePath” を更新してください。これにより、コードヒント、パラメーターヒント、定義にジャンプなどの PHP 関連のツールが有効になります。", + "PHP_PROCESS_SPAWN_ERROR": "PHP プロセスを起動中に、エラーコード {0} が発生しました。", + "PHP_SERVER_ERROR_TITLE": "エラー", + "PHP_SERVER_MEMORY_LIMIT_INVALID": "指定したメモリ制限は無効です。正しい値を設定するために、PHP の環境設定を確認してください。", + "DESCRIPTION_PHP_TOOLING_CONFIGURATION": "PHP ツールのデフォルト設定", + "OPEN_PREFERENNCES": "環境設定を開く" + + //Strings for LanguageTools Preferences + LANGUAGE_TOOLS_PREFERENCES : "Preferences for Language Tools" }); From 55de6c62e3ee2c79cef012619e392000666c6396 Mon Sep 17 00:00:00 2001 From: Shubham Yadav Date: Fri, 12 Apr 2019 17:16:57 +0530 Subject: [PATCH 04/66] Fixing the LANGUAGE_TOOLS_PREFERENCES key in strings.js --- src/nls/fr/strings.js | 4 ++-- src/nls/ja/strings.js | 4 ++-- src/nls/root/strings.js | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index ceaf40070..714f9ebb7 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -885,8 +885,8 @@ define({ "PHP_SERVER_ERROR_TITLE": "Erreur", "PHP_SERVER_MEMORY_LIMIT_INVALID": "La limite de mémoire que vous avez fournie n’est pas valide. Veuillez corriger la valeur indiquée dans les préférences PHP.", "DESCRIPTION_PHP_TOOLING_CONFIGURATION": "Paramètres de configuration par défaut des outils PHP", - "OPEN_PREFERENNCES": "Ouvrir les préférences" + "OPEN_PREFERENNCES": "Ouvrir les préférences", //Strings for LanguageTools Preferences - LANGUAGE_TOOLS_PREFERENCES : "Preferences for Language Tools" + "LANGUAGE_TOOLS_PREFERENCES" : "Preferences for Language Tools" }); diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index 2876692d8..0597c57ae 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -885,8 +885,8 @@ define({ "PHP_SERVER_ERROR_TITLE": "エラー", "PHP_SERVER_MEMORY_LIMIT_INVALID": "指定したメモリ制限は無効です。正しい値を設定するために、PHP の環境設定を確認してください。", "DESCRIPTION_PHP_TOOLING_CONFIGURATION": "PHP ツールのデフォルト設定", - "OPEN_PREFERENNCES": "環境設定を開く" + "OPEN_PREFERENNCES": "環境設定を開く", //Strings for LanguageTools Preferences - LANGUAGE_TOOLS_PREFERENCES : "Preferences for Language Tools" + "LANGUAGE_TOOLS_PREFERENCES" : "Preferences for Language Tools" }); diff --git a/src/nls/root/strings.js b/src/nls/root/strings.js index c66291168..a3afc0992 100644 --- a/src/nls/root/strings.js +++ b/src/nls/root/strings.js @@ -888,5 +888,5 @@ define({ "OPEN_PREFERENNCES" : "Open Preferences", //Strings for LanguageTools Preferences - LANGUAGE_TOOLS_PREFERENCES : "Preferences for Language Tools" + "LANGUAGE_TOOLS_PREFERENCES" : "Preferences for Language Tools" }); From 629d8dc02d9055104208b6d0a94bc1167c30f591 Mon Sep 17 00:00:00 2001 From: Localization Utility Date: Fri, 12 Apr 2019 16:56:00 +0000 Subject: [PATCH 05/66] Updated by ALF automation. --- src/nls/fr/strings.js | 2 +- src/nls/ja/strings.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index 714f9ebb7..f69da6a97 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -888,5 +888,5 @@ define({ "OPEN_PREFERENNCES": "Ouvrir les préférences", //Strings for LanguageTools Preferences - "LANGUAGE_TOOLS_PREFERENCES" : "Preferences for Language Tools" + "LANGUAGE_TOOLS_PREFERENCES": "Preferences for Language Tools" }); diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index 0597c57ae..4e50b0385 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -888,5 +888,5 @@ define({ "OPEN_PREFERENNCES": "環境設定を開く", //Strings for LanguageTools Preferences - "LANGUAGE_TOOLS_PREFERENCES" : "Preferences for Language Tools" + "LANGUAGE_TOOLS_PREFERENCES": "Preferences for Language Tools" }); From 7c5a7fcba1b9a115a4a88baa8104ec51832e2e97 Mon Sep 17 00:00:00 2001 From: Localization Utility Date: Sun, 14 Apr 2019 16:54:56 +0000 Subject: [PATCH 06/66] Updated by ALF automation. --- src/nls/fr/strings.js | 5 ++++- src/nls/ja/strings.js | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index f69da6a97..939920bd6 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -419,6 +419,7 @@ define({ "CMD_QUICK_OPEN": "Ouverture rapide", "CMD_GOTO_LINE": "Atteindre la ligne", "CMD_GOTO_DEFINITION": "Accès rapide à la définition", + "CMD_GOTO_DEFINITION_PROJECT": "Quick Find Definition in Project", "CMD_GOTO_FIRST_PROBLEM": "Accéder au premier problème", "CMD_TOGGLE_QUICK_EDIT": "Édition rapide", "CMD_TOGGLE_QUICK_DOCS": "Documentation rapide", @@ -888,5 +889,7 @@ define({ "OPEN_PREFERENNCES": "Ouvrir les préférences", //Strings for LanguageTools Preferences - "LANGUAGE_TOOLS_PREFERENCES": "Preferences for Language Tools" + "LANGUAGE_TOOLS_PREFERENCES": "Preferences for Language Tools", + "CMD_FIND_DOCUMENT_SYMBOLS": "Find Document Symbols", + "CMD_FIND_PROJECT_SYMBOLS": "Find Project Symbols" }); diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index 4e50b0385..0f41e1e0d 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -419,6 +419,7 @@ define({ "CMD_QUICK_OPEN": "クイックオープン", "CMD_GOTO_LINE": "行に移動", "CMD_GOTO_DEFINITION": "定義をクイック検索", + "CMD_GOTO_DEFINITION_PROJECT": "Quick Find Definition in Project", "CMD_GOTO_FIRST_PROBLEM": "最初の問題に移動", "CMD_TOGGLE_QUICK_EDIT": "クイック編集", "CMD_TOGGLE_QUICK_DOCS": "クイックドキュメント", @@ -888,5 +889,7 @@ define({ "OPEN_PREFERENNCES": "環境設定を開く", //Strings for LanguageTools Preferences - "LANGUAGE_TOOLS_PREFERENCES": "Preferences for Language Tools" + "LANGUAGE_TOOLS_PREFERENCES": "Preferences for Language Tools", + "CMD_FIND_DOCUMENT_SYMBOLS": "Find Document Symbols", + "CMD_FIND_PROJECT_SYMBOLS": "Find Project Symbols" }); From 4f6954c2c1dc78e3b38e97efca44899fed25bad9 Mon Sep 17 00:00:00 2001 From: Localization Utility Date: Mon, 15 Apr 2019 16:55:57 +0000 Subject: [PATCH 07/66] Updated by ALF automation. --- src/nls/fr/strings.js | 6 ++++++ src/nls/ja/strings.js | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index 939920bd6..e3991ee7f 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -890,6 +890,12 @@ define({ //Strings for LanguageTools Preferences "LANGUAGE_TOOLS_PREFERENCES": "Preferences for Language Tools", + + "FIND_ALL_REFERENCES": "Find All References", + "REFERENCES_IN_FILES": "references", + "REFERENCE_IN_FILES": "référence", + "REFERENCES_NO_RESULTS": "No References available for current cursor position", + "CMD_FIND_DOCUMENT_SYMBOLS": "Find Document Symbols", "CMD_FIND_PROJECT_SYMBOLS": "Find Project Symbols" }); diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index 0f41e1e0d..647eecb5a 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -890,6 +890,12 @@ define({ //Strings for LanguageTools Preferences "LANGUAGE_TOOLS_PREFERENCES": "Preferences for Language Tools", + + "FIND_ALL_REFERENCES": "Find All References", + "REFERENCES_IN_FILES": "references", + "REFERENCE_IN_FILES": "参照", + "REFERENCES_NO_RESULTS": "No References available for current cursor position", + "CMD_FIND_DOCUMENT_SYMBOLS": "Find Document Symbols", "CMD_FIND_PROJECT_SYMBOLS": "Find Project Symbols" }); From 98a1e71757a45ad07237e1dc28b94d7e54008817 Mon Sep 17 00:00:00 2001 From: Localization Utility Date: Wed, 17 Apr 2019 16:55:32 +0000 Subject: [PATCH 08/66] Updated by ALF automation. --- src/nls/fr/strings.js | 14 +++++++------- src/nls/ja/strings.js | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index e3991ee7f..50c650e88 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -419,7 +419,7 @@ define({ "CMD_QUICK_OPEN": "Ouverture rapide", "CMD_GOTO_LINE": "Atteindre la ligne", "CMD_GOTO_DEFINITION": "Accès rapide à la définition", - "CMD_GOTO_DEFINITION_PROJECT": "Quick Find Definition in Project", + "CMD_GOTO_DEFINITION_PROJECT": "Accès rapide à la définition dans le projet", "CMD_GOTO_FIRST_PROBLEM": "Accéder au premier problème", "CMD_TOGGLE_QUICK_EDIT": "Édition rapide", "CMD_TOGGLE_QUICK_DOCS": "Documentation rapide", @@ -889,13 +889,13 @@ define({ "OPEN_PREFERENNCES": "Ouvrir les préférences", //Strings for LanguageTools Preferences - "LANGUAGE_TOOLS_PREFERENCES": "Preferences for Language Tools", + "LANGUAGE_TOOLS_PREFERENCES": "Préférences pour Language Tools", - "FIND_ALL_REFERENCES": "Find All References", - "REFERENCES_IN_FILES": "references", + "FIND_ALL_REFERENCES": "Rechercher toutes les références", + "REFERENCES_IN_FILES": "références", "REFERENCE_IN_FILES": "référence", - "REFERENCES_NO_RESULTS": "No References available for current cursor position", + "REFERENCES_NO_RESULTS": "Références non disponibles pour la position actuelle du curseur", - "CMD_FIND_DOCUMENT_SYMBOLS": "Find Document Symbols", - "CMD_FIND_PROJECT_SYMBOLS": "Find Project Symbols" + "CMD_FIND_DOCUMENT_SYMBOLS": "Rechercher des symboles de document", + "CMD_FIND_PROJECT_SYMBOLS": "Rechercher des symboles de projet" }); diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index 647eecb5a..09e0f3a5a 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -419,7 +419,7 @@ define({ "CMD_QUICK_OPEN": "クイックオープン", "CMD_GOTO_LINE": "行に移動", "CMD_GOTO_DEFINITION": "定義をクイック検索", - "CMD_GOTO_DEFINITION_PROJECT": "Quick Find Definition in Project", + "CMD_GOTO_DEFINITION_PROJECT": "プロジェクトで定義をクイック検索", "CMD_GOTO_FIRST_PROBLEM": "最初の問題に移動", "CMD_TOGGLE_QUICK_EDIT": "クイック編集", "CMD_TOGGLE_QUICK_DOCS": "クイックドキュメント", @@ -889,13 +889,13 @@ define({ "OPEN_PREFERENNCES": "環境設定を開く", //Strings for LanguageTools Preferences - "LANGUAGE_TOOLS_PREFERENCES": "Preferences for Language Tools", + "LANGUAGE_TOOLS_PREFERENCES": "言語ツールの設定", - "FIND_ALL_REFERENCES": "Find All References", - "REFERENCES_IN_FILES": "references", + "FIND_ALL_REFERENCES": "すべての参照を検索", + "REFERENCES_IN_FILES": "参照", "REFERENCE_IN_FILES": "参照", - "REFERENCES_NO_RESULTS": "No References available for current cursor position", + "REFERENCES_NO_RESULTS": "現在のカーソル位置で利用可能な参照はありません", - "CMD_FIND_DOCUMENT_SYMBOLS": "Find Document Symbols", - "CMD_FIND_PROJECT_SYMBOLS": "Find Project Symbols" + "CMD_FIND_DOCUMENT_SYMBOLS": "ドキュメント記号を検索", + "CMD_FIND_PROJECT_SYMBOLS": "プロジェクト記号を検索" }); From 3ff49544ef74d49d8dc387bda05c786c5e42ec9d Mon Sep 17 00:00:00 2001 From: Localization Utility Date: Tue, 23 Apr 2019 05:47:15 -0700 Subject: [PATCH 09/66] Updated by ALF automation. --- src/nls/ja/strings.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index 09e0f3a5a..14a9ef1c8 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -880,7 +880,7 @@ define({ ///String for Php Tooling Extensions "PHP_VERSION_INVALID": "PHP バージョンを解析する際のエラーです。“php –version” コマンドの出力を確認してください。", - "PHP_UNSUPPORTED_VERSION": "コードヒント、パラメーターヒント、定義にジャンプなどの PHP 関連のツールを有効化するために、PHP7 ランタイムをインストールします。検出されたバージョン: {0}", + "PHP_UNSUPPORTED_VERSION": "コードヒント、パラメーターヒント、定義にジャンプなどの PHP 関連のツールを有効化するために、PHP7 ランタイムをインストールしてください。", "PHP_EXECUTABLE_NOT_FOUND": "PHP ランタイムが見つかりません。PHP7 ランタイムをインストールして、PHP の環境設定で適切に “executablePath” を更新してください。これにより、コードヒント、パラメーターヒント、定義にジャンプなどの PHP 関連のツールが有効になります。", "PHP_PROCESS_SPAWN_ERROR": "PHP プロセスを起動中に、エラーコード {0} が発生しました。", "PHP_SERVER_ERROR_TITLE": "エラー", From 85d28385bb3ef317062060d22b02493adc8a6a47 Mon Sep 17 00:00:00 2001 From: Localization Utility Date: Tue, 23 Apr 2019 08:08:25 -0700 Subject: [PATCH 10/66] Updated by ALF automation. --- src/nls/ja/strings.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index 14a9ef1c8..575fdfbcd 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -880,7 +880,7 @@ define({ ///String for Php Tooling Extensions "PHP_VERSION_INVALID": "PHP バージョンを解析する際のエラーです。“php –version” コマンドの出力を確認してください。", - "PHP_UNSUPPORTED_VERSION": "コードヒント、パラメーターヒント、定義にジャンプなどの PHP 関連のツールを有効化するために、PHP7 ランタイムをインストールしてください。", + "PHP_UNSUPPORTED_VERSION": "コードヒント、パラメーターヒント、定義にジャンプなどの PHP 関連のツールを有効化するために、PHP7 ランタイムをインストールしてください。検出されたバージョン: {0}", "PHP_EXECUTABLE_NOT_FOUND": "PHP ランタイムが見つかりません。PHP7 ランタイムをインストールして、PHP の環境設定で適切に “executablePath” を更新してください。これにより、コードヒント、パラメーターヒント、定義にジャンプなどの PHP 関連のツールが有効になります。", "PHP_PROCESS_SPAWN_ERROR": "PHP プロセスを起動中に、エラーコード {0} が発生しました。", "PHP_SERVER_ERROR_TITLE": "エラー", From 5e78d0cc91c24face450042b69a811b2f58ae9fc Mon Sep 17 00:00:00 2001 From: Localization Utility Date: Wed, 24 Apr 2019 03:08:48 -0700 Subject: [PATCH 11/66] 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 575fdfbcd..33eea03af 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -652,9 +652,9 @@ define({ "HEALTH_DATA_NOTIFICATION": "Health Report Preferences", "HEALTH_FIRST_POPUP_TITLE": "{APP_NAME} の正常性レポート", "HEALTH_DATA_DO_TRACK": "{APP_NAME} の使用方法に関する偽名情報を共有します", - "HEALTH_DATA_NOTIFICATION_MESSAGE": "{APP_NAME} 品質向上のため、アドビでは、お客様の {APP_NAME} の使用方法に関する限られた偽名の統計をアドビに定期的に送信しています。この情報は、機能を優先順位付けし、バグを発見し、操作性の問題を検出する際に役立ちます。

お客様のデータを確認するには、または、データを共有しないように選択するには、ヘルプ/正常性レポートを選択してください。

{APP_NAME} の正常性レポートに関する詳細情報", + "HEALTH_DATA_NOTIFICATION_MESSAGE": "{APP_NAME} 品質向上のため、アドビでは、お客様の {APP_NAME} の使用方法に関する限られた偽名の統計をアドビに定期的に送信しています。この情報は、機能を優先順位付けし、バグを発見し、操作性の問題を検出する際に役立ちます。

ヘルプ/正常性レポートから、お客様のデータの確認またはデータの非共有の選択をすることができます。

{APP_NAME} の正常性レポートに関する詳細情報", "HEALTH_DATA_PREVIEW": "{APP_NAME} の正常性レポート", - "HEALTH_DATA_PREVIEW_INTRO": "

{APP_NAME} 品質向上のため、アドビでは、お客様の {APP_NAME} の使用方法に関する限られた偽名の統計をアドビに定期的に送信しています。この情報は、機能を優先順位付けし、バグを発見し、操作性の問題を検出する際に役立ちます。{APP_NAME} の正常性レポートについて、またこれが {APP_NAME} コミュニティにどのように役立ち、プライバシーを保護するかついて詳細をご確認ください。

有効にした場合に、次回のお客様の正常性レポートで送信されるデータのプレビューを以下に示します。

", + "HEALTH_DATA_PREVIEW_INTRO": "

{APP_NAME} 品質向上のため、アドビでは、お客様の {APP_NAME} の使用方法に関する限られた偽名の統計をアドビに定期的に送信しています。この情報は、機能を優先順位付けし、バグを発見し、操作性の問題を検出する際に役立ちます。{APP_NAME} の正常性レポートについての詳細およびレポートがお客様のプライバシーを保護した上でどのように {APP_NAME} コミュニティに役立つかをご確認ください。

有効にした場合に、次回のお客様の正常性レポートで送信されるデータのプレビューを以下に示します。

", // extensions/default/InlineTimingFunctionEditor "INLINE_TIMING_EDITOR_TIME": "時間", From 0f81ee17ac88ee93c55180519fa05d21e50afccb Mon Sep 17 00:00:00 2001 From: Localization Utility Date: Wed, 24 Apr 2019 09:55:44 -0700 Subject: [PATCH 12/66] Updated by ALF automation. --- src/nls/fr/strings.js | 4 ++-- src/nls/ja/strings.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index 50c650e88..be884a597 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -652,9 +652,9 @@ define({ "HEALTH_DATA_NOTIFICATION": "Health Report Preferences", "HEALTH_FIRST_POPUP_TITLE": "Rapport d’intégrité de {APP_NAME}", "HEALTH_DATA_DO_TRACK": "Partager des informations pseudonymes sur la façon dont j’utilise {APP_NAME}", - "HEALTH_DATA_NOTIFICATION_MESSAGE": "Afin d’améliorer {APP_NAME}, nous transmettons régulièrement des statistiques limitées et pseudonymes à Adobe sur la manière dont vous utilisez {APP_NAME}. Ces données permettent de hiérarchiser les fonctionnalités à traiter, de détecter les bugs éventuels et d’identifier les problèmes d’utilisation.

Pour voir les renseignements collectés et choisir ceux que vous ne souhaitez pas partager, cliquez sur Aide > Rapport d’intégrité.

Lisez cet article pour en savoir plus concernant le rapport d’intégrité de {APP_NAME}", + "HEALTH_DATA_NOTIFICATION_MESSAGE": "In order to improve {APP_NAME}, we periodically send limited, pseudonymous statistics to Adobe about how you use {APP_NAME}. This information helps prioritize features, find bugs, and spot usability issues.

You can see your data or choose not to share data by selecting Help > Health Report.

Learn more about {APP_NAME} Health Report", "HEALTH_DATA_PREVIEW": "Rapport d’intégrité de {APP_NAME}", - "HEALTH_DATA_PREVIEW_INTRO": "

Afin d’améliorer {APP_NAME}, nous transmettons régulièrement des statistiques limitées et pseudonymes à Adobe sur la manière dont vous utilisez {APP_NAME}. Ces données permettent de hiérarchiser les fonctionnalités à traiter, de détecter les bugs éventuels et d’identifier les problèmes d’utilisation. Lisez cet article concernant le rapport d’intégrité de {APP_NAME} et découvrez en quoi il est utile à la communauté {APP_NAME} tout en préservant votre confidentialité.

Vous trouverez ci-dessous un résumé des données qui seront envoyées dans le cadre de votre prochain rapport d’intégrité si vous décidez d’activer cette option.

", + "HEALTH_DATA_PREVIEW_INTRO": "

In order to improve {APP_NAME}, we periodically send limited, pseudonymous statistics to Adobe about how you use {APP_NAME}. This information helps prioritize features, find bugs, and spot usability issues. Learn more about {APP_NAME} Health Report and how it benefits the {APP_NAME} community while protecting your privacy.

Below is a preview of the data that will be sent in your next Health Report if it is enabled.

", // extensions/default/InlineTimingFunctionEditor "INLINE_TIMING_EDITOR_TIME": "Temps", diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index 33eea03af..fa88b7b2a 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -652,9 +652,9 @@ define({ "HEALTH_DATA_NOTIFICATION": "Health Report Preferences", "HEALTH_FIRST_POPUP_TITLE": "{APP_NAME} の正常性レポート", "HEALTH_DATA_DO_TRACK": "{APP_NAME} の使用方法に関する偽名情報を共有します", - "HEALTH_DATA_NOTIFICATION_MESSAGE": "{APP_NAME} 品質向上のため、アドビでは、お客様の {APP_NAME} の使用方法に関する限られた偽名の統計をアドビに定期的に送信しています。この情報は、機能を優先順位付けし、バグを発見し、操作性の問題を検出する際に役立ちます。

ヘルプ/正常性レポートから、お客様のデータの確認またはデータの非共有の選択をすることができます。

{APP_NAME} の正常性レポートに関する詳細情報", + "HEALTH_DATA_NOTIFICATION_MESSAGE": "In order to improve {APP_NAME}, we periodically send limited, pseudonymous statistics to Adobe about how you use {APP_NAME}. This information helps prioritize features, find bugs, and spot usability issues.

You can see your data or choose not to share data by selecting Help > Health Report.

Learn more about {APP_NAME} Health Report", "HEALTH_DATA_PREVIEW": "{APP_NAME} の正常性レポート", - "HEALTH_DATA_PREVIEW_INTRO": "

{APP_NAME} 品質向上のため、アドビでは、お客様の {APP_NAME} の使用方法に関する限られた偽名の統計をアドビに定期的に送信しています。この情報は、機能を優先順位付けし、バグを発見し、操作性の問題を検出する際に役立ちます。{APP_NAME} の正常性レポートについての詳細およびレポートがお客様のプライバシーを保護した上でどのように {APP_NAME} コミュニティに役立つかをご確認ください。

有効にした場合に、次回のお客様の正常性レポートで送信されるデータのプレビューを以下に示します。

", + "HEALTH_DATA_PREVIEW_INTRO": "

In order to improve {APP_NAME}, we periodically send limited, pseudonymous statistics to Adobe about how you use {APP_NAME}. This information helps prioritize features, find bugs, and spot usability issues. Learn more about {APP_NAME} Health Report and how it benefits the {APP_NAME} community while protecting your privacy.

Below is a preview of the data that will be sent in your next Health Report if it is enabled.

", // extensions/default/InlineTimingFunctionEditor "INLINE_TIMING_EDITOR_TIME": "時間", From 94d4433c3576278ea6fe5024c3f0b05ab88fd56d Mon Sep 17 00:00:00 2001 From: Localization Utility Date: Wed, 24 Apr 2019 22:18:38 -0700 Subject: [PATCH 13/66] Updated by ALF automation. --- src/nls/fr/strings.js | 4 ++-- src/nls/ja/strings.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index be884a597..84feba560 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -652,9 +652,9 @@ define({ "HEALTH_DATA_NOTIFICATION": "Health Report Preferences", "HEALTH_FIRST_POPUP_TITLE": "Rapport d’intégrité de {APP_NAME}", "HEALTH_DATA_DO_TRACK": "Partager des informations pseudonymes sur la façon dont j’utilise {APP_NAME}", - "HEALTH_DATA_NOTIFICATION_MESSAGE": "In order to improve {APP_NAME}, we periodically send limited, pseudonymous statistics to Adobe about how you use {APP_NAME}. This information helps prioritize features, find bugs, and spot usability issues.

You can see your data or choose not to share data by selecting Help > Health Report.

Learn more about {APP_NAME} Health Report", + "HEALTH_DATA_NOTIFICATION_MESSAGE": "Afin d’améliorer {APP_NAME}, nous transmettons régulièrement des statistiques limitées et pseudonymes à Adobe sur la manière dont vous utilisez {APP_NAME}. Ces données permettent de hiérarchiser les fonctionnalités à traiter, de détecter les bugs éventuels et d’identifier les problèmes d’utilisation.

Pour voir les renseignements collectés et choisir ceux que vous ne souhaitez pas partager, cliquez sur Aide > Rapport d’intégrité.

Lisez cet article pour en savoir plus concernant le rapport d’intégrité de {APP_NAME}", "HEALTH_DATA_PREVIEW": "Rapport d’intégrité de {APP_NAME}", - "HEALTH_DATA_PREVIEW_INTRO": "

In order to improve {APP_NAME}, we periodically send limited, pseudonymous statistics to Adobe about how you use {APP_NAME}. This information helps prioritize features, find bugs, and spot usability issues. Learn more about {APP_NAME} Health Report and how it benefits the {APP_NAME} community while protecting your privacy.

Below is a preview of the data that will be sent in your next Health Report if it is enabled.

", + "HEALTH_DATA_PREVIEW_INTRO": "

Afin d’améliorer {APP_NAME}, nous transmettons régulièrement des statistiques limitées et pseudonymes à Adobe sur la manière dont vous utilisez {APP_NAME}. Ces données permettent de hiérarchiser les fonctionnalités à traiter, de détecter les bugs éventuels et d’identifier les problèmes d’utilisation. Lisez cet article concernant le rapport d’intégrité de {APP_NAME} et découvrez en quoi il est utile à la communauté {APP_NAME} tout en préservant votre confidentialité.

Vous trouverez ci-dessous un résumé des données qui seront envoyées dans le cadre de votre prochain rapport d’intégrité si vous décidez d’activer cette option.

", // extensions/default/InlineTimingFunctionEditor "INLINE_TIMING_EDITOR_TIME": "Temps", diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index fa88b7b2a..5a2a88733 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -652,9 +652,9 @@ define({ "HEALTH_DATA_NOTIFICATION": "Health Report Preferences", "HEALTH_FIRST_POPUP_TITLE": "{APP_NAME} の正常性レポート", "HEALTH_DATA_DO_TRACK": "{APP_NAME} の使用方法に関する偽名情報を共有します", - "HEALTH_DATA_NOTIFICATION_MESSAGE": "In order to improve {APP_NAME}, we periodically send limited, pseudonymous statistics to Adobe about how you use {APP_NAME}. This information helps prioritize features, find bugs, and spot usability issues.

You can see your data or choose not to share data by selecting Help > Health Report.

Learn more about {APP_NAME} Health Report", + "HEALTH_DATA_NOTIFICATION_MESSAGE": "{APP_NAME} 品質向上のため、アドビでは、お客様の {APP_NAME} の使用方法に関する限られた偽名の統計をアドビに定期的に送信しています。この情報は、機能を優先順位付けし、バグを発見し、操作性の問題を検出する際に役立ちます。

ヘルプ/正常性レポートから、お客様のデータの確認またはデータの非共有の選択をすることができます。

{APP_NAME} の正常性レポートに関する詳細情報", "HEALTH_DATA_PREVIEW": "{APP_NAME} の正常性レポート", - "HEALTH_DATA_PREVIEW_INTRO": "

In order to improve {APP_NAME}, we periodically send limited, pseudonymous statistics to Adobe about how you use {APP_NAME}. This information helps prioritize features, find bugs, and spot usability issues. Learn more about {APP_NAME} Health Report and how it benefits the {APP_NAME} community while protecting your privacy.

Below is a preview of the data that will be sent in your next Health Report if it is enabled.

", + "HEALTH_DATA_PREVIEW_INTRO": "

{APP_NAME} 品質向上のため、アドビでは、お客様の {APP_NAME} の使用方法に関する限られた偽名の統計をアドビに定期的に送信しています。この情報は、機能を優先順位付けし、バグを発見し、操作性の問題を検出する際に役立ちます。{APP_NAME} の正常性レポートについての詳細およびレポートがお客様のプライバシーを保護した上でどのように {APP_NAME} コミュニティに役立つかをご確認ください。

有効にした場合に、次回のお客様の正常性レポートで送信されるデータのプレビューを以下に示します。

", // extensions/default/InlineTimingFunctionEditor "INLINE_TIMING_EDITOR_TIME": "時間", From 2e0702e240bd10ae60c462d7712f404f6f4d5565 Mon Sep 17 00:00:00 2001 From: Localization Utility Date: Thu, 25 Apr 2019 01:43:28 -0700 Subject: [PATCH 14/66] Updated by ALF automation. --- src/nls/fr/strings.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index 84feba560..866b74cba 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -889,7 +889,7 @@ define({ "OPEN_PREFERENNCES": "Ouvrir les préférences", //Strings for LanguageTools Preferences - "LANGUAGE_TOOLS_PREFERENCES": "Préférences pour Language Tools", + "LANGUAGE_TOOLS_PREFERENCES": "Préférences pour les outils linguistiques", "FIND_ALL_REFERENCES": "Rechercher toutes les références", "REFERENCES_IN_FILES": "références", From 26b90b4d8c82340c459675734f1e13c132f365c4 Mon Sep 17 00:00:00 2001 From: Shubham Yadav Date: Tue, 21 May 2019 14:10:24 +0530 Subject: [PATCH 15/66] Fix Extension Filters --- .../default/InAppNotifications/main.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/extensions/default/InAppNotifications/main.js b/src/extensions/default/InAppNotifications/main.js index f51684006..c49768f5d 100644 --- a/src/extensions/default/InAppNotifications/main.js +++ b/src/extensions/default/InAppNotifications/main.js @@ -213,6 +213,12 @@ define(function (require, exports, module) { } function _checkExtensions(filters) { + //if no property called extensions then it's a universal notification + if (filters.extensions === undefined) { + console.log("undefined"); + return true; + } + var allExtensions = ExtensionManager.extensions, allExtnsMatched = true, userExtensionKeys = Object.keys(allExtensions).filter(function(k) { @@ -220,10 +226,18 @@ define(function (require, exports, module) { }); if (!filters.extensions) { - allExtnsMatched = userExtensionKeys.size === 0; + console.log("null"); + //if property called extensions exists but has a falsy value + //then number of user extensions must be zero + allExtnsMatched = userExtensionKeys.length === 0; } else if (filters.extensions.length === 0) { + console.log('[]'); + //if property called extensions exists but is an empty array + //then number of user extensions must greater than zero allExtnsMatched = userExtensionKeys.length > 0; } else { + //if property called extensions exists but is a non empty array + //then notification is targetted to users having the fitered extensions var filteredExtns = filters.extensions, extnIterator = null; for (var i=0; i < filteredExtns.length; i++) { From a4784f5e89feb051e989849c67a41c81f4276aab Mon Sep 17 00:00:00 2001 From: Shubham Yadav Date: Tue, 21 May 2019 14:11:31 +0530 Subject: [PATCH 16/66] Remove console logs --- src/extensions/default/InAppNotifications/main.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/extensions/default/InAppNotifications/main.js b/src/extensions/default/InAppNotifications/main.js index c49768f5d..b4c2e582c 100644 --- a/src/extensions/default/InAppNotifications/main.js +++ b/src/extensions/default/InAppNotifications/main.js @@ -215,7 +215,6 @@ define(function (require, exports, module) { function _checkExtensions(filters) { //if no property called extensions then it's a universal notification if (filters.extensions === undefined) { - console.log("undefined"); return true; } @@ -226,12 +225,10 @@ define(function (require, exports, module) { }); if (!filters.extensions) { - console.log("null"); //if property called extensions exists but has a falsy value //then number of user extensions must be zero allExtnsMatched = userExtensionKeys.length === 0; } else if (filters.extensions.length === 0) { - console.log('[]'); //if property called extensions exists but is an empty array //then number of user extensions must greater than zero allExtnsMatched = userExtensionKeys.length > 0; From ce2b870fd92e40c065297f5c8e5be6a40ad9c72a Mon Sep 17 00:00:00 2001 From: Gautam Jha Date: Mon, 11 Nov 2019 15:25:19 +0530 Subject: [PATCH 17/66] Adding infobar for remote debugging enabled (#14956) * Adding infobar for remote debugging enabled * Changing infobar type to warning * Removed button related codes * infobar is an independent unit * Changed getRemoteDebuggingPort usage * Addressing review comments * Updating infobar message --- src/brackets.js | 10 ++ src/document/DocumentCommandHandlers.js | 47 +++--- src/htmlContent/infobar-template.html | 13 ++ src/nls/root/strings.js | 5 +- src/styles/brackets_shared.less | 2 + src/styles/images/infobar-alert.svg | 10 ++ src/styles/images/infobar-checkmarkcircle.svg | 10 ++ src/styles/images/infobar-info.svg | 10 ++ src/styles/infobar-styles.less | 158 ++++++++++++++++++ src/widgets/infobar.js | 135 +++++++++++++++ 10 files changed, 377 insertions(+), 23 deletions(-) create mode 100644 src/htmlContent/infobar-template.html create mode 100644 src/styles/images/infobar-alert.svg create mode 100644 src/styles/images/infobar-checkmarkcircle.svg create mode 100644 src/styles/images/infobar-info.svg create mode 100644 src/styles/infobar-styles.less create mode 100644 src/widgets/infobar.js diff --git a/src/brackets.js b/src/brackets.js index 27c543879..7629622cf 100644 --- a/src/brackets.js +++ b/src/brackets.js @@ -257,6 +257,16 @@ define(function (require, exports, module) { ); } + brackets.app.getRemoteDebuggingPort(function (err, remote_debugging_port){ + if (remote_debugging_port && remote_debugging_port > 0) { + var InfoBar = require('widgets/infobar'); + InfoBar.showInfoBar({ + type: "warning", + title: `${Strings.REMOTE_DEBUGGING_ENABLED} ${remote_debugging_port}`, + description: "" + }); + } + }); // Use quiet scrollbars if we aren't on Lion. If we're on Lion, only // use native scroll bars when the mouse is not plugged in or when // using the "Always" scroll bar setting. diff --git a/src/document/DocumentCommandHandlers.js b/src/document/DocumentCommandHandlers.js index ed875376d..bb0889d18 100644 --- a/src/document/DocumentCommandHandlers.js +++ b/src/document/DocumentCommandHandlers.js @@ -1642,28 +1642,31 @@ define(function (require, exports, module) { if (brackets.inBrowser) { result.resolve(); } else { - var port = brackets.app.getRemoteDebuggingPort ? brackets.app.getRemoteDebuggingPort() : 9234; - Inspector.getDebuggableWindows("127.0.0.1", port) - .fail(result.reject) - .done(function (response) { - var page = response[0]; - if (!page || !page.webSocketDebuggerUrl) { - result.reject(); - return; - } - var _socket = new WebSocket(page.webSocketDebuggerUrl); - // Disable the cache - _socket.onopen = function _onConnect() { - _socket.send(JSON.stringify({ id: 1, method: "Network.setCacheDisabled", params: { "cacheDisabled": true } })); - }; - // The first message will be the confirmation => disconnected to allow remote debugging of Brackets - _socket.onmessage = function _onMessage(e) { - _socket.close(); - result.resolve(); - }; - // In case of an error - _socket.onerror = result.reject; - }); + brackets.app.getRemoteDebuggingPort(function (err, port){ + if (port && port > 0) { + Inspector.getDebuggableWindows("127.0.0.1", port) + .fail(result.reject) + .done(function (response) { + var page = response[0]; + if (!page || !page.webSocketDebuggerUrl) { + result.reject(); + return; + } + var _socket = new WebSocket(page.webSocketDebuggerUrl); + // Disable the cache + _socket.onopen = function _onConnect() { + _socket.send(JSON.stringify({ id: 1, method: "Network.setCacheDisabled", params: { "cacheDisabled": true } })); + }; + // The first message will be the confirmation => disconnected to allow remote debugging of Brackets + _socket.onmessage = function _onMessage(e) { + _socket.close(); + result.resolve(); + }; + // In case of an error + _socket.onerror = result.reject; + }); + } + }); } return result.promise(); diff --git a/src/htmlContent/infobar-template.html b/src/htmlContent/infobar-template.html new file mode 100644 index 000000000..ab73c367b --- /dev/null +++ b/src/htmlContent/infobar-template.html @@ -0,0 +1,13 @@ +
+
+ +
+
+

{{title}}  {{{description}}}

+
+ {{^buttons}} +
+ +
+ {{/buttons}} +
\ No newline at end of file diff --git a/src/nls/root/strings.js b/src/nls/root/strings.js index dc74e2f35..7f7646b88 100644 --- a/src/nls/root/strings.js +++ b/src/nls/root/strings.js @@ -897,5 +897,8 @@ define({ "REFERENCES_NO_RESULTS" : "No References available for current cursor position", "CMD_FIND_DOCUMENT_SYMBOLS" : "Find Document Symbols", - "CMD_FIND_PROJECT_SYMBOLS" : "Find Project Symbols" + "CMD_FIND_PROJECT_SYMBOLS" : "Find Project Symbols", + + // Remote debugging enabled + "REMOTE_DEBUGGING_ENABLED" : "Remote debugging enabled on localhost:" }); diff --git a/src/styles/brackets_shared.less b/src/styles/brackets_shared.less index 7c7dd2cab..94665a160 100644 --- a/src/styles/brackets_shared.less +++ b/src/styles/brackets_shared.less @@ -57,3 +57,5 @@ // Styling for scrollbars @import url("brackets_scrollbars.less"); + +@import url("infobar-styles.less"); diff --git a/src/styles/images/infobar-alert.svg b/src/styles/images/infobar-alert.svg new file mode 100644 index 000000000..2390583d9 --- /dev/null +++ b/src/styles/images/infobar-alert.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/src/styles/images/infobar-checkmarkcircle.svg b/src/styles/images/infobar-checkmarkcircle.svg new file mode 100644 index 000000000..fc0706d5d --- /dev/null +++ b/src/styles/images/infobar-checkmarkcircle.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/src/styles/images/infobar-info.svg b/src/styles/images/infobar-info.svg new file mode 100644 index 000000000..5b23b6491 --- /dev/null +++ b/src/styles/images/infobar-info.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/src/styles/infobar-styles.less b/src/styles/infobar-styles.less new file mode 100644 index 000000000..246cda67b --- /dev/null +++ b/src/styles/infobar-styles.less @@ -0,0 +1,158 @@ +/* + * Copyright (c) 2019 - present Adobe Systems Incorporated. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +/*info Bar*/ +#info-bar-template { + display: block; + background-color: #105F9C; + box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.53); + height: 38px; + width: 100%; + position: absolute; + z-index: 15; + left: 0px; + bottom: 25px; + outline: none; + overflow: hidden; +} + +#info-bar-template #icon-container { + width: auto; + height: auto; + padding: 11px; + float: left; +} +#info-bar-template #icon-container #info-icon { + background: url("images/infobar-info.svg") no-repeat 0 0; + width: 16px; + height: 16px; + display: block; +} + +#info-bar-template #content-container { + padding: 10px 7px; + float: left; + max-width: 78%; +} + +#info-bar-template #content-container #info-content { + margin: 0px !important; /*Check if this important is necessary*/ + line-height: 18px; + font-size: 14px; + font-family: 'SourceSansPro'; + color: #FFFFFF; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +#info-bar-template #content-container #info-content #heading{ + font-weight: bold; +} +/*For focussed link of brackets.io*/ +#info-bar-template #content-container #info-content #description a:focus{ + box-shadow: none; +} + +#info-bar-template #content-container #info-content #description a{ + text-decoration: underline; + color: #FFFFFF; +} + +#info-bar-template #close-icon-container { + height: auto; + padding: 9px; + position: fixed; + float: right; + text-align: center; + width: auto; + min-width: 66px; + right: 30px; + background-color: #105F9C; +} + +#info-bar-template #close-icon-container #close-icon { + display: block; + color: white; + font-size: 18px; + line-height: 18px; + text-decoration: none; + width: 18px; + height: 18px; + background-color: transparent; + border: none; + padding: 0px; /*This is needed to center the icon*/ + float: right; +} + +#info-bar-template #close-icon-container #close-icon:hover { + background-color: rgba(255, 255, 255 ,0.16); + border-radius: 50%; +} + +#info-bar-template #close-icon-container #close-icon:focus { + background-color: rgba(255, 255, 255 ,0.16); + border-radius: 50%; + border: 1px solid #C3E3FF; + outline: 0; +} + +#info-bar-template #close-icon-container #close-icon:focus:active { + background-color: rgba(255, 255, 255 ,0.32); + border: none; +} + +/*Warning Message in info Bar*/ +#info-bar-template.warning, #info-bar-template.warning #close-icon-container { + background-color: #DA7A12; +} + +.dark #info-bar-template.warning, .dark #info-bar-template.warning #close-icon-container { + background-color: #E6851A; +} + +#info-bar-template.warning #icon-container #info-icon, +#info-bar-template.error #icon-container #info-icon { + background: url("images/infobar-alert.svg") no-repeat 0 0; +} + +/*Error message in info Bar*/ +#info-bar-template.error, #info-bar-template.error #close-icon-container { + background-color: #D7373F; +} + +.dark #info-bar-template.error, .dark #info-bar-template.error #close-icon-container{ + background-color: #E4484F; +} +/*Success message in info Bar*/ +#info-bar-template.success, #info-bar-template.success #close-icon-container { + background-color: #278E6B; +} + +.dark #info-bar-template.success, .dark #info-bar-template.success #close-icon-container { + background-color: #2E9D77; +} + +#info-bar-template.success #icon-container #info-icon{ + background: url("images/infobar-checkmarkcircle.svg") no-repeat 0 0; +} diff --git a/src/widgets/infobar.js b/src/widgets/infobar.js new file mode 100644 index 000000000..4a266d633 --- /dev/null +++ b/src/widgets/infobar.js @@ -0,0 +1,135 @@ +/* + * Copyright (c) 2018 - present Adobe Systems Incorporated. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +define(function (require, exports, module) { + "use strict"; + + var MainViewManager = require("view/MainViewManager"), + Mustache = require("thirdparty/mustache/mustache"), + EventDispatcher = require("utils/EventDispatcher"), + InfoBarHtml = require("text!htmlContent/infobar-template.html"), + _ = require("thirdparty/lodash"); + + EventDispatcher.makeEventDispatcher(exports); + + // Key handlers for buttons in UI + var ESC_KEY = 27; // keycode for escape key + + /** + * Generates the json to be used by Mustache for rendering + * @param {object} msgObj - json object containing message information to be displayed + * @returns {object} - the generated json object + */ + function generateJsonForMustache(msgObj) { + var msgJsonObj = {}; + if (msgObj.type) { + msgJsonObj.type = "'" + msgObj.type + "'"; + } + msgJsonObj.title = msgObj.title; + msgJsonObj.description = msgObj.description; + return msgJsonObj; + } + /** + * Removes and cleans up the info bar from DOM + */ + function cleanInfoBar() { + var $infoBar = $('#info-bar-template'); + if ($infoBar.length > 0) { + $infoBar.remove(); + } + $(window.document).off("keydown.InfoBarTemplateDoc"); + $(window).off('resize.InfoBarTemplate'); + } + + /** + * Displays the Info Bar UI + * @param {object} msgObj - json object containing message info to be displayed + * + */ + function showInfoBar(msgObj) { + var jsonToMustache = generateJsonForMustache(msgObj), + $infoBarElement = $(Mustache.render(InfoBarHtml, jsonToMustache)); + + cleanInfoBar(); //Remove an already existing info bar, if any + $infoBarElement.prependTo(".content"); + + var $infoBar = $('#info-bar-template'), + $infoContent = $infoBar.find('#info-content'), + $contentContainer = $infoBar.find('#content-container'), + $iconContainer = $infoBar.find('#icon-container'), + $closeIconContainer = $infoBar.find('#close-icon-container'), + $heading = $infoBar.find('#heading'), + $description = $infoBar.find('#description'), + $closeIcon = $infoBar.find('#close-icon'); + + if ($infoContent.length > 0) { + if ($infoContent[0].scrollWidth > $infoContent.innerWidth()) { + //Text has over-flown, show the info content as tooltip message + if ($contentContainer.length > 0 && + $heading.length > 0 && + $description.length > 0) { + $contentContainer.attr("title", $heading.text() + $description.text()); + } + } + } + // Content Container Width between Icon Container and Button Container or Close Icon Container + // will be assigned when window will be rezied. + var resizeContentContainer = function () { + if($infoContent.length > 0 && $contentContainer.length > 0 && $infoBar.length > 0) { + var newWidth = $infoBar.outerWidth() - 38; + if($iconContainer.length > 0) { + newWidth = newWidth - $iconContainer.outerWidth(); + } + if($closeIconContainer.length > 0) { + newWidth = newWidth - $closeIconContainer.outerWidth(); + } + + $contentContainer.css({ + "maxWidth": newWidth + }); + } + }; + + resizeContentContainer(); + $(window).on('resize.InfoBarTemplate', _.debounce(resizeContentContainer, 150)); + + //Event handlers on the Info Bar + // Click and key handlers on Close button + if ($closeIcon.length > 0) { + $closeIcon.click(function () { + cleanInfoBar(); + MainViewManager.focusActivePane(); + }); + } + $(window.document).on("keydown.InfoBarTemplateDoc", function (event) { + var code = event.which; + if (code === ESC_KEY) { + // Keyboard input of Esc key on Info Bar dismisses and removes the bar + cleanInfoBar(); + MainViewManager.focusActivePane(); + event.stopImmediatePropagation(); + } + }); + } + exports.showInfoBar = showInfoBar; +}); From 2e886a35aa7a155801a7b3683ed697fe1d41d81d Mon Sep 17 00:00:00 2001 From: Gautam Jha Date: Mon, 11 Nov 2019 20:06:37 +0530 Subject: [PATCH 18/66] Removed node_modules test dirs having archives for MacOS notarization (#14954) * Removed archives from node_modules test dir for MacOS notarization * Adding a newline at end of file * Reverting my earlier fix to force php 7 in travis No longer required since 7.2 is the default php version. 7.0 is no longer supported in travis, which is causing travis build to fail. --- .travis.yml | 2 -- Gruntfile.js | 14 +++++++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index b2803e1d9..464408502 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,8 +2,6 @@ language: node_js sudo: false # use container-based Travis infrastructure node_js: - "6" -before_install: - - phpenv global 7.0 #switch to php7, since that's what php-Tooling extension requires before_script: - npm install -g grunt-cli - npm install -g jasmine-node diff --git a/Gruntfile.js b/Gruntfile.js index 0a276991b..b6598f4e3 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -50,6 +50,16 @@ module.exports = function (grunt) { 'src/styles/brackets.css' ] }] + }, + node_modules_test_dir : { + files: [{ + dot: true, + src: [ + 'dist/node_modules/npm/test/fixtures', + 'dist/node_modules/npm/node_modules/tar/test', + 'dist/node_modules/npm/node_modules/npm-registry-client/test' + ] + }] } }, copy: { @@ -412,7 +422,8 @@ module.exports = function (grunt) { 'npm-install', 'cleanempty', 'usemin', - 'build-config' + 'build-config', + 'clean:node_modules_test_dir' ]); // task: build @@ -430,3 +441,4 @@ module.exports = function (grunt) { // Default task. grunt.registerTask('default', ['test']); }; + From 66ff4fa4645867b1eafcc767a549fc41d50c0dd1 Mon Sep 17 00:00:00 2001 From: Gautam Jha Date: Tue, 12 Nov 2019 20:14:18 +0530 Subject: [PATCH 19/66] Remove space between localhost: and port in infobar message (#14961) --- src/brackets.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/brackets.js b/src/brackets.js index 7629622cf..31fad94ef 100644 --- a/src/brackets.js +++ b/src/brackets.js @@ -262,7 +262,7 @@ define(function (require, exports, module) { var InfoBar = require('widgets/infobar'); InfoBar.showInfoBar({ type: "warning", - title: `${Strings.REMOTE_DEBUGGING_ENABLED} ${remote_debugging_port}`, + title: `${Strings.REMOTE_DEBUGGING_ENABLED}${remote_debugging_port}`, description: "" }); } From afc4f8db9e107ba5af9d93d9d14021f501feec1d Mon Sep 17 00:00:00 2001 From: walf Date: Wed, 13 Nov 2019 00:43:54 -0800 Subject: [PATCH 20/66] Updated by ALF automation. --- src/nls/fr/strings.js | 5 ++++- src/nls/ja/strings.js | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index 866b74cba..6d2381e14 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -897,5 +897,8 @@ define({ "REFERENCES_NO_RESULTS": "Références non disponibles pour la position actuelle du curseur", "CMD_FIND_DOCUMENT_SYMBOLS": "Rechercher des symboles de document", - "CMD_FIND_PROJECT_SYMBOLS": "Rechercher des symboles de projet" + "CMD_FIND_PROJECT_SYMBOLS": "Rechercher des symboles de projet", + + // Remote debugging enabled + "REMOTE_DEBUGGING_ENABLED": "Remote debugging enabled on localhost:" }); diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index 5a2a88733..c0474fbe7 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -897,5 +897,8 @@ define({ "REFERENCES_NO_RESULTS": "現在のカーソル位置で利用可能な参照はありません", "CMD_FIND_DOCUMENT_SYMBOLS": "ドキュメント記号を検索", - "CMD_FIND_PROJECT_SYMBOLS": "プロジェクト記号を検索" + "CMD_FIND_PROJECT_SYMBOLS": "プロジェクト記号を検索", + + // Remote debugging enabled + "REMOTE_DEBUGGING_ENABLED": "Remote debugging enabled on localhost:" }); From 38de77861c72275f0309ca011aa158f8174adb80 Mon Sep 17 00:00:00 2001 From: Gautam Jha Date: Wed, 20 Nov 2019 15:41:37 +0530 Subject: [PATCH 21/66] Finalizing strings for gkit (#14976) --- src/nls/root/strings.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/nls/root/strings.js b/src/nls/root/strings.js index 7f7646b88..bb7c0d426 100644 --- a/src/nls/root/strings.js +++ b/src/nls/root/strings.js @@ -900,5 +900,8 @@ define({ "CMD_FIND_PROJECT_SYMBOLS" : "Find Project Symbols", // Remote debugging enabled - "REMOTE_DEBUGGING_ENABLED" : "Remote debugging enabled on localhost:" + "REMOTE_DEBUGGING_ENABLED" : "Remote debugging enabled on localhost:", + + // Remote debugging port argument is invalid + "REMOTE_DEBUGGING_PORT_INVALID" : "Cannot enable remote debugging on port {0}. Port numbers should be between {1} and {2}." }); From 18897afc976ff50e4ca9bf5b4995875979815362 Mon Sep 17 00:00:00 2001 From: walf Date: Wed, 20 Nov 2019 09:55:00 -0800 Subject: [PATCH 22/66] Updated by ALF automation. --- src/nls/fr/strings.js | 5 ++++- src/nls/ja/strings.js | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index 6d2381e14..5e5052b00 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -900,5 +900,8 @@ define({ "CMD_FIND_PROJECT_SYMBOLS": "Rechercher des symboles de projet", // Remote debugging enabled - "REMOTE_DEBUGGING_ENABLED": "Remote debugging enabled on localhost:" + "REMOTE_DEBUGGING_ENABLED": "Remote debugging enabled on localhost:", + + // Remote debugging port argument is invalid + "REMOTE_DEBUGGING_PORT_INVALID": "Cannot enable remote debugging on port {0}. Port numbers should be between {1} and {2}." }); diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index c0474fbe7..6031953e5 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -900,5 +900,8 @@ define({ "CMD_FIND_PROJECT_SYMBOLS": "プロジェクト記号を検索", // Remote debugging enabled - "REMOTE_DEBUGGING_ENABLED": "Remote debugging enabled on localhost:" + "REMOTE_DEBUGGING_ENABLED": "Remote debugging enabled on localhost:", + + // Remote debugging port argument is invalid + "REMOTE_DEBUGGING_PORT_INVALID": "Cannot enable remote debugging on port {0}. Port numbers should be between {1} and {2}." }); From 8a806ec41b613d70b26005e2c4907b021a41e744 Mon Sep 17 00:00:00 2001 From: Gautam Jha Date: Thu, 21 Nov 2019 11:16:14 +0530 Subject: [PATCH 23/66] Moving command line port validation errors to info bar (#14977) --- src/brackets.js | 11 +++++++++-- src/document/DocumentCommandHandlers.js | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/brackets.js b/src/brackets.js index 31fad94ef..c291a3221 100644 --- a/src/brackets.js +++ b/src/brackets.js @@ -258,13 +258,20 @@ define(function (require, exports, module) { } brackets.app.getRemoteDebuggingPort(function (err, remote_debugging_port){ - if (remote_debugging_port && remote_debugging_port > 0) { - var InfoBar = require('widgets/infobar'); + var InfoBar = require('widgets/infobar'), + StringUtils = require("utils/StringUtils"); + if ((!err) && remote_debugging_port && remote_debugging_port > 0) { InfoBar.showInfoBar({ type: "warning", title: `${Strings.REMOTE_DEBUGGING_ENABLED}${remote_debugging_port}`, description: "" }); + } else if (err) { + InfoBar.showInfoBar({ + type: "error", + title: StringUtils.format(Strings.REMOTE_DEBUGGING_PORT_INVALID, err, 1024, 65534), + description: "" + }); } }); // Use quiet scrollbars if we aren't on Lion. If we're on Lion, only diff --git a/src/document/DocumentCommandHandlers.js b/src/document/DocumentCommandHandlers.js index bb0889d18..7d7614d2d 100644 --- a/src/document/DocumentCommandHandlers.js +++ b/src/document/DocumentCommandHandlers.js @@ -1643,7 +1643,7 @@ define(function (require, exports, module) { result.resolve(); } else { brackets.app.getRemoteDebuggingPort(function (err, port){ - if (port && port > 0) { + if ((!err) && port && port > 0) { Inspector.getDebuggableWindows("127.0.0.1", port) .fail(result.reject) .done(function (response) { From 962b30f85eac56e42c5adeffbb84758883b1dd72 Mon Sep 17 00:00:00 2001 From: walf Date: Thu, 21 Nov 2019 09:55:08 -0800 Subject: [PATCH 24/66] Updated by ALF automation. --- src/nls/fr/strings.js | 4 ++-- src/nls/ja/strings.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index 5e5052b00..c3949fc01 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -900,8 +900,8 @@ define({ "CMD_FIND_PROJECT_SYMBOLS": "Rechercher des symboles de projet", // Remote debugging enabled - "REMOTE_DEBUGGING_ENABLED": "Remote debugging enabled on localhost:", + "REMOTE_DEBUGGING_ENABLED": "Débogage à distance activé sur localhost :", // Remote debugging port argument is invalid - "REMOTE_DEBUGGING_PORT_INVALID": "Cannot enable remote debugging on port {0}. Port numbers should be between {1} and {2}." + "REMOTE_DEBUGGING_PORT_INVALID": "Impossible d’activer le débogage à distance sur le port {0}. Les numéros de port doivent être compris entre {1} et {2}." }); diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index 6031953e5..51f49c4fa 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -900,8 +900,8 @@ define({ "CMD_FIND_PROJECT_SYMBOLS": "プロジェクト記号を検索", // Remote debugging enabled - "REMOTE_DEBUGGING_ENABLED": "Remote debugging enabled on localhost:", + "REMOTE_DEBUGGING_ENABLED": "次のローカルホストでリモートデバッグが有効になりました。", // Remote debugging port argument is invalid - "REMOTE_DEBUGGING_PORT_INVALID": "Cannot enable remote debugging on port {0}. Port numbers should be between {1} and {2}." + "REMOTE_DEBUGGING_PORT_INVALID": "ポート {0} でリモートデバッグを有効にできません。ポート番号は、{1} から {2} の間で指定してください。" }); From f182c32019b9a93915d53b540e3ec40017d1748f Mon Sep 17 00:00:00 2001 From: walf Date: Tue, 26 Nov 2019 03:31:24 -0800 Subject: [PATCH 25/66] Updated by ALF automation. --- src/nls/fr/strings.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index c3949fc01..abf25a458 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -900,7 +900,7 @@ define({ "CMD_FIND_PROJECT_SYMBOLS": "Rechercher des symboles de projet", // Remote debugging enabled - "REMOTE_DEBUGGING_ENABLED": "Débogage à distance activé sur localhost :", + "REMOTE_DEBUGGING_ENABLED": "Débogage à distance activé sur localhost:", // Remote debugging port argument is invalid "REMOTE_DEBUGGING_PORT_INVALID": "Impossible d’activer le débogage à distance sur le port {0}. Les numéros de port doivent être compris entre {1} et {2}." From 4803515e9a7ded11edda51852aae029eafd6111b Mon Sep 17 00:00:00 2001 From: walf Date: Wed, 27 Nov 2019 00:33:44 -0800 Subject: [PATCH 26/66] Updated by ALF automation. --- src/nls/ja/strings.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index 51f49c4fa..81b9f686c 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -900,7 +900,7 @@ define({ "CMD_FIND_PROJECT_SYMBOLS": "プロジェクト記号を検索", // Remote debugging enabled - "REMOTE_DEBUGGING_ENABLED": "次のローカルホストでリモートデバッグが有効になりました。", + "REMOTE_DEBUGGING_ENABLED": "次の localhost でリモートデバッグが有効になりました。", // Remote debugging port argument is invalid "REMOTE_DEBUGGING_PORT_INVALID": "ポート {0} でリモートデバッグを有効にできません。ポート番号は、{1} から {2} の間で指定してください。" From 8f26cd850e648d6c4dd04cdfa69119a7feda0867 Mon Sep 17 00:00:00 2001 From: walf Date: Wed, 27 Nov 2019 20:28:44 -0800 Subject: [PATCH 27/66] Updated by ALF automation. --- src/nls/ja/strings.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index 81b9f686c..f3e237698 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -900,7 +900,7 @@ define({ "CMD_FIND_PROJECT_SYMBOLS": "プロジェクト記号を検索", // Remote debugging enabled - "REMOTE_DEBUGGING_ENABLED": "次の localhost でリモートデバッグが有効になりました。", + "REMOTE_DEBUGGING_ENABLED": "次のローカルホストでリモートデバッグが有効になりました : localhost:", // Remote debugging port argument is invalid "REMOTE_DEBUGGING_PORT_INVALID": "ポート {0} でリモートデバッグを有効にできません。ポート番号は、{1} から {2} の間で指定してください。" From 95626cc3650dcd00e886670d80307b8f710d6168 Mon Sep 17 00:00:00 2001 From: walf Date: Wed, 27 Nov 2019 23:30:30 -0800 Subject: [PATCH 28/66] Updated by ALF automation. --- src/nls/ja/strings.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index f3e237698..c4453363e 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -900,7 +900,7 @@ define({ "CMD_FIND_PROJECT_SYMBOLS": "プロジェクト記号を検索", // Remote debugging enabled - "REMOTE_DEBUGGING_ENABLED": "次のローカルホストでリモートデバッグが有効になりました : localhost:", + "REMOTE_DEBUGGING_ENABLED": "次のローカルホストでリモートデバッグが有効になりました。localhost:", // Remote debugging port argument is invalid "REMOTE_DEBUGGING_PORT_INVALID": "ポート {0} でリモートデバッグを有効にできません。ポート番号は、{1} から {2} の間で指定してください。" From 03ddf9f3152032f18f234ce26e2643179db7f9e3 Mon Sep 17 00:00:00 2001 From: Gautam Jha Date: Thu, 5 Dec 2019 17:48:19 +0530 Subject: [PATCH 29/66] Fixing update notification locale issue, update notification was shown in English for all locales --- src/utils/UpdateNotification.js | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/src/utils/UpdateNotification.js b/src/utils/UpdateNotification.js index ed0ec018a..6d31cd4d4 100644 --- a/src/utils/UpdateNotification.js +++ b/src/utils/UpdateNotification.js @@ -115,32 +115,6 @@ define(function (require, exports, module) { locale = locale.substring(0, 2); } - //AUTOUPDATE_PRERELEASE_BEGIN - // The following code is needed for supporting Auto Update in prerelease, - //and will be removed eventually for stable releases - { - if (locale) { - if(locale.length > 2) { - locale = locale.substring(0, 2); - } - switch(locale) { - case "de": - break; - case "es": - break; - case "fr": - break; - case "ja": - break; - case "en": - default: - locale = "en"; - } - return brackets.config.update_info_url.replace("", locale); - } - } - //AUTOUPDATE_PRERELEASE_END - return brackets.config.update_info_url + '?locale=' + locale; } From e0ea84ebb6c331eca2882b0c6ba3ae022e53b524 Mon Sep 17 00:00:00 2001 From: Gautam Jha Date: Fri, 6 Dec 2019 14:29:01 +0530 Subject: [PATCH 30/66] Addressing review comments --- src/brackets.config.dist.json | 2 +- src/utils/UpdateNotification.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/brackets.config.dist.json b/src/brackets.config.dist.json index c3411b31a..e6168390a 100644 --- a/src/brackets.config.dist.json +++ b/src/brackets.config.dist.json @@ -3,7 +3,7 @@ "analyticsDataServerURL" : "https://cc-api-data.adobe.io/ingest", "serviceKey" : "brackets-service", "environment" : "production", - "update_info_url" : "https://getupdates.brackets.io/getupdates/", + "update_info_url" : "https://getupdates.brackets.io/getupdates?locale=", "notification_info_url" : "https://getupdates.brackets.io/getnotifications?locale=", "buildtype" : "production" } diff --git a/src/utils/UpdateNotification.js b/src/utils/UpdateNotification.js index 6d31cd4d4..262dc8e6f 100644 --- a/src/utils/UpdateNotification.js +++ b/src/utils/UpdateNotification.js @@ -115,7 +115,7 @@ define(function (require, exports, module) { locale = locale.substring(0, 2); } - return brackets.config.update_info_url + '?locale=' + locale; + return brackets.config.update_info_url.replace('', locale || 'en'); } /** From 75d3947af25abaf0e2c68401cb478e00ad14cd28 Mon Sep 17 00:00:00 2001 From: Sietse Brouwer Date: Mon, 20 Jan 2020 16:22:07 +0100 Subject: [PATCH 31/66] Public methods for closing Search Results and References bottom panel The bottom panels 'Search Results' and 'References' can only be closed in the UI at the moment, by clicking at the close button. Public methods for closing them enables extensions to attach a keyboard shortcut to this action. --- src/features/FindReferencesManager.js | 11 +++++++++++ src/search/FindInFilesUI.js | 10 ++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/features/FindReferencesManager.js b/src/features/FindReferencesManager.js index 50b8cdfe5..8b9470a95 100644 --- a/src/features/FindReferencesManager.js +++ b/src/features/FindReferencesManager.js @@ -121,6 +121,16 @@ define(function (require, exports, module) { searchModel.clear(); } + /** + * @public + * Closes the references panel + */ + function closeReferencesPanel() { + if (_resultsView) { + _resultsView.close(); + } + } + function setMenuItemStateForLanguage(languageId) { CommandManager.get(Commands.CMD_FIND_ALL_REFERENCES).setEnabled(false); if (!languageId) { @@ -207,4 +217,5 @@ define(function (require, exports, module) { exports.registerFindReferencesProvider = registerFindReferencesProvider; exports.removeFindReferencesProvider = removeFindReferencesProvider; exports.setMenuItemStateForLanguage = setMenuItemStateForLanguage; + exports.closeReferencesPanel = closeReferencesPanel; }); diff --git a/src/search/FindInFilesUI.js b/src/search/FindInFilesUI.js index 4633fe326..7d1cc0462 100644 --- a/src/search/FindInFilesUI.js +++ b/src/search/FindInFilesUI.js @@ -450,6 +450,15 @@ define(function (require, exports, module) { } } + /** + * @public + * Closes the search results panel + */ + function closeResultsPanel() { + _resultsView.close(); + _closeFindBar(); + } + // Initialize items dependent on HTML DOM AppInit.htmlReady(function () { var model = FindInFiles.searchModel; @@ -495,6 +504,7 @@ define(function (require, exports, module) { // Public exports exports.searchAndShowResults = searchAndShowResults; exports.searchAndReplaceResults = searchAndReplaceResults; + exports.closeResultsPanel = closeResultsPanel; // For unit testing exports._showFindBar = _showFindBar; From f517012932972d2061cf76ca6232c796767a5290 Mon Sep 17 00:00:00 2001 From: Sietse Brouwer Date: Mon, 20 Jan 2020 16:22:40 +0100 Subject: [PATCH 32/66] Fix for `Reload With(out) Extensions` not working In Brackets 1.14.1 a browser reload failed (menu items Debug | Reload With(out) Extensions). Rejecting the `_disableCache()` promise when no remote debugging port is found, will fix this. --- src/document/DocumentCommandHandlers.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/document/DocumentCommandHandlers.js b/src/document/DocumentCommandHandlers.js index 7d7614d2d..bcc235f9a 100644 --- a/src/document/DocumentCommandHandlers.js +++ b/src/document/DocumentCommandHandlers.js @@ -1665,6 +1665,8 @@ define(function (require, exports, module) { // In case of an error _socket.onerror = result.reject; }); + } else { + result.reject(); } }); } From 764921c42c560cf89746049f17b15b5f17ed7197 Mon Sep 17 00:00:00 2001 From: Narayani M Date: Mon, 17 Feb 2020 10:57:59 +0530 Subject: [PATCH 33/66] Adding value "legacy" to justify-items and removing "unset" from justify-items and justify-self as per w3 org recommendations. --- src/extensions/default/CSSCodeHints/CSSProperties.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/extensions/default/CSSCodeHints/CSSProperties.json b/src/extensions/default/CSSCodeHints/CSSProperties.json index 6f0b91fa3..22ee1aa23 100644 --- a/src/extensions/default/CSSCodeHints/CSSProperties.json +++ b/src/extensions/default/CSSCodeHints/CSSProperties.json @@ -140,8 +140,8 @@ "image-resolution": {"values": ["from-image", "snap"]}, "isolation": {"values": ["auto", "isolate"]}, "justify-content": {"values": ["center", "flex-end", "flex-start", "space-around", "space-between"]}, - "justify-items": {"values": ["auto", "normal", "stretch", "center", "start", "end", "flex-start", "flex-end", "self-start", "self-end", "left", "right", "baseline", "first", "last", "safe", "unsafe", "inherit", "initial", "unset"]}, - "justity-self": {"values": ["auto", "normal", "stretch", "center", "start", "end", "flex-start", "flex-end", "self-start", "self-end", "left", "right", "baseline", "first", "last", "safe", "unsafe", "inherit", "initial", "unset"]}, + "justify-items": {"values": ["auto", "normal", "stretch", "center", "start", "end", "flex-start", "flex-end", "self-start", "self-end", "left", "right", "baseline", "first", "last", "safe", "unsafe", "legacy", "inherit", "initial"]}, + "justity-self": {"values": ["auto", "normal", "stretch", "center", "start", "end", "flex-start", "flex-end", "self-start", "self-end", "left", "right", "baseline", "first", "last", "safe", "unsafe", "inherit", "initial"]}, "left": {"values": ["auto", "inherit"]}, "letter-spacing": {"values": ["normal", "inherit"]}, "line-height": {"values": ["normal", "inherit"]}, From b3d7de58f426d971e78fa11f92dd32c1b546236c Mon Sep 17 00:00:00 2001 From: Narayani M Date: Wed, 19 Feb 2020 14:25:16 +0530 Subject: [PATCH 34/66] Spell correction for justify-self --- src/extensions/default/CSSCodeHints/CSSProperties.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/extensions/default/CSSCodeHints/CSSProperties.json b/src/extensions/default/CSSCodeHints/CSSProperties.json index 22ee1aa23..342b9875d 100644 --- a/src/extensions/default/CSSCodeHints/CSSProperties.json +++ b/src/extensions/default/CSSCodeHints/CSSProperties.json @@ -141,7 +141,7 @@ "isolation": {"values": ["auto", "isolate"]}, "justify-content": {"values": ["center", "flex-end", "flex-start", "space-around", "space-between"]}, "justify-items": {"values": ["auto", "normal", "stretch", "center", "start", "end", "flex-start", "flex-end", "self-start", "self-end", "left", "right", "baseline", "first", "last", "safe", "unsafe", "legacy", "inherit", "initial"]}, - "justity-self": {"values": ["auto", "normal", "stretch", "center", "start", "end", "flex-start", "flex-end", "self-start", "self-end", "left", "right", "baseline", "first", "last", "safe", "unsafe", "inherit", "initial"]}, + "justify-self": {"values": ["auto", "normal", "stretch", "center", "start", "end", "flex-start", "flex-end", "self-start", "self-end", "left", "right", "baseline", "first", "last", "safe", "unsafe", "inherit", "initial"]}, "left": {"values": ["auto", "inherit"]}, "letter-spacing": {"values": ["normal", "inherit"]}, "line-height": {"values": ["normal", "inherit"]}, From 5171c85c20ff7483d7233e65b6395da9e00d8010 Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Thu, 5 Mar 2020 16:22:45 +0530 Subject: [PATCH 35/66] Associate an file tpye to external Application --- src/file/FileUtils.js | 29 +++++++++++++++++++++++++++++ src/nls/root/strings.js | 5 ++++- src/project/FileTreeView.js | 14 ++++++++++++-- src/project/FileViewController.js | 8 ++++++++ src/project/ProjectManager.js | 8 ++++++++ 5 files changed, 61 insertions(+), 3 deletions(-) diff --git a/src/file/FileUtils.js b/src/file/FileUtils.js index 308c389cd..41c9c0f79 100644 --- a/src/file/FileUtils.js +++ b/src/file/FileUtils.js @@ -59,6 +59,11 @@ define(function (require, exports, module) { */ var MAX_FILE_SIZE = MAX_FILE_SIZE_MB * 1024 * 1024; + /** + * @const {List} list of File Extensions which will be opened in external Application + */ + var extListToBeOpenedInExtApp = []; + /** * Asynchronously reads a file as UTF-8 encoded text. @@ -526,6 +531,28 @@ define(function (require, exports, module) { return pathArray.join("/"); } + /** + * @param {string} ext extension string a file + * @return {string} returns true If file to be opened in External Application. + * + */ + function shouldOpenInExternalApplication(ext) { + return !extListToBeOpenedInExtApp.includes(ext); + } + + /** + * @param {string} ext File Extensions to be added in External App List + * + */ + function addExtensionToExternalAppList(ext) { + + if(typeof ext !== 'string') { + extListToBeOpenedInExtApp.concat(ext); + } else { + extListToBeOpenedInExtApp.push(ext); + } + } + // Asynchronously load DocumentCommandHandlers // This avoids a temporary circular dependency created // by relocating showFileOpenError() until deprecation is over @@ -568,4 +595,6 @@ define(function (require, exports, module) { exports.comparePaths = comparePaths; exports.MAX_FILE_SIZE = MAX_FILE_SIZE; exports.encodeFilePath = encodeFilePath; + exports.shouldOpenInExternalApplication = shouldOpenInExternalApplication; + exports.addExtensionToExternalAppList = addExtensionToExternalAppList; }); diff --git a/src/nls/root/strings.js b/src/nls/root/strings.js index bb7c0d426..fbebdc49d 100644 --- a/src/nls/root/strings.js +++ b/src/nls/root/strings.js @@ -903,5 +903,8 @@ define({ "REMOTE_DEBUGGING_ENABLED" : "Remote debugging enabled on localhost:", // Remote debugging port argument is invalid - "REMOTE_DEBUGGING_PORT_INVALID" : "Cannot enable remote debugging on port {0}. Port numbers should be between {1} and {2}." + "REMOTE_DEBUGGING_PORT_INVALID" : "Cannot enable remote debugging on port {0}. Port numbers should be between {1} and {2}.", + + //Associate File Type to External App + "DESCRIPTION_EXTERNAL_EDITOR" : "Add File type association to external App here" }); diff --git a/src/project/FileTreeView.js b/src/project/FileTreeView.js index 4efeef4a6..258444bd4 100644 --- a/src/project/FileTreeView.js +++ b/src/project/FileTreeView.js @@ -39,7 +39,8 @@ define(function (require, exports, module) { LanguageManager = require("language/LanguageManager"), FileTreeViewModel = require("project/FileTreeViewModel"), ViewUtils = require("utils/ViewUtils"), - KeyEvent = require("utils/KeyEvent"); + KeyEvent = require("utils/KeyEvent"), + PreferencesManager = require("preferences/PreferencesManager"); var DOM = Preact.DOM; @@ -554,7 +555,10 @@ define(function (require, exports, module) { }); } } else { - this.props.actions.setSelected(this.myPath()); + this.props.actions.setSelected(this.myPath(), + FileUtils.shouldOpenInExternalApplication( + FileUtils.getFileExtension(this.myPath()).toLowerCase() + )); } e.stopPropagation(); e.preventDefault(); @@ -569,6 +573,12 @@ define(function (require, exports, module) { if (this.state.clickTimer !== null) { this.clearTimer(); } + if (FileUtils.shouldOpenInExternalApplication( + FileUtils.getFileExtension(this.myPath()).toLowerCase() + )) { + this.props.actions.openInExternalEditor(this.myPath()); + return; + } this.props.actions.selectInWorkingSet(this.myPath()); } }, diff --git a/src/project/FileViewController.js b/src/project/FileViewController.js index e8079a0eb..fd1cb7886 100644 --- a/src/project/FileViewController.js +++ b/src/project/FileViewController.js @@ -226,6 +226,13 @@ define(function (require, exports, module) { return result.promise(); } + /** + * Opens the specified document with its associated external editor, + */ + function openInExternalEditor(fullPath) { + exports.trigger("openInExternalEditor", fullPath); + } + /** * Opens the specified document if it's not already open, adds it to the working set, * and selects it in the WorkingSetView @@ -275,4 +282,5 @@ define(function (require, exports, module) { exports.setFileViewFocus = setFileViewFocus; exports.WORKING_SET_VIEW = WORKING_SET_VIEW; exports.PROJECT_MANAGER = PROJECT_MANAGER; + exports.openInExternalEditor = openInExternalEditor; }); diff --git a/src/project/ProjectManager.js b/src/project/ProjectManager.js index db0cc7375..9a8433690 100644 --- a/src/project/ProjectManager.js +++ b/src/project/ProjectManager.js @@ -280,6 +280,14 @@ define(function (require, exports, module) { this.model.selectInWorkingSet(path); }; + /** + * See `FileViewController.openInExternalEditor` + */ + ActionCreator.prototype.openInExternalEditor = function (path) { + FileViewController.openInExternalEditor(path); + }; + + /** * See `ProjectModel.setContext` */ From 0420ac1da3d7087e0833b7b1e8f27cedf58d65c7 Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Thu, 5 Mar 2020 16:30:39 +0530 Subject: [PATCH 36/66] Adding missed files --- .../default/OpenWithExternalEditor/main.js | 70 +++++++++++++++++++ .../node/OpenWithExternalEditorDomain.js | 68 ++++++++++++++++++ .../OpenWithExternalEditor/node/package.json | 6 ++ 3 files changed, 144 insertions(+) create mode 100644 src/extensions/default/OpenWithExternalEditor/main.js create mode 100644 src/extensions/default/OpenWithExternalEditor/node/OpenWithExternalEditorDomain.js create mode 100644 src/extensions/default/OpenWithExternalEditor/node/package.json diff --git a/src/extensions/default/OpenWithExternalEditor/main.js b/src/extensions/default/OpenWithExternalEditor/main.js new file mode 100644 index 000000000..62c676682 --- /dev/null +++ b/src/extensions/default/OpenWithExternalEditor/main.js @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2013 - present Adobe Systems Incorporated. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +define(function (require, exports, module) { + "use strict"; + + + var AppInit = brackets.getModule("utils/AppInit"), + PreferencesManager = brackets.getModule("preferences/PreferencesManager"), + Strings = brackets.getModule("strings"), + FileViewController = brackets.getModule("project/FileViewController"), + ExtensionUtils = brackets.getModule("utils/ExtensionUtils"), + NodeDomain = brackets.getModule("utils/NodeDomain"), + FileUtils = brackets.getModule("file/FileUtils"); + + /** + * @private + * @type {string} fullPath of the OpenWithExternalEditor Domain implementation + */ + var _domainPath = ExtensionUtils.getModulePath(module, "node/OpenWithExternalEditorDomain"); + + /** + * @private + * @type {NodeDomain} + */ + var _nodeDomain = new NodeDomain("OpenWithExternalEditor", _domainPath); + + var extensionToExternalEditorMap = {}; + + function _openInExternalEdior(event, path) { + _nodeDomain.exec("open", { + path: path, + app: extensionToExternalEditorMap[FileUtils.getFileExtension(path).toLowerCase()] + }); + } + + PreferencesManager.definePreference("externalEditor", "object", {}, { + description: Strings.DESCRIPTION_EXTERNAL_EDITOR + }); + + PreferencesManager.on("change", "externalEditor", function () { + extensionToExternalEditorMap = PreferencesManager.get("externalEditor"); + }); + + FileViewController.on("openInExternalEditor", _openInExternalEdior); + + AppInit.appReady(function () { + FileUtils.addExtensionToExternalAppList(Object.keys(extensionToExternalEditorMap)); + }); +}); diff --git a/src/extensions/default/OpenWithExternalEditor/node/OpenWithExternalEditorDomain.js b/src/extensions/default/OpenWithExternalEditor/node/OpenWithExternalEditorDomain.js new file mode 100644 index 000000000..4827cb3f3 --- /dev/null +++ b/src/extensions/default/OpenWithExternalEditor/node/OpenWithExternalEditorDomain.js @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2012 - present Adobe Systems Incorporated. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +/*eslint-env node */ +/*jslint node: true */ +"use strict"; + +var open = require("open"); + +var _domainManager; + +/** + * @private + * + * @param {Object} params Object to use + */ +function _OpenWithExternalEditor(params) { + var application = "default" === params.app ? "": params.app; + open(params.path, application); +} + + +/** + * Initializes the OpenWithExternalEditor domain with its commands. + * @param {DomainManager} domainManager The DomainManager for the server + */ +function init(domainManager) { + _domainManager = domainManager; + + if (!domainManager.hasDomain("OpenWithExternalEditor")) { + domainManager.registerDomain("OpenWithExternalEditor", {major: 0, minor: 1}); + } + _domainManager.registerCommand( + "OpenWithExternalEditor", + "open", + _OpenWithExternalEditor, + true, + "open document with External Editor.", + [{ + name: "params", + type: "object", + description: "Params Object having document and App Path." + }], + [] + ); +} + +exports.init = init; diff --git a/src/extensions/default/OpenWithExternalEditor/node/package.json b/src/extensions/default/OpenWithExternalEditor/node/package.json new file mode 100644 index 000000000..178069e3c --- /dev/null +++ b/src/extensions/default/OpenWithExternalEditor/node/package.json @@ -0,0 +1,6 @@ +{ + "name": "brackets-open-external_editor", + "dependencies": { + "open": "0.0.5" + } +} From 7f5f0647d2df6315e1f5a5bf38e5433312f44959 Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Thu, 5 Mar 2020 18:08:48 +0530 Subject: [PATCH 37/66] few corrections in naming conventions --- .../main.js | 24 ++++++++++--------- .../OpenWithExternalApplicationDomain.js} | 12 +++++----- .../node/package.json | 2 +- src/file/FileUtils.js | 4 ++-- src/nls/root/strings.js | 2 +- src/project/FileTreeView.js | 2 +- src/project/FileViewController.js | 6 ++--- src/project/ProjectManager.js | 6 ++--- 8 files changed, 30 insertions(+), 28 deletions(-) rename src/extensions/default/{OpenWithExternalEditor => OpenWithExternalApplication}/main.js (71%) rename src/extensions/default/{OpenWithExternalEditor/node/OpenWithExternalEditorDomain.js => OpenWithExternalApplication/node/OpenWithExternalApplicationDomain.js} (85%) rename src/extensions/default/{OpenWithExternalEditor => OpenWithExternalApplication}/node/package.json (50%) diff --git a/src/extensions/default/OpenWithExternalEditor/main.js b/src/extensions/default/OpenWithExternalApplication/main.js similarity index 71% rename from src/extensions/default/OpenWithExternalEditor/main.js rename to src/extensions/default/OpenWithExternalApplication/main.js index 62c676682..535a6333e 100644 --- a/src/extensions/default/OpenWithExternalEditor/main.js +++ b/src/extensions/default/OpenWithExternalApplication/main.js @@ -37,34 +37,36 @@ define(function (require, exports, module) { * @private * @type {string} fullPath of the OpenWithExternalEditor Domain implementation */ - var _domainPath = ExtensionUtils.getModulePath(module, "node/OpenWithExternalEditorDomain"); + var _domainPath = ExtensionUtils.getModulePath(module, "node/OpenWithExternalApplicationDomain"); /** * @private * @type {NodeDomain} */ - var _nodeDomain = new NodeDomain("OpenWithExternalEditor", _domainPath); + var _nodeDomain = new NodeDomain("OpenWithExternalApplication", _domainPath); - var extensionToExternalEditorMap = {}; + var extensionToExtApplicationMap = {}; - function _openInExternalEdior(event, path) { + function _openWithExternalApplication(event, path) { _nodeDomain.exec("open", { path: path, - app: extensionToExternalEditorMap[FileUtils.getFileExtension(path).toLowerCase()] + app: extensionToExtApplicationMap[FileUtils.getFileExtension(path).toLowerCase()] }); } - PreferencesManager.definePreference("externalEditor", "object", {}, { - description: Strings.DESCRIPTION_EXTERNAL_EDITOR + PreferencesManager.definePreference("externalApplications", "object", {}, { + description: Strings.DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE }); - PreferencesManager.on("change", "externalEditor", function () { - extensionToExternalEditorMap = PreferencesManager.get("externalEditor"); + PreferencesManager.on("change", "externalApplications", function () { + extensionToExtApplicationMap = PreferencesManager.get("externalApplications"); + FileUtils.addExtensionToExternalAppList(Object.keys(extensionToExtApplicationMap)); }); - FileViewController.on("openInExternalEditor", _openInExternalEdior); + FileViewController.on("openWithExternalApplication", _openWithExternalApplication); AppInit.appReady(function () { - FileUtils.addExtensionToExternalAppList(Object.keys(extensionToExternalEditorMap)); + extensionToExtApplicationMap = PreferencesManager.get("externalApplications"); + FileUtils.addExtensionToExternalAppList(Object.keys(extensionToExtApplicationMap)); }); }); diff --git a/src/extensions/default/OpenWithExternalEditor/node/OpenWithExternalEditorDomain.js b/src/extensions/default/OpenWithExternalApplication/node/OpenWithExternalApplicationDomain.js similarity index 85% rename from src/extensions/default/OpenWithExternalEditor/node/OpenWithExternalEditorDomain.js rename to src/extensions/default/OpenWithExternalApplication/node/OpenWithExternalApplicationDomain.js index 4827cb3f3..8a864689e 100644 --- a/src/extensions/default/OpenWithExternalEditor/node/OpenWithExternalEditorDomain.js +++ b/src/extensions/default/OpenWithExternalApplication/node/OpenWithExternalApplicationDomain.js @@ -34,7 +34,7 @@ var _domainManager; * * @param {Object} params Object to use */ -function _OpenWithExternalEditor(params) { +function _openWithExternalApplication(params) { var application = "default" === params.app ? "": params.app; open(params.path, application); } @@ -47,15 +47,15 @@ function _OpenWithExternalEditor(params) { function init(domainManager) { _domainManager = domainManager; - if (!domainManager.hasDomain("OpenWithExternalEditor")) { - domainManager.registerDomain("OpenWithExternalEditor", {major: 0, minor: 1}); + if (!domainManager.hasDomain("OpenWithExternalApplication")) { + domainManager.registerDomain("OpenWithExternalApplication", {major: 0, minor: 1}); } _domainManager.registerCommand( - "OpenWithExternalEditor", + "OpenWithExternalApplication", "open", - _OpenWithExternalEditor, + _openWithExternalApplication, true, - "open document with External Editor.", + "open document with External Application.", [{ name: "params", type: "object", diff --git a/src/extensions/default/OpenWithExternalEditor/node/package.json b/src/extensions/default/OpenWithExternalApplication/node/package.json similarity index 50% rename from src/extensions/default/OpenWithExternalEditor/node/package.json rename to src/extensions/default/OpenWithExternalApplication/node/package.json index 178069e3c..65bb04973 100644 --- a/src/extensions/default/OpenWithExternalEditor/node/package.json +++ b/src/extensions/default/OpenWithExternalApplication/node/package.json @@ -1,5 +1,5 @@ { - "name": "brackets-open-external_editor", + "name": "brackets-open-external_application", "dependencies": { "open": "0.0.5" } diff --git a/src/file/FileUtils.js b/src/file/FileUtils.js index 41c9c0f79..819168d12 100644 --- a/src/file/FileUtils.js +++ b/src/file/FileUtils.js @@ -537,7 +537,7 @@ define(function (require, exports, module) { * */ function shouldOpenInExternalApplication(ext) { - return !extListToBeOpenedInExtApp.includes(ext); + return extListToBeOpenedInExtApp.includes(ext); } /** @@ -547,7 +547,7 @@ define(function (require, exports, module) { function addExtensionToExternalAppList(ext) { if(typeof ext !== 'string') { - extListToBeOpenedInExtApp.concat(ext); + extListToBeOpenedInExtApp = ext; } else { extListToBeOpenedInExtApp.push(ext); } diff --git a/src/nls/root/strings.js b/src/nls/root/strings.js index fbebdc49d..e01b2300a 100644 --- a/src/nls/root/strings.js +++ b/src/nls/root/strings.js @@ -906,5 +906,5 @@ define({ "REMOTE_DEBUGGING_PORT_INVALID" : "Cannot enable remote debugging on port {0}. Port numbers should be between {1} and {2}.", //Associate File Type to External App - "DESCRIPTION_EXTERNAL_EDITOR" : "Add File type association to external App here" + "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE" : "Add File type association to external App here" }); diff --git a/src/project/FileTreeView.js b/src/project/FileTreeView.js index 258444bd4..ec71c7976 100644 --- a/src/project/FileTreeView.js +++ b/src/project/FileTreeView.js @@ -576,7 +576,7 @@ define(function (require, exports, module) { if (FileUtils.shouldOpenInExternalApplication( FileUtils.getFileExtension(this.myPath()).toLowerCase() )) { - this.props.actions.openInExternalEditor(this.myPath()); + this.props.actions.openWithExternalApplication(this.myPath()); return; } this.props.actions.selectInWorkingSet(this.myPath()); diff --git a/src/project/FileViewController.js b/src/project/FileViewController.js index fd1cb7886..ac616e943 100644 --- a/src/project/FileViewController.js +++ b/src/project/FileViewController.js @@ -229,8 +229,8 @@ define(function (require, exports, module) { /** * Opens the specified document with its associated external editor, */ - function openInExternalEditor(fullPath) { - exports.trigger("openInExternalEditor", fullPath); + function openWithExternalApplication(fullPath) { + exports.trigger("openWithExternalApplication", fullPath); } /** @@ -282,5 +282,5 @@ define(function (require, exports, module) { exports.setFileViewFocus = setFileViewFocus; exports.WORKING_SET_VIEW = WORKING_SET_VIEW; exports.PROJECT_MANAGER = PROJECT_MANAGER; - exports.openInExternalEditor = openInExternalEditor; + exports.openWithExternalApplication = openWithExternalApplication; }); diff --git a/src/project/ProjectManager.js b/src/project/ProjectManager.js index 9a8433690..f6a799adf 100644 --- a/src/project/ProjectManager.js +++ b/src/project/ProjectManager.js @@ -281,10 +281,10 @@ define(function (require, exports, module) { }; /** - * See `FileViewController.openInExternalEditor` + * See `FileViewController.openWithExternalApplication` */ - ActionCreator.prototype.openInExternalEditor = function (path) { - FileViewController.openInExternalEditor(path); + ActionCreator.prototype.openWithExternalApplication = function (path) { + FileViewController.openWithExternalApplication(path); }; From 3cbacd8b51f1417c263640a553d3f3da2d35f77a Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Tue, 10 Mar 2020 11:53:57 +0530 Subject: [PATCH 38/66] detect graphics file in a project --- .../GraphicsFile.js | 83 +++++++++++++++++++ .../OpenWithExternalApplication/main.js | 8 +- .../node/OpenWithExternalApplicationDomain.js | 64 +++++++++++++- .../node/package.json | 3 +- 4 files changed, 155 insertions(+), 3 deletions(-) create mode 100644 src/extensions/default/OpenWithExternalApplication/GraphicsFile.js diff --git a/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js b/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js new file mode 100644 index 000000000..e46f13e0d --- /dev/null +++ b/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2013 - present Adobe Systems Incorporated. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +define(function (require, exports, module) { + "use strict"; + + + var PreferencesManager = brackets.getModule("preferences/PreferencesManager"), + Strings = brackets.getModule("strings"), + ProjectManager = brackets.getModule("project/ProjectManager"); + + + var _requestID = 0, + _initialized = false; + + var _graphicsFileTypes = ["jpg", "jpeg", "png", "svg", "xd", "psd", "ai"]; + + var _nodeDomain; + + function init(nodeDomain) { + + if(_initialized) { + return; + } + _initialized = true; + + _nodeDomain = nodeDomain; + + _nodeDomain.on('checkFileTypesInFolderResponse', function (event, response) { + if(response.id !== _requestID) { + return; + } + _graphicsFilePresentInProject(response.present) + }); + + ProjectManager.on("projectOpen", function () { + _checkForGraphicsFileInPrjct(); + }); + + _checkForGraphicsFileInPrjct(); + + } + + + function _checkForGraphicsFileInPrjct() { + + _nodeDomain.exec("checkFileTypesInFolder", { + extensions: _graphicsFileTypes.join(), + folder: ProjectManager.getProjectRoot().fullPath, + reqId: ++_requestID + }); + + } + + function _graphicsFilePresentInProject(isPresent) { + + console.log("Graphics File present in project", isPresent); + + } + + exports.init = init; + +}); diff --git a/src/extensions/default/OpenWithExternalApplication/main.js b/src/extensions/default/OpenWithExternalApplication/main.js index 535a6333e..419946c71 100644 --- a/src/extensions/default/OpenWithExternalApplication/main.js +++ b/src/extensions/default/OpenWithExternalApplication/main.js @@ -29,9 +29,11 @@ define(function (require, exports, module) { PreferencesManager = brackets.getModule("preferences/PreferencesManager"), Strings = brackets.getModule("strings"), FileViewController = brackets.getModule("project/FileViewController"), + ProjectManager = brackets.getModule("project/ProjectManager"), ExtensionUtils = brackets.getModule("utils/ExtensionUtils"), NodeDomain = brackets.getModule("utils/NodeDomain"), - FileUtils = brackets.getModule("file/FileUtils"); + FileUtils = brackets.getModule("file/FileUtils"), + GraphicsFile = require("GraphicsFile"); /** * @private @@ -47,6 +49,8 @@ define(function (require, exports, module) { var extensionToExtApplicationMap = {}; + var graphicsFileTypes = [".jpg", ".jpeg", ".png", ".svg", ".xd", ".psd", ".ai"]; + function _openWithExternalApplication(event, path) { _nodeDomain.exec("open", { path: path, @@ -66,6 +70,8 @@ define(function (require, exports, module) { FileViewController.on("openWithExternalApplication", _openWithExternalApplication); AppInit.appReady(function () { + + GraphicsFile.init(_nodeDomain); extensionToExtApplicationMap = PreferencesManager.get("externalApplications"); FileUtils.addExtensionToExternalAppList(Object.keys(extensionToExtApplicationMap)); }); diff --git a/src/extensions/default/OpenWithExternalApplication/node/OpenWithExternalApplicationDomain.js b/src/extensions/default/OpenWithExternalApplication/node/OpenWithExternalApplicationDomain.js index 8a864689e..b0987614b 100644 --- a/src/extensions/default/OpenWithExternalApplication/node/OpenWithExternalApplicationDomain.js +++ b/src/extensions/default/OpenWithExternalApplication/node/OpenWithExternalApplicationDomain.js @@ -25,7 +25,9 @@ /*jslint node: true */ "use strict"; -var open = require("open"); +var open = require("open"), + Glob = require("glob").Glob, + path = require('path'); var _domainManager; @@ -39,6 +41,39 @@ function _openWithExternalApplication(params) { open(params.path, application); } +/** + * @private + * + * @param {Object} params Object to use + */ +function _checkFileTypesInFolder(params) { + + var extList = params.extensions, + dirPath = path.normalize(params.folder), + + pattern = dirPath + "/**/*.+(" + extList.replace(",", "|") + ")"; + //pattern = dirPath + "/**/*.jpg"; + + var mg = new Glob(pattern, function (err, matches) { + + var respObj = { + id: params.reqId, + present: matches.length > 0 ? true : false + } + _domainManager.emitEvent('OpenWithExternalApplication', 'checkFileTypesInFolderResponse', [respObj]); + }); + + mg.on("match", function() { + //mg.abort(); + var respObj = { + id: params.reqId, + present: true + } + //_domainManager.emitEvent('OpenWithExternalApplication', 'checkFileTypesInFolderResponse', [respObj]); + }); + +} + /** * Initializes the OpenWithExternalEditor domain with its commands. @@ -50,6 +85,7 @@ function init(domainManager) { if (!domainManager.hasDomain("OpenWithExternalApplication")) { domainManager.registerDomain("OpenWithExternalApplication", {major: 0, minor: 1}); } + _domainManager.registerCommand( "OpenWithExternalApplication", "open", @@ -63,6 +99,32 @@ function init(domainManager) { }], [] ); + + _domainManager.registerCommand( + "OpenWithExternalApplication", + "checkFileTypesInFolder", + _checkFileTypesInFolder, + true, + "looks for File Types in a folder.", + [{ + name: "params", + type: "object", + description: "Params Object having File Extensions and Folder Path." + }], + [] + ); + + _domainManager.registerEvent( + "OpenWithExternalApplication", + "checkFileTypesInFolderResponse", + [ + { + name: "msgObj", + type: "object", + description: "json object containing message info to pass to brackets" + } + ] + ); } exports.init = init; diff --git a/src/extensions/default/OpenWithExternalApplication/node/package.json b/src/extensions/default/OpenWithExternalApplication/node/package.json index 65bb04973..0e6464959 100644 --- a/src/extensions/default/OpenWithExternalApplication/node/package.json +++ b/src/extensions/default/OpenWithExternalApplication/node/package.json @@ -1,6 +1,7 @@ { "name": "brackets-open-external_application", "dependencies": { - "open": "0.0.5" + "open": "0.0.5", + "glob": "7.1.1" } } From b5d9ffdfa434236ffceb7f86a22364d5f62f40ff Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Tue, 10 Mar 2020 11:59:52 +0530 Subject: [PATCH 39/66] Binary file should not be opened if associated with external application --- src/language/languages.json | 2 +- src/project/FileTreeView.js | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/language/languages.json b/src/language/languages.json index 1de22f94d..5c8e9ef0b 100644 --- a/src/language/languages.json +++ b/src/language/languages.json @@ -291,7 +291,7 @@ "jsz", "lib", "mpeg", "mpg", "mp4", "msi", "node", "o", "obj", "odc", "odb", "odf", "odg", "odp", "ods", "odt", "otf", "pak", "pdb", "pdf", "pdi", "ppt", "pptx", "psd", "rar", "sdf", "so", "sqlite", "suo", "svgz", - "swf", "tar", "tif", "tiff", "ttf", "woff", "xls", "xlsx", "zip" + "swf", "tar", "tif", "tiff", "ttf", "woff", "xls", "xlsx", "zip", "xd" ], "isBinary": true }, diff --git a/src/project/FileTreeView.js b/src/project/FileTreeView.js index ec71c7976..d7ec88b98 100644 --- a/src/project/FileTreeView.js +++ b/src/project/FileTreeView.js @@ -555,10 +555,16 @@ define(function (require, exports, module) { }); } } else { - this.props.actions.setSelected(this.myPath(), - FileUtils.shouldOpenInExternalApplication( - FileUtils.getFileExtension(this.myPath()).toLowerCase() - )); + var language = LanguageManager.getLanguageForPath(this.myPath()), + doNotOpen = false; + if (language && language.isBinary() && "image" !== language.getId() && + FileUtils.shouldOpenInExternalApplication( + FileUtils.getFileExtension(this.myPath()).toLowerCase() + ) + ) { + doNotOpen = true; + } + this.props.actions.setSelected(this.myPath(), doNotOpen); } e.stopPropagation(); e.preventDefault(); From e8a829cbcf95853f57a09657f69f2f3c607310ac Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Thu, 12 Mar 2020 20:34:43 +0530 Subject: [PATCH 40/66] changes to detect graphics file in a project --- .../GraphicsFile.js | 54 ++++++++++++++++++- .../node/OpenWithExternalApplicationDomain.js | 11 ++-- src/nls/root/strings.js | 7 ++- 3 files changed, 63 insertions(+), 9 deletions(-) diff --git a/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js b/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js index e46f13e0d..55f79d83d 100644 --- a/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js +++ b/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js @@ -27,13 +27,16 @@ define(function (require, exports, module) { var PreferencesManager = brackets.getModule("preferences/PreferencesManager"), Strings = brackets.getModule("strings"), - ProjectManager = brackets.getModule("project/ProjectManager"); + ProjectManager = brackets.getModule("project/ProjectManager"), + Dialogs = brackets.getModule("widgets/Dialogs"), + DefaultDialogs = brackets.getModule("widgets/DefaultDialogs"); var _requestID = 0, _initialized = false; var _graphicsFileTypes = ["jpg", "jpeg", "png", "svg", "xd", "psd", "ai"]; + //var _graphicsFileTypes = [ "psd"]; var _nodeDomain; @@ -64,6 +67,10 @@ define(function (require, exports, module) { function _checkForGraphicsFileInPrjct() { + if(PreferencesManager.getViewState("AssociateGraphicsFileDialogShown")) { + return; + } + _nodeDomain.exec("checkFileTypesInFolder", { extensions: _graphicsFileTypes.join(), folder: ProjectManager.getProjectRoot().fullPath, @@ -74,7 +81,50 @@ define(function (require, exports, module) { function _graphicsFilePresentInProject(isPresent) { - console.log("Graphics File present in project", isPresent); + if(!isPresent) { + return; + } + + Dialogs.showModalDialog( + DefaultDialogs.DIALOG_ID_INFO, + Strings.ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_TITLE, + Strings.ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG, + [ + { className: Dialogs.DIALOG_BTN_CLASS_NORMAL, id: Dialogs.DIALOG_BTN_CANCEL, + text: Strings.BUTTON_NO + }, + { className: Dialogs.DIALOG_BTN_CLASS_PRIMARY, id: Dialogs.DIALOG_BTN_OK, + text: Strings.BUTTON_YES + } + ] + ).done(function (id) { + + if(id !== Dialogs.DIALOG_BTN_OK) + return; + + brackets.app.getSystemDefaultApp(_graphicsFileTypes.join(), function (err, out) { + var associateApp = out.split(','), + fileTypeToAppMap = {}; + + associateApp.forEach(function(item) { + fileTypeToAppMap[item.split(':')[0]] = item.split(':')[1] + }); + Dialogs.showModalDialog( + DefaultDialogs.DIALOG_ID_INFO, + Strings.ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_TITLE, + out, + [ + { className: Dialogs.DIALOG_BTN_CLASS_NORMAL, id: Dialogs.DIALOG_BTN_CANCEL, + text: Strings.BUTTON_NO + }, + { className: Dialogs.DIALOG_BTN_CLASS_PRIMARY, id: Dialogs.DIALOG_BTN_OK, + text: Strings.BUTTON_YES + } + ] + ) + }); + }); + PreferencesManager.setViewState("AssociateGraphicsFileDialogShown", true); } diff --git a/src/extensions/default/OpenWithExternalApplication/node/OpenWithExternalApplicationDomain.js b/src/extensions/default/OpenWithExternalApplication/node/OpenWithExternalApplicationDomain.js index b0987614b..996a99bde 100644 --- a/src/extensions/default/OpenWithExternalApplication/node/OpenWithExternalApplicationDomain.js +++ b/src/extensions/default/OpenWithExternalApplication/node/OpenWithExternalApplicationDomain.js @@ -51,10 +51,9 @@ function _checkFileTypesInFolder(params) { var extList = params.extensions, dirPath = path.normalize(params.folder), - pattern = dirPath + "/**/*.+(" + extList.replace(",", "|") + ")"; - //pattern = dirPath + "/**/*.jpg"; + pattern = dirPath + "/**/*.+(" + extList.replace(/,/g, "|") + ")"; - var mg = new Glob(pattern, function (err, matches) { + var globMgr = new Glob(pattern, function (err, matches) { var respObj = { id: params.reqId, @@ -63,13 +62,13 @@ function _checkFileTypesInFolder(params) { _domainManager.emitEvent('OpenWithExternalApplication', 'checkFileTypesInFolderResponse', [respObj]); }); - mg.on("match", function() { - //mg.abort(); + globMgr.on("match", function() { + globMgr.abort(); var respObj = { id: params.reqId, present: true } - //_domainManager.emitEvent('OpenWithExternalApplication', 'checkFileTypesInFolderResponse', [respObj]); + _domainManager.emitEvent('OpenWithExternalApplication', 'checkFileTypesInFolderResponse', [respObj]); }); } diff --git a/src/nls/root/strings.js b/src/nls/root/strings.js index e01b2300a..69f8803d6 100644 --- a/src/nls/root/strings.js +++ b/src/nls/root/strings.js @@ -906,5 +906,10 @@ define({ "REMOTE_DEBUGGING_PORT_INVALID" : "Cannot enable remote debugging on port {0}. Port numbers should be between {1} and {2}.", //Associate File Type to External App - "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE" : "Add File type association to external App here" + "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE" : "Add File type association to external App here", + + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_TITLE" : "Open Graphics Files in external editors?", + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG" : "Click Yes to associate the graphic files with its appropriate external editors." + + }); From 52e9414d35aeee6797898c89f8d85e8e04fe5952 Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Thu, 12 Mar 2020 20:40:04 +0530 Subject: [PATCH 41/66] corrected eslint error --- .../default/OpenWithExternalApplication/GraphicsFile.js | 9 +++++---- .../node/OpenWithExternalApplicationDomain.js | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js b/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js index 55f79d83d..81c88ab5f 100644 --- a/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js +++ b/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js @@ -53,7 +53,7 @@ define(function (require, exports, module) { if(response.id !== _requestID) { return; } - _graphicsFilePresentInProject(response.present) + _graphicsFilePresentInProject(response.present); }); ProjectManager.on("projectOpen", function () { @@ -99,15 +99,16 @@ define(function (require, exports, module) { ] ).done(function (id) { - if(id !== Dialogs.DIALOG_BTN_OK) + if(id !== Dialogs.DIALOG_BTN_OK) { return; + } brackets.app.getSystemDefaultApp(_graphicsFileTypes.join(), function (err, out) { var associateApp = out.split(','), fileTypeToAppMap = {}; associateApp.forEach(function(item) { - fileTypeToAppMap[item.split(':')[0]] = item.split(':')[1] + fileTypeToAppMap[item.split(':')[0]] = item.split(':')[1]; }); Dialogs.showModalDialog( DefaultDialogs.DIALOG_ID_INFO, @@ -121,7 +122,7 @@ define(function (require, exports, module) { text: Strings.BUTTON_YES } ] - ) + ); }); }); PreferencesManager.setViewState("AssociateGraphicsFileDialogShown", true); diff --git a/src/extensions/default/OpenWithExternalApplication/node/OpenWithExternalApplicationDomain.js b/src/extensions/default/OpenWithExternalApplication/node/OpenWithExternalApplicationDomain.js index 996a99bde..e5a7e4145 100644 --- a/src/extensions/default/OpenWithExternalApplication/node/OpenWithExternalApplicationDomain.js +++ b/src/extensions/default/OpenWithExternalApplication/node/OpenWithExternalApplicationDomain.js @@ -58,7 +58,7 @@ function _checkFileTypesInFolder(params) { var respObj = { id: params.reqId, present: matches.length > 0 ? true : false - } + }; _domainManager.emitEvent('OpenWithExternalApplication', 'checkFileTypesInFolderResponse', [respObj]); }); @@ -67,7 +67,7 @@ function _checkFileTypesInFolder(params) { var respObj = { id: params.reqId, present: true - } + }; _domainManager.emitEvent('OpenWithExternalApplication', 'checkFileTypesInFolderResponse', [respObj]); }); From 2dea43e2cb4a45054601fe4a9c3e25d55185da51 Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Fri, 13 Mar 2020 00:57:38 +0530 Subject: [PATCH 42/66] updating preferences file with default app --- .../GraphicsFile.js | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js b/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js index 81c88ab5f..b295c0c8e 100644 --- a/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js +++ b/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js @@ -36,7 +36,6 @@ define(function (require, exports, module) { _initialized = false; var _graphicsFileTypes = ["jpg", "jpeg", "png", "svg", "xd", "psd", "ai"]; - //var _graphicsFileTypes = [ "psd"]; var _nodeDomain; @@ -104,12 +103,29 @@ define(function (require, exports, module) { } brackets.app.getSystemDefaultApp(_graphicsFileTypes.join(), function (err, out) { + + if(err) { + return; + } var associateApp = out.split(','), fileTypeToAppMap = {}; associateApp.forEach(function(item) { - fileTypeToAppMap[item.split(':')[0]] = item.split(':')[1]; + fileTypeToAppMap[item.split('##')[0]] = item.split('##')[1]; }); + + var prefs = PreferencesManager.get('externalApplications'); + + for (var key in fileTypeToAppMap) { + if (fileTypeToAppMap.hasOwnProperty(key)) { + if(key && !prefs[key]) { + prefs[key] = "default"; + } + } + } + + PreferencesManager.set('externalApplications', prefs); + Dialogs.showModalDialog( DefaultDialogs.DIALOG_ID_INFO, Strings.ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_TITLE, From 7154baf13a1fd78b1f535781719aaaafc472434f Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Fri, 13 Mar 2020 01:05:51 +0530 Subject: [PATCH 43/66] code clean up --- src/extensions/default/OpenWithExternalApplication/main.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/extensions/default/OpenWithExternalApplication/main.js b/src/extensions/default/OpenWithExternalApplication/main.js index 419946c71..a8e7ad699 100644 --- a/src/extensions/default/OpenWithExternalApplication/main.js +++ b/src/extensions/default/OpenWithExternalApplication/main.js @@ -49,8 +49,6 @@ define(function (require, exports, module) { var extensionToExtApplicationMap = {}; - var graphicsFileTypes = [".jpg", ".jpeg", ".png", ".svg", ".xd", ".psd", ".ai"]; - function _openWithExternalApplication(event, path) { _nodeDomain.exec("open", { path: path, From 6f33003624e9e4d3fef98d4ee2d74af35b224fcf Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Fri, 13 Mar 2020 01:13:44 +0530 Subject: [PATCH 44/66] code clean up --- src/extensions/default/OpenWithExternalApplication/main.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/extensions/default/OpenWithExternalApplication/main.js b/src/extensions/default/OpenWithExternalApplication/main.js index a8e7ad699..5587da397 100644 --- a/src/extensions/default/OpenWithExternalApplication/main.js +++ b/src/extensions/default/OpenWithExternalApplication/main.js @@ -29,7 +29,6 @@ define(function (require, exports, module) { PreferencesManager = brackets.getModule("preferences/PreferencesManager"), Strings = brackets.getModule("strings"), FileViewController = brackets.getModule("project/FileViewController"), - ProjectManager = brackets.getModule("project/ProjectManager"), ExtensionUtils = brackets.getModule("utils/ExtensionUtils"), NodeDomain = brackets.getModule("utils/NodeDomain"), FileUtils = brackets.getModule("file/FileUtils"), From 9c722a6be5a166d24b167364172440190baab09e Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Fri, 13 Mar 2020 12:42:55 +0530 Subject: [PATCH 45/66] Application Name correction --- .../default/OpenWithExternalApplication/GraphicsFile.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js b/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js index b295c0c8e..ce30d3650 100644 --- a/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js +++ b/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js @@ -119,7 +119,11 @@ define(function (require, exports, module) { for (var key in fileTypeToAppMap) { if (fileTypeToAppMap.hasOwnProperty(key)) { if(key && !prefs[key]) { - prefs[key] = "default"; + prefs[key] = fileTypeToAppMap[key]; + if(brackets.platform === "win" && !fileTypeToAppMap[key].endsWith('.exe') && + !fileTypeToAppMap[key].endsWith('.EXE')) { + prefs[key] = "default"; + } } } } From 13bf4d2e8f36f36e7c559cf2edff1e723d3995cd Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Fri, 13 Mar 2020 16:45:43 +0530 Subject: [PATCH 46/66] addressed review comments --- src/file/FileUtils.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/file/FileUtils.js b/src/file/FileUtils.js index 819168d12..284c839b4 100644 --- a/src/file/FileUtils.js +++ b/src/file/FileUtils.js @@ -546,9 +546,9 @@ define(function (require, exports, module) { */ function addExtensionToExternalAppList(ext) { - if(typeof ext !== 'string') { + if(Array.isArray(ext)) { extListToBeOpenedInExtApp = ext; - } else { + } else if (typeof ext === 'string'){ extListToBeOpenedInExtApp.push(ext); } } From 3f1cfeb5bdc482a95df2bda05de3d720f7cea811 Mon Sep 17 00:00:00 2001 From: walf Date: Fri, 13 Mar 2020 09:55:28 -0700 Subject: [PATCH 47/66] Updated by ALF automation. --- src/nls/fr/strings.js | 5 ++++- src/nls/ja/strings.js | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index abf25a458..b2f3fd532 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -903,5 +903,8 @@ define({ "REMOTE_DEBUGGING_ENABLED": "Débogage à distance activé sur localhost:", // Remote debugging port argument is invalid - "REMOTE_DEBUGGING_PORT_INVALID": "Impossible d’activer le débogage à distance sur le port {0}. Les numéros de port doivent être compris entre {1} et {2}." + "REMOTE_DEBUGGING_PORT_INVALID": "Impossible d’activer le débogage à distance sur le port {0}. Les numéros de port doivent être compris entre {1} et {2}.", + + //Associate File Type to External App + "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE": "Add File type association to external App here" }); diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index c4453363e..2d9c27fe7 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -903,5 +903,8 @@ define({ "REMOTE_DEBUGGING_ENABLED": "次のローカルホストでリモートデバッグが有効になりました。localhost:", // Remote debugging port argument is invalid - "REMOTE_DEBUGGING_PORT_INVALID": "ポート {0} でリモートデバッグを有効にできません。ポート番号は、{1} から {2} の間で指定してください。" + "REMOTE_DEBUGGING_PORT_INVALID": "ポート {0} でリモートデバッグを有効にできません。ポート番号は、{1} から {2} の間で指定してください。", + + //Associate File Type to External App + "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE": "Add File type association to external App here" }); From 4d7268dc9a5d6e5cdc2754d42c647f5a4eed3122 Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Tue, 17 Mar 2020 23:56:17 +0530 Subject: [PATCH 48/66] added analytics data loggiing --- .../GraphicsFile.js | 94 +++++++++++++++---- src/nls/root/strings.js | 7 +- 2 files changed, 78 insertions(+), 23 deletions(-) diff --git a/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js b/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js index ce30d3650..894ed7e0b 100644 --- a/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js +++ b/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js @@ -27,9 +27,11 @@ define(function (require, exports, module) { var PreferencesManager = brackets.getModule("preferences/PreferencesManager"), Strings = brackets.getModule("strings"), + StringsUtils = brackets.getModule("utils/StringUtils"), ProjectManager = brackets.getModule("project/ProjectManager"), Dialogs = brackets.getModule("widgets/Dialogs"), - DefaultDialogs = brackets.getModule("widgets/DefaultDialogs"); + DefaultDialogs = brackets.getModule("widgets/DefaultDialogs"), + HealthLogger = brackets.getModule("utils/HealthLogger"); var _requestID = 0, @@ -41,7 +43,7 @@ define(function (require, exports, module) { function init(nodeDomain) { - if(_initialized) { + if (_initialized) { return; } _initialized = true; @@ -49,7 +51,7 @@ define(function (require, exports, module) { _nodeDomain = nodeDomain; _nodeDomain.on('checkFileTypesInFolderResponse', function (event, response) { - if(response.id !== _requestID) { + if (response.id !== _requestID) { return; } _graphicsFilePresentInProject(response.present); @@ -66,7 +68,7 @@ define(function (require, exports, module) { function _checkForGraphicsFileInPrjct() { - if(PreferencesManager.getViewState("AssociateGraphicsFileDialogShown")) { + if (PreferencesManager.getViewState("AssociateGraphicsFileDialogShown")) { return; } @@ -80,7 +82,7 @@ define(function (require, exports, module) { function _graphicsFilePresentInProject(isPresent) { - if(!isPresent) { + if (!isPresent) { return; } @@ -90,28 +92,66 @@ define(function (require, exports, module) { Strings.ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG, [ { className: Dialogs.DIALOG_BTN_CLASS_NORMAL, id: Dialogs.DIALOG_BTN_CANCEL, - text: Strings.BUTTON_NO + text: Strings.CANCEL }, { className: Dialogs.DIALOG_BTN_CLASS_PRIMARY, id: Dialogs.DIALOG_BTN_OK, - text: Strings.BUTTON_YES + text: Strings.OK } ] ).done(function (id) { - - if(id !== Dialogs.DIALOG_BTN_OK) { + + if (id !== Dialogs.DIALOG_BTN_OK) { + HealthLogger.sendAnalyticsData( + "externalEditorsCancelled", + "usage", + "externalEditors", + "Cancelled", + "" + ); return; } + HealthLogger.sendAnalyticsData( + "LinkExternalEditors", + "usage", + "externalEditors", + "LinkExternalEditors", + "" + ); brackets.app.getSystemDefaultApp(_graphicsFileTypes.join(), function (err, out) { - if(err) { + if (err) { return; } var associateApp = out.split(','), - fileTypeToAppMap = {}; + fileTypeToAppMap = {}, + AppToFileTypeMap = {}; - associateApp.forEach(function(item) { - fileTypeToAppMap[item.split('##')[0]] = item.split('##')[1]; + associateApp.forEach(function (item) { + + var filetype = item.split('##')[0], + app = item.split('##')[1]; + + if (!filetype) { + return; + } + + if (filetype === "xd") { + if (app.toLowerCase() !== "adobe xd" && app !== "adobe.cc.xd") { + return; + } + app = "Adobe XD"; + } + fileTypeToAppMap[filetype] = app; + + if (brackets.platform === "win" && !app.toLowerCase().endsWith('.exe')) { + app = app.substring(app.lastIndexOf('//') + 2, app.length - 4); + } + if (AppToFileTypeMap[app]) { + AppToFileTypeMap[app].push(filetype); + } else { + AppToFileTypeMap[app] = [filetype]; + } }); var prefs = PreferencesManager.get('externalApplications'); @@ -120,26 +160,40 @@ define(function (require, exports, module) { if (fileTypeToAppMap.hasOwnProperty(key)) { if(key && !prefs[key]) { prefs[key] = fileTypeToAppMap[key]; - if(brackets.platform === "win" && !fileTypeToAppMap[key].endsWith('.exe') && - !fileTypeToAppMap[key].endsWith('.EXE')) { + if(brackets.platform === "win" && !fileTypeToAppMap[key].toLowerCase().endsWith('.exe')) { prefs[key] = "default"; } + HealthLogger.sendAnalyticsData( + "AddExternalEditorForFileType_" + key.toUpperCase(), + "usage", + "externalEditors", + "AddExternalEditorForFileType_" + key.toUpperCase(), + "" + ); } } } PreferencesManager.set('externalApplications', prefs); + var str = ""; + for(var app in AppToFileTypeMap) { + str += AppToFileTypeMap[app].join() + "->" + app + "
"; + } + + if(!str) { + return; + } + + str+="
"; + Dialogs.showModalDialog( DefaultDialogs.DIALOG_ID_INFO, Strings.ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_TITLE, - out, + StringsUtils.format(Strings.ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_CNF_MSG, str), [ - { className: Dialogs.DIALOG_BTN_CLASS_NORMAL, id: Dialogs.DIALOG_BTN_CANCEL, - text: Strings.BUTTON_NO - }, { className: Dialogs.DIALOG_BTN_CLASS_PRIMARY, id: Dialogs.DIALOG_BTN_OK, - text: Strings.BUTTON_YES + text: Strings.OK } ] ); diff --git a/src/nls/root/strings.js b/src/nls/root/strings.js index 69f8803d6..5dbd01360 100644 --- a/src/nls/root/strings.js +++ b/src/nls/root/strings.js @@ -906,10 +906,11 @@ define({ "REMOTE_DEBUGGING_PORT_INVALID" : "Cannot enable remote debugging on port {0}. Port numbers should be between {1} and {2}.", //Associate File Type to External App - "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE" : "Add File type association to external App here", + "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE" : "Associate File type to external App settings. e.g { \"\": \"\" } app_name is OS dependant, for example \"google chrome\" on macOS and \"chrome\" on Windows. app_name can also be given as \"default\" for OS default application.", - "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_TITLE" : "Open Graphics Files in external editors?", - "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG" : "Click Yes to associate the graphic files with its appropriate external editors." + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_TITLE" : "Open Graphic Files in External Editors.", + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG" : "Your current folder has graphic file types which are not supported by Brackets.
You can now associate specific file types with external editors. Once associated, you can open graphic files like .xd, .psd, .jpg, .png, .ai, .svg in their default applications by double clicking on the files in File Tree.

Please click on ‘Ok’ button to associate the graphic file types with their respective default applications.", + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_CNF_MSG" : "Following file types have been successfully associated with default applications.
{0} You can further add new file type associations or customize in brackets.json by going to “Debug->Open Preferences File” menu." }); From 5fb5763e6369d90a3974018810f16a38b2eafd33 Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Wed, 18 Mar 2020 00:25:48 +0530 Subject: [PATCH 49/66] code corrections --- .../default/OpenWithExternalApplication/GraphicsFile.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js b/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js index 894ed7e0b..d8ac00ce0 100644 --- a/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js +++ b/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js @@ -137,15 +137,16 @@ define(function (require, exports, module) { } if (filetype === "xd") { - if (app.toLowerCase() !== "adobe xd" && app !== "adobe.cc.xd") { + if (app.toLowerCase() !== "adobe xd" && app.toLowerCase() !== "adobe.cc.xd") { return; } + app = "Adobe XD"; } fileTypeToAppMap[filetype] = app; - if (brackets.platform === "win" && !app.toLowerCase().endsWith('.exe')) { - app = app.substring(app.lastIndexOf('//') + 2, app.length - 4); + if (brackets.platform === "win" && app.toLowerCase().endsWith('.exe')) { + app = app.substring(app.lastIndexOf('\\') + 1, app.length - 4); } if (AppToFileTypeMap[app]) { AppToFileTypeMap[app].push(filetype); From 950e72a3a627f5bc280ae1342a701b29605e6bff Mon Sep 17 00:00:00 2001 From: walf Date: Wed, 18 Mar 2020 09:56:39 -0700 Subject: [PATCH 50/66] Updated by ALF automation. --- src/nls/fr/strings.js | 8 +++++++- src/nls/ja/strings.js | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index b2f3fd532..861a35d37 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -906,5 +906,11 @@ define({ "REMOTE_DEBUGGING_PORT_INVALID": "Impossible d’activer le débogage à distance sur le port {0}. Les numéros de port doivent être compris entre {1} et {2}.", //Associate File Type to External App - "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE": "Add File type association to external App here" + "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE": "Associate File type to external App settings. e.g { \"\": \"\" } app_name is OS dependant, for example \"google chrome\" on macOS and \"chrome\" on Windows. app_name can also be given as \"default\" for OS default application.", + + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_TITLE": "Open Graphic Files in External Editors.", + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG": "Your current folder has graphic file types which are not supported by Brackets.
You can now associate specific file types with external editors. Once associated, you can open graphic files like .xd, .psd, .jpg, .png, .ai, .svg in their default applications by double clicking on the files in File Tree.

Please click on ‘Ok’ button to associate the graphic file types with their respective default applications.", + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_CNF_MSG": "Following file types have been successfully associated with default applications.
{0} You can further add new file type associations or customize in brackets.json by going to “Debug->Open Preferences File” menu." + + }); diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index 2d9c27fe7..a0ef5b445 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -906,5 +906,11 @@ define({ "REMOTE_DEBUGGING_PORT_INVALID": "ポート {0} でリモートデバッグを有効にできません。ポート番号は、{1} から {2} の間で指定してください。", //Associate File Type to External App - "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE": "Add File type association to external App here" + "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE": "Associate File type to external App settings. e.g { \"\": \"\" } app_name is OS dependant, for example \"google chrome\" on macOS and \"chrome\" on Windows. app_name can also be given as \"default\" for OS default application.", + + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_TITLE": "Open Graphic Files in External Editors.", + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG": "Your current folder has graphic file types which are not supported by Brackets.
You can now associate specific file types with external editors. Once associated, you can open graphic files like .xd, .psd, .jpg, .png, .ai, .svg in their default applications by double clicking on the files in File Tree.

Please click on ‘Ok’ button to associate the graphic file types with their respective default applications.", + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_CNF_MSG": "Following file types have been successfully associated with default applications.
{0} You can further add new file type associations or customize in brackets.json by going to “Debug->Open Preferences File” menu." + + }); From f9f584eeb5150a28dc69d5b58a627ee68596c20d Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Thu, 19 Mar 2020 12:10:12 +0530 Subject: [PATCH 51/66] On Wiindows Path is converted to windows style when opening with external editor --- .../default/OpenWithExternalApplication/main.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/extensions/default/OpenWithExternalApplication/main.js b/src/extensions/default/OpenWithExternalApplication/main.js index 5587da397..f9151b42d 100644 --- a/src/extensions/default/OpenWithExternalApplication/main.js +++ b/src/extensions/default/OpenWithExternalApplication/main.js @@ -48,9 +48,16 @@ define(function (require, exports, module) { var extensionToExtApplicationMap = {}; + function convertUnixPathToWindowsPath(path) { + if (brackets.platform === "win") { + path = path.split("/").join("\\"); + } + return path; + } + function _openWithExternalApplication(event, path) { _nodeDomain.exec("open", { - path: path, + path: convertUnixPathToWindowsPath(path), app: extensionToExtApplicationMap[FileUtils.getFileExtension(path).toLowerCase()] }); } From 9a040bfb805aad1f1c21e8a5a2e2ca5d381fb5ca Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Thu, 19 Mar 2020 19:02:23 +0530 Subject: [PATCH 52/66] Updated strings for Graphics File Association --- src/nls/root/strings.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/nls/root/strings.js b/src/nls/root/strings.js index 5dbd01360..2c5e3e5b2 100644 --- a/src/nls/root/strings.js +++ b/src/nls/root/strings.js @@ -906,11 +906,11 @@ define({ "REMOTE_DEBUGGING_PORT_INVALID" : "Cannot enable remote debugging on port {0}. Port numbers should be between {1} and {2}.", //Associate File Type to External App - "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE" : "Associate File type to external App settings. e.g { \"\": \"\" } app_name is OS dependant, for example \"google chrome\" on macOS and \"chrome\" on Windows. app_name can also be given as \"default\" for OS default application.", + "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE" : "Mappings for file extension to external applications. Syntax: \"\": \"\", Use \"default\" to open files in system default application for the file type.", "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_TITLE" : "Open Graphic Files in External Editors.", - "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG" : "Your current folder has graphic file types which are not supported by Brackets.
You can now associate specific file types with external editors. Once associated, you can open graphic files like .xd, .psd, .jpg, .png, .ai, .svg in their default applications by double clicking on the files in File Tree.

Please click on ‘Ok’ button to associate the graphic file types with their respective default applications.", - "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_CNF_MSG" : "Following file types have been successfully associated with default applications.
{0} You can further add new file type associations or customize in brackets.json by going to “Debug->Open Preferences File” menu." + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG" : "Your current folder has graphic file types which are not supported by {APP_NAME}.
You can now associate specific file types with external editors. Once associated, you can open graphic files like .xd, .psd, .jpg, .png, .ai, .svg in their default applications by double clicking on the files in File Tree.

Please click on ‘Ok’ button to associate the graphic file types with their respective default applications.", + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_CNF_MSG" : "Following file types have been successfully associated with default applications.
{0} You have the option to change your preference on whether you delete/add new file type associations in brackets.json by going to “Debug->Open Preference File” menu." }); From 313bb4e480ef1a55f1f3a54f4d90d5afc68cc845 Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Thu, 19 Mar 2020 19:05:38 +0530 Subject: [PATCH 53/66] Updated strings for Graphics File Association --- src/nls/root/strings.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nls/root/strings.js b/src/nls/root/strings.js index 2c5e3e5b2..bcd120c68 100644 --- a/src/nls/root/strings.js +++ b/src/nls/root/strings.js @@ -910,7 +910,7 @@ define({ "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_TITLE" : "Open Graphic Files in External Editors.", "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG" : "Your current folder has graphic file types which are not supported by {APP_NAME}.
You can now associate specific file types with external editors. Once associated, you can open graphic files like .xd, .psd, .jpg, .png, .ai, .svg in their default applications by double clicking on the files in File Tree.

Please click on ‘Ok’ button to associate the graphic file types with their respective default applications.", - "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_CNF_MSG" : "Following file types have been successfully associated with default applications.
{0} You have the option to change your preference on whether you delete/add new file type associations in brackets.json by going to “Debug->Open Preference File” menu." + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_CNF_MSG" : "Following file types have been successfully associated with default applications.
{0} You have the option to change your preference on whether you delete/add new file type associations in brackets.json by going to “Debug->Open Preferences File” menu." }); From 3120f48dcef34e288cb95d0ea273da0d4a3c5a88 Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Thu, 19 Mar 2020 21:14:03 +0530 Subject: [PATCH 54/66] On Wiindows Path is converted to windows style when opening with external editor --- src/extensions/default/OpenWithExternalApplication/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/extensions/default/OpenWithExternalApplication/main.js b/src/extensions/default/OpenWithExternalApplication/main.js index f9151b42d..71ddd0db1 100644 --- a/src/extensions/default/OpenWithExternalApplication/main.js +++ b/src/extensions/default/OpenWithExternalApplication/main.js @@ -49,7 +49,7 @@ define(function (require, exports, module) { var extensionToExtApplicationMap = {}; function convertUnixPathToWindowsPath(path) { - if (brackets.platform === "win") { + if (brackets.platform === "win" && path && path.charAt(0).isAlpha()) { path = path.split("/").join("\\"); } return path; From ee9ede2c9c710ebc9d9f8fd6292731fe373dfab4 Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Thu, 19 Mar 2020 22:46:26 +0530 Subject: [PATCH 55/66] Addressed review comments --- src/extensions/default/OpenWithExternalApplication/main.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/extensions/default/OpenWithExternalApplication/main.js b/src/extensions/default/OpenWithExternalApplication/main.js index 71ddd0db1..6ab78eeb1 100644 --- a/src/extensions/default/OpenWithExternalApplication/main.js +++ b/src/extensions/default/OpenWithExternalApplication/main.js @@ -49,8 +49,8 @@ define(function (require, exports, module) { var extensionToExtApplicationMap = {}; function convertUnixPathToWindowsPath(path) { - if (brackets.platform === "win" && path && path.charAt(0).isAlpha()) { - path = path.split("/").join("\\"); + if (brackets.platform === "win" && path && path[1] === ":" && path[2] === "/") { + path = path.replace(RegExp('/','g'), '\\'); } return path; } From b301acc8d02b0695d2e45303c3cbd64ec5308007 Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Fri, 20 Mar 2020 01:26:27 +0530 Subject: [PATCH 56/66] upgrading lodash node module to 4.17.15 from 4.17.4 --- npm-shrinkwrap.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 3ac8cb728..acfb3ca93 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1946,9 +1946,9 @@ "dev": true }, "lodash": { - "version": "4.17.4", - "from": "lodash@4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" + "version": "4.17.15", + "from": "lodash@4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz" }, "longest": { "version": "1.0.1", diff --git a/package.json b/package.json index 805dff574..84ce74f28 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "chokidar": "1.6.1", "decompress-zip": "0.3.0", "fs-extra": "2.0.0", - "lodash": "4.17.4", + "lodash": "4.17.15", "npm": "3.10.10", "opn": "4.0.2", "request": "2.79.0", From 9f44657dc0f22a0c7d69f0bc5edb91fa7001a36f Mon Sep 17 00:00:00 2001 From: walf Date: Thu, 19 Mar 2020 21:35:52 -0700 Subject: [PATCH 57/66] Updated by ALF automation. --- src/nls/fr/strings.js | 6 +++--- src/nls/ja/strings.js | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/nls/fr/strings.js b/src/nls/fr/strings.js index 861a35d37..fd4be9f1e 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -906,11 +906,11 @@ define({ "REMOTE_DEBUGGING_PORT_INVALID": "Impossible d’activer le débogage à distance sur le port {0}. Les numéros de port doivent être compris entre {1} et {2}.", //Associate File Type to External App - "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE": "Associate File type to external App settings. e.g { \"\": \"\" } app_name is OS dependant, for example \"google chrome\" on macOS and \"chrome\" on Windows. app_name can also be given as \"default\" for OS default application.", + "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE": "Mappings for file extension to external applications. Syntax: \"\": \"\", Use \"default\" to open files in system default application for the file type.", "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_TITLE": "Open Graphic Files in External Editors.", - "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG": "Your current folder has graphic file types which are not supported by Brackets.
You can now associate specific file types with external editors. Once associated, you can open graphic files like .xd, .psd, .jpg, .png, .ai, .svg in their default applications by double clicking on the files in File Tree.

Please click on ‘Ok’ button to associate the graphic file types with their respective default applications.", - "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_CNF_MSG": "Following file types have been successfully associated with default applications.
{0} You can further add new file type associations or customize in brackets.json by going to “Debug->Open Preferences File” menu." + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG": "Your current folder has graphic file types which are not supported by {APP_NAME}.
You can now associate specific file types with external editors. Once associated, you can open graphic files like .xd, .psd, .jpg, .png, .ai, .svg in their default applications by double clicking on the files in File Tree.

Please click on ‘Ok’ button to associate the graphic file types with their respective default applications.", + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_CNF_MSG": "Following file types have been successfully associated with default applications.
{0} You have the option to change your preference on whether you delete/add new file type associations in brackets.json by going to “Debug->Open Preferences File” menu." }); diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index a0ef5b445..e92ef1786 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -906,11 +906,11 @@ define({ "REMOTE_DEBUGGING_PORT_INVALID": "ポート {0} でリモートデバッグを有効にできません。ポート番号は、{1} から {2} の間で指定してください。", //Associate File Type to External App - "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE": "Associate File type to external App settings. e.g { \"\": \"\" } app_name is OS dependant, for example \"google chrome\" on macOS and \"chrome\" on Windows. app_name can also be given as \"default\" for OS default application.", + "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE": "Mappings for file extension to external applications. Syntax: \"\": \"\", Use \"default\" to open files in system default application for the file type.", "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_TITLE": "Open Graphic Files in External Editors.", - "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG": "Your current folder has graphic file types which are not supported by Brackets.
You can now associate specific file types with external editors. Once associated, you can open graphic files like .xd, .psd, .jpg, .png, .ai, .svg in their default applications by double clicking on the files in File Tree.

Please click on ‘Ok’ button to associate the graphic file types with their respective default applications.", - "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_CNF_MSG": "Following file types have been successfully associated with default applications.
{0} You can further add new file type associations or customize in brackets.json by going to “Debug->Open Preferences File” menu." + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG": "Your current folder has graphic file types which are not supported by {APP_NAME}.
You can now associate specific file types with external editors. Once associated, you can open graphic files like .xd, .psd, .jpg, .png, .ai, .svg in their default applications by double clicking on the files in File Tree.

Please click on ‘Ok’ button to associate the graphic file types with their respective default applications.", + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_CNF_MSG": "Following file types have been successfully associated with default applications.
{0} You have the option to change your preference on whether you delete/add new file type associations in brackets.json by going to “Debug->Open Preferences File” menu." }); From d50cb268232ed190ce6333340249f207fb86b373 Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Fri, 20 Mar 2020 12:01:15 +0530 Subject: [PATCH 58/66] check iin config file --- src/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config.json b/src/config.json index cc1c874f7..d954955a7 100644 --- a/src/config.json +++ b/src/config.json @@ -47,7 +47,7 @@ "chokidar": "1.6.1", "decompress-zip": "0.3.0", "fs-extra": "2.0.0", - "lodash": "4.17.4", + "lodash": "4.17.15", "npm": "3.10.10", "opn": "4.0.2", "request": "2.79.0", From 0af714b8a2a1905508499c17e4ab80b901d1fbea Mon Sep 17 00:00:00 2001 From: walf Date: Fri, 20 Mar 2020 09:56:14 -0700 Subject: [PATCH 59/66] 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 fd4be9f1e..7b164ab12 100644 --- a/src/nls/fr/strings.js +++ b/src/nls/fr/strings.js @@ -906,11 +906,11 @@ define({ "REMOTE_DEBUGGING_PORT_INVALID": "Impossible d’activer le débogage à distance sur le port {0}. Les numéros de port doivent être compris entre {1} et {2}.", //Associate File Type to External App - "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE": "Mappings for file extension to external applications. Syntax: \"\": \"\", Use \"default\" to open files in system default application for the file type.", + "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE": "Mappages d’extension de fichier avec des applications externes. Syntaxe : \"\": \"\", Utiliser « default » pour ouvrir les fichiers dans l’application par défaut du système pour le type de fichier.", - "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_TITLE": "Open Graphic Files in External Editors.", - "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG": "Your current folder has graphic file types which are not supported by {APP_NAME}.
You can now associate specific file types with external editors. Once associated, you can open graphic files like .xd, .psd, .jpg, .png, .ai, .svg in their default applications by double clicking on the files in File Tree.

Please click on ‘Ok’ button to associate the graphic file types with their respective default applications.", - "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_CNF_MSG": "Following file types have been successfully associated with default applications.
{0} You have the option to change your preference on whether you delete/add new file type associations in brackets.json by going to “Debug->Open Preferences File” menu." + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_TITLE": "Ouvrez les fichiers graphiques dans des éditeurs externes.", + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG": "Votre dossier actuel comporte des types de fichier graphique non pris en charge par {APP_NAME}.
Vous pouvez à présent associer des types de fichiers spécifiques avec des éditeurs externes. Une fois l’association établie, vous pouvez ouvrir des fichiers graphiques tels que .xd, .psd, .jpg, .png, .ai et .svg, dans leur application par défaut en double-cliquant sur ces fichiers dans l’arborescence de fichiers.

Cliquez sur le bouton OK pour associer les types de fichier graphique avec leur application par défaut respective.", + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_CNF_MSG": "Les types de fichiers suivants ont été associés à des applications par défaut.
{0} Vous pouvez modifier votre préférence concernant l’éventuel(le) suppression/ajout d’associations de type de fichier dans brackets.json via le menu Déboguer->Ouvrir le fichier des préférences." }); diff --git a/src/nls/ja/strings.js b/src/nls/ja/strings.js index e92ef1786..7a128abfb 100644 --- a/src/nls/ja/strings.js +++ b/src/nls/ja/strings.js @@ -906,11 +906,11 @@ define({ "REMOTE_DEBUGGING_PORT_INVALID": "ポート {0} でリモートデバッグを有効にできません。ポート番号は、{1} から {2} の間で指定してください。", //Associate File Type to External App - "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE": "Mappings for file extension to external applications. Syntax: \"\": \"\", Use \"default\" to open files in system default application for the file type.", + "DESCRIPTION_EXTERNAL_APPLICATION_ASSOCIATE": "ファイル拡張子の外部アプリケーションへのマッピング。構文: \"\": \"\"。「default」を指定すると、そのファイルタイプに対してシステムでデフォルトに設定されているアプリケーションを使用してファイルが開きます。", - "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_TITLE": "Open Graphic Files in External Editors.", - "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG": "Your current folder has graphic file types which are not supported by {APP_NAME}.
You can now associate specific file types with external editors. Once associated, you can open graphic files like .xd, .psd, .jpg, .png, .ai, .svg in their default applications by double clicking on the files in File Tree.

Please click on ‘Ok’ button to associate the graphic file types with their respective default applications.", - "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_CNF_MSG": "Following file types have been successfully associated with default applications.
{0} You have the option to change your preference on whether you delete/add new file type associations in brackets.json by going to “Debug->Open Preferences File” menu." + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_TITLE": "外部エディターでグラフィックファイルを開きます。", + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_MSG": "現在のフォルダーには、{APP_NAME}でサポートされていないタイプのグラフィックファイルがあります。
ここで、特定のファイルタイプを外部エディターに関連付けることができます。関連付けが完了すると、xd、.psd、.jpg、.png、.ai、.svgなどのグラフィックファイルをファイルツリーでダブルクリックすることで、デフォルトのアプリケーションで開くことができます。

「OK」ボタンをクリックして、グラフィックファイルタイプをそれぞれのデフォルトアプリケーションに関連付けてください。", + "ASSOCIATE_GRAPHICS_FILE_TO_DEFAULT_APP_CNF_MSG": "次のファイルタイプが、デフォルトのアプリケーションに関連付けられました。
{0} この設定は、brackets.json でファイルタイプの関連付けを削除し、新しい関連付けを追加するか、デバッグ/環境設定ファイルを開くメニューにアクセスして変更できます。" }); From 59e8e91518cb4ad33494bfbeb0ef9b5dcebcf630 Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Mon, 23 Mar 2020 16:36:27 +0530 Subject: [PATCH 60/66] Netwrk path also need to be converted to windows style --- src/extensions/default/OpenWithExternalApplication/main.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/extensions/default/OpenWithExternalApplication/main.js b/src/extensions/default/OpenWithExternalApplication/main.js index 6ab78eeb1..a1fc499c8 100644 --- a/src/extensions/default/OpenWithExternalApplication/main.js +++ b/src/extensions/default/OpenWithExternalApplication/main.js @@ -49,7 +49,8 @@ define(function (require, exports, module) { var extensionToExtApplicationMap = {}; function convertUnixPathToWindowsPath(path) { - if (brackets.platform === "win" && path && path[1] === ":" && path[2] === "/") { + if (brackets.platform === "win" + && path && ((path[1] === ":" && path[2] === "/") || (path[0] === "/" && path[1] === "/"))) { path = path.replace(RegExp('/','g'), '\\'); } return path; From 2356f32a34d8a825ca1f41b1b4cb93cf94b92ecb Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Mon, 23 Mar 2020 16:43:52 +0530 Subject: [PATCH 61/66] Revert "check iin config file" This reverts commit d50cb268232ed190ce6333340249f207fb86b373. --- src/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config.json b/src/config.json index d954955a7..cc1c874f7 100644 --- a/src/config.json +++ b/src/config.json @@ -47,7 +47,7 @@ "chokidar": "1.6.1", "decompress-zip": "0.3.0", "fs-extra": "2.0.0", - "lodash": "4.17.15", + "lodash": "4.17.4", "npm": "3.10.10", "opn": "4.0.2", "request": "2.79.0", From 90cf9b09457a66237ade823b718a23f8ebe6f31b Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Mon, 23 Mar 2020 19:53:10 +0530 Subject: [PATCH 62/66] Revert "Revert "check iin config file"" This reverts commit 2356f32a34d8a825ca1f41b1b4cb93cf94b92ecb. --- src/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config.json b/src/config.json index cc1c874f7..d954955a7 100644 --- a/src/config.json +++ b/src/config.json @@ -47,7 +47,7 @@ "chokidar": "1.6.1", "decompress-zip": "0.3.0", "fs-extra": "2.0.0", - "lodash": "4.17.4", + "lodash": "4.17.15", "npm": "3.10.10", "opn": "4.0.2", "request": "2.79.0", From 35917cb272d681230d778f03bfb96d7b56c19c6c Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Tue, 24 Mar 2020 11:52:02 +0530 Subject: [PATCH 63/66] Addressed review comments --- src/extensions/default/OpenWithExternalApplication/main.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/extensions/default/OpenWithExternalApplication/main.js b/src/extensions/default/OpenWithExternalApplication/main.js index a1fc499c8..3589f994c 100644 --- a/src/extensions/default/OpenWithExternalApplication/main.js +++ b/src/extensions/default/OpenWithExternalApplication/main.js @@ -32,6 +32,7 @@ define(function (require, exports, module) { ExtensionUtils = brackets.getModule("utils/ExtensionUtils"), NodeDomain = brackets.getModule("utils/NodeDomain"), FileUtils = brackets.getModule("file/FileUtils"), + FileSystem = brackets.getModule("filesystem/FileSystem"), GraphicsFile = require("GraphicsFile"); /** @@ -49,8 +50,7 @@ define(function (require, exports, module) { var extensionToExtApplicationMap = {}; function convertUnixPathToWindowsPath(path) { - if (brackets.platform === "win" - && path && ((path[1] === ":" && path[2] === "/") || (path[0] === "/" && path[1] === "/"))) { + if (brackets.platform === "win" && path && FileSystem.isAbsolutePath(path)) { path = path.replace(RegExp('/','g'), '\\'); } return path; From d99dbdd6bce812f9c71d9693b0a1142ba2de41b0 Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Fri, 27 Mar 2020 12:55:09 +0530 Subject: [PATCH 64/66] Graphics File Assciate should get triggered after UUID is generated --- .../default/OpenWithExternalApplication/GraphicsFile.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js b/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js index d8ac00ce0..1ffc72c11 100644 --- a/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js +++ b/src/extensions/default/OpenWithExternalApplication/GraphicsFile.js @@ -72,6 +72,13 @@ define(function (require, exports, module) { return; } + var userUuid = PreferencesManager.getViewState("UUID"), + olderUuid = PreferencesManager.getViewState("OlderUUID"); + + if(!(userUuid || olderUuid)) { + return; + } + _nodeDomain.exec("checkFileTypesInFolder", { extensions: _graphicsFileTypes.join(), folder: ProjectManager.getProjectRoot().fullPath, From f0cae55ce80c380a5c5c665110623f21cce966b3 Mon Sep 17 00:00:00 2001 From: Swagatam Mitra Date: Mon, 1 Mar 2021 16:40:07 +0530 Subject: [PATCH 65/66] EOL Notification (#15325) * Update README.md * Update README.md --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 481d454ef..1fccbba1c 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,8 @@ + +| :warning: On September 1, 2021, Adobe will end support for Brackets. If you would like to continue using, maintaining, and improving Brackets, you may fork the project on [GitHub](https://github.com/adobe/brackets). Through Adobe’s partnership with Microsoft, we encourage users to migrate to [Visual Studio Code](https://code.visualstudio.com/), Microsoft’s free code editor built on open source. +| --- + + Welcome to Brackets! [![Build Status](https://travis-ci.org/adobe/brackets.svg?branch=master)](https://travis-ci.org/adobe/brackets) ------------------- From d55ac606ac44e7169dbeaf959c9ed47dac6a6b9a Mon Sep 17 00:00:00 2001 From: Swagatam Mitra Date: Thu, 18 Mar 2021 19:22:19 +0530 Subject: [PATCH 66/66] Change hyperlink --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1fccbba1c..a71783965 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -| :warning: On September 1, 2021, Adobe will end support for Brackets. If you would like to continue using, maintaining, and improving Brackets, you may fork the project on [GitHub](https://github.com/adobe/brackets). Through Adobe’s partnership with Microsoft, we encourage users to migrate to [Visual Studio Code](https://code.visualstudio.com/), Microsoft’s free code editor built on open source. +| :warning: On September 1, 2021, Adobe will end support for Brackets. If you would like to continue using, maintaining, and improving Brackets, you may fork the project on [GitHub](https://github.com/adobe/brackets). Through Adobe’s partnership with Microsoft, we encourage users to migrate to [Visual Studio Code](https://aka.ms/brackets-to-vscode), Microsoft’s free code editor built on open source. | ---