diff --git a/src/cm/localWordCompletions.ts b/src/cm/localWordCompletions.ts new file mode 100644 index 000000000..f9b6353f1 --- /dev/null +++ b/src/cm/localWordCompletions.ts @@ -0,0 +1,13 @@ +import { + completeAnyWord, + type CompletionSource, +} from "@codemirror/autocomplete"; +import { EditorState, type Extension } from "@codemirror/state"; + +export const localWordCompletionSource: CompletionSource = completeAnyWord; + +export default function localWordCompletions(): Extension { + return EditorState.languageData.of(() => [ + { autocomplete: localWordCompletionSource }, + ]); +} diff --git a/src/lang/ar-ye.json b/src/lang/ar-ye.json index 363115452..7a99fe42e 100644 --- a/src/lang/ar-ye.json +++ b/src/lang/ar-ye.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "لا تتم مزامنة الإضافات المشتراة مع حساب Acode الخاص بك. استخدم نفس حساب Google في متجر Play لاستعادة عملية الشراء.", "iap-pro-purchase-warning": "لن تتم مزامنة عملية الشراء هذه مع حساب Acode الخاص بك. استخدم نفس حساب Google في متجر Play لاستعادة عملية الشراء.", - "confirm-login": "لم تقم بتسجيل الدخول إلى Acode، هل تريد تسجيل الدخول الآن؟" + "confirm-login": "لم تقم بتسجيل الدخول إلى Acode، هل تريد تسجيل الدخول الآن؟", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/be-by.json b/src/lang/be-by.json index 1a79af82b..7aaebe83e 100644 --- a/src/lang/be-by.json +++ b/src/lang/be-by.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "Набытыя плагіны не сінхранізуюцца з вашым уліковым запісам Acode. Выкарыстоўвайце той жа ўліковы запіс Google у Play Store для аднаўлення пакупкі.", "iap-pro-purchase-warning": "Гэтая пакупка не будзе сінхранізавана з вашым уліковым запісам Acode. Выкарыстоўвайце той жа ўліковы запіс Google у Play Store для аднаўлення пакупкі.", - "confirm-login": "Вы не ўвайшлі ў Acode, увайсці зараз?" + "confirm-login": "Вы не ўвайшлі ў Acode, увайсці зараз?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/bn-bd.json b/src/lang/bn-bd.json index 35b4fd6e2..f4595cbc2 100644 --- a/src/lang/bn-bd.json +++ b/src/lang/bn-bd.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "ক্রয়কৃত প্লাগইনগুলি আপনার Acode অ্যাকাউন্টের সাথে সিঙ্ক হয় না। আপনার ক্রয় পুনরুদ্ধার করতে প্লে স্টোরে একই Google অ্যাকাউন্ট ব্যবহার করুন।", "iap-pro-purchase-warning": "এই ক্রয়টি আপনার Acode অ্যাকাউন্টের সাথে সিঙ্ক হবে না। আপনার ক্রয় পুনরুদ্ধার করতে প্লে স্টোরে একই Google অ্যাকাউন্ট ব্যবহার করুন।", - "confirm-login": "আপনি Acode-এ সাইন ইন করেননি, এখন সাইন ইন করবেন?" + "confirm-login": "আপনি Acode-এ সাইন ইন করেননি, এখন সাইন ইন করবেন?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/cs-cz.json b/src/lang/cs-cz.json index 78f7a5ec9..d6aa76c67 100644 --- a/src/lang/cs-cz.json +++ b/src/lang/cs-cz.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "Zakoupené pluginy nejsou synchronizovány s vaším účtem Acode. Pro obnovení nákupu použijte stejný účet Google v Obchodě Play.", "iap-pro-purchase-warning": "Tento nákup nebude synchronizován s vaším účtem Acode. Pro obnovení nákupu použijte stejný účet Google v Obchodě Play.", - "confirm-login": "Nejste přihlášeni do Acode, přihlásit se nyní?" + "confirm-login": "Nejste přihlášeni do Acode, přihlásit se nyní?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/de-de.json b/src/lang/de-de.json index f70d92229..0e90864c6 100644 --- a/src/lang/de-de.json +++ b/src/lang/de-de.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "Gekaufte Plugins werden nicht mit Ihrem Acode-Konto synchronisiert. Verwenden Sie dasselbe Google-Konto im Play Store, um Ihren Kauf wiederherzustellen.", "iap-pro-purchase-warning": "Dieser Kauf wird nicht mit Ihrem Acode-Konto synchronisiert. Verwenden Sie dasselbe Google-Konto im Play Store, um Ihren Kauf wiederherzustellen.", - "confirm-login": "Sie sind nicht bei Acode angemeldet, jetzt anmelden?" + "confirm-login": "Sie sind nicht bei Acode angemeldet, jetzt anmelden?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/en-us.json b/src/lang/en-us.json index 93d33c44b..2783d220f 100644 --- a/src/lang/en-us.json +++ b/src/lang/en-us.json @@ -132,6 +132,7 @@ "invalid backup file": "Invalid backup file", "add path": "Add path", "live autocompletion": "Live autocompletion", + "local word completion": "Local word completion", "auto close tags": "Auto close tags", "file properties": "File properties", "path": "Path", @@ -667,6 +668,7 @@ "settings-info-editor-line-numbers": "Show line numbers in the gutter.", "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.", "settings-info-editor-live-autocomplete": "Show suggestions while you type.", + "settings-info-editor-local-word-completion": "Suggest words from the current file.", "settings-info-editor-auto-close-tags": "Automatically insert closing tags in HTML, XML, Vue, Angular, and PHP template files.", "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.", "settings-info-editor-relative-line-numbers": "Show distance from the current line.", diff --git a/src/lang/es-sv.json b/src/lang/es-sv.json index ab5f182d6..bb8990d0a 100644 --- a/src/lang/es-sv.json +++ b/src/lang/es-sv.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "Los plugins comprados no se sincronizan con tu cuenta de Acode. Usa la misma cuenta de Google en Play Store para restaurar tu compra.", "iap-pro-purchase-warning": "Esta compra no se sincronizará con tu cuenta de Acode. Usa la misma cuenta de Google en Play Store para restaurar tu compra.", - "confirm-login": "No has iniciado sesión en Acode, ¿iniciar sesión ahora?" + "confirm-login": "No has iniciado sesión en Acode, ¿iniciar sesión ahora?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/fr-fr.json b/src/lang/fr-fr.json index 5d9b1fb01..45189d15c 100644 --- a/src/lang/fr-fr.json +++ b/src/lang/fr-fr.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "Les plugins achetés ne sont pas synchronisés avec votre compte Acode. Utilisez le même compte Google dans le Play Store pour restaurer votre achat.", "iap-pro-purchase-warning": "Cet achat ne sera pas synchronisé avec votre compte Acode. Utilisez le même compte Google dans le Play Store pour restaurer votre achat.", - "confirm-login": "Vous n'êtes pas connecté à Acode, vous connecter maintenant ?" + "confirm-login": "Vous n'êtes pas connecté à Acode, vous connecter maintenant ?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/he-il.json b/src/lang/he-il.json index ca2b96ead..d6cde7cfc 100644 --- a/src/lang/he-il.json +++ b/src/lang/he-il.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "תוספים שנרכשו אינם מסונכרנים עם חשבון Acode שלך. השתמש באותו חשבון Google בחנות Play כדי לשחזר את הרכישה שלך.", "iap-pro-purchase-warning": "רכישה זו לא תסונכרן עם חשבון Acode שלך. השתמש באותו חשבון Google בחנות Play כדי לשחזר את הרכישה שלך.", - "confirm-login": "אינך מחובר ל-Acode, להתחבר עכשיו?" + "confirm-login": "אינך מחובר ל-Acode, להתחבר עכשיו?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/hi-in.json b/src/lang/hi-in.json index f916e85d4..806cc24a1 100644 --- a/src/lang/hi-in.json +++ b/src/lang/hi-in.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "सेलेक्शन मेनू में शेयर बटन दिखाएं।", "iap-plugin-purchase-warning": "खरीदे गए प्लगइन आपके Acode खाते से सिंक नहीं होते हैं। अपनी खरीदारी पुनर्स्थापित करने के लिए Play Store में उसी Google खाते का उपयोग करें।", "iap-pro-purchase-warning": "यह खरीदारी आपके Acode खाते से सिंक नहीं होगी। अपनी खरीदारी पुनर्स्थापित करने के लिए Play Store में उसी Google खाते का उपयोग करें।", - "confirm-login": "आप Acode में साइन इन नहीं हैं, अभी साइन इन करें?" + "confirm-login": "आप Acode में साइन इन नहीं हैं, अभी साइन इन करें?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/hu-hu.json b/src/lang/hu-hu.json index b25c69c4a..842e31e36 100644 --- a/src/lang/hu-hu.json +++ b/src/lang/hu-hu.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Megjeleníti a megosztásgombot a kiválasztásmenüben.", "iap-plugin-purchase-warning": "A megvásárolt bővítmények nem szinkronizálódnak az Acode-fiókjával. Használja ugyanazt a Google-fiókot a Play Áruházban a vásárlás visszaállításához.", "iap-pro-purchase-warning": "Ez a vásárlás nem lesz szinkronizálva az Acode-fiókjával. Használja ugyanazt a Google-fiókot a Play Áruházban a vásárlás visszaállításához.", - "confirm-login": "Nincs bejelentkezve az Acode-ba, bejelentkezik most?" + "confirm-login": "Nincs bejelentkezve az Acode-ba, bejelentkezik most?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/id-id.json b/src/lang/id-id.json index f8ffdfb4d..6a1f6ea15 100644 --- a/src/lang/id-id.json +++ b/src/lang/id-id.json @@ -735,5 +735,7 @@ "login-to-view": "Mohon login untuk melihat ini...", "iap-plugin-purchase-warning": "Plugin yang dibeli tidak disinkronkan ke akun Acode Anda. Gunakan akun Google yang sama di Play Store untuk memulihkan pembelian Anda.", "iap-pro-purchase-warning": "Pembelian ini tidak akan disinkronkan ke akun Acode Anda. Gunakan akun Google yang sama di Play Store untuk memulihkan pembelian Anda.", - "confirm-login": "Anda belum masuk ke Acode, masuk sekarang?" + "confirm-login": "Anda belum masuk ke Acode, masuk sekarang?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/index.d.ts b/src/lang/index.d.ts index 2deb8e96e..b5751b597 100644 --- a/src/lang/index.d.ts +++ b/src/lang/index.d.ts @@ -84,6 +84,7 @@ declare type LangStrings = { "settings saved": string; "show line numbers": string; "show hidden files": string; + "show share button": string; "show spaces": string; "soft tab": string; "sort by name": string; @@ -134,6 +135,7 @@ declare type LangStrings = { "invalid backup file": string; "add path": string; "live autocompletion": string; + "local word completion": string; "auto close tags": string; "file properties": string; "path": string; @@ -669,12 +671,14 @@ declare type LangStrings = { "settings-info-editor-line-numbers": string; "settings-info-editor-lint-gutter": string; "settings-info-editor-live-autocomplete": string; + "settings-info-editor-local-word-completion": string; "settings-info-editor-auto-close-tags": string; "settings-info-editor-rainbow-brackets": string; "settings-info-editor-relative-line-numbers": string; "settings-info-editor-rtl-text": string; "settings-info-editor-scroll-settings": string; "settings-info-editor-shift-click-selection": string; + "settings-info-editor-show-share-button": string; "settings-info-editor-show-spaces": string; "settings-info-editor-soft-tab": string; "settings-info-editor-tab-size": string; diff --git a/src/lang/ir-fa.json b/src/lang/ir-fa.json index 79f859acf..6139b0434 100644 --- a/src/lang/ir-fa.json +++ b/src/lang/ir-fa.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "افزونه‌های خریداری شده با حساب Acode شما همگام‌سازی نمی‌شوند. برای بازیابی خرید خود از همان حساب Google در فروشگاه Play استفاده کنید.", "iap-pro-purchase-warning": "این خرید با حساب Acode شما همگام‌سازی نخواهد شد. برای بازیابی خرید خود از همان حساب Google در فروشگاه Play استفاده کنید.", - "confirm-login": "شما وارد Acode نشده‌اید، اکنون وارد شوید؟" + "confirm-login": "شما وارد Acode نشده‌اید، اکنون وارد شوید؟", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/it-it.json b/src/lang/it-it.json index a8b42a8da..343304cdd 100644 --- a/src/lang/it-it.json +++ b/src/lang/it-it.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "I plugin acquistati non vengono sincronizzati con il tuo account Acode. Usa lo stesso account Google nel Play Store per ripristinare l'acquisto.", "iap-pro-purchase-warning": "Questo acquisto non verrà sincronizzato con il tuo account Acode. Usa lo stesso account Google nel Play Store per ripristinare l'acquisto.", - "confirm-login": "Non hai effettuato l'accesso ad Acode, accedere ora?" + "confirm-login": "Non hai effettuato l'accesso ad Acode, accedere ora?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/ja-jp.json b/src/lang/ja-jp.json index 337d4cd0f..f47bab24a 100644 --- a/src/lang/ja-jp.json +++ b/src/lang/ja-jp.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "購入したプラグインはAcodeアカウントと同期されません。購入を復元するには、Playストアで同じGoogleアカウントを使用してください。", "iap-pro-purchase-warning": "この購入はAcodeアカウントと同期されません。購入を復元するには、Playストアで同じGoogleアカウントを使用してください。", - "confirm-login": "Acodeにサインインしていません。今すぐサインインしますか?" + "confirm-login": "Acodeにサインインしていません。今すぐサインインしますか?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/ko-kr.json b/src/lang/ko-kr.json index 33b5fb84c..198338bee 100644 --- a/src/lang/ko-kr.json +++ b/src/lang/ko-kr.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "구매한 플러그인은 Acode 계정과 동기화되지 않습니다. 구매를 복원하려면 Play 스토어에서 동일한 Google 계정을 사용하세요.", "iap-pro-purchase-warning": "이 구매는 Acode 계정과 동기화되지 않습니다. 구매를 복원하려면 Play 스토어에서 동일한 Google 계정을 사용하세요.", - "confirm-login": "Acode에 로그인되어 있지 않습니다. 지금 로그인하시겠습니까?" + "confirm-login": "Acode에 로그인되어 있지 않습니다. 지금 로그인하시겠습니까?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/ml-in.json b/src/lang/ml-in.json index 7f85c9bf0..f396d7658 100644 --- a/src/lang/ml-in.json +++ b/src/lang/ml-in.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "വാങ്ങിയ പ്ലഗിനുകൾ നിങ്ങളുടെ Acode അക്കൗണ്ടുമായി സമന്വയിപ്പിക്കില്ല. നിങ്ങളുടെ വാങ്ങൽ പുനഃസ്ഥാപിക്കാൻ Play Store-ൽ അതേ Google അക്കൗണ്ട് ഉപയോഗിക്കുക.", "iap-pro-purchase-warning": "ഈ വാങ്ങൽ നിങ്ങളുടെ Acode അക്കൗണ്ടുമായി സമന്വയിപ്പിക്കില്ല. നിങ്ങളുടെ വാങ്ങൽ പുനഃസ്ഥാപിക്കാൻ Play Store-ൽ അതേ Google അക്കൗണ്ട് ഉപയോഗിക്കുക.", - "confirm-login": "നിങ്ങൾ Acode-ൽ സൈൻ ഇൻ ചെയ്തിട്ടില്ല, ഇപ്പോൾ സൈൻ ഇൻ ചെയ്യണോ?" + "confirm-login": "നിങ്ങൾ Acode-ൽ സൈൻ ഇൻ ചെയ്തിട്ടില്ല, ഇപ്പോൾ സൈൻ ഇൻ ചെയ്യണോ?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/mm-unicode.json b/src/lang/mm-unicode.json index 13849736c..9e1a967dd 100644 --- a/src/lang/mm-unicode.json +++ b/src/lang/mm-unicode.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "ဝယ်ယူထားသော ပလပ်အင်များသည် သင့် Acode အကောင့်နှင့် ထပ်တူပြု၍မရပါ။ သင့်ဝယ်ယူမှုကို ပြန်လည်ရယူရန် Play Store တွင် တူညီသော Google အကောင့်ကို အသုံးပြုပါ။", "iap-pro-purchase-warning": "ဤဝယ်ယူမှုသည် သင့် Acode အကောင့်နှင့် ထပ်တူပြုမည်မဟုတ်ပါ။ သင့်ဝယ်ယူမှုကို ပြန်လည်ရယူရန် Play Store တွင် တူညီသော Google အကောင့်ကို အသုံးပြုပါ။", - "confirm-login": "သင်သည် Acode သို့ အကောင့်ဝင်ထားခြင်းမရှိပါ၊ ယခု အကောင့်ဝင်မလား။" + "confirm-login": "သင်သည် Acode သို့ အကောင့်ဝင်ထားခြင်းမရှိပါ၊ ယခု အကောင့်ဝင်မလား။", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/mm-zawgyi.json b/src/lang/mm-zawgyi.json index fd4f19c3b..a55b136e7 100644 --- a/src/lang/mm-zawgyi.json +++ b/src/lang/mm-zawgyi.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "ဝယ္ယူထားေသာ ပလပ္အင္မ်ားသည္ သင့္ Acode အေကာင့္ႏွင့္ ထပ္တူျပဳ၍မရပါ။ သင့္ဝယ္ယူမႈကို ျပန္လည္ရယူရန္ Play Store တြင္ တူညီေသာ Google အေကာင့္ကို အသုံးျပဳပါ။", "iap-pro-purchase-warning": "ဤဝယ္ယူမႈသည္ သင့္ Acode အေကာင့္ႏွင့္ ထပ္တူျပဳမည္မဟုတ္ပါ။ သင့္ဝယ္ယူမႈကို ျပန္လည္ရယူရန္ Play Store တြင္ တူညီေသာ Google အေကာင့္ကို အသုံးျပဳပါ။", - "confirm-login": "သင္သည္ Acode သို႔ အေကာင့္ဝင္ထားျခင္းမရွိပါ၊ ယခု အေကာင့္ဝင္မလား။" + "confirm-login": "သင္သည္ Acode သို႔ အေကာင့္ဝင္ထားျခင္းမရွိပါ၊ ယခု အေကာင့္ဝင္မလား။", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/pl-pl.json b/src/lang/pl-pl.json index 2d5b1f2ae..f554f8a23 100644 --- a/src/lang/pl-pl.json +++ b/src/lang/pl-pl.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "Zakupione wtyczki nie są synchronizowane z Twoim kontem Acode. Użyj tego samego konta Google w Sklepie Play, aby przywrócić zakup.", "iap-pro-purchase-warning": "Ten zakup nie zostanie zsynchronizowany z Twoim kontem Acode. Użyj tego samego konta Google w Sklepie Play, aby przywrócić zakup.", - "confirm-login": "Nie jesteś zalogowany do Acode, zalogować się teraz?" + "confirm-login": "Nie jesteś zalogowany do Acode, zalogować się teraz?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/pt-br.json b/src/lang/pt-br.json index 11b1a7fbf..ee200f193 100644 --- a/src/lang/pt-br.json +++ b/src/lang/pt-br.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "Plugins comprados não são sincronizados com sua conta Acode. Use a mesma conta do Google na Play Store para restaurar sua compra.", "iap-pro-purchase-warning": "Esta compra não será sincronizada com sua conta Acode. Use a mesma conta do Google na Play Store para restaurar sua compra.", - "confirm-login": "Você não está conectado ao Acode, conectar agora?" + "confirm-login": "Você não está conectado ao Acode, conectar agora?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/pu-in.json b/src/lang/pu-in.json index f8b7be42d..efc4859b0 100644 --- a/src/lang/pu-in.json +++ b/src/lang/pu-in.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "ਖਰੀਦੇ ਗਏ ਪਲੱਗਇਨ ਤੁਹਾਡੇ Acode ਖਾਤੇ ਨਾਲ ਸਿੰਕ ਨਹੀਂ ਹੁੰਦੇ। ਆਪਣੀ ਖਰੀਦ ਨੂੰ ਬਹਾਲ ਕਰਨ ਲਈ Play Store ਵਿੱਚ ਉਹੀ Google ਖਾਤਾ ਵਰਤੋ।", "iap-pro-purchase-warning": "ਇਹ ਖਰੀਦ ਤੁਹਾਡੇ Acode ਖਾਤੇ ਨਾਲ ਸਿੰਕ ਨਹੀਂ ਹੋਵੇਗੀ। ਆਪਣੀ ਖਰੀਦ ਨੂੰ ਬਹਾਲ ਕਰਨ ਲਈ Play Store ਵਿੱਚ ਉਹੀ Google ਖਾਤਾ ਵਰਤੋ।", - "confirm-login": "ਤੁਸੀਂ Acode ਵਿੱਚ ਸਾਈਨ ਇਨ ਨਹੀਂ ਹੋ, ਹੁਣੇ ਸਾਈਨ ਇਨ ਕਰੋ?" + "confirm-login": "ਤੁਸੀਂ Acode ਵਿੱਚ ਸਾਈਨ ਇਨ ਨਹੀਂ ਹੋ, ਹੁਣੇ ਸਾਈਨ ਇਨ ਕਰੋ?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/ru-ru.json b/src/lang/ru-ru.json index 3a361009a..14ed4cb49 100644 --- a/src/lang/ru-ru.json +++ b/src/lang/ru-ru.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "Купленные плагины не синхронизируются с вашей учетной записью Acode. Используйте ту же учетную запись Google в Play Store для восстановления покупки.", "iap-pro-purchase-warning": "Эта покупка не будет синхронизирована с вашей учетной записью Acode. Используйте ту же учетную запись Google в Play Store для восстановления покупки.", - "confirm-login": "Вы не вошли в Acode, войти сейчас?" + "confirm-login": "Вы не вошли в Acode, войти сейчас?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/tl-ph.json b/src/lang/tl-ph.json index a1f928757..0586cb86b 100644 --- a/src/lang/tl-ph.json +++ b/src/lang/tl-ph.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "Ang mga biniling plugin ay hindi naka-sync sa iyong Acode account. Gamitin ang parehong Google account sa Play Store upang maibalik ang iyong pagbili.", "iap-pro-purchase-warning": "Ang pagbiling ito ay hindi masi-sync sa iyong Acode account. Gamitin ang parehong Google account sa Play Store upang maibalik ang iyong pagbili.", - "confirm-login": "Hindi ka naka-sign in sa Acode, mag-sign in ngayon?" + "confirm-login": "Hindi ka naka-sign in sa Acode, mag-sign in ngayon?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/tr-tr.json b/src/lang/tr-tr.json index ad6e03f16..7646d949b 100644 --- a/src/lang/tr-tr.json +++ b/src/lang/tr-tr.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "Satın alınan eklentiler Acode hesabınızla senkronize edilmez. Satın alımınızı geri yüklemek için Play Store'da aynı Google hesabını kullanın.", "iap-pro-purchase-warning": "Bu satın alım Acode hesabınızla senkronize edilmeyecektir. Satın alımınızı geri yüklemek için Play Store'da aynı Google hesabını kullanın.", - "confirm-login": "Acode'a giriş yapmadınız, şimdi giriş yapmak ister misiniz?" + "confirm-login": "Acode'a giriş yapmadınız, şimdi giriş yapmak ister misiniz?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/uk-ua.json b/src/lang/uk-ua.json index 9faffac63..b4439666c 100644 --- a/src/lang/uk-ua.json +++ b/src/lang/uk-ua.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "Придбані плагіни не синхронізуються з вашим обліковим записом Acode. Використовуйте той самий обліковий запис Google у Play Store для відновлення покупки.", "iap-pro-purchase-warning": "Ця покупка не буде синхронізована з вашим обліковим записом Acode. Використовуйте той самий обліковий запис Google у Play Store для відновлення покупки.", - "confirm-login": "Ви не ввійшли в Acode, увійти зараз?" + "confirm-login": "Ви не ввійшли в Acode, увійти зараз?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/uz-uz.json b/src/lang/uz-uz.json index c7d51b15b..a54665479 100644 --- a/src/lang/uz-uz.json +++ b/src/lang/uz-uz.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "Sotib olingan plaginlar Acode hisobingiz bilan sinxronlanmaydi. Xaridingizni tiklash uchun Play Store'da xuddi shu Google hisobidan foydalaning.", "iap-pro-purchase-warning": "Ushbu xarid Acode hisobingiz bilan sinxronlanmaydi. Xaridingizni tiklash uchun Play Store'da xuddi shu Google hisobidan foydalaning.", - "confirm-login": "Siz Acode'ga kirmagansiz, hozir kirasizmi?" + "confirm-login": "Siz Acode'ga kirmagansiz, hozir kirasizmi?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/vi-vn.json b/src/lang/vi-vn.json index afd451c4a..5c19aa5e1 100644 --- a/src/lang/vi-vn.json +++ b/src/lang/vi-vn.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "Các plugin đã mua không được đồng bộ hóa với tài khoản Acode của bạn. Sử dụng cùng một tài khoản Google trên Play Store để khôi phục giao dịch mua của bạn.", "iap-pro-purchase-warning": "Giao dịch mua này sẽ không được đồng bộ hóa với tài khoản Acode của bạn. Sử dụng cùng một tài khoản Google trên Play Store để khôi phục giao dịch mua của bạn.", - "confirm-login": "Bạn chưa đăng nhập vào Acode, đăng nhập ngay bây giờ?" + "confirm-login": "Bạn chưa đăng nhập vào Acode, đăng nhập ngay bây giờ?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/zh-cn.json b/src/lang/zh-cn.json index d70e525a4..ff9fac375 100644 --- a/src/lang/zh-cn.json +++ b/src/lang/zh-cn.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "购买的插件不会同步到您的 Acode 账户。请在 Play 商店中使用相同的 Google 账户来恢复您的购买。", "iap-pro-purchase-warning": "此购买不会同步到您的 Acode 账户。请在 Play 商店中使用相同的 Google 账户来恢复您的购买。", - "confirm-login": "您尚未登录 Acode,立即登录?" + "confirm-login": "您尚未登录 Acode,立即登录?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/zh-hant.json b/src/lang/zh-hant.json index b35db25bb..b84fe4f9e 100644 --- a/src/lang/zh-hant.json +++ b/src/lang/zh-hant.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "購買的插件不會同步到您的 Acode 帳戶。請在 Play 商店中使用相同的 Google 帳戶來恢復您的購買。", "iap-pro-purchase-warning": "此購買不會同步到您的 Acode 帳戶。請在 Play 商店中使用相同的 Google 帳戶來恢復您的購買。", - "confirm-login": "您尚未登入 Acode,立即登入?" + "confirm-login": "您尚未登入 Acode,立即登入?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lang/zh-tw.json b/src/lang/zh-tw.json index 237a93667..911a3b54b 100644 --- a/src/lang/zh-tw.json +++ b/src/lang/zh-tw.json @@ -735,5 +735,7 @@ "settings-info-editor-show-share-button": "Show share button in selection menu.", "iap-plugin-purchase-warning": "購買的插件不會同步到您的 Acode 帳戶。請在 Play 商店中使用相同的 Google 帳戶來恢復您的購買。", "iap-pro-purchase-warning": "此購買不會同步到您的 Acode 帳戶。請在 Play 商店中使用相同的 Google 帳戶來恢復您的購買。", - "confirm-login": "您尚未登入 Acode,立即登入?" + "confirm-login": "您尚未登入 Acode,立即登入?", + "local word completion": "Local word completion", + "settings-info-editor-local-word-completion": "Suggest words from the current file." } diff --git a/src/lib/editorManager.js b/src/lib/editorManager.js index eb9e05152..444afe505 100644 --- a/src/lib/editorManager.js +++ b/src/lib/editorManager.js @@ -32,6 +32,7 @@ import { removeExternalCommand, } from "cm/commandRegistry"; import { handleLineNumberClick } from "cm/lineNumberSelection"; +import localWordCompletions from "cm/localWordCompletions"; import lspApi from "cm/lsp/api"; import lspClientManager from "cm/lsp/clientManager"; import { @@ -249,6 +250,8 @@ async function EditorManager($header, $body) { const foldThemeCompartment = new Compartment(); // Compartment for autocompletion behavior const completionCompartment = new Compartment(); + // Compartment for local document word completions + const localWordCompletionCompartment = new Compartment(); // Compartment for rainbow bracket colorizer const rainbowCompartment = new Compartment(); // Compartment for indent guides @@ -478,6 +481,14 @@ async function EditorManager($header, $body) { }); }, }, + { + keys: ["localWordCompletion"], + compartments: [localWordCompletionCompartment], + build() { + const enabled = !!appSettings?.value?.localWordCompletion; + return enabled ? localWordCompletions() : []; + }, + }, ]; function getBaseExtensionsFromOptions() { @@ -1587,6 +1598,10 @@ async function EditorManager($header, $body) { applyOptions(["liveAutoCompletion"]); }); + appSettings.on("update:localWordCompletion", function () { + applyOptions(["localWordCompletion"]); + }); + appSettings.on("update:autoCloseTags", function () { const file = manager.activeFile; if (file?.type === "editor") applyFileToEditor(file); diff --git a/src/lib/settings.js b/src/lib/settings.js index e14f8886d..be6684348 100644 --- a/src/lib/settings.js +++ b/src/lib/settings.js @@ -148,6 +148,7 @@ class Settings { fullscreen: false, floatingButton: !this.#IS_TABLET, liveAutoCompletion: true, + localWordCompletion: true, autoCloseTags: true, showPrintMargin: false, printMargin: 80, diff --git a/src/settings/editorSettings.js b/src/settings/editorSettings.js index 48697205a..753be8428 100644 --- a/src/settings/editorSettings.js +++ b/src/settings/editorSettings.js @@ -126,6 +126,13 @@ export default function editorSettings() { info: strings["settings-info-editor-live-autocomplete"], category: categories.assistance, }, + { + key: "localWordCompletion", + text: strings["local word completion"], + checkbox: values.localWordCompletion, + info: strings["settings-info-editor-local-word-completion"], + category: categories.assistance, + }, { key: "autoCloseTags", text: strings["auto close tags"],