From 091ea33e872e139badb8791605e1164d71dd01de Mon Sep 17 00:00:00 2001 From: octospacc Date: Mon, 29 Jan 2024 01:10:04 +0000 Subject: [PATCH] OcttKB Cross-Repo Sync (HTML to Raw) --- ...tcutInfo_insert-command-palette-result.tid | 7 + ...Info_open-command-palette-command-mode.tid | 7 + ...cutInfo_open-command-palette-selection.tid | 7 + ...nfig_ShortcutInfo_open-command-palette.tid | 7 + ...hortcuts_insert-command-palette-result.tid | 6 + ...cuts_open-command-palette-command-mode.tid | 6 + ...ortcuts_open-command-palette-selection.tid | 4 + ..._config_shortcuts_open-command-palette.tid | 7 + ...re_modules_widgets_commandpalettewidget.js | 1212 +++++++++++++++++ ...dules_widgets_commandpalettewidget.js.meta | 3 + ...re_ui_KeyboardShortcuts_CommandPalette.tid | 8 + ..._souk21_commandpalette_Browser Refresh.tid | 9 + ...s_souk21_commandpalette_Cancel Tiddler.tid | 11 + ...ns_souk21_commandpalette_Clone Tiddler.tid | 10 + ...uk21_commandpalette_Close All Tiddlers.tid | 9 + ...ns_souk21_commandpalette_Close Tiddler.tid | 10 + ...21_commandpalette_Close other Tiddlers.tid | 10 + ...ommandpalette_Command Palette Settings.tid | 9 + ...mmandpalette_CommandPaletteCommandMode.tid | 8 + ..._commandpalette_CommandPaletteHistory.json | 39 + ...andpalette_CommandPaletteHistory.json.meta | 4 + ...mandpalette_CommandPaletteSearchSteps.json | 8 + ...alette_CommandPaletteSearchSteps.json.meta | 4 + ...commandpalette_CommandPaletteSelection.tid | 8 + ...commandpalette_CommandPaletteSettings.json | 6 + ...ndpalette_CommandPaletteSettings.json.meta | 4 + ...gins_souk21_commandpalette_Compact.css.tid | 85 ++ ...21_commandpalette_ControlPanel Command.tid | 9 + ...s_souk21_commandpalette_Delete Tiddler.tid | 10 + ...ins_souk21_commandpalette_Edit Tiddler.tid | 10 + ...souk21_commandpalette_Filter operation.tid | 9 + ...ouk21_commandpalette_Fold All Tiddlers.tid | 9 + .../$__plugins_souk21_commandpalette_Home.tid | 9 + ...mandpalette_InsertCommandPaletteResult.tid | 8 + ...k21_commandpalette_New Journal Command.tid | 9 + ..._commandpalette_New Tiddler with title.tid | 9 + ...gins_souk21_commandpalette_New Tiddler.tid | 9 + ...ins_souk21_commandpalette_Original.css.tid | 78 ++ ...lugins_souk21_commandpalette_Permalink.tid | 10 + ...lugins_souk21_commandpalette_Permaview.tid | 9 + ...$__plugins_souk21_commandpalette_Print.tid | 9 + ...commandpalette_Recent Tiddlers Command.tid | 11 + ...s_souk21_commandpalette_Refresh Server.tid | 9 + ...ins_souk21_commandpalette_Save Tiddler.tid | 11 + ...lugins_souk21_commandpalette_Save Wiki.tid | 9 + ...gins_souk21_commandpalette_Search Tags.tid | 9 + ...ns_souk21_commandpalette_Search fields.tid | 10 + ...ommandpalette_Search tiddlers with tag.tid | 9 + ...__plugins_souk21_commandpalette_Search.tid | 7 + ...ugins_souk21_commandpalette_See Drafts.tid | 10 + ...ns_souk21_commandpalette_See Languages.tid | 10 + ...21_commandpalette_See Missing Tiddlers.tid | 10 + ...21_commandpalette_See Orphans Tiddlers.tid | 10 + ...gins_souk21_commandpalette_See Plugins.tid | 10 + ...21_commandpalette_See Shadows Tiddlers.tid | 10 + ...s_souk21_commandpalette_See Story List.tid | 10 + ...ugins_souk21_commandpalette_See Themes.tid | 10 + ...1_commandpalette_See all content-types.tid | 10 + ...1_commandpalette_See untagged tiddlers.tid | 10 + ...lugins_souk21_commandpalette_Show help.tid | 9 + ...ouk21_commandpalette_Toggle Fullscreen.tid | 9 + ...k21_commandpalette_Unfold All Tiddlers.tid | 9 + ..._plugins_souk21_commandpalette_Version.tid | 10 + .../$__plugins_souk21_commandpalette_View.tid | 7 + ...1_commandpalette_show tiddler commands.tid | 9 + .../plugins/commandpalette/plugin.info | 10 + .../$__Library_Codemirror6.tid | 8 + ...torTypeMappings_application_javascript.tid | 3 + ...ig_EditorTypeMappings_application_json.tid | 3 + ...pings_application_x-tiddler-dictionary.tid | 3 + ...onfig_EditorTypeMappings_image_svg+xml.tid | 3 + .../$__config_EditorTypeMappings_text_css.tid | 3 + ...$__config_EditorTypeMappings_text_html.tid | 3 + ...onfig_EditorTypeMappings_text_markdown.tid | 3 + ...__config_EditorTypeMappings_text_plain.tid | 3 + ...peMappings_text_vnd.tiddlywiki.mermaid.tid | 3 + ...EditorTypeMappings_text_vnd.tiddlywiki.tid | 3 + ...fig_EditorTypeMappings_text_x-markdown.tid | 3 + ...g_EditorTypeMappings_text_x-tiddlywiki.tid | 3 + ..._config_ShortcutInfo_editor-fullscreen.tid | 3 + ...__config_codemirror-6_activateOnTyping.tid | 8 + ..._config_codemirror-6_autocompleteIcons.tid | 8 + .../$__config_codemirror-6_autocorrect.tid | 8 + ...$__config_codemirror-6_bracketMatching.tid | 8 + .../$__config_codemirror-6_clickable-icon.tid | 8 + .../$__config_codemirror-6_clickable.tid | 8 + .../$__config_codemirror-6_closeBrackets.tid | 8 + .../$__config_codemirror-6_closeOnBlur.tid | 8 + ...$__config_codemirror-6_commentComplete.tid | 8 + ...$__config_codemirror-6_completeAnyWord.tid | 8 + ...__config_codemirror-6_cursor-thickness.tid | 8 + ...$__config_codemirror-6_cursorBlinkRate.tid | 8 + ..._config_codemirror-6_customPlaceholder.tid | 8 + .../$__config_codemirror-6_debug.tid | 8 + .../$__config_codemirror-6_delimiter.tid | 8 + .../$__config_codemirror-6_disableCM6.tid | 8 + ...irror-6_enableSystemTiddlersCompletion.tid | 8 + .../$__config_codemirror-6_foldByIndent.tid | 8 + .../$__config_codemirror-6_foldGutter.tid | 8 + .../$__config_codemirror-6_fontsize.tid | 8 + .../$__config_codemirror-6_footer.tid | 8 + ...onfig_codemirror-6_highlightActiveLine.tid | 8 + ...demirror-6_highlightTrailingWhitespace.tid | 8 + .../$__config_codemirror-6_indentWithTab.tid | 8 + ...__config_codemirror-6_inlineSuggestion.tid | 8 + .../$__config_codemirror-6_lineNumbers.tid | 8 + .../$__config_codemirror-6_linkPreview.tid | 8 + .../$__config_codemirror-6_matchText.tid | 8 + ...config_codemirror-6_maxRenderedOptions.tid | 8 + .../$__config_codemirror-6_minLength.tid | 8 + .../$__config_codemirror-6_minimap.tid | 8 + ...$__config_codemirror-6_minimapAudoHide.tid | 8 + .../$__config_codemirror-6_onedark.tid | 8 + .../$__config_codemirror-6_placeholder.tid | 8 + .../$__config_codemirror-6_removeOutline.tid | 8 + .../$__config_codemirror-6_rtl.tid | 8 + .../$__config_codemirror-6_selectOnOpen.tid | 8 + .../$__config_codemirror-6_snippetPreview.tid | 8 + .../$__config_codemirror-6_spellcheck.tid | 8 + .../$__config_codemirror-6_tabSize.tid | 8 + .../$__config_codemirror-6_tiddlerPreview.tid | 8 + .../$__config_codemirror-6_translate.tid | 8 + .../$__config_codemirror-6_vimJK.tid | 8 + .../$__config_codemirror-6_vimmode.tid | 8 + .../$__config_codemirror-6_whitespace.tid | 8 + .../$__config_codemirror-6_wordCount.tid | 8 + .../$__config_codemirror6_language.tid | 3 + .../$__config_shortcuts_editor-fullscreen.tid | 3 + ...e_modules_editor_operations_text_excise.js | 1 + ...ules_editor_operations_text_excise.js.meta | 3 + ...les_editor_operations_text_focus-editor.js | 1 + ...ditor_operations_text_focus-editor.js.meta | 3 + ...ules_editor_operations_text_insert-text.js | 1 + ...editor_operations_text_insert-text.js.meta | 3 + ...odules_editor_operations_text_make-link.js | 1 + ...s_editor_operations_text_make-link.js.meta | 3 + ...les_editor_operations_text_prefix-lines.js | 1 + ...ditor_operations_text_prefix-lines.js.meta | 3 + ...ules_editor_operations_text_replace-all.js | 1 + ...editor_operations_text_replace-all.js.meta | 3 + ...ditor_operations_text_replace-selection.js | 1 + ..._operations_text_replace-selection.js.meta | 3 + ...s_editor_operations_text_save-selection.js | 1 + ...tor_operations_text_save-selection.js.meta | 3 + ...dules_editor_operations_text_wrap-lines.js | 1 + ..._editor_operations_text_wrap-lines.js.meta | 3 + ...s_editor_operations_text_wrap-selection.js | 1 + ...tor_operations_text_wrap-selection.js.meta | 3 + .../$__core_ui_EditTemplate_body_default.tid | 45 + .../$__core_ui_EditTemplate_body_editor.tid | 46 + .../$__core_ui_EditorToolbar_preview.tid | 25 + ...e_codemirror6_activateOnTyping_caption.tid | 3 + ...demirror6_activateOnTyping_description.tid | 3 + ..._codemirror6_autocompleteIcons_caption.tid | 3 + ...emirror6_autocompleteIcons_description.tid | 3 + ...nguage_codemirror6_autocorrect_caption.tid | 3 + ...ge_codemirror6_autocorrect_description.tid | 3 + ...ge_codemirror6_bracketMatching_caption.tid | 3 + ...odemirror6_bracketMatching_description.tid | 3 + ...age_codemirror6_clickable-icon_caption.tid | 3 + ...codemirror6_clickable-icon_description.tid | 3 + ...language_codemirror6_clickable_caption.tid | 3 + ...uage_codemirror6_clickable_description.tid | 3 + ...uage_codemirror6_closeBrackets_caption.tid | 3 + ..._codemirror6_closeBrackets_description.tid | 3 + ...nguage_codemirror6_closeOnBlur_caption.tid | 3 + ...ge_codemirror6_closeOnBlur_description.tid | 3 + ...ge_codemirror6_commentComplete_caption.tid | 3 + ...odemirror6_commentComplete_description.tid | 3 + ...ge_codemirror6_completeAnyWord_caption.tid | 3 + ...odemirror6_completeAnyWord_description.tid | 3 + ...e_codemirror6_cursor-thickness_caption.tid | 3 + ...demirror6_cursor-thickness_description.tid | 3 + ...ge_codemirror6_cursorBlinkRate_caption.tid | 3 + ...odemirror6_cursorBlinkRate_description.tid | 3 + ..._codemirror6_customPlaceholder_caption.tid | 3 + ...emirror6_customPlaceholder_description.tid | 3 + .../$__language_codemirror6_debug_caption.tid | 3 + ...language_codemirror6_debug_description.tid | 3 + ...language_codemirror6_delimiter_caption.tid | 3 + ...uage_codemirror6_delimiter_description.tid | 3 + ...anguage_codemirror6_disableCM6_caption.tid | 3 + ...age_codemirror6_disableCM6_description.tid | 3 + ...enableSystemTiddlersCompletion_caption.tid | 3 + ...leSystemTiddlersCompletion_description.tid | 3 + ...guage_codemirror6_foldByIndent_caption.tid | 3 + ...e_codemirror6_foldByIndent_description.tid | 3 + ...anguage_codemirror6_foldGutter_caption.tid | 3 + ...age_codemirror6_foldGutter_description.tid | 3 + ..._language_codemirror6_fontsize_caption.tid | 3 + ...guage_codemirror6_fontsize_description.tid | 3 + ...$__language_codemirror6_footer_caption.tid | 3 + ...anguage_codemirror6_footer_description.tid | 3 + ...odemirror6_highlightActiveLine_caption.tid | 3 + ...irror6_highlightActiveLine_description.tid | 3 + ...r6_highlightTrailingWhitespace_caption.tid | 3 + ...ighlightTrailingWhitespace_description.tid | 3 + ...uage_codemirror6_indentWithTab_caption.tid | 3 + ..._codemirror6_indentWithTab_description.tid | 3 + ...e_codemirror6_inlineSuggestion_caption.tid | 3 + ...demirror6_inlineSuggestion_description.tid | 3 + ...nguage_codemirror6_lineNumbers_caption.tid | 3 + ...ge_codemirror6_lineNumbers_description.tid | 3 + ...nguage_codemirror6_linkPreview_caption.tid | 3 + ...ge_codemirror6_linkPreview_description.tid | 3 + ...language_codemirror6_matchText_caption.tid | 3 + ...uage_codemirror6_matchText_description.tid | 3 + ...codemirror6_maxRenderedOptions_caption.tid | 3 + ...mirror6_maxRenderedOptions_description.tid | 3 + ...language_codemirror6_minLength_caption.tid | 3 + ...uage_codemirror6_minLength_description.tid | 3 + ...ge_codemirror6_minimapAudoHide_caption.tid | 3 + ...odemirror6_minimapAudoHide_description.tid | 3 + ...__language_codemirror6_minimap_caption.tid | 3 + ...nguage_codemirror6_minimap_description.tid | 3 + ...__language_codemirror6_onedark_caption.tid | 3 + ...nguage_codemirror6_onedark_description.tid | 3 + ...nguage_codemirror6_placeholder_caption.tid | 3 + ...ge_codemirror6_placeholder_description.tid | 3 + ...uage_codemirror6_removeOutline_caption.tid | 3 + ..._codemirror6_removeOutline_description.tid | 3 + .../$__language_codemirror6_rtl_caption.tid | 3 + ...__language_codemirror6_rtl_description.tid | 3 + ...guage_codemirror6_selectOnOpen_caption.tid | 3 + ...e_codemirror6_selectOnOpen_description.tid | 3 + ...age_codemirror6_snippetPreview_caption.tid | 3 + ...codemirror6_snippetPreview_description.tid | 3 + ...anguage_codemirror6_spellcheck_caption.tid | 3 + ...age_codemirror6_spellcheck_description.tid | 3 + ...__language_codemirror6_tabSize_caption.tid | 3 + ...nguage_codemirror6_tabSize_description.tid | 3 + ...age_codemirror6_tiddlerPreview_caption.tid | 3 + ...codemirror6_tiddlerPreview_description.tid | 3 + ...language_codemirror6_translate_caption.tid | 3 + ...uage_codemirror6_translate_description.tid | 3 + .../$__language_codemirror6_vimJK_caption.tid | 3 + ...language_codemirror6_vimJK_description.tid | 3 + ...__language_codemirror6_vimmode_caption.tid | 3 + ...nguage_codemirror6_vimmode_description.tid | 3 + ...anguage_codemirror6_whitespace_caption.tid | 3 + ...age_codemirror6_whitespace_description.tid | 3 + ...language_codemirror6_wordCount_caption.tid | 3 + ...uage_codemirror6_wordCount_description.tid | 3 + ...odemirror6_zh_activateOnTyping_caption.tid | 3 + ...irror6_zh_activateOnTyping_description.tid | 3 + ...demirror6_zh_autocompleteIcons_caption.tid | 3 + ...rror6_zh_autocompleteIcons_description.tid | 3 + ...age_codemirror6_zh_autocorrect_caption.tid | 3 + ...codemirror6_zh_autocorrect_description.tid | 3 + ...codemirror6_zh_bracketMatching_caption.tid | 3 + ...mirror6_zh_bracketMatching_description.tid | 3 + ..._codemirror6_zh_clickable-icon_caption.tid | 3 + ...emirror6_zh_clickable-icon_description.tid | 3 + ...guage_codemirror6_zh_clickable_caption.tid | 3 + ...e_codemirror6_zh_clickable_description.tid | 3 + ...e_codemirror6_zh_closeBrackets_caption.tid | 3 + ...demirror6_zh_closeBrackets_description.tid | 3 + ...age_codemirror6_zh_closeOnBlur_caption.tid | 3 + ...codemirror6_zh_closeOnBlur_description.tid | 3 + ...codemirror6_zh_commentComplete_caption.tid | 3 + ...mirror6_zh_commentComplete_description.tid | 3 + ...codemirror6_zh_completeAnyWord_caption.tid | 3 + ...mirror6_zh_completeAnyWord_description.tid | 3 + ...odemirror6_zh_cursor-thickness_caption.tid | 3 + ...irror6_zh_cursor-thickness_description.tid | 3 + ...codemirror6_zh_cursorBlinkRate_caption.tid | 3 + ...mirror6_zh_cursorBlinkRate_description.tid | 3 + ...demirror6_zh_customPlaceholder_caption.tid | 3 + ...rror6_zh_customPlaceholder_description.tid | 3 + ..._language_codemirror6_zh_debug_caption.tid | 3 + ...guage_codemirror6_zh_debug_description.tid | 3 + ...guage_codemirror6_zh_delimiter_caption.tid | 3 + ...e_codemirror6_zh_delimiter_description.tid | 3 + ...uage_codemirror6_zh_disableCM6_caption.tid | 3 + ..._codemirror6_zh_disableCM6_description.tid | 3 + ...enableSystemTiddlersCompletion_caption.tid | 3 + ...leSystemTiddlersCompletion_description.tid | 3 + ...ge_codemirror6_zh_foldByIndent_caption.tid | 3 + ...odemirror6_zh_foldByIndent_description.tid | 3 + ...uage_codemirror6_zh_foldGutter_caption.tid | 3 + ..._codemirror6_zh_foldGutter_description.tid | 3 + ...nguage_codemirror6_zh_fontsize_caption.tid | 3 + ...ge_codemirror6_zh_fontsize_description.tid | 3 + ...language_codemirror6_zh_footer_caption.tid | 3 + ...uage_codemirror6_zh_footer_description.tid | 3 + ...mirror6_zh_highlightActiveLine_caption.tid | 3 + ...or6_zh_highlightActiveLine_description.tid | 3 + ...zh_highlightTrailingWhitespace_caption.tid | 3 + ...ighlightTrailingWhitespace_description.tid | 3 + ...e_codemirror6_zh_indentWithTab_caption.tid | 3 + ...demirror6_zh_indentWithTab_description.tid | 3 + ...odemirror6_zh_inlineSuggestion_caption.tid | 3 + ...irror6_zh_inlineSuggestion_description.tid | 3 + ...age_codemirror6_zh_lineNumbers_caption.tid | 3 + ...codemirror6_zh_lineNumbers_description.tid | 3 + ...age_codemirror6_zh_linkPreview_caption.tid | 3 + ...codemirror6_zh_linkPreview_description.tid | 3 + ...guage_codemirror6_zh_matchText_caption.tid | 3 + ...e_codemirror6_zh_matchText_description.tid | 3 + ...emirror6_zh_maxRenderedOptions_caption.tid | 3 + ...ror6_zh_maxRenderedOptions_description.tid | 3 + ...guage_codemirror6_zh_minLength_caption.tid | 3 + ...e_codemirror6_zh_minLength_description.tid | 3 + ...codemirror6_zh_minimapAudoHide_caption.tid | 3 + ...mirror6_zh_minimapAudoHide_description.tid | 3 + ...anguage_codemirror6_zh_minimap_caption.tid | 3 + ...age_codemirror6_zh_minimap_description.tid | 3 + ...anguage_codemirror6_zh_onedark_caption.tid | 3 + ...age_codemirror6_zh_onedark_description.tid | 3 + ...age_codemirror6_zh_placeholder_caption.tid | 3 + ...codemirror6_zh_placeholder_description.tid | 3 + ...e_codemirror6_zh_removeOutline_caption.tid | 3 + ...demirror6_zh_removeOutline_description.tid | 3 + ...$__language_codemirror6_zh_rtl_caption.tid | 3 + ...anguage_codemirror6_zh_rtl_description.tid | 3 + ...ge_codemirror6_zh_selectOnOpen_caption.tid | 3 + ...odemirror6_zh_selectOnOpen_description.tid | 3 + ..._codemirror6_zh_snippetPreview_caption.tid | 3 + ...emirror6_zh_snippetPreview_description.tid | 3 + ...uage_codemirror6_zh_spellcheck_caption.tid | 3 + ..._codemirror6_zh_spellcheck_description.tid | 3 + ...anguage_codemirror6_zh_tabSize_caption.tid | 3 + ...age_codemirror6_zh_tabSize_description.tid | 3 + ..._codemirror6_zh_tiddlerPreview_caption.tid | 3 + ...emirror6_zh_tiddlerPreview_description.tid | 3 + ...guage_codemirror6_zh_translate_caption.tid | 3 + ...e_codemirror6_zh_translate_description.tid | 3 + ..._language_codemirror6_zh_vimJK_caption.tid | 3 + ...guage_codemirror6_zh_vimJK_description.tid | 3 + ...anguage_codemirror6_zh_vimmode_caption.tid | 3 + ...age_codemirror6_zh_vimmode_description.tid | 3 + ...uage_codemirror6_zh_whitespace_caption.tid | 3 + ..._codemirror6_zh_whitespace_description.tid | 3 + ...guage_codemirror6_zh_wordCount_caption.tid | 3 + ...e_codemirror6_zh_wordCount_description.tid | 3 + .../$__palettes_Blanca_extend | 16 + .../$__palettes_Blanca_extend.meta | 2 + .../$__palettes_Blue_extend | 16 + .../$__palettes_Blue_extend.meta | 2 + .../$__palettes_ContrastDark_extend | 16 + .../$__palettes_ContrastDark_extend.meta | 2 + .../$__palettes_ContrastLight_extend | 16 + .../$__palettes_ContrastLight_extend.meta | 2 + .../$__palettes_CupertinoDark_extend | 16 + .../$__palettes_CupertinoDark_extend.meta | 2 + .../$__palettes_DarkPhotos_extend | 16 + .../$__palettes_DarkPhotos_extend.meta | 2 + .../$__palettes_DesertSand_extend | 16 + .../$__palettes_DesertSand_extend.meta | 2 + .../$__palettes_GruvboxDark_extend | 16 + .../$__palettes_GruvboxDark_extend.meta | 2 + .../$__palettes_Muted_extend | 16 + .../$__palettes_Muted_extend.meta | 2 + .../$__palettes_Nord_extend | 16 + .../$__palettes_Nord_extend.meta | 2 + .../$__palettes_Rocker_extend | 16 + .../$__palettes_Rocker_extend.meta | 2 + .../$__palettes_SolarFlare_extend | 16 + .../$__palettes_SolarFlare_extend.meta | 2 + .../$__palettes_SolarizedDark_extend | 16 + .../$__palettes_SolarizedDark_extend.meta | 2 + .../$__palettes_SolarizedLight_extend | 16 + .../$__palettes_SolarizedLight_extend.meta | 2 + .../$__palettes_SpartanDay_extend | 16 + .../$__palettes_SpartanDay_extend.meta | 2 + .../$__palettes_SpartanNight_extend | 16 + .../$__palettes_SpartanNight_extend.meta | 2 + .../$__palettes_Twilight_extend | 16 + .../$__palettes_Twilight_extend.meta | 2 + .../$__palettes_Vanilla_extend | 16 + .../$__palettes_Vanilla_extend.meta | 2 + ...ddlywiki-codemirror-6_edit-codemirror-6.js | 1 + ...iki-codemirror-6_edit-codemirror-6.js.meta | 3 + ...ews_tiddlywiki-codemirror-6_engine.js.json | 10 + ...s_oeyoews_tiddlywiki-codemirror-6_icon.svg | 1 + ...oews_tiddlywiki-codemirror-6_icon.svg.meta | 2 + ...s_tiddlywiki-codemirror-6_icons_editor.svg | 1 + ...dlywiki-codemirror-6_icons_editor.svg.meta | 2 + ...ews_tiddlywiki-codemirror-6_icons_redo.tid | 3 + ...ews_tiddlywiki-codemirror-6_icons_undo.tid | 3 + ...wiki-codemirror-6_macros_colour-extend.tid | 6 + ...r-6_modules_editor_operations_text_redo.js | 1 + ...odules_editor_operations_text_redo.js.meta | 3 + ...6_modules_editor_operations_text_search.js | 1 + ...ules_editor_operations_text_search.js.meta | 3 + ...r-6_modules_editor_operations_text_undo.js | 1 + ...odules_editor_operations_text_undo.js.meta | 3 + ...odemirror-6_modules_subclasses_dropzone.js | 1 + ...rror-6_modules_subclasses_dropzone.js.meta | 3 + ...r-6_modules_subclasses_editor_edit-text.js | 1 + ...odules_subclasses_editor_edit-text.js.meta | 3 + ...mirror-6_modules_subclasses_editor_edit.js | 1 + ...r-6_modules_subclasses_editor_edit.js.meta | 3 + ...oeyoews_tiddlywiki-codemirror-6_readme.tid | 75 + ...oeyoews_tiddlywiki-codemirror-6_styles.tid | 535 ++++++++ ...-codemirror-6_ui_ControlPanel_settings.tid | 30 + ...demirror-6_ui_EditorToolbar_fullscreen.tid | 13 + ...iki-codemirror-6_ui_EditorToolbar_redo.tid | 11 + ...i-codemirror-6_ui_EditorToolbar_search.tid | 11 + ...mirror-6_ui_EditorToolbar_toggleEditor.tid | 19 + ...odemirror-6_ui_EditorToolbar_translate.tid | 7 + ...iki-codemirror-6_ui_EditorToolbar_undo.tid | 11 + ...r-6_ui_templates_settings_input-switch.tid | 16 + ...demirror-6_ui_templates_settings_input.tid | 15 + ...emirror-6_ui_templates_settings_select.tid | 11 + ..._oeyoews_tiddlywiki-codemirror-6_usage.tid | 58 + .../tiddlywiki-codemirror-6/plugin.info | 13 + .../tiddlers/Normal/Saved/Sites/_Blogs.tid | 51 + .../Normal/Saved/Sites/_Galleries.tid | 29 + Wiki-OcttKB/tiddlers/Normal/Saved/_Sites.tid | 70 +- .../Normal/TiddlyWiki/_Snippets to Test.tid | 8 - .../Normal/TiddlyWiki/_ThirdParty.tid | 10 +- .../Normal/TiddlyWiki/_TipsAndTricks.tid | 14 + Wiki-OcttKB/tiddlers/Normal/_HTML.tid | 6 +- Wiki-OcttKB/tiddlers/Normal/_Linux.tid | 4 +- .../tiddlers/Normal/_Strange things.tid | 6 +- Wiki-OcttKB/tiddlers/Normal/_UNIX desktop.tid | 10 + Wiki-OcttKB/tiddlers/Normal/_Userscript.tid | 4 +- Wiki-OcttKB/tiddlers/Normal/_Web.tid | 3 +- .../tiddlers/Normal/kk-notes-box/_styles.tid | 41 + .../Normal/kk-notes-box/macros/_note.tid | 20 + .../Normal/kk-notes-box/macros/_svg-icons.tid | 19 + .../tiddlers/System/Styles/View/_i18n.tid | 4 +- .../tiddlers/System/_HistoryList.json.meta | 4 +- Wiki-OcttKB/tiddlers/System/_Import.tid | 2 +- Wiki-OcttKB/tiddlers/System/_StoryList.tid | 4 - .../System/config/Manager/_Filter.tid | 7 + .../config/TiddlyTools/_FindTags.json.meta | 2 +- .../System/config/codemirror-6/_fontsize.tid | 12 + .../System/config/codemirror-6/_translate.tid | 12 + .../plugins/oeyoews/commandpalette/_cmd.tid | 17 + .../plugins/oeyoews/commandpalette/_icon.svg | 1 + .../oeyoews/commandpalette/_icon.svg.meta | 2 + .../state/Excise/-1580921119/_macro-title.tid | 7 + .../System/state/Excise/-1580921119/_type.tid | 7 + .../System/state/_showeditpreview.tid | 2 +- .../System/state/_tab--1498284803.tid | 4 +- .../System/state/_tab--1672778217.tid | 7 + .../tiddlers/System/state/_tab-1749438307.tid | 4 +- .../state/addplugins/_tab-1342078386.tid | 4 +- .../state/advancedsearch/_currentTab.tid | 4 +- .../_ThirdParty' by Octt.tid | 7 + .../System/state/commander/_log-tiddler.tid | 2 +- .../_sidebar-search--502179266.tid | 2 +- .../_ContextPlugin---1520134501.tid | 7 + .../_tiddlywiki-codemirror-6---1853744903.tid | 7 + .../_selected-item--1546365138.tid | 7 + .../System/state/search/_currentTab.tid | 2 +- .../System/state/tab/_sidebar--595412856.tid | 2 +- .../state/tab/search-results/_sidebar.tid | 2 +- .../state/toc/$/ToC-$/_Tools--1697730578.tid | 2 +- .../state/toc/$/_ToC-Octt--1697730578.tid | 7 + .../state/tree/$/OcttKB/EditorToolbar/_.tid | 4 +- .../System/state/tree/$/OcttKB/Utils/_.tid | 2 +- .../tiddlers/System/state/tree/$/OcttKB/_.tid | 2 +- .../tiddlers/System/state/tree/$/Styles/_.tid | 2 +- .../tiddlers/System/state/tree/$/config/_.tid | 2 +- 457 files changed, 4625 insertions(+), 112 deletions(-) create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__config_ShortcutInfo_insert-command-palette-result.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__config_ShortcutInfo_open-command-palette-command-mode.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__config_ShortcutInfo_open-command-palette-selection.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__config_ShortcutInfo_open-command-palette.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__config_shortcuts_insert-command-palette-result.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__config_shortcuts_open-command-palette-command-mode.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__config_shortcuts_open-command-palette-selection.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__config_shortcuts_open-command-palette.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__core_modules_widgets_commandpalettewidget.js create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__core_modules_widgets_commandpalettewidget.js.meta create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__core_ui_KeyboardShortcuts_CommandPalette.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Browser Refresh.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Cancel Tiddler.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Clone Tiddler.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Close All Tiddlers.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Close Tiddler.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Close other Tiddlers.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Command Palette Settings.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteCommandMode.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteHistory.json create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteHistory.json.meta create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSearchSteps.json create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSearchSteps.json.meta create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSelection.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSettings.json create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSettings.json.meta create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Compact.css.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_ControlPanel Command.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Delete Tiddler.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Edit Tiddler.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Filter operation.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Fold All Tiddlers.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Home.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_InsertCommandPaletteResult.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_New Journal Command.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_New Tiddler with title.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_New Tiddler.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Original.css.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Permalink.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Permaview.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Print.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Recent Tiddlers Command.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Refresh Server.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Save Tiddler.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Save Wiki.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Search Tags.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Search fields.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Search tiddlers with tag.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Search.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Drafts.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Languages.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Missing Tiddlers.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Orphans Tiddlers.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Plugins.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Shadows Tiddlers.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Story List.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Themes.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See all content-types.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See untagged tiddlers.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Show help.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Toggle Fullscreen.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Unfold All Tiddlers.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Version.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_View.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_show tiddler commands.tid create mode 100644 Wiki-OcttKB/plugins/commandpalette/plugin.info create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__Library_Codemirror6.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_application_javascript.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_application_json.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_application_x-tiddler-dictionary.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_image_svg+xml.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_css.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_html.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_markdown.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_plain.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_vnd.tiddlywiki.mermaid.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_vnd.tiddlywiki.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_x-markdown.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_x-tiddlywiki.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_ShortcutInfo_editor-fullscreen.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_activateOnTyping.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_autocompleteIcons.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_autocorrect.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_bracketMatching.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_clickable-icon.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_clickable.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_closeBrackets.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_closeOnBlur.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_commentComplete.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_completeAnyWord.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_cursor-thickness.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_cursorBlinkRate.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_customPlaceholder.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_debug.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_delimiter.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_disableCM6.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_enableSystemTiddlersCompletion.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_foldByIndent.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_foldGutter.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_fontsize.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_footer.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_highlightActiveLine.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_highlightTrailingWhitespace.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_indentWithTab.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_inlineSuggestion.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_lineNumbers.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_linkPreview.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_matchText.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_maxRenderedOptions.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_minLength.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_minimap.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_minimapAudoHide.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_onedark.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_placeholder.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_removeOutline.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_rtl.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_selectOnOpen.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_snippetPreview.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_spellcheck.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_tabSize.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_tiddlerPreview.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_translate.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_vimJK.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_vimmode.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_whitespace.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_wordCount.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror6_language.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_shortcuts_editor-fullscreen.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_excise.js create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_excise.js.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_focus-editor.js create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_focus-editor.js.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_insert-text.js create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_insert-text.js.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_make-link.js create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_make-link.js.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_prefix-lines.js create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_prefix-lines.js.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_replace-all.js create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_replace-all.js.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_replace-selection.js create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_replace-selection.js.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_save-selection.js create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_save-selection.js.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_wrap-lines.js create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_wrap-lines.js.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_wrap-selection.js create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_wrap-selection.js.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_ui_EditTemplate_body_default.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_ui_EditTemplate_body_editor.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_ui_EditorToolbar_preview.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_activateOnTyping_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_activateOnTyping_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_autocompleteIcons_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_autocompleteIcons_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_autocorrect_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_autocorrect_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_bracketMatching_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_bracketMatching_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_clickable-icon_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_clickable-icon_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_clickable_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_clickable_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_closeBrackets_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_closeBrackets_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_closeOnBlur_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_closeOnBlur_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_commentComplete_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_commentComplete_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_completeAnyWord_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_completeAnyWord_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_cursor-thickness_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_cursor-thickness_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_cursorBlinkRate_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_cursorBlinkRate_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_customPlaceholder_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_customPlaceholder_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_debug_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_debug_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_delimiter_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_delimiter_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_disableCM6_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_disableCM6_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_enableSystemTiddlersCompletion_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_enableSystemTiddlersCompletion_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_foldByIndent_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_foldByIndent_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_foldGutter_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_foldGutter_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_fontsize_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_fontsize_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_footer_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_footer_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_highlightActiveLine_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_highlightActiveLine_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_highlightTrailingWhitespace_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_highlightTrailingWhitespace_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_indentWithTab_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_indentWithTab_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_inlineSuggestion_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_inlineSuggestion_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_lineNumbers_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_lineNumbers_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_linkPreview_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_linkPreview_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_matchText_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_matchText_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_maxRenderedOptions_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_maxRenderedOptions_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minLength_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minLength_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minimapAudoHide_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minimapAudoHide_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minimap_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minimap_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_onedark_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_onedark_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_placeholder_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_placeholder_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_removeOutline_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_removeOutline_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_rtl_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_rtl_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_selectOnOpen_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_selectOnOpen_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_snippetPreview_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_snippetPreview_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_spellcheck_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_spellcheck_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_tabSize_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_tabSize_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_tiddlerPreview_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_tiddlerPreview_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_translate_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_translate_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_vimJK_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_vimJK_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_vimmode_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_vimmode_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_whitespace_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_whitespace_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_wordCount_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_wordCount_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_activateOnTyping_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_activateOnTyping_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_autocompleteIcons_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_autocompleteIcons_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_autocorrect_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_autocorrect_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_bracketMatching_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_bracketMatching_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_clickable-icon_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_clickable-icon_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_clickable_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_clickable_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_closeBrackets_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_closeBrackets_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_closeOnBlur_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_closeOnBlur_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_commentComplete_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_commentComplete_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_completeAnyWord_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_completeAnyWord_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_cursor-thickness_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_cursor-thickness_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_cursorBlinkRate_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_cursorBlinkRate_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_customPlaceholder_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_customPlaceholder_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_debug_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_debug_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_delimiter_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_delimiter_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_disableCM6_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_disableCM6_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_enableSystemTiddlersCompletion_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_enableSystemTiddlersCompletion_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_foldByIndent_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_foldByIndent_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_foldGutter_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_foldGutter_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_fontsize_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_fontsize_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_footer_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_footer_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_highlightActiveLine_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_highlightActiveLine_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_highlightTrailingWhitespace_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_highlightTrailingWhitespace_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_indentWithTab_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_indentWithTab_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_inlineSuggestion_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_inlineSuggestion_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_lineNumbers_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_lineNumbers_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_linkPreview_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_linkPreview_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_matchText_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_matchText_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_maxRenderedOptions_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_maxRenderedOptions_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minLength_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minLength_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minimapAudoHide_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minimapAudoHide_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minimap_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minimap_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_onedark_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_onedark_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_placeholder_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_placeholder_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_removeOutline_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_removeOutline_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_rtl_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_rtl_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_selectOnOpen_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_selectOnOpen_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_snippetPreview_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_snippetPreview_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_spellcheck_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_spellcheck_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_tabSize_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_tabSize_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_tiddlerPreview_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_tiddlerPreview_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_translate_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_translate_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_vimJK_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_vimJK_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_vimmode_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_vimmode_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_whitespace_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_whitespace_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_wordCount_caption.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_wordCount_description.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Blanca_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Blanca_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Blue_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Blue_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_ContrastDark_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_ContrastDark_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_ContrastLight_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_ContrastLight_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_CupertinoDark_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_CupertinoDark_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_DarkPhotos_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_DarkPhotos_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_DesertSand_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_DesertSand_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_GruvboxDark_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_GruvboxDark_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Muted_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Muted_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Nord_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Nord_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Rocker_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Rocker_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarFlare_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarFlare_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarizedDark_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarizedDark_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarizedLight_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarizedLight_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SpartanDay_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SpartanDay_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SpartanNight_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SpartanNight_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Twilight_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Twilight_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Vanilla_extend create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Vanilla_extend.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_edit-codemirror-6.js create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_edit-codemirror-6.js.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_engine.js.json create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icon.svg create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icon.svg.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icons_editor.svg create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icons_editor.svg.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icons_redo.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icons_undo.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_macros_colour-extend.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_redo.js create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_redo.js.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_search.js create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_search.js.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_undo.js create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_undo.js.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_dropzone.js create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_dropzone.js.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_editor_edit-text.js create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_editor_edit-text.js.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_editor_edit.js create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_editor_edit.js.meta create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_readme.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_styles.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_ControlPanel_settings.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_fullscreen.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_redo.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_search.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_toggleEditor.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_translate.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_undo.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_templates_settings_input-switch.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_templates_settings_input.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_templates_settings_select.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_usage.tid create mode 100644 Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/plugin.info create mode 100644 Wiki-OcttKB/tiddlers/Normal/Saved/Sites/_Blogs.tid create mode 100644 Wiki-OcttKB/tiddlers/Normal/Saved/Sites/_Galleries.tid delete mode 100644 Wiki-OcttKB/tiddlers/Normal/TiddlyWiki/_Snippets to Test.tid create mode 100644 Wiki-OcttKB/tiddlers/Normal/TiddlyWiki/_TipsAndTricks.tid create mode 100644 Wiki-OcttKB/tiddlers/Normal/_UNIX desktop.tid create mode 100644 Wiki-OcttKB/tiddlers/Normal/kk-notes-box/_styles.tid create mode 100644 Wiki-OcttKB/tiddlers/Normal/kk-notes-box/macros/_note.tid create mode 100644 Wiki-OcttKB/tiddlers/Normal/kk-notes-box/macros/_svg-icons.tid create mode 100644 Wiki-OcttKB/tiddlers/System/config/Manager/_Filter.tid create mode 100644 Wiki-OcttKB/tiddlers/System/config/codemirror-6/_fontsize.tid create mode 100644 Wiki-OcttKB/tiddlers/System/config/codemirror-6/_translate.tid create mode 100644 Wiki-OcttKB/tiddlers/System/plugins/oeyoews/commandpalette/_cmd.tid create mode 100644 Wiki-OcttKB/tiddlers/System/plugins/oeyoews/commandpalette/_icon.svg create mode 100644 Wiki-OcttKB/tiddlers/System/plugins/oeyoews/commandpalette/_icon.svg.meta create mode 100644 Wiki-OcttKB/tiddlers/System/state/Excise/-1580921119/_macro-title.tid create mode 100644 Wiki-OcttKB/tiddlers/System/state/Excise/-1580921119/_type.tid create mode 100644 Wiki-OcttKB/tiddlers/System/state/_tab--1672778217.tid create mode 100644 Wiki-OcttKB/tiddlers/System/state/codemirror-6/translate/Draft of 'TiddlyWiki/_ThirdParty' by Octt.tid create mode 100644 Wiki-OcttKB/tiddlers/System/state/plugin-info-1711918554-$/plugins/danielo515/_ContextPlugin---1520134501.tid create mode 100644 Wiki-OcttKB/tiddlers/System/state/plugin-info-2030122776-$/plugins/oeyoews/_tiddlywiki-codemirror-6---1853744903.tid create mode 100644 Wiki-OcttKB/tiddlers/System/state/search-list/_selected-item--1546365138.tid create mode 100644 Wiki-OcttKB/tiddlers/System/state/toc/$/_ToC-Octt--1697730578.tid diff --git a/Wiki-OcttKB/plugins/commandpalette/$__config_ShortcutInfo_insert-command-palette-result.tid b/Wiki-OcttKB/plugins/commandpalette/$__config_ShortcutInfo_insert-command-palette-result.tid new file mode 100644 index 00000000..cde2aea1 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__config_ShortcutInfo_insert-command-palette-result.tid @@ -0,0 +1,7 @@ +created: 20200604175511112 +modified: 20200604175520378 +tags: +title: $:/config/ShortcutInfo/insert-command-palette-result +type: text/vnd.tiddlywiki + +Insert the current result in the previously focused element \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__config_ShortcutInfo_open-command-palette-command-mode.tid b/Wiki-OcttKB/plugins/commandpalette/$__config_ShortcutInfo_open-command-palette-command-mode.tid new file mode 100644 index 00000000..08cfa6ce --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__config_ShortcutInfo_open-command-palette-command-mode.tid @@ -0,0 +1,7 @@ +created: 20200604175511112 +modified: 20200604175520378 +tags: +title: $:/config/ShortcutInfo/open-command-palette-command-mode +type: text/vnd.tiddlywiki + +Open the command palette in command mode \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__config_ShortcutInfo_open-command-palette-selection.tid b/Wiki-OcttKB/plugins/commandpalette/$__config_ShortcutInfo_open-command-palette-selection.tid new file mode 100644 index 00000000..937c46d1 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__config_ShortcutInfo_open-command-palette-selection.tid @@ -0,0 +1,7 @@ +created: 20200604175511112 +modified: 20200604175520378 +tags: +title: $:/config/ShortcutInfo/open-command-palette-selection +type: text/vnd.tiddlywiki + +Open the command palette with current selection \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__config_ShortcutInfo_open-command-palette.tid b/Wiki-OcttKB/plugins/commandpalette/$__config_ShortcutInfo_open-command-palette.tid new file mode 100644 index 00000000..7ac9adfc --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__config_ShortcutInfo_open-command-palette.tid @@ -0,0 +1,7 @@ +created: 20200531223953066 +modified: 20200531224011568 +tags: +title: $:/config/ShortcutInfo/open-command-palette +type: text/vnd.tiddlywiki + +Open the command palette \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__config_shortcuts_insert-command-palette-result.tid b/Wiki-OcttKB/plugins/commandpalette/$__config_shortcuts_insert-command-palette-result.tid new file mode 100644 index 00000000..6cf57a34 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__config_shortcuts_insert-command-palette-result.tid @@ -0,0 +1,6 @@ +created: 20200604175539239 +modified: 20200604175658624 +title: $:/config/shortcuts/insert-command-palette-result +type: text/vnd.tiddlywiki + +ctrl+shift+I \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__config_shortcuts_open-command-palette-command-mode.tid b/Wiki-OcttKB/plugins/commandpalette/$__config_shortcuts_open-command-palette-command-mode.tid new file mode 100644 index 00000000..dbc0ba39 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__config_shortcuts_open-command-palette-command-mode.tid @@ -0,0 +1,6 @@ +created: 20200604175539239 +modified: 20200604175658624 +title: $:/config/shortcuts/open-command-palette-command-mode +type: text/vnd.tiddlywiki + +ctrl-shift-P \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__config_shortcuts_open-command-palette-selection.tid b/Wiki-OcttKB/plugins/commandpalette/$__config_shortcuts_open-command-palette-selection.tid new file mode 100644 index 00000000..27b52cea --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__config_shortcuts_open-command-palette-selection.tid @@ -0,0 +1,4 @@ +created: 20200604175539239 +modified: 20200604175658624 +title: $:/config/shortcuts/open-command-palette-selection +type: text/vnd.tiddlywiki \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__config_shortcuts_open-command-palette.tid b/Wiki-OcttKB/plugins/commandpalette/$__config_shortcuts_open-command-palette.tid new file mode 100644 index 00000000..b1f132c9 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__config_shortcuts_open-command-palette.tid @@ -0,0 +1,7 @@ +created: 20200531223906490 +modified: 20200604175559200 +tags: +title: $:/config/shortcuts/open-command-palette +type: text/vnd.tiddlywiki + +ctrl-P \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__core_modules_widgets_commandpalettewidget.js b/Wiki-OcttKB/plugins/commandpalette/$__core_modules_widgets_commandpalettewidget.js new file mode 100644 index 00000000..82b332a7 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__core_modules_widgets_commandpalettewidget.js @@ -0,0 +1,1212 @@ +/*\ +title: $:/core/modules/widgets/commandpalettewidget.js +type: application/javascript +module-type: widget + +Command Palette Widget + +\*/ +(function () { + + /*jslint node: true, browser: true */ + /*global $tw: false */ + 'use strict'; + + var Widget = require('$:/core/modules/widgets/widget.js').widget; + + class CommandPaletteWidget extends Widget { + constructor(parseTreeNode, options) { + super(parseTreeNode, options); + this.initialise(parseTreeNode, options); + this.currentSelection = 0; //0 is nothing selected, 1 is first result,... + this.symbolProviders = {}; + this.actions = []; + this.triggers = []; + this.prefixes = []; + this.blockProviderChange = false; + this.defaultSettings = { + maxResults: 15, + maxResultHintSize: 45, + neverBasic: false, + showHistoryOnOpen: true, + escapeGoesBack: true, + alwaysPassSelection: true, + theme: '$:/plugins/souk21/commandpalette/Compact.css', + }; + this.settings = {}; + this.commandHistoryPath = '$:/plugins/souk21/commandpalette/CommandPaletteHistory'; + this.settingsPath = '$:/plugins/souk21/commandpalette/CommandPaletteSettings'; + this.searchStepsPath = '$:/plugins/souk21/commandpalette/CommandPaletteSearchSteps'; + this.customCommandsTag = '$:/tags/CommandPaletteCommand'; + this.themesTag = '$:/tags/CommandPaletteTheme'; + this.typeField = 'command-palette-type'; + this.nameField = 'command-palette-name'; + this.hintField = 'command-palette-hint'; + this.modeField = 'command-palette-mode'; + this.userInputField = 'command-palette-user-input'; + this.caretField = 'command-palette-caret'; + this.immediateField = 'command-palette-immediate'; + this.triggerField = 'command-palette-trigger'; + this.prefixField = 'command-palette-prefix'; + } + + actionStringBuilder(text) { + return (e) => this.invokeActionString(text, this, e); + } + + actionStringInput(action, hint, e) { + this.blockProviderChange = true; + this.allowInputFieldSelection = true; + this.hint.innerText = hint; + this.input.value = ''; + this.currentProvider = () => { }; + this.currentResolver = (e) => { + this.invokeActionString(action, this, e, { 'commandpaletteinput': this.input.value }); + this.closePalette(); + } + this.showResults([]); + this.onInput(this.input.value); + } + + invokeFieldMangler(tiddler, message, param, e) { + let action = `<$fieldmangler tiddler="${tiddler}"> + <$action-sendmessage $message="${message}" $param="${param}"/> + `; + this.invokeActionString(action, this, e); + } + + //filter = (tiddler, terms) => [tiddlers] + tagOperation(e, hintTiddler, hintTag, filter, allowNoSelection, message) { + this.blockProviderChange = true; + if (allowNoSelection) this.allowInputFieldSelection = true; + this.currentProvider = this.historyProviderBuilder(hintTiddler); + this.currentResolver = (e) => { + if (this.currentSelection === 0) return; + let tiddler = this.currentResults[this.currentSelection - 1].result.name; + this.currentProvider = (terms) => { + this.currentSelection = 0; + this.hint.innerText = hintTag; + let searches = filter(tiddler, terms); + searches = searches.map(s => { return { name: s }; }); + this.showResults(searches); + } + this.input.value = ""; + this.onInput(this.input.value); + this.currentResolver = (e) => { + if (!allowNoSelection && this.currentSelection === 0) return; + let tag = this.input.value; + if (this.currentSelection !== 0) { + tag = this.currentResults[this.currentSelection - 1].result.name; + } + this.invokeFieldMangler(tiddler, message, tag, e); + if (!e.getModifierState('Shift')) { + this.closePalette(); + } else { + this.onInput(this.input.value); + } + } + } + this.input.value = ""; + this.onInput(this.input.value); + } + + refreshThemes(e) { + this.themes = this.getTiddlersWithTag(this.themesTag); + let found = false; + for (let theme of this.themes) { + let themeName = theme.fields.title; + if (themeName === this.settings.theme) { + found = true; + this.addTagIfNecessary(themeName, '$:/tags/Stylesheet', e); + } else { + this.invokeFieldMangler(themeName, 'tm-remove-tag', '$:/tags/Stylesheet', e); + } + } + if (found) return; + this.addTagIfNecessary(this.defaultSettings.theme, '$:/tags/Stylesheet', e); + } + + //Re-adding an existing tag changes modification date + addTagIfNecessary(tiddler, tag, e) { + if (this.hasTag(tiddler, tag)) return; + this.invokeFieldMangler(tiddler, 'tm-add-tag', tag, e); + } + + hasTag(tiddler, tag) { + return $tw.wiki.getTiddler(tiddler).fields.tags.includes(tag); + } + + refreshCommands() { + this.actions = []; + this.actions.push({ name: "Refresh Command Palette", action: (e) => { this.refreshCommandPalette(); this.promptCommand('') }, keepPalette: true }); + this.actions.push({ name: "Explorer", action: (e) => this.explorer(e), keepPalette: true }); + this.actions.push({ name: "See History", action: (e) => this.showHistory(e), keepPalette: true }); + this.actions.push({ name: "New Command Wizard", action: (e) => this.newCommandWizard(e), keepPalette: true }); + this.actions.push({ + name: "Add tag to tiddler", + action: (e) => this.tagOperation(e, 'Pick tiddler to tag', 'Pick tag to add (⇧⏎ to add multiple)', + (tiddler, terms) => $tw.wiki.filterTiddlers(`[!is[system]tags[]] [is[system]tags[]] -[[${tiddler}]tags[]] +[search[${terms}]]`), + true, + 'tm-add-tag'), + keepPalette: true + }); + this.actions.push({ + name: "Remove tag", + action: (e) => this.tagOperation(e, 'Pick tiddler to untag', 'Pick tag to remove (⇧⏎ to remove multiple)', + (tiddler, terms) => $tw.wiki.filterTiddlers(`[[${tiddler}]tags[]] +[search[${terms}]]`), + false, + 'tm-remove-tag'), + keepPalette: true + }); + + let commandTiddlers = this.getTiddlersWithTag(this.customCommandsTag); + for (let tiddler of commandTiddlers) { + if (!tiddler.fields[this.typeField] === undefined) continue; + let type = tiddler.fields[this.typeField]; + let text = tiddler.fields.text; + if (text === undefined) text = ''; + let textFirstLine = text.match(/^.*/)[0]; + let hint = tiddler.fields[this.hintField]; + if (hint === undefined) hint = tiddler.fields[this.nameField]; + if (hint === undefined) hint = ''; + if (type === 'shortcut') { + let trigger = tiddler.fields[this.triggerField]; + if (trigger === undefined) continue; + this.triggers.push({ trigger, text, hint }); + continue; + } + if (!tiddler.fields[this.nameField] === undefined) continue; + let name = tiddler.fields[this.nameField]; + if (type === 'prompt') { + let immediate = !!tiddler.fields[this.immediateField]; + let caret = tiddler.fields[this.caretField]; + let action = { name: name, action: () => this.promptCommand(textFirstLine, caret), keepPalette: !immediate, immediate: immediate }; + this.actions.push(action); + continue; + } + if (type === 'prompt-basic') { + let caret = tiddler.fields[this.caretField]; + let action = { name: name, action: () => this.promptCommandBasic(textFirstLine, caret, hint), keepPalette: true }; + let prefix = tiddler.fields[this.prefixField]; + if (prefix !== undefined) { + this.symbolProviders[prefix] = { + provider: this.prefixedBasicProviderBuilder(textFirstLine, caret, hint), + //resolver is set in provider after parsing the input without the prefix + resolver: undefined, + }; + this.prefixes.push({ prefix, hint }) + } + this.actions.push(action); + continue; + } + if (type === 'message') { + this.actions.push({ name: name, action: (e) => this.tmMessageBuilder(textFirstLine)(e) }); + continue; + } + if (type === 'actionString') { + let userInput = tiddler.fields[this.userInputField] !== undefined && tiddler.fields[this.userInputField] === 'true'; + if (userInput) { + this.actions.push({ name: name, action: (e) => this.actionStringInput(text, hint, e), keepPalette: true }); + } else { + this.actions.push({ name: name, action: (e) => this.actionStringBuilder(text)(e) }); + } + continue; + } + if (type === 'history') { + let mode = tiddler.fields[this.modeField]; + this.actions.push({ name: name, action: (e) => this.commandWithHistoryPicker(textFirstLine, hint, mode).handler(e), keepPalette: true }); + continue; + } + } + } + + newCommandWizard() { + this.blockProviderChange = true; + this.input.value = ''; + this.hint.innerText = 'Command Name'; + let name = ''; + let type = ''; + let hint = ''; + + let messageStep = () => { + this.input.value = ''; + this.hint.innerText = 'Enter Message'; + this.currentResolver = (e) => { + this.tmMessageBuilder('tm-new-tiddler', + { + title: '$:/' + name, + tags: this.customCommandsTag, + [this.typeField]: type, + [this.nameField]: name, + [this.hintField]: hint, + text: this.input.value + })(e); + this.closePalette(); + } + } + + let hintStep = () => { + this.input.value = ''; + this.hint.innerText = 'Enter hint'; + this.currentResolver = (e) => { + hint = this.input.value; + messageStep(); + } + } + + let typeStep = () => { + this.input.value = ''; + this.hint.innerText = 'Enter type (prompt, prompt-basic, message, actionString, history)' + this.currentResolver = (e) => { + type = this.input.value; + if (type === 'history') { + hintStep(); + } else { + this.tmMessageBuilder('tm-new-tiddler', + { + title: '$:/' + name, + tags: this.customCommandsTag, + [this.typeField]: type, + [this.nameField]: name + })(e); + this.closePalette(); + } + } + } + + this.currentProvider = (terms) => { } + this.currentResolver = (e) => { + if (this.input.value.length === 0) return; + name = this.input.value; + typeStep(); + } + this.showResults([]); + } + + explorer(e) { + this.blockProviderChange = true; + this.input.value = '$:/'; + this.lastExplorerInput = '$:/'; + this.hint.innerText = 'Explorer (⇧⏎ to add multiple)'; + this.currentProvider = (terms) => this.explorerProvider('$:/', terms); + this.currentResolver = (e) => { + if (this.currentSelection === 0) return; + this.currentResults[this.currentSelection - 1].result.action(e); + } + this.onInput(); + } + + explorerProvider(url, terms) { + let switchFolder = (url) => { + this.input.value = url; + this.lastExplorerInput = this.input.value; + this.currentProvider = (terms) => this.explorerProvider(url, terms); + this.onInput(); + }; + if (!this.input.value.startsWith(url)) { + this.input.value = this.lastExplorerInput; + } + this.lastExplorerInput = this.input.value; + this.currentSelection = 0; + let search = this.input.value.substr(url.length); + let tiddlers = $tw.wiki.filterTiddlers(`[removeprefix[${url}]splitbefore[/]sort[]search[${search}]]`); + let folders = []; + let files = []; + for (let tiddler of tiddlers) { + if (tiddler.endsWith('/')) { + folders.push({ name: tiddler, action: (e) => switchFolder(`${url}${tiddler}`) }); + } else { + files.push({ + name: tiddler, action: (e) => { + this.navigateTo(`${url}${tiddler}`); + if (!e.getModifierState('Shift')) { + this.closePalette(); + } + } + }); + } + } + let topResult; + if (url !== '$:/') { + let splits = url.split('/'); + splits.splice(splits.length - 2); + let parent = splits.join('/') + '/'; + topResult = { name: '..', action: (e) => switchFolder(parent) }; + this.showResults([topResult, ...folders, ...files]); + return; + } + this.showResults([...folders, ...files]); + } + + setSetting(name, value) { + //doing the validation here too (it's also done in refreshSettings, so you can load you own settings with a json file) + if (typeof value === 'string') { + if (value === 'true') value = true; + if (value === 'false') value = false; + } + this.settings[name] = value; + $tw.wiki.setTiddlerData(this.settingsPath, this.settings); + } + + //loadSettings? + refreshSettings() { + //get user or default settings + this.settings = $tw.wiki.getTiddlerData(this.settingsPath, { ...this.defaultSettings }); + //Adding eventual missing properties to current user settings + for (let prop in this.defaultSettings) { + if (!this.defaultSettings.hasOwnProperty(prop)) continue; + if (this.settings[prop] === undefined) { + this.settings[prop] = this.defaultSettings[prop]; + } + } + //cast all booleans + for (let prop in this.settings) { + if (!this.settings.hasOwnProperty(prop)) continue; + if (typeof this.settings[prop] !== 'string') continue; + if (this.settings[prop].toLowerCase() === 'true') this.settings[prop] = true; + if (this.settings[prop].toLowerCase() === 'false') this.settings[prop] = false; + } + } + + //helper function to retrieve all tiddlers (+ their fields) with a tag + getTiddlersWithTag(tag) { + let tiddlers = $tw.wiki.getTiddlersWithTag(tag); + return tiddlers.map(t => $tw.wiki.getTiddler(t)); + } + + render(parent, nextSibling) { + this.parentDomNode = parent; + this.execute(); + this.history = $tw.wiki.getTiddlerData(this.commandHistoryPath, { history: [] }).history; + + $tw.rootWidget.addEventListener('open-command-palette', (e) => this.openPalette(e)); + $tw.rootWidget.addEventListener('open-command-palette-selection', (e) => this.openPaletteSelection(e)); + $tw.rootWidget.addEventListener('insert-command-palette-result', (e) => this.insertSelectedResult(e)); + + let inputAndMainHintWrapper = this.createElement('div', { className: 'inputhintwrapper' }); + this.div = this.createElement('div', { className: 'commandpalette' }, { display: 'none' }); + this.input = this.createElement('input', { type: 'text' }); + this.hint = this.createElement('div', { className: 'commandpalettehint commandpalettehintmain' }); + inputAndMainHintWrapper.append(this.input, this.hint); + this.scrollDiv = this.createElement('div', { className: 'cp-scroll' }); + this.div.append(inputAndMainHintWrapper, this.scrollDiv); + this.input.addEventListener('keydown', (e) => this.onKeyDown(e)); + this.input.addEventListener('input', () => this.onInput(this.input.value)); + window.addEventListener('click', (e) => this.onClick(e)); + parent.insertBefore(this.div, nextSibling); + + this.refreshCommandPalette(); + + this.symbolProviders['>'] = { provider: (terms) => this.actionProvider(terms), resolver: (e) => this.actionResolver(e) }; + this.symbolProviders['#'] = { provider: (terms) => this.tagListProvider(terms), resolver: (e) => this.tagListResolver(e) }; + this.symbolProviders['@'] = { provider: (terms) => this.tagProvider(terms), resolver: (e) => this.defaultResolver(e) }; + this.symbolProviders['?'] = { provider: (terms) => this.helpProvider(terms), resolver: (e) => this.helpResolver(e) }; + this.symbolProviders['['] = { provider: (terms, hint) => this.filterProvider(terms, hint), resolver: (e) => this.filterResolver(e) }; + this.symbolProviders['+'] = { provider: (terms) => this.createTiddlerProvider(terms), resolver: (e) => this.createTiddlerResolver() }; + this.symbolProviders['|'] = { provider: (terms) => this.settingsProvider(terms), resolver: (e) => this.settingsResolver() }; + this.currentResults = []; + this.currentProvider = {}; + } + + refreshSearchSteps() { + this.searchSteps = []; + let steps = $tw.wiki.getTiddlerData(this.searchStepsPath); + steps = steps.steps; + for (let step of steps) { + this.searchSteps.push(this.searchStepBuilder(step.filter, step.caret, step.hint)); + } + } + + refreshCommandPalette() { + this.refreshSettings(); + this.refreshThemes(); + this.refreshCommands(); + this.refreshSearchSteps(); + } + + updateCommandHistory(command) { + this.history = Array.from(new Set([command.name, ...this.history])); + $tw.wiki.setTiddlerData(this.commandHistoryPath, { history: this.history }); + } + + historyProviderBuilder(hint, mode) { + return (terms) => { + this.currentSelection = 0; + this.hint.innerText = hint; + let results; + if (mode !== undefined && mode === 'drafts') { + results = $tw.wiki.filterTiddlers('[has:field[draft.of]]'); + } else if (mode !== undefined && mode === 'story') { + results = $tw.wiki.filterTiddlers('[list[$:/StoryList]]'); + } else { + results = this.getHistory(); + } + results = results.map(r => { return { name: r } }); + this.showResults(results); + }; + } + + commandWithHistoryPicker(message, hint, mode) { + let handler = (e) => { + this.blockProviderChange = true; + this.allowInputFieldSelection = true; + this.currentProvider = provider; + this.currentResolver = resolver; + this.input.value = ''; + this.onInput(this.input.value); + } + let provider = this.historyProviderBuilder(hint, mode); + let resolver = (e) => { + if (this.currentSelection === 0) return; + let title = this.currentResults[this.currentSelection - 1].result.name; + this.parentWidget.dispatchEvent({ + type: message, + param: title, + tiddlerTitle: title, + }); + this.closePalette(); + } + return { + handler, + provider, + resolver + } + } + onInput(text) { + if (this.blockProviderChange) { //prevent provider changes + this.currentProvider(text); + this.setSelectionToFirst(); + return; + } + let { resolver, provider, terms } = this.parseCommand(text); + this.currentResolver = resolver; + this.currentProvider = provider; + this.currentProvider(terms); + this.setSelectionToFirst(); + } + parseCommand(text) { + let terms = ""; + let resolver; + let provider; + let shortcut = this.triggers.find(t => text.startsWith(t.trigger)); + if (shortcut !== undefined) { + resolver = (e) => { + let inputWithoutShortcut = this.input.value.substr(shortcut.trigger.length); + this.invokeActionString(shortcut.text, this, e, { 'commandpaletteinput': inputWithoutShortcut }); + this.closePalette(); + } + provider = (terms) => { + this.hint.innerText = shortcut.hint; + this.showResults([]); + } + } else { + let providerSymbol = undefined; + for (let prefix in this.symbolProviders) { + if (text.startsWith(prefix) && (providerSymbol === undefined || providerSymbol.length < prefix.length)) { + providerSymbol = prefix; + } + } + if (providerSymbol === undefined) { + resolver = this.defaultResolver; + provider = this.defaultProvider; + terms = text; + } else { + provider = this.symbolProviders[providerSymbol].provider; + resolver = this.symbolProviders[providerSymbol].resolver; + terms = text.substring(providerSymbol.length); + } + } + return { resolver, provider, terms } + } + onClick(e) { + if (this.isOpened && !this.div.contains(e.target)) { + this.closePalette(); + } + } + openPaletteSelection(e) { + let selection = this.getCurrentSelection(); + e.param = selection; + this.openPalette(e); + } + openPalette(e) { + this.isOpened = true; + this.allowInputFieldSelection = false; + this.goBack = undefined; + this.blockProviderChange = false; + let activeElement = this.getActiveElement(); + this.previouslyFocused = { element: activeElement, start: activeElement.selectionStart, end: activeElement.selectionEnd, caretPos: activeElement.selectionEnd }; + this.input.value = ''; + if (e.param !== undefined) { + this.input.value = e.param; + } + if (this.settings.alwaysPassSelection) { + this.input.value += this.getCurrentSelection(); + } + this.currentSelection = 0; + this.onInput(this.input.value); //Trigger results on open + this.div.style.display = 'flex'; + this.input.focus(); + } + + insertSelectedResult() { + if (!this.isOpened) return; + if (this.currentSelection === 0) return; //TODO: what to do here? + let previous = this.previouslyFocused; + let previousValue = previous.element.value; + if (previousValue === undefined) return; + let selection = this.currentResults[this.currentSelection - 1].result.name; + if (previous.start !== previous.end) { + this.previouslyFocused.element.value = previousValue.substring(0, previous.start) + selection + previousValue.substring(previous.end); + } else { + this.previouslyFocused.element.value = previousValue.substring(0, previous.start) + selection + previousValue.substring(previous.start); + } + this.previouslyFocused.caretPos = previous.start + selection.length; + this.closePalette(); + } + + closePalette() { + this.div.style.display = 'none'; + this.isOpened = false; + this.focusAtCaretPosition(this.previouslyFocused.element, this.previouslyFocused.caretPos); + } + onKeyDown(e) { + if (e.key === 'Escape') { + // \/ There's no previous state + if (!this.settings.escapeGoesBack || this.goBack === undefined) { + this.closePalette(); + } else { + this.goBack(); + this.goBack = undefined; + } + } + else if (e.key === 'ArrowUp') { + e.preventDefault(); + e.stopPropagation(); + let sel = this.currentSelection - 1; + + if (sel === 0) { + if (!this.allowInputFieldSelection) { + sel = this.currentResults.length; + } + } else if (sel < 0) { + sel = this.currentResults.length; + } + this.setSelection(sel); + } + else if (e.key === 'ArrowDown') { + e.preventDefault(); + e.stopPropagation(); + let sel = (this.currentSelection + 1) % (this.currentResults.length + 1); + if (!this.allowInputFieldSelection && sel === 0 && this.currentResults.length !== 0) { + sel = 1; + } + this.setSelection(sel); + } + else if (e.key === 'Enter') { + e.preventDefault(); + e.stopPropagation(); + this.validateSelection(e); + } + } + addResult(result, id) { + let resultDiv = this.createElement('div', { className: 'commandpaletteresult', innerText: result.name }); + if (result.hint !== undefined) { + let hint = this.createElement('div', { className: 'commandpalettehint', innerText: result.hint }); + resultDiv.append(hint); + } + resultDiv.result = result; + this.currentResults.push(resultDiv); + resultDiv.addEventListener('click', (e) => { this.setSelection(id + 1); this.validateSelection(e); }); + this.scrollDiv.append(resultDiv); + } + validateSelection(e) { + this.currentResolver(e); + } + defaultResolver(e) { + if (e.getModifierState('Shift')) { + this.input.value = '+' + this.input.value; //this resolver expects that the input starts with + + this.createTiddlerResolver(e); + return; + } + if (this.currentSelection === 0) return; + let selectionTitle = this.currentResults[this.currentSelection - 1].result.name; + this.closePalette(); + this.navigateTo(selectionTitle); + } + navigateTo(title) { + this.parentWidget.dispatchEvent({ + type: 'tm-navigate', + param: title, + navigateTo: title + }); + } + + showHistory() { + this.hint.innerText = 'History'; + this.currentProvider = (terms) => { + let results; + if (terms.length === 0) { + results = this.getHistory(); + } else { + results = this.getHistory().filter(h => h.includes(terms)); + } + results = results.map(r => { return { name: r, action: () => { this.navigateTo(r); this.closePalette(); } } }); + this.showResults(results); + }; + this.currentResolver = (e) => { + if (this.currentSelection === 0) return; + this.currentResults[this.currentSelection - 1].result.action(e); + }; + this.input.value = ''; + this.blockProviderChange = true; + this.onInput(this.input.value); + } + + setSelectionToFirst() { + let sel = 1; + if (this.allowInputFieldSelection || this.currentResults.length === 0) { + sel = 0; + } + this.setSelection(sel) + } + + setSelection(id) { + this.currentSelection = id; + for (let i = 0; i < this.currentResults.length; i++) { + let selected = this.currentSelection === i + 1; + this.currentResults[i].className = selected ? 'commandpaletteresult commandpaletteresultselected' : 'commandpaletteresult'; + } + if (this.currentSelection === 0) { + this.scrollDiv.scrollTop = 0; + return; + } + let scrollHeight = this.scrollDiv.offsetHeight; + let scrollPos = this.scrollDiv.scrollTop; + let selectionPos = this.currentResults[this.currentSelection - 1].offsetTop; + let selectionHeight = this.currentResults[this.currentSelection - 1].offsetHeight; + + if (selectionPos < scrollPos || selectionPos >= scrollPos + scrollHeight) { + //select the closest scrolling position showing the selection + let a = selectionPos; + let b = selectionPos - scrollHeight + selectionHeight; + a = Math.abs(a - scrollPos); + b = Math.abs(b - scrollPos); + if (a < b) { + this.scrollDiv.scrollTop = selectionPos; + } else { + this.scrollDiv.scrollTop = selectionPos - scrollHeight + selectionHeight; + } + } + } + + getHistory() { + let history = $tw.wiki.getTiddlerData('$:/HistoryList'); + if (history === undefined) { + history = []; + } + history = [...history.reverse().map(x => x.title), ...$tw.wiki.filterTiddlers('[list[$:/StoryList]]')]; + return Array.from(new Set(history.filter(t => this.tiddlerOrShadowExists(t)))); + } + + tiddlerOrShadowExists(title) { + return $tw.wiki.tiddlerExists(title) || $tw.wiki.isShadowTiddler(title); + } + + defaultProvider(terms) { + this.hint.innerText = 'Search tiddlers (⇧⏎ to create)'; + let searches; + if (terms.startsWith('\\')) terms = terms.substr(1); + if (terms.length === 0) { + if (this.settings.showHistoryOnOpen) { + searches = this.getHistory().map(s => { return { name: s, hint: 'history' } }); + } else { + searches = []; + } + } + else { + searches = this.searchSteps.reduce((a, c) => [...a, ...c(terms)], []); + searches = Array.from(new Set(searches)); + } + this.showResults(searches); + } + + searchStepBuilder(filter, caret, hint) { + return (terms) => { + let search = filter.substr(0, caret) + terms + filter.substr(caret); + let results = $tw.wiki.filterTiddlers(search).map(s => { return { name: s, hint: hint } }); + return results; + } + } + + tagListProvider(terms) { + this.currentSelection = 0; + this.hint.innerText = 'Search tags'; + let searches; + if (terms.length === 0) { + searches = $tw.wiki.filterTiddlers('[!is[system]tags[]][is[system]tags[]][all[shadows]tags[]]'); + } + else { + searches = $tw.wiki.filterTiddlers('[all[]tags[]!is[system]search[' + terms + ']][all[]tags[]is[system]search[' + terms + ']][all[shadows]tags[]search[' + terms + ']]'); + } + searches = searches.map(s => { return { name: s }; }); + this.showResults(searches); + } + tagListResolver(e) { + if (this.currentSelection === 0) { + let input = this.input.value.substr(1); + let exist = $tw.wiki.filterTiddlers('[tag[' + input + ']]'); + if (!exist) + return; + this.input.value = '@' + input; + return; + } + let result = this.currentResults[this.currentSelection - 1]; + this.input.value = '@' + result.innerText; + this.onInput(this.input.value); + } + tagProvider(terms) { + this.currentSelection = 0; + this.hint.innerText = 'Search tiddlers with @tag(s)'; + let searches = []; + if (terms.length !== 0) { + let { tags, searchTerms, tagsFilter } = this.parseTags(this.input.value); + let taggedTiddlers = $tw.wiki.filterTiddlers(tagsFilter); + + if (taggedTiddlers.length !== 0) { + if (tags.length === 1) { + let tag = tags[0]; + let tagTiddlerExists = this.tiddlerOrShadowExists(tag); + if (tagTiddlerExists && searchTerms.some(s => tag.includes(s))) searches.push(tag); + } + searches = [...searches, ...taggedTiddlers]; + } + } + searches = searches.map(s => { return { name: s } }); + this.showResults(searches); + } + + parseTags(input) { + let splits = input.split(' ').filter(s => s !== ''); + let tags = []; + let searchTerms = []; + for (let i = 0; i < splits.length; i++) { + if (splits[i].startsWith('@')) { + tags.push(splits[i].substr(1)); + continue; + } + searchTerms.push(splits[i]); + } + let tagsFilter = `[all[tiddlers+system+shadows]${tags.reduce((a, c) => { return a + 'tag[' + c + ']' }, '')}]`; + if (searchTerms.length !== 0) { + tagsFilter = tagsFilter.substr(0, tagsFilter.length - 1); //remove last ']' + tagsFilter += `search[${searchTerms.join(' ')}]]`; + } + return { tags, searchTerms, tagsFilter }; + } + + settingsProvider(terms) { + this.currentSelection = 0; + this.hint.innerText = 'Select the setting you want to change'; + let isNumerical = (terms) => terms.length !== 0 && terms.match(/\D/gm) === null; + let isBoolean = (terms) => terms.length !== 0 && terms.match(/(true\b)|(false\b)/gmi) !== null; + this.showResults([ + { name: 'Theme (currently ' + this.settings.theme.match(/[^\/]*$/) + ')', action: () => this.promptForThemeSetting() }, + this.settingResultBuilder('Max results', 'maxResults', 'Choose the maximum number of results', isNumerical, 'Error: value must be a positive integer'), + this.settingResultBuilder('Show history on open', 'showHistoryOnOpen', 'Chose whether to show the history when you open the palette', isBoolean, 'Error: value must be \'true\' or \'false\''), + this.settingResultBuilder('Escape to go back', 'escapeGoesBack', 'Chose whether ESC should go back when possible', isBoolean, 'Error: value must be \'true\' or \'false\''), + this.settingResultBuilder('Use selection as search query', 'alwaysPassSelection', 'Chose your current selection is passed to the command palette', isBoolean, 'Error: value must be \'true\' or \'false\''), + this.settingResultBuilder('Never Basic', 'neverBasic', 'Chose whether to override basic prompts to show filter operation', isBoolean, 'Error: value must be \'true\' or \'false\''), + this.settingResultBuilder('Field preview max size', 'maxResultHintSize', 'Choose the maximum hint length for field preview', isNumerical, 'Error: value must be a positive integer'), + ]); + } + + settingResultBuilder(name, settingName, hint, validator, errorMsg) { + return { name: name + ' (currently ' + this.settings[settingName] + ')', action: () => this.promptForSetting(settingName, hint, validator, errorMsg) } + } + + settingsResolver(e) { + if (this.currentSelection === 0) return; + this.goBack = () => { + this.input.value = '|'; + this.blockProviderChange = false; + this.onInput(this.input.value); + } + this.currentResults[this.currentSelection - 1].result.action(); + } + + promptForThemeSetting() { + this.blockProviderChange = true; + this.allowInputFieldSelection = false; + this.currentProvider = (terms) => { + this.currentSelection = 0; + this.hint.innerText = 'Choose a theme'; + let defaultValue = this.defaultSettings['theme']; + let results = [{ name: 'Revert to default value: ' + defaultValue.match(/[^\/]*$/), action: () => { this.setSetting('theme', defaultValue); this.refreshThemes(); } }]; + for (let theme of this.themes) { + let name = theme.fields.title; + let shortName = name.match(/[^\/]*$/); + let action = () => { this.setSetting('theme', name); this.refreshThemes(); } + results.push({ name: shortName, action: action }); + } + this.showResults(results); + } + this.currentResolver = (e) => { + this.currentResults[this.currentSelection - 1].result.action(e); + } + this.input.value = ''; + this.onInput(this.input.value); + } + + //Validator = (terms) => bool + promptForSetting(settingName, hint, validator, errorMsg) { + this.blockProviderChange = true; + this.allowInputFieldSelection = true; + this.currentProvider = (terms) => { + this.currentSelection = 0; + this.hint.innerText = hint; + let defaultValue = this.defaultSettings[settingName]; + let results = [{ name: 'Revert to default value: ' + defaultValue, action: () => this.setSetting(settingName, defaultValue) }]; + if (!validator(terms)) { + results.push({ name: errorMsg }); + } + this.showResults(results); + }; + this.currentResolver = (e) => { + if (this.currentSelection === 0) { + let input = this.input.value; + if (validator(input)) { + this.setSetting(settingName, input); + this.goBack = undefined; + this.blockProviderChange = false; + this.allowInputFieldSelection = false; + this.promptCommand('|'); + } + } else { + let action = this.currentResults[this.currentSelection - 1].result.action; + if (action) { + action(); + this.goBack = undefined; + this.blockProviderChange = false; + this.allowInputFieldSelection = false; + this.promptCommand('|'); + } + } + } + this.input.value = this.settings[settingName]; + this.onInput(this.input.value); + } + + showResults(results) { + for (let cur of this.currentResults) { + cur.remove(); + } + this.currentResults = []; + let resultCount = 0; + for (let result of results) { + this.addResult(result, resultCount); + resultCount++; + if (resultCount >= this.settings.maxResults) + break; + } + } + + tmMessageBuilder(message, params = {}) { + return (e) => { + let event = { + type: message, + paramObject: params, + event: e, + }; + this.parentWidget.dispatchEvent(event); + }; + } + actionProvider(terms) { + this.currentSelection = 0; + this.hint.innerText = 'Search commands'; + let results; + if (terms.length === 0) { + results = this.getCommandHistory(); + } + else { + results = this.actions.filter(a => a.name.toLowerCase().includes(terms.toLowerCase())); + } + this.showResults(results); + } + + helpProvider(terms) { //TODO: tiddlerify? + this.currentSelection = 0; + this.hint.innerText = 'Help'; + let searches = [ + { name: '... Search', action: () => this.promptCommand('') }, + { name: '> Commands', action: () => this.promptCommand('>') }, + { name: '+ Create tiddler with title', action: () => this.promptCommand('+') }, + { name: '# Search tags', action: () => this.promptCommand('#') }, + { name: '@ List tiddlers with tag', action: () => this.promptCommand('@') }, + { name: '[ Filter operation', action: () => this.promptCommand('[') }, + { name: '| Command Palette Settings', action: () => this.promptCommand('|') }, + { name: '\\ Escape first character', action: () => this.promptCommand('\\') }, + { name: '? Help', action: () => this.promptCommand('?') }, + ]; + this.prefixes.forEach(p => searches.push({ + name: p.prefix + " " + p.hint, + action: () => this.promptCommand(p.prefix), + })) + this.showResults(searches); + } + + filterProvider(terms, hint) { + this.currentSelection = 0; + this.hint.innerText = hint === undefined ? 'Filter operation' : hint; + terms = '[' + terms; + let fields = $tw.wiki.filterTiddlers('[fields[]]'); + let results = $tw.wiki.filterTiddlers(terms).map(r => { return { name: r } }); + let insertResult = (i, result) => results.splice(i + 1, 0, result); + for (let i = 0; i < results.length; i++) { + let initialResult = results[i]; + let alreadyMatched = false; + let date = 'Invalid Date'; + if (initialResult.name.length === 17) { //to be sure to only match tiddly dates (17 char long) + date = $tw.utils.parseDate(initialResult.name).toLocaleString(); + } + if (date !== "Invalid Date") { + results[i].hint = date; + results[i].action = () => { }; + alreadyMatched = true; + } + let isTag = $tw.wiki.getTiddlersWithTag(initialResult.name).length !== 0; + if (isTag) { + if (alreadyMatched) { + insertResult(i, { ...results[i] }); + i += 1; + } + results[i].action = () => this.promptCommand('@' + initialResult.name); + results[i].hint = 'Tag'; //Todo more info? + alreadyMatched = true; + } + let isTiddler = this.tiddlerOrShadowExists(initialResult.name); + if (isTiddler) { + if (alreadyMatched) { + insertResult(i, { ...results[i] }); + i += 1; + } + results[i].action = () => { this.navigateTo(initialResult.name); this.closePalette() } + results[i].hint = 'Tiddler'; + alreadyMatched = true; + } + let isField = fields.includes(initialResult.name); + if (isField) { + if (alreadyMatched) { + insertResult(i, { ...results[i] }); + i += 1; + } + let parsed; + try { + parsed = $tw.wiki.parseFilter(this.input.value) + } catch (e) { } //The error is already displayed to the user + let foundTitles = []; + for (let node of parsed || []) { + if (node.operators.length !== 2) continue; + if (node.operators[0].operator === 'title' && node.operators[1].operator === 'fields') { + foundTitles.push(node.operators[0].operand); + } + } + let hint = 'Field'; + if (foundTitles.length === 1) { + hint = $tw.wiki.getTiddler(foundTitles[0]).fields[initialResult.name]; + if (hint instanceof Date) { + hint = hint.toLocaleString(); + } + hint = hint.toString().replace(/(\r\n|\n|\r)/gm, ''); + let maxSize = this.settings.maxResultHintSize - 3; + if (hint.length > maxSize) { + hint = hint.substring(0, maxSize); + hint += '...'; + } + } + results[i].hint = hint; + results[i].action = () => { }; + alreadyMatched = true; + } + // let isContentType = terms.includes('content-type'); + } + this.showResults(results); + } + + filterResolver(e) { + if (this.currentSelection === 0) return; + this.currentResults[this.currentSelection - 1].result.action(); + e.stopPropagation(); + } + + helpResolver(e) { + if (this.currentSelection === 0) return; + this.currentResults[this.currentSelection - 1].result.action(); + e.stopPropagation(); + } + + createTiddlerProvider(terms) { + this.currentSelection = 0; + this.hint.innerText = 'Create new tiddler with title @tag(s)'; + this.showResults([]); + } + + createTiddlerResolver(e) { + let { tags, searchTerms } = this.parseTags(this.input.value.substr(1)); + let title = searchTerms.join(' '); + tags = tags.join(' '); + this.tmMessageBuilder('tm-new-tiddler', { title: title, tags: tags })(e); + this.closePalette(); + } + + promptCommand(value, caret) { + this.blockProviderChange = false; + this.input.value = value; + this.input.focus(); + if (caret !== undefined) { + this.input.setSelectionRange(caret, caret); + } + this.onInput(this.input.value); + } + + promptCommandBasic(value, caret, hint) { + if (this.settings.neverBasic === 'true' || this.settings.neverBasic === true) { //TODO: validate settings to avoid unnecessary checks + this.promptCommand(value, caret); + return; + } + this.input.value = ""; + this.blockProviderChange = true; + this.currentProvider = this.basicProviderBuilder(value, caret, hint); + this.onInput(this.input.value); + } + + basicProviderBuilder(value, caret, hint) { + let start = value.substr(0, caret); + let end = value.substr(caret); + return (input) => { + let { resolver, provider, terms } = this.parseCommand(start + input + end); + let backgroundProvider = provider; + backgroundProvider(terms, hint); + this.currentResolver = resolver; + } + } + + prefixedBasicProviderBuilder(value, caret, hint, prefixLength) { + let start = value.substr(0, caret); + let end = value.substr(caret); + return (input) => { + input = input.substring(prefixLength); + let { resolver, provider, terms } = this.parseCommand(start + input + end); + let backgroundProvider = provider; + backgroundProvider(terms, hint); + this.currentResolver = resolver; + } + } + + getCommandHistory() { + this.history = this.history.filter(h => this.actions.some(a => a.name === h)); //get rid of deleted command that are still in history; + let results = this.history.map(h => this.actions.find(a => a.name === h)); + while (results.length <= this.settings.maxResults) { + let nextDefaultAction = this.actions.find(a => !results.includes(a)); + if (nextDefaultAction === undefined) + break; + results.push(nextDefaultAction); + } + return results; + } + actionResolver(e) { + if (this.currentSelection === 0) + return; + let result = this.actions.find(a => a.name === this.currentResults[this.currentSelection - 1].innerText); + if (result.keepPalette) { + let curInput = this.input.value; + this.goBack = () => { + this.input.value = curInput; + this.blockProviderChange = false; + this.onInput(this.input.value); + }; + } + this.updateCommandHistory(result); + result.action(e); + e.stopPropagation(); + if (result.immediate) { + this.validateSelection(e); + return; + } + if (!result.keepPalette) { + this.closePalette(); + } + } + + getCurrentSelection() { + let selection = window.getSelection().toString(); + if (selection !== '') return selection; + let activeElement = this.getActiveElement(); + if (activeElement === undefined || activeElement.selectionStart === undefined) return ''; + if (activeElement.selectionStart > activeElement.selectionEnd) { + return activeElement.value.substring(activeElement.selectionStart, activeElement.selectionEnd); + } else { + return activeElement.value.substring(activeElement.selectionEnd, activeElement.selectionStart); + } + } + getActiveElement(element = document.activeElement) { + const shadowRoot = element.shadowRoot + const contentDocument = element.contentDocument + + if (shadowRoot && shadowRoot.activeElement) { + return this.getActiveElement(shadowRoot.activeElement) + } + + if (contentDocument && contentDocument.activeElement) { + return this.getActiveElement(contentDocument.activeElement) + } + + return element + } + focusAtCaretPosition(el, caretPos) { + if (el !== null) { + el.value = el.value; + // ^ this is used to not only get "focus", but + // to make sure we don't have it everything -selected- + // (it causes an issue in chrome, and having it doesn't hurt any other browser) + if (el.createTextRange) { + var range = el.createTextRange(); + range.move('character', caretPos); + range.select(); + return true; + } + else { + // (el.selectionStart === 0 added for Firefox bug) + if (el.selectionStart || el.selectionStart === 0) { + el.focus(); + el.setSelectionRange(caretPos, caretPos); + return true; + } + + else { // fail city, fortunately this never happens (as far as I've tested) :) + el.focus(); + return false; + } + } + } + } + createElement(name, proprieties, styles) { + let el = this.document.createElement(name); + for (let [propriety, value] of Object.entries(proprieties || {})) { + el[propriety] = value; + } + for (let [style, value] of Object.entries(styles || {})) { + el.style[style] = value; + } + return el; + } + /* + Selectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering + */ + refresh() { + return false; + } + } + + exports.commandpalettewidget = CommandPaletteWidget; + +})(); diff --git a/Wiki-OcttKB/plugins/commandpalette/$__core_modules_widgets_commandpalettewidget.js.meta b/Wiki-OcttKB/plugins/commandpalette/$__core_modules_widgets_commandpalettewidget.js.meta new file mode 100644 index 00000000..69c9d528 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__core_modules_widgets_commandpalettewidget.js.meta @@ -0,0 +1,3 @@ +module-type: widget +title: $:/core/modules/widgets/commandpalettewidget.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__core_ui_KeyboardShortcuts_CommandPalette.tid b/Wiki-OcttKB/plugins/commandpalette/$__core_ui_KeyboardShortcuts_CommandPalette.tid new file mode 100644 index 00000000..883dab1c --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__core_ui_KeyboardShortcuts_CommandPalette.tid @@ -0,0 +1,8 @@ +created: 20200531223354098 +key: ((open-command-palette)) +modified: 20200604175332730 +tags: $:/tags/KeyboardShortcut +title: $:/core/ui/KeyboardShortcuts/CommandPalette +type: text/vnd.tiddlywiki + +<$action-sendmessage $message="open-command-palette"/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Browser Refresh.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Browser Refresh.tid new file mode 100644 index 00000000..8a6792ee --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Browser Refresh.tid @@ -0,0 +1,9 @@ +command-palette-name: Browser Refresh +command-palette-type: message +created: 20200604212446283 +modified: 20200604212453363 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Browser Refresh +type: text/vnd.tiddlywiki + +tm-browser-refresh diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Cancel Tiddler.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Cancel Tiddler.tid new file mode 100644 index 00000000..71ab5fb3 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Cancel Tiddler.tid @@ -0,0 +1,11 @@ +command-palette-hint: Choose Draft to cancel +command-palette-mode: drafts +command-palette-name: Cancel Tiddler +command-palette-type: history +created: 20200605221333412 +modified: 20200605221425246 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Cancel Tiddler +type: text/vnd.tiddlywiki + +tm-cancel-tiddler diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Clone Tiddler.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Clone Tiddler.tid new file mode 100644 index 00000000..188d0502 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Clone Tiddler.tid @@ -0,0 +1,10 @@ +command-palette-hint: Chose tiddler to clone +command-palette-name: Clone Tiddler +command-palette-type: history +created: 20200605211432310 +modified: 20200605211434831 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Clone Tiddler +type: text/vnd.tiddlywiki + +tm-new-tiddler diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Close All Tiddlers.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Close All Tiddlers.tid new file mode 100644 index 00000000..2f83206e --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Close All Tiddlers.tid @@ -0,0 +1,9 @@ +command-palette-name: Close All Tiddlers +command-palette-type: message +created: 20200604001529132 +modified: 20200610112248371 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Close All Tiddlers +type: text/vnd.tiddlywiki + +tm-close-all-tiddlers diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Close Tiddler.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Close Tiddler.tid new file mode 100644 index 00000000..eedcfe0f --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Close Tiddler.tid @@ -0,0 +1,10 @@ +command-palette-hint: Choose tiddler to close +command-palette-name: Close Tiddler +command-palette-type: history +created: 20200605211324321 +modified: 20200605211327367 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Close Tiddler +type: text/vnd.tiddlywiki + +tm-close-tiddler diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Close other Tiddlers.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Close other Tiddlers.tid new file mode 100644 index 00000000..48c601bd --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Close other Tiddlers.tid @@ -0,0 +1,10 @@ +command-palette-hint: Choose tiddler to keep +command-palette-name: Close other Tiddlers +command-palette-type: history +created: 20200605211357951 +modified: 20200605211404900 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Close other Tiddlers +type: text/vnd.tiddlywiki + +tm-close-other-tiddlers diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Command Palette Settings.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Command Palette Settings.tid new file mode 100644 index 00000000..698b0308 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Command Palette Settings.tid @@ -0,0 +1,9 @@ +command-palette-name: Command Palette Settings +command-palette-type: prompt +created: 20200604001529132 +modified: 20200610112433842 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Command Palette Settings +type: text/vnd.tiddlywiki + +| diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteCommandMode.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteCommandMode.tid new file mode 100644 index 00000000..0e9faa2a --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteCommandMode.tid @@ -0,0 +1,8 @@ +created: 20200604175339522 +key: ((open-command-palette-command-mode)) +modified: 20200604175716862 +tags: $:/tags/KeyboardShortcut +title: $:/plugins/souk21/commandpalette/CommandPaletteCommandMode +type: text/vnd.tiddlywiki + +<$action-sendmessage $message="open-command-palette" $param=">"/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteHistory.json b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteHistory.json new file mode 100644 index 00000000..15474130 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteHistory.json @@ -0,0 +1,39 @@ +{ + "history": [ + "Explorer", + "Clone Tiddler", + "See Drafts", + "Refresh Server", + "Permaview", + "See Themes", + "Refresh Command Palette", + "See Shadows Tiddlers", + "See Orphans Tiddlers", + "Remove tag", + "Add tag to tiddler", + "Delete Tiddler", + "Close Tiddler", + "Recent Tiddlers", + "New Task with Title", + "Edit Tiddler", + "See Mising Tiddlers", + "Show CommandTiddlers", + "See untagged Tiddlers", + "See Languages", + "See Plugins", + "New Command Wizard", + "Cancel Tiddler", + "Save Tiddler", + "Close other Tiddlers", + "Permalink", + "Create Command", + "Unfold All Tiddlers", + "Fold All Tiddlers", + "Print", + "Close All Tiddlers", + "Save Wiki", + "Home", + "Toggle Fullscreen", + "New Tiddler" + ] +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteHistory.json.meta b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteHistory.json.meta new file mode 100644 index 00000000..a9faf24f --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteHistory.json.meta @@ -0,0 +1,4 @@ +created: 20200603153247010 +modified: 20200610112340290 +title: $:/plugins/souk21/commandpalette/CommandPaletteHistory +type: application/json \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSearchSteps.json b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSearchSteps.json new file mode 100644 index 00000000..dd450809 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSearchSteps.json @@ -0,0 +1,8 @@ +{ + "steps": [ + {"filter": "[!is[system]search:title[]]", "hint": "in title", "caret": "25"}, + {"filter": "[all[system+shadows]search:title[]]", "hint": "in title (system)", "caret": "33"}, + {"filter": "[search[]]", "hint": "all", "caret": "8"}, + {"filter": "[all[shadows]search[]]", "hint": "shadows", "caret": "20"} + ] +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSearchSteps.json.meta b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSearchSteps.json.meta new file mode 100644 index 00000000..581df8a8 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSearchSteps.json.meta @@ -0,0 +1,4 @@ +created: 20200604123820982 +modified: 20200610112355489 +title: $:/plugins/souk21/commandpalette/CommandPaletteSearchSteps +type: application/json \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSelection.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSelection.tid new file mode 100644 index 00000000..96fe77f2 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSelection.tid @@ -0,0 +1,8 @@ +created: 20200604175339522 +key: ((open-command-palette-selection)) +modified: 20200604175716862 +tags: $:/tags/KeyboardShortcut +title: $:/plugins/souk21/commandpalette/CommandPaletteSelection +type: text/vnd.tiddlywiki + +<$action-sendmessage $message="open-command-palette-selection"/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSettings.json b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSettings.json new file mode 100644 index 00000000..8cb9204e --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSettings.json @@ -0,0 +1,6 @@ +{ + "maxResults": "30", + "maxResultHintSize": 45, + "neverBasic": "false", + "smoothScroll": "false" +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSettings.json.meta b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSettings.json.meta new file mode 100644 index 00000000..5f523da7 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_CommandPaletteSettings.json.meta @@ -0,0 +1,4 @@ +created: 20200604160432063 +modified: 20200610112626066 +title: $:/plugins/souk21/commandpalette/CommandPaletteSettings +type: application/json \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Compact.css.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Compact.css.tid new file mode 100644 index 00000000..66cea359 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Compact.css.tid @@ -0,0 +1,85 @@ +created: 20200603190000307 +modified: 20200623022617588 +tags: $:/tags/CommandPaletteTheme $:/tags/Stylesheet +title: $:/plugins/souk21/commandpalette/Compact.css +type: text/vnd.tiddlywiki + + +\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html +:root { + --palette-radius: 5px; +} +.commandpalette { + position: fixed; + background: <>; + z-index: 9999999; + left: 50%; + top: 10%; + transform: translate(-50%, 0%); + width: 500px; + display: none; + flex-direction: column; + font-size: 21px; + border-radius: var(--palette-radius); + box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 14px; + border: 2px solid <>; +} +.inputhintwrapper { + display: flex; + align-items: center; + border-bottom: 1px solid <>; +} +.commandpalette input { + border: 0; + background: 0; + height: 40px; + color: <>; + border-radius: var(--palette-radius) var(--palette-radius) 0px 0px; + outline: 0; + min-width: 50px; + flex: 1; + padding-left: 7px; +} +.commandpalettehint { + color: <>; + font-size: 13px; + text-align: right; + flex-shrink: 0; + padding-right: 7px; + opacity: 0.6; +} +.commandpaletteresultselected>.commandpalettehint { + color: <>; + opacity: 1; +} +.commandpalettehintmain { + +} +.commandpaletteresult { + background: <>; + font-size: 15px; + color: <>; + display: flex; + align-items: center; + justify-content: space-between; + padding-left: 6px; + padding-top: 4px; + padding-bottom: 4px; + cursor: pointer; +} +.commandpaletteresult:not(:last-child) { + border-bottom: <> solid 1px; +} +.commandpaletteresult:hover:not(.commandpaletteresultselected) { + background: <>; +} +.commandpaletteresultselected { + background: <>; + color: <>; +} +.cp-scroll{ + max-height: 50vh; + overflow-y: auto; + position: relative; + border-radius: 0px 0px var(--palette-radius) var(--palette-radius); +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_ControlPanel Command.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_ControlPanel Command.tid new file mode 100644 index 00000000..32fecc59 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_ControlPanel Command.tid @@ -0,0 +1,9 @@ +command-palette-name: Show Control Panel +command-palette-type: actionString +created: 20200604143925638 +modified: 20200610112527794 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/ControlPanel Command +type: text/vnd.tiddlywiki + +<$action-navigate $to="$:/ControlPanel"/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Delete Tiddler.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Delete Tiddler.tid new file mode 100644 index 00000000..8ec34094 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Delete Tiddler.tid @@ -0,0 +1,10 @@ +command-palette-hint: Choose tiddler to delete +command-palette-name: Delete Tiddler +command-palette-type: history +created: 20200605211241408 +modified: 20200605211244812 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Delete Tiddler +type: text/vnd.tiddlywiki + +tm-delete-tiddler diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Edit Tiddler.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Edit Tiddler.tid new file mode 100644 index 00000000..b92fe55d --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Edit Tiddler.tid @@ -0,0 +1,10 @@ +command-palette-hint: Choose tiddler to edit +command-palette-name: Edit Tiddler +command-palette-type: history +created: 20200605211111710 +modified: 20200605211127693 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Edit Tiddler +type: text/vnd.tiddlywiki + +tm-edit-tiddler diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Filter operation.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Filter operation.tid new file mode 100644 index 00000000..7403c5e6 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Filter operation.tid @@ -0,0 +1,9 @@ +command-palette-name: Filter operation +command-palette-type: prompt +created: 20200604001529132 +modified: 20200610112604366 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Filter operation +type: text/vnd.tiddlywiki + +[ diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Fold All Tiddlers.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Fold All Tiddlers.tid new file mode 100644 index 00000000..d36d1a9c --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Fold All Tiddlers.tid @@ -0,0 +1,9 @@ +command-palette-name: Fold All Tiddlers +command-palette-type: message +created: 20200604212356931 +modified: 20200604212403497 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Fold All Tiddlers +type: text/vnd.tiddlywiki + +tm-fold-all-tiddlers diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Home.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Home.tid new file mode 100644 index 00000000..fd27c9aa --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Home.tid @@ -0,0 +1,9 @@ +command-palette-name: Home +command-palette-type: message +created: 20200604212243502 +modified: 20200604212247135 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Home +type: text/vnd.tiddlywiki + +tm-home diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_InsertCommandPaletteResult.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_InsertCommandPaletteResult.tid new file mode 100644 index 00000000..5cad00b4 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_InsertCommandPaletteResult.tid @@ -0,0 +1,8 @@ +created: 20200604175339522 +key: ((insert-command-palette-result)) +modified: 20200604175716862 +tags: $:/tags/KeyboardShortcut +title: $:/plugins/souk21/commandpalette/InsertCommandPaletteResult +type: text/vnd.tiddlywiki + +<$action-sendmessage $message="insert-command-palette-result"/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_New Journal Command.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_New Journal Command.tid new file mode 100644 index 00000000..5ed8bade --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_New Journal Command.tid @@ -0,0 +1,9 @@ +command-palette-name: New Journal +command-palette-type: actionString +created: 20200604143925638 +modified: 20200610112527794 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/New Journal Command +type: text/vnd.tiddlywiki + +{{$:/core/ui/Actions/new-journal}} diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_New Tiddler with title.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_New Tiddler with title.tid new file mode 100644 index 00000000..9be9dea4 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_New Tiddler with title.tid @@ -0,0 +1,9 @@ +command-palette-name: New Tiddler with title +command-palette-type: prompt +created: 20200604000707983 +modified: 20200610112449264 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/New Tiddler with title +type: text/vnd.tiddlywiki + ++ diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_New Tiddler.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_New Tiddler.tid new file mode 100644 index 00000000..8cec2b39 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_New Tiddler.tid @@ -0,0 +1,9 @@ +command-palette-name: New Tiddler +command-palette-type: message +created: 20200604211924196 +modified: 20200604212110424 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/New Tiddler +type: text/vnd.tiddlywiki + +tm-new-tiddler diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Original.css.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Original.css.tid new file mode 100644 index 00000000..2f6d329f --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Original.css.tid @@ -0,0 +1,78 @@ +created: 20200603190000307 +modified: 20200623022617588 +tags: $:/tags/CommandPaletteTheme +title: $:/plugins/souk21/commandpalette/Original.css +type: text/vnd.tiddlywiki + + +\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html +:root { + --palette-radius: 5px; +} +.commandpalette { + position: fixed; + background:<>; + z-index: 9999999; + left: 50%; + top: 10%; + transform: translate(-50%, 0%); + width: 500px; + display: none; + flex-direction: column; + font-size: 21px; + border-radius: var(--palette-radius); + box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 14px; + border: 4px solid rgba(0, 0, 0, 0); +} +.commandpalette input { + border: 0; + height: 40px; + color: <>; + border-radius: var(--palette-radius) var(--palette-radius) 0px 0px; + padding-left: 11px; + padding-right: 11px; + width: 100%; + outline: 0; +} +.commandpalettehint { + color: <>; + font-size: 13px; + text-align: right; + flex-shrink: 0; + padding-right: 7px; + opacity: 0.6; +} +.commandpaletteresultselected>.commandpalettehint { + color: <>; + opacity: 1; +} +.commandpalettehintmain { +} +.commandpaletteresult { + background: <>; + font-size: 15px; + color: <>; + display: flex; + align-items: center; + justify-content: space-between; + padding-left: 6px; + padding-top: 4px; + padding-bottom: 4px; + cursor: pointer; +} +.commandpaletteresult:not(:last-child) { + border-bottom: <> solid 1px; +} +.commandpaletteresult:hover:not(.commandpaletteresultselected) { + background: <>; +} +.commandpaletteresultselected { + background: <>; + color: <>; +} +.cp-scroll{ + max-height: 50vh; + overflow-y: auto; + position: relative; + border-radius: 0px 0px var(--palette-radius) var(--palette-radius); +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Permalink.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Permalink.tid new file mode 100644 index 00000000..a5c2917f --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Permalink.tid @@ -0,0 +1,10 @@ +command-palette-hint: Choose tiddler to permaling +command-palette-name: Permalink +command-palette-type: history +created: 20200605211220042 +modified: 20200605211221257 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Permalink +type: text/vnd.tiddlywiki + +tm-permalink diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Permaview.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Permaview.tid new file mode 100644 index 00000000..10faca46 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Permaview.tid @@ -0,0 +1,9 @@ +command-palette-name: Permaview +command-palette-type: message +created: 20200604212411320 +modified: 20200604212415435 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Permaview +type: text/vnd.tiddlywiki + +tm-permaview diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Print.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Print.tid new file mode 100644 index 00000000..d1550b4e --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Print.tid @@ -0,0 +1,9 @@ +command-palette-name: Print +command-palette-type: message +created: 20200604212424040 +modified: 20200604212427027 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Print +type: text/vnd.tiddlywiki + +tm-print diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Recent Tiddlers Command.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Recent Tiddlers Command.tid new file mode 100644 index 00000000..af5aeef3 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Recent Tiddlers Command.tid @@ -0,0 +1,11 @@ +command-palette-caret: 33 +command-palette-hint: Recent +command-palette-name: Recent Tiddlers +command-palette-type: prompt-basic +created: 20200604001529132 +modified: 20200610112702585 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Recent Tiddlers Command +type: text/vnd.tiddlywiki + +[!is[system]!sort[created]search[]] diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Refresh Server.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Refresh Server.tid new file mode 100644 index 00000000..eb592899 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Refresh Server.tid @@ -0,0 +1,9 @@ +command-palette-name: Refresh Server +command-palette-type: message +created: 20200604212332329 +modified: 20200604212339404 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Refresh Server +type: text/vnd.tiddlywiki + +tm-server-refresh diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Save Tiddler.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Save Tiddler.tid new file mode 100644 index 00000000..18aec788 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Save Tiddler.tid @@ -0,0 +1,11 @@ +command-palette-hint: Choose Draft to save +command-palette-mode: drafts +command-palette-name: Save Tiddler +command-palette-type: history +created: 20200605221150599 +modified: 20200605221400754 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Save Tiddler +type: text/vnd.tiddlywiki + +tm-save-tiddler diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Save Wiki.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Save Wiki.tid new file mode 100644 index 00000000..6d00ed12 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Save Wiki.tid @@ -0,0 +1,9 @@ +command-palette-name: Save Wiki +command-palette-type: message +created: 20200604212312470 +modified: 20200604212316943 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Save Wiki +type: text/vnd.tiddlywiki + +tm-save-wiki diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Search Tags.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Search Tags.tid new file mode 100644 index 00000000..f40127d2 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Search Tags.tid @@ -0,0 +1,9 @@ +command-palette-name: Search Tags +command-palette-type: prompt +created: 20200604001529132 +modified: 20200610112728489 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Search Tags +type: text/vnd.tiddlywiki + +# diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Search fields.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Search fields.tid new file mode 100644 index 00000000..f4c26369 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Search fields.tid @@ -0,0 +1,10 @@ +command-palette-caret: 16 +command-palette-name: Search fields +command-palette-type: prompt-basic +created: 20200604023259497 +modified: 20200610112923528 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Search fields +type: text/vnd.tiddlywiki + +[fields[]search[]] diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Search tiddlers with tag.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Search tiddlers with tag.tid new file mode 100644 index 00000000..f388d4fb --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Search tiddlers with tag.tid @@ -0,0 +1,9 @@ +command-palette-name: Search tiddlers with tag +command-palette-type: prompt +created: 20200604001529132 +modified: 20200610112742356 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Search tiddlers with tag +type: text/vnd.tiddlywiki + +@ diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Search.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Search.tid new file mode 100644 index 00000000..a0c4d692 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Search.tid @@ -0,0 +1,7 @@ +command-palette-name: Search +command-palette-type: prompt +created: 20200604001529132 +modified: 20200610112649578 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Search +type: text/vnd.tiddlywiki \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Drafts.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Drafts.tid new file mode 100644 index 00000000..fa1900db --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Drafts.tid @@ -0,0 +1,10 @@ +command-palette-caret: 27 +command-palette-name: See Drafts +command-palette-type: prompt-basic +created: 20200604001529132 +modified: 20200610112802828 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/See Drafts +type: text/vnd.tiddlywiki + +[has:field[draft.of]search[]] diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Languages.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Languages.tid new file mode 100644 index 00000000..f5b30bd0 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Languages.tid @@ -0,0 +1,10 @@ +command-palette-caret: 43 +command-palette-name: See Languages +command-palette-type: prompt-basic +created: 20200606102156692 +modified: 20200606102215081 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/See Languages +type: text/vnd.tiddlywiki + +[!has[draft.of]plugin-type[language]search[]] diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Missing Tiddlers.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Missing Tiddlers.tid new file mode 100644 index 00000000..c0050885 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Missing Tiddlers.tid @@ -0,0 +1,10 @@ +command-palette-caret: 20 +command-palette-name: See Missing Tiddlers +command-palette-type: prompt-basic +created: 20200604203347766 +modified: 20200610112812369 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/See Missing Tiddlers +type: text/vnd.tiddlywiki + +[all[missing]search[]] diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Orphans Tiddlers.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Orphans Tiddlers.tid new file mode 100644 index 00000000..84397fe2 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Orphans Tiddlers.tid @@ -0,0 +1,10 @@ +command-palette-caret: 20 +command-palette-name: See Orphans Tiddlers +command-palette-type: prompt-basic +created: 20200604203457770 +modified: 20200610112820353 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/See Orphans Tiddlers +type: text/vnd.tiddlywiki + +[all[orphans]search[]] diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Plugins.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Plugins.tid new file mode 100644 index 00000000..6dfc339c --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Plugins.tid @@ -0,0 +1,10 @@ +command-palette-caret: 41 +command-palette-name: See Plugins +command-palette-type: prompt-basic +created: 20200606101904501 +modified: 20200606101924380 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/See Plugins +type: text/vnd.tiddlywiki + +[!has[draft.of]plugin-type[plugin]search[]] diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Shadows Tiddlers.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Shadows Tiddlers.tid new file mode 100644 index 00000000..e2b9c2d4 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Shadows Tiddlers.tid @@ -0,0 +1,10 @@ +command-palette-caret: 20 +command-palette-name: See Shadows Tiddlers +command-palette-type: prompt-basic +created: 20200604203634770 +modified: 20200610112829887 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/See Shadows Tiddlers +type: text/vnd.tiddlywiki + +[all[shadows]search[]] diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Story List.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Story List.tid new file mode 100644 index 00000000..feddc8f8 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Story List.tid @@ -0,0 +1,10 @@ +command-palette-caret: 26 +command-palette-name: See Story List +command-palette-type: prompt-basic +created: 20200604203347766 +modified: 20200610112812369 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/See Story List +type: text/vnd.tiddlywiki + +[list[$:/StoryList]search[]] \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Themes.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Themes.tid new file mode 100644 index 00000000..4316bdcb --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See Themes.tid @@ -0,0 +1,10 @@ +command-palette-caret: 40 +command-palette-name: See Themes +command-palette-type: prompt-basic +created: 20200606102041205 +modified: 20200606102101828 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/See Themes +type: text/vnd.tiddlywiki + +[!has[draft.of]plugin-type[theme]search[]] diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See all content-types.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See all content-types.tid new file mode 100644 index 00000000..a56599d8 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See all content-types.tid @@ -0,0 +1,10 @@ +command-palette-caret: 48 +command-palette-name: See all content-type +command-palette-type: prompt-basic +created: 20200604201605853 +modified: 20200610112751272 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/See all content-types +type: text/vnd.tiddlywiki + +[all[tiddlers+shadows]each[type]get[type]search[]] diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See untagged tiddlers.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See untagged tiddlers.tid new file mode 100644 index 00000000..bd9600c2 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_See untagged tiddlers.tid @@ -0,0 +1,10 @@ +command-palette-caret: 29 +command-palette-name: See untagged Tiddlers +command-palette-type: prompt-basic +created: 20200604020335070 +modified: 20200610112839898 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/See untagged tiddlers +type: text/vnd.tiddlywiki + +[untagged[]!is[system]search[]] diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Show help.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Show help.tid new file mode 100644 index 00000000..48cef3fe --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Show help.tid @@ -0,0 +1,9 @@ +command-palette-name: Show help +command-palette-type: prompt +created: 20200604001529132 +modified: 20200610112849596 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Show help +type: text/vnd.tiddlywiki + +? diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Toggle Fullscreen.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Toggle Fullscreen.tid new file mode 100644 index 00000000..d6c0f260 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Toggle Fullscreen.tid @@ -0,0 +1,9 @@ +command-palette-name: Toggle Fullscreen +command-palette-type: message +created: 20200604212224319 +modified: 20200604212229222 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Toggle Fullscreen +type: text/vnd.tiddlywiki + +tm-full-screen diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Unfold All Tiddlers.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Unfold All Tiddlers.tid new file mode 100644 index 00000000..5e698572 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Unfold All Tiddlers.tid @@ -0,0 +1,9 @@ +command-palette-name: Unfold All Tiddlers +command-palette-type: actionString +created: 20200605205037837 +modified: 20200605205546285 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Unfold All Tiddlers +type: text/vnd.tiddlywiki + +<$action-sendmessage $message="tm-unfold-all-tiddlers" foldedStatePrefix="$:/state/folded/"/> diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Version.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Version.tid new file mode 100644 index 00000000..4cce8035 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_Version.tid @@ -0,0 +1,10 @@ +command-palette-caret: 49 +command-palette-name: Version +command-palette-type: prompt-basic +created: 20200604001529132 +modified: 20200610112802828 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/Version +type: text/vnd.tiddlywiki + +[[$:/plugins/souk21/commandpalette]get[version]] \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_View.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_View.tid new file mode 100644 index 00000000..ef32c7dc --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_View.tid @@ -0,0 +1,7 @@ +created: 20200601134627220 +modified: 20200606112407150 +tags: $:/tags/AboveStory +title: $:/plugins/souk21/commandpalette/View +type: text/vnd.tiddlywiki + +<$commandpalettewidget/> diff --git a/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_show tiddler commands.tid b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_show tiddler commands.tid new file mode 100644 index 00000000..33512448 --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/$__plugins_souk21_commandpalette_show tiddler commands.tid @@ -0,0 +1,9 @@ +command-palette-name: Show CommandTiddlers +command-palette-type: prompt +created: 20200603235441202 +modified: 20200610112900184 +tags: $:/tags/CommandPaletteCommand +title: $:/plugins/souk21/commandpalette/show tiddler commands +type: text/vnd.tiddlywiki + +@$:/tags/CommandPaletteCommand diff --git a/Wiki-OcttKB/plugins/commandpalette/plugin.info b/Wiki-OcttKB/plugins/commandpalette/plugin.info new file mode 100644 index 00000000..cd56e4ec --- /dev/null +++ b/Wiki-OcttKB/plugins/commandpalette/plugin.info @@ -0,0 +1,10 @@ +{ + "version": "0.0.7", + "title": "$:/plugins/souk21/commandpalette", + "source": "https://github.com/souk21/TW-commandpalette", + "plugin-type": "plugin", + "description": "Command palette", + "dependents": "", + "core-version": ">=5.0.8", + "author": "Souk21" +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__Library_Codemirror6.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__Library_Codemirror6.tid new file mode 100644 index 00000000..53ba8717 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__Library_Codemirror6.tid @@ -0,0 +1,8 @@ +caption: [img width=16 [$:/plugins/oeyoews/tiddlywiki-codemirror-6/icon]] Codemirror 6 +description: Codemirror Library +tags: $:/tags/PluginLibrary +title: $:/Library/Codemirror6 +url: https://oeyoews.github.io/tiddlywiki-codemirror6/library/index.html + + +{{!!caption}} diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_application_javascript.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_application_javascript.tid new file mode 100644 index 00000000..9f7d63df --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_application_javascript.tid @@ -0,0 +1,3 @@ +title: $:/config/EditorTypeMappings/application/javascript + +codemirror-6 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_application_json.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_application_json.tid new file mode 100644 index 00000000..bc437360 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_application_json.tid @@ -0,0 +1,3 @@ +title: $:/config/EditorTypeMappings/application/json + +codemirror-6 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_application_x-tiddler-dictionary.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_application_x-tiddler-dictionary.tid new file mode 100644 index 00000000..3b10c01b --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_application_x-tiddler-dictionary.tid @@ -0,0 +1,3 @@ +title: $:/config/EditorTypeMappings/application/x-tiddler-dictionary + +codemirror-6 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_image_svg+xml.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_image_svg+xml.tid new file mode 100644 index 00000000..b17b6de9 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_image_svg+xml.tid @@ -0,0 +1,3 @@ +title: $:/config/EditorTypeMappings/image/svg+xml + +codemirror-6 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_css.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_css.tid new file mode 100644 index 00000000..6551e699 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_css.tid @@ -0,0 +1,3 @@ +title: $:/config/EditorTypeMappings/text/css + +codemirror-6 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_html.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_html.tid new file mode 100644 index 00000000..b269f5bc --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_html.tid @@ -0,0 +1,3 @@ +title: $:/config/EditorTypeMappings/text/html + +codemirror-6 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_markdown.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_markdown.tid new file mode 100644 index 00000000..3243d58d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_markdown.tid @@ -0,0 +1,3 @@ +title: $:/config/EditorTypeMappings/text/markdown + +codemirror-6 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_plain.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_plain.tid new file mode 100644 index 00000000..20e4aa5b --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_plain.tid @@ -0,0 +1,3 @@ +title: $:/config/EditorTypeMappings/text/plain + +codemirror-6 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_vnd.tiddlywiki.mermaid.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_vnd.tiddlywiki.mermaid.tid new file mode 100644 index 00000000..227e18ea --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_vnd.tiddlywiki.mermaid.tid @@ -0,0 +1,3 @@ +title: $:/config/EditorTypeMappings/text/vnd.tiddlywiki.mermaid + +codemirror-6 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_vnd.tiddlywiki.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_vnd.tiddlywiki.tid new file mode 100644 index 00000000..d77e6dce --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_vnd.tiddlywiki.tid @@ -0,0 +1,3 @@ +title: $:/config/EditorTypeMappings/text/vnd.tiddlywiki + +codemirror-6 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_x-markdown.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_x-markdown.tid new file mode 100644 index 00000000..d45a8157 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_x-markdown.tid @@ -0,0 +1,3 @@ +title: $:/config/EditorTypeMappings/text/x-markdown + +codemirror-6 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_x-tiddlywiki.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_x-tiddlywiki.tid new file mode 100644 index 00000000..564535bf --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_EditorTypeMappings_text_x-tiddlywiki.tid @@ -0,0 +1,3 @@ +title: $:/config/EditorTypeMappings/text/x-tiddlywiki + +codemirror-6 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_ShortcutInfo_editor-fullscreen.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_ShortcutInfo_editor-fullscreen.tid new file mode 100644 index 00000000..1437ccb3 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_ShortcutInfo_editor-fullscreen.tid @@ -0,0 +1,3 @@ +title: $:/config/ShortcutInfo/editor-fullscreen + +Toggle the fullscreen view of the editor \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_activateOnTyping.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_activateOnTyping.tid new file mode 100644 index 00000000..3c9dc1ba --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_activateOnTyping.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/activateOnTyping/caption}} +caption-zh: {{$:/language/codemirror6/zh/activateOnTyping/caption}} +description: {{$:/language/codemirror6/activateOnTyping/description}} +description-zh: {{$:/language/codemirror6/zh/activateOnTyping/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/activateOnTyping + +yes \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_autocompleteIcons.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_autocompleteIcons.tid new file mode 100644 index 00000000..7061691b --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_autocompleteIcons.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/autocompleteIcons/caption}} +caption-zh: {{$:/language/codemirror6/zh/autocompleteIcons/caption}} +description: {{$:/language/codemirror6/autocompleteIcons/description}} +description-zh: {{$:/language/codemirror6/zh/autocompleteIcons/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/autocompleteIcons + +yes \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_autocorrect.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_autocorrect.tid new file mode 100644 index 00000000..1655f9f0 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_autocorrect.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/autocorrect/caption}} +caption-zh: {{$:/language/codemirror6/zh/autocorrect/caption}} +description: {{$:/language/codemirror6/autocorrect/description}} +description-zh: {{$:/language/codemirror6/zh/autocorrect/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/autocorrect + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_bracketMatching.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_bracketMatching.tid new file mode 100644 index 00000000..d465b10c --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_bracketMatching.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/bracketMatching/caption}} +caption-zh: {{$:/language/codemirror6/zh/bracketMatching/caption}} +description: {{$:/language/codemirror6/bracketMatching/description}} +description-zh: {{$:/language/codemirror6/zh/bracketMatching/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/bracketMatching + +yes \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_clickable-icon.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_clickable-icon.tid new file mode 100644 index 00000000..5a45714c --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_clickable-icon.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/clickable-icon/caption}} +caption-zh: {{$:/language/codemirror6/zh/clickable-icon/caption}} +description: {{$:/language/codemirror6/clickable-icon/description}} +description-zh: {{$:/language/codemirror6/zh/clickable-icon/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input +title: $:/config/codemirror-6/clickable-icon + +🐟 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_clickable.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_clickable.tid new file mode 100644 index 00000000..5297b433 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_clickable.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/clickable/caption}} +caption-zh: {{$:/language/codemirror6/zh/clickable/caption}} +description: {{$:/language/codemirror6/clickable/description}} +description-zh: {{$:/language/codemirror6/zh/clickable/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/clickable + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_closeBrackets.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_closeBrackets.tid new file mode 100644 index 00000000..5c19b979 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_closeBrackets.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/closeBrackets/caption}} +caption-zh: {{$:/language/codemirror6/zh/closeBrackets/caption}} +description: {{$:/language/codemirror6/closeBrackets/description}} +description-zh: {{$:/language/codemirror6/zh/closeBrackets/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/closeBrackets + +yes \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_closeOnBlur.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_closeOnBlur.tid new file mode 100644 index 00000000..6aec7e16 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_closeOnBlur.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/closeOnBlur/caption}} +caption-zh: {{$:/language/codemirror6/zh/closeOnBlur/caption}} +description: {{$:/language/codemirror6/closeOnBlur/description}} +description-zh: {{$:/language/codemirror6/zh/closeOnBlur/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/closeOnBlur + +yes \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_commentComplete.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_commentComplete.tid new file mode 100644 index 00000000..fc6378b4 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_commentComplete.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/commentComplete/caption}} +caption-zh: {{$:/language/codemirror6/zh/commentComplete/caption}} +description: {{$:/language/codemirror6/commentComplete/description}} +description-zh: {{$:/language/codemirror6/zh/commentComplete/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/commentComplete + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_completeAnyWord.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_completeAnyWord.tid new file mode 100644 index 00000000..c74caaf7 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_completeAnyWord.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/completeAnyWord/caption}} +caption-zh: {{$:/language/codemirror6/zh/completeAnyWord/caption}} +description: {{$:/language/codemirror6/completeAnyWord/description}} +description-zh: {{$:/language/codemirror6/zh/completeAnyWord/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/completeAnyWord + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_cursor-thickness.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_cursor-thickness.tid new file mode 100644 index 00000000..0d14b4a3 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_cursor-thickness.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/cursor-thickness/caption}} +caption-zh: {{$:/language/codemirror6/zh/cursor-thickness/caption}} +description: {{$:/language/codemirror6/cursor-thickness/description}} +description-zh: {{$:/language/codemirror6/zh/cursor-thickness/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input +title: $:/config/codemirror-6/cursor-thickness + +1px \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_cursorBlinkRate.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_cursorBlinkRate.tid new file mode 100644 index 00000000..0c9e9ad2 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_cursorBlinkRate.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/cursorBlinkRate/caption}} +caption-zh: {{$:/language/codemirror6/zh/cursorBlinkRate/caption}} +description: {{$:/language/codemirror6/cursorBlinkRate/description}} +description-zh: {{$:/language/codemirror6/zh/cursorBlinkRate/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input +title: $:/config/codemirror-6/cursorBlinkRate + +1000 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_customPlaceholder.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_customPlaceholder.tid new file mode 100644 index 00000000..a9c013cd --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_customPlaceholder.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/customPlaceholder/caption}} +caption-zh: {{$:/language/codemirror6/zh/customPlaceholder/caption}} +description: {{$:/language/codemirror6/customPlaceholder/description}} +description-zh: {{$:/language/codemirror6/zh/customPlaceholder/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/customPlaceholder + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_debug.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_debug.tid new file mode 100644 index 00000000..f654180f --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_debug.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/debug/caption}} +caption-zh: {{$:/language/codemirror6/zh/debug/caption}} +description: {{$:/language/codemirror6/debug/description}} +description-zh: {{$:/language/codemirror6/zh/debug/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/debug + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_delimiter.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_delimiter.tid new file mode 100644 index 00000000..8c5be3be --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_delimiter.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/delimiter/caption}} +caption-zh: {{$:/language/codemirror6/zh/delimiter/caption}} +description: {{$:/language/codemirror6/delimiter/description}} +description-zh: {{$:/language/codemirror6/zh/delimiter/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input +title: $:/config/codemirror-6/delimiter + +/ \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_disableCM6.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_disableCM6.tid new file mode 100644 index 00000000..36a1a54d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_disableCM6.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/disableCM6/caption}} +caption-zh: {{$:/language/codemirror6/zh/disableCM6/caption}} +description: {{$:/language/codemirror6/disableCM6/description}} +description-zh: {{$:/language/codemirror6/zh/disableCM6/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/disableCM6 + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_enableSystemTiddlersCompletion.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_enableSystemTiddlersCompletion.tid new file mode 100644 index 00000000..fa5696c9 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_enableSystemTiddlersCompletion.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/enableSystemTiddlersCompletion/caption}} +caption-zh: {{$:/language/codemirror6/zh/enableSystemTiddlersCompletion/caption}} +description: {{$:/language/codemirror6/enableSystemTiddlersCompletion/description}} +description-zh: {{$:/language/codemirror6/zh/enableSystemTiddlersCompletion/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/enableSystemTiddlersCompletion + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_foldByIndent.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_foldByIndent.tid new file mode 100644 index 00000000..68e8ae6a --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_foldByIndent.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/foldByIndent/caption}} +caption-zh: {{$:/language/codemirror6/zh/foldByIndent/caption}} +description: {{$:/language/codemirror6/foldByIndent/description}} +description-zh: {{$:/language/codemirror6/zh/foldByIndent/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/foldByIndent + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_foldGutter.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_foldGutter.tid new file mode 100644 index 00000000..00467f56 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_foldGutter.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/foldGutter/caption}} +caption-zh: {{$:/language/codemirror6/zh/foldGutter/caption}} +description: {{$:/language/codemirror6/foldGutter/description}} +description-zh: {{$:/language/codemirror6/zh/foldGutter/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/foldGutter + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_fontsize.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_fontsize.tid new file mode 100644 index 00000000..f79eb309 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_fontsize.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/fontsize/caption}} +caption-zh: {{$:/language/codemirror6/zh/fontsize/caption}} +description: {{$:/language/codemirror6/fontsize/description}} +description-zh: {{$:/language/codemirror6/zh/fontsize/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input +title: $:/config/codemirror-6/fontsize + +16px \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_footer.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_footer.tid new file mode 100644 index 00000000..31298546 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_footer.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/footer/caption}} +caption-zh: {{$:/language/codemirror6/zh/footer/caption}} +description: {{$:/language/codemirror6/footer/description}} +description-zh: {{$:/language/codemirror6/zh/footer/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/footer + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_highlightActiveLine.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_highlightActiveLine.tid new file mode 100644 index 00000000..82a6ac32 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_highlightActiveLine.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/highlightActiveLine/caption}} +caption-zh: {{$:/language/codemirror6/zh/highlightActiveLine/caption}} +description: {{$:/language/codemirror6/highlightActiveLine/description}} +description-zh: {{$:/language/codemirror6/zh/highlightActiveLine/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/highlightActiveLine + +yes \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_highlightTrailingWhitespace.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_highlightTrailingWhitespace.tid new file mode 100644 index 00000000..667eab79 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_highlightTrailingWhitespace.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/highlightTrailingWhitespace/caption}} +caption-zh: {{$:/language/codemirror6/zh/highlightTrailingWhitespace/caption}} +description: {{$:/language/codemirror6/highlightTrailingWhitespace/description}} +description-zh: {{$:/language/codemirror6/zh/highlightTrailingWhitespace/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/highlightTrailingWhitespace + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_indentWithTab.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_indentWithTab.tid new file mode 100644 index 00000000..9c0bdbf1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_indentWithTab.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/indentWithTab/caption}} +caption-zh: {{$:/language/codemirror6/zh/indentWithTab/caption}} +description: {{$:/language/codemirror6/indentWithTab/description}} +description-zh: {{$:/language/codemirror6/zh/indentWithTab/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/indentWithTab + +yes \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_inlineSuggestion.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_inlineSuggestion.tid new file mode 100644 index 00000000..54f98244 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_inlineSuggestion.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/inlineSuggestion/caption}} +caption-zh: {{$:/language/codemirror6/zh/inlineSuggestion/caption}} +description: {{$:/language/codemirror6/inlineSuggestion/description}} +description-zh: {{$:/language/codemirror6/zh/inlineSuggestion/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/inlineSuggestion + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_lineNumbers.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_lineNumbers.tid new file mode 100644 index 00000000..4dc4943d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_lineNumbers.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/lineNumbers/caption}} +caption-zh: {{$:/language/codemirror6/zh/lineNumbers/caption}} +description: {{$:/language/codemirror6/lineNumbers/description}} +description-zh: {{$:/language/codemirror6/zh/lineNumbers/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/lineNumbers + +yes \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_linkPreview.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_linkPreview.tid new file mode 100644 index 00000000..58461cd0 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_linkPreview.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/linkPreview/caption}} +caption-zh: {{$:/language/codemirror6/zh/linkPreview/caption}} +description: {{$:/language/codemirror6/linkPreview/description}} +description-zh: {{$:/language/codemirror6/zh/linkPreview/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/linkPreview + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_matchText.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_matchText.tid new file mode 100644 index 00000000..379109ea --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_matchText.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/matchText/caption}} +caption-zh: {{$:/language/codemirror6/zh/matchText/caption}} +description: {{$:/language/codemirror6/matchText/description}} +description-zh: {{$:/language/codemirror6/zh/matchText/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/matchText + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_maxRenderedOptions.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_maxRenderedOptions.tid new file mode 100644 index 00000000..b36afaf8 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_maxRenderedOptions.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/maxRenderedOptions/caption}} +caption-zh: {{$:/language/codemirror6/zh/maxRenderedOptions/caption}} +description: {{$:/language/codemirror6/maxRenderedOptions/description}} +description-zh: {{$:/language/codemirror6/zh/maxRenderedOptions/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input +title: $:/config/codemirror-6/maxRenderedOptions + +20 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_minLength.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_minLength.tid new file mode 100644 index 00000000..8d5a482d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_minLength.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/minLength/caption}} +caption-zh: {{$:/language/codemirror6/zh/minLength/caption}} +description: {{$:/language/codemirror6/minLength/description}} +description-zh: {{$:/language/codemirror6/zh/minLength/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input +title: $:/config/codemirror-6/minLength + +1 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_minimap.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_minimap.tid new file mode 100644 index 00000000..ebde4865 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_minimap.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/minimap/caption}} +caption-zh: {{$:/language/codemirror6/zh/minimap/caption}} +description: {{$:/language/codemirror6/minimap/description}} +description-zh: {{$:/language/codemirror6/zh/minimap/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/minimap + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_minimapAudoHide.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_minimapAudoHide.tid new file mode 100644 index 00000000..8b4c6dee --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_minimapAudoHide.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/minimapAudoHide/caption}} +caption-zh: {{$:/language/codemirror6/zh/minimapAudoHide/caption}} +description: {{$:/language/codemirror6/minimapAudoHide/description}} +description-zh: {{$:/language/codemirror6/zh/minimapAudoHide/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/minimapAudoHide + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_onedark.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_onedark.tid new file mode 100644 index 00000000..0e5c28a7 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_onedark.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/onedark/caption}} +caption-zh: {{$:/language/codemirror6/zh/onedark/caption}} +description: {{$:/language/codemirror6/onedark/description}} +description-zh: {{$:/language/codemirror6/zh/onedark/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/onedark + +yes \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_placeholder.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_placeholder.tid new file mode 100644 index 00000000..82e98b1c --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_placeholder.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/placeholder/caption}} +caption-zh: {{$:/language/codemirror6/zh/placeholder/caption}} +description: {{$:/language/codemirror6/placeholder/description}} +description-zh: {{$:/language/codemirror6/zh/placeholder/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input +title: $:/config/codemirror-6/placeholder + +✨ Write something ✒️ ... \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_removeOutline.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_removeOutline.tid new file mode 100644 index 00000000..69a2140b --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_removeOutline.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/removeOutline/caption}} +caption-zh: {{$:/language/codemirror6/zh/removeOutline/caption}} +description: {{$:/language/codemirror6/removeOutline/description}} +description-zh: {{$:/language/codemirror6/zh/removeOutline/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/removeOutline + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_rtl.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_rtl.tid new file mode 100644 index 00000000..94c2fac5 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_rtl.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/rtl/caption}} +caption-zh: {{$:/language/codemirror6/zh/rtl/caption}} +description: {{$:/language/codemirror6/rtl/description}} +description-zh: {{$:/language/codemirror6/zh/rtl/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/rtl + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_selectOnOpen.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_selectOnOpen.tid new file mode 100644 index 00000000..1d9a9384 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_selectOnOpen.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/selectOnOpen/caption}} +caption-zh: {{$:/language/codemirror6/zh/selectOnOpen/caption}} +description: {{$:/language/codemirror6/selectOnOpen/description}} +description-zh: {{$:/language/codemirror6/zh/selectOnOpen/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/selectOnOpen + +yes \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_snippetPreview.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_snippetPreview.tid new file mode 100644 index 00000000..75230458 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_snippetPreview.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/snippetPreview/caption}} +caption-zh: {{$:/language/codemirror6/zh/snippetPreview/caption}} +description: {{$:/language/codemirror6/snippetPreview/description}} +description-zh: {{$:/language/codemirror6/zh/snippetPreview/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/snippetPreview + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_spellcheck.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_spellcheck.tid new file mode 100644 index 00000000..fa16bf63 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_spellcheck.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/spellcheck/caption}} +caption-zh: {{$:/language/codemirror6/zh/spellcheck/caption}} +description: {{$:/language/codemirror6/spellcheck/description}} +description-zh: {{$:/language/codemirror6/zh/spellcheck/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/spellcheck + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_tabSize.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_tabSize.tid new file mode 100644 index 00000000..01254bef --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_tabSize.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/tabSize/caption}} +caption-zh: {{$:/language/codemirror6/zh/tabSize/caption}} +description: {{$:/language/codemirror6/tabSize/description}} +description-zh: {{$:/language/codemirror6/zh/tabSize/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input +title: $:/config/codemirror-6/tabSize + +2 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_tiddlerPreview.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_tiddlerPreview.tid new file mode 100644 index 00000000..c46ded21 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_tiddlerPreview.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/tiddlerPreview/caption}} +caption-zh: {{$:/language/codemirror6/zh/tiddlerPreview/caption}} +description: {{$:/language/codemirror6/tiddlerPreview/description}} +description-zh: {{$:/language/codemirror6/zh/tiddlerPreview/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/tiddlerPreview + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_translate.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_translate.tid new file mode 100644 index 00000000..da9e3c15 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_translate.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/translate/caption}} +caption-zh: {{$:/language/codemirror6/zh/translate/caption}} +description: {{$:/language/codemirror6/translate/description}} +description-zh: {{$:/language/codemirror6/zh/translate/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/translate + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_vimJK.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_vimJK.tid new file mode 100644 index 00000000..f08f0081 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_vimJK.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/vimJK/caption}} +caption-zh: {{$:/language/codemirror6/zh/vimJK/caption}} +description: {{$:/language/codemirror6/vimJK/description}} +description-zh: {{$:/language/codemirror6/zh/vimJK/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/vimJK + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_vimmode.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_vimmode.tid new file mode 100644 index 00000000..221fb49c --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_vimmode.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/vimmode/caption}} +caption-zh: {{$:/language/codemirror6/zh/vimmode/caption}} +description: {{$:/language/codemirror6/vimmode/description}} +description-zh: {{$:/language/codemirror6/zh/vimmode/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/vimmode + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_whitespace.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_whitespace.tid new file mode 100644 index 00000000..d9084873 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_whitespace.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/whitespace/caption}} +caption-zh: {{$:/language/codemirror6/zh/whitespace/caption}} +description: {{$:/language/codemirror6/whitespace/description}} +description-zh: {{$:/language/codemirror6/zh/whitespace/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/whitespace + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_wordCount.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_wordCount.tid new file mode 100644 index 00000000..a1542149 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror-6_wordCount.tid @@ -0,0 +1,8 @@ +caption: {{$:/language/codemirror6/wordCount/caption}} +caption-zh: {{$:/language/codemirror6/zh/wordCount/caption}} +description: {{$:/language/codemirror6/wordCount/description}} +description-zh: {{$:/language/codemirror6/zh/wordCount/description}} +settings-template: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch +title: $:/config/codemirror-6/wordCount + +no \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror6_language.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror6_language.tid new file mode 100644 index 00000000..8c6e2bca --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_codemirror6_language.tid @@ -0,0 +1,3 @@ +title: $:/config/codemirror6/language + +en \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_shortcuts_editor-fullscreen.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_shortcuts_editor-fullscreen.tid new file mode 100644 index 00000000..4fa5e715 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__config_shortcuts_editor-fullscreen.tid @@ -0,0 +1,3 @@ +title: $:/config/shortcuts/editor-fullscreen + +alt-shift-f \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_excise.js b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_excise.js new file mode 100644 index 00000000..4070d80c --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_excise.js @@ -0,0 +1 @@ +!function(){"use strict";exports.excise=function(e,t){var a=this.wiki.getTiddler(this.editTitle),i=this.editTitle;if(a&&a.fields["draft.of"]&&(i=a.fields["draft.of"]),t instanceof Array)for(var r=0;r>'}l.cutStart=t[r].selStart,l.cutEnd=t[r].selEnd,l.newSelStart=t[r].selStart,l.newSelEnd=t[r].selStart+t[r].replacement.length}else{switch(n=e.paramObject.title||this.wiki.generateNewTitle("New Excision"),this.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),this.wiki.getModificationFields(),{title:n,text:t.selection,tags:"yes"===e.paramObject.tagnew?[i]:[]})),t.replacement=n,e.paramObject.type||"transclude"){case"transclude":t.replacement="{{"+t.replacement+"}}";break;case"link":t.replacement="[["+t.replacement+"]]";break;case"macro":t.replacement="<<"+(e.paramObject.macro||"translink")+' """'+t.replacement+'""">>'}t.cutStart=t.selStart,t.cutEnd=t.selEnd,t.newSelStart=t.selStart,t.newSelEnd=t.selStart+t.replacement.length}}}(); \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_excise.js.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_excise.js.meta new file mode 100644 index 00000000..32346ad3 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_excise.js.meta @@ -0,0 +1,3 @@ +module-type: texteditoroperation +title: $:/core/modules/editor/operations/text/excise.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_focus-editor.js b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_focus-editor.js new file mode 100644 index 00000000..3e4391b3 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_focus-editor.js @@ -0,0 +1 @@ +!function(){"use strict";exports["focus-editor"]=function(t,e){e instanceof Array&&(e.splice(0,e.length),e.type="focus-editor")}}(); \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_focus-editor.js.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_focus-editor.js.meta new file mode 100644 index 00000000..c16488b5 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_focus-editor.js.meta @@ -0,0 +1,3 @@ +module-type: texteditoroperation +title: $:/core/modules/editor/operations/text/focus-editor.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_insert-text.js b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_insert-text.js new file mode 100644 index 00000000..e197d21d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_modules_editor_operations_text_insert-text.js @@ -0,0 +1 @@ +!function(){"use strict";exports["insert-text"]=function(t,e){if(e instanceof Array)for(var n=0;n] +[get[text]] :else[[no]] +\end + +\define config-visibility-title() +$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$ +\end + +\define importFileActions() +<$action-popup $state=<> $coords="(0,0,0,0)" $floating="yes"/> +\end + +\whitespace trim +<$let + importTitle=<> + importState=<> > +<$dropzone importTitle=<> autoOpenOnImport="no" contentTypesFilter={{$:/config/Editor/ImportContentTypesFilter}} class="tc-dropzone-editor" enable={{{ [{$:/config/DragAndDrop/Enable}match[no]] :else[subfilter{$:/config/Editor/EnableImportFilter}then[yes]else[no]] }}} filesOnly="yes" actions=<> > +
+
+ +<$transclude tiddler="$:/core/ui/EditTemplate/body/editor" mode="inline"/> + +<$list filter="[function[edit-preview-state]match[yes]]" variable="ignore"> + +
+ +<$transclude tiddler={{$:/state/editpreviewtype}} mode="inline"> + +<$transclude tiddler="$:/core/ui/EditTemplate/body/preview/output" mode="inline"/> + + + +
+ + + +
+ +
+ + + + diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_ui_EditTemplate_body_editor.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_ui_EditTemplate_body_editor.tid new file mode 100644 index 00000000..3ee7c411 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_ui_EditTemplate_body_editor.tid @@ -0,0 +1,46 @@ +code-body: yes +title: $:/core/ui/EditTemplate/body/editor + +\whitespace trim + +<$edit + + field="text" + class="tc-edit-texteditor tc-edit-texteditor-body" + placeholder={{$:/language/EditTemplate/Body/Placeholder}} + tabindex={{$:/config/EditTabIndex}} + focus={{{ [{$:/config/AutoFocus}match[text]then[true]] ~[[false]] }}} + cancelPopups="yes" + fileDrop={{{ [{$:/config/DragAndDrop/Enable}match[no]] :else[subfilter{$:/config/Editor/EnableImportFilter}then[yes]else[no]] }}} + type={{!!type}} + +><$set + + name="targetTiddler" + value=<> + +><$list + + filter="[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]" + +><$reveal + + type="nomatch" + state=<> + text="hide" + class="tc-text-editor-toolbar-item-wrapper" + +><$transclude + + tiddler="$:/core/ui/EditTemplate/body/toolbar/button" + mode="inline" + +/><$list + + filter="[all[shadows+tiddlers]tag[$:/tags/EditorTools]!has[draft.of]]" + +><$list + filter={{!!condition}} + variable="list-condition" +><$transclude/> + diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_ui_EditorToolbar_preview.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_ui_EditorToolbar_preview.tid new file mode 100644 index 00000000..398d3bf7 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__core_ui_EditorToolbar_preview.tid @@ -0,0 +1,25 @@ +button-classes: tc-text-editor-toolbar-item-start-group +caption: {{$:/language/Buttons/Preview/Caption}} +condition: [] +custom-icon: yes +description: {{$:/language/Buttons/Preview/Hint}} +icon: $:/core/images/preview-open +shortcuts: ((preview)) +tags: $:/tags/EditorToolbar +title: $:/core/ui/EditorToolbar/preview + +\whitespace trim +<$let + edit-preview-state={{{ [{$:/config/ShowEditPreview/PerTiddler}!match[yes]then[$:/state/showeditpreview]] :else[] }}} +> +<$reveal state=<> type="match" text="yes" tag="span"> +{{$:/core/images/preview-open}} +<$action-setfield $tiddler=<> $value="no"/> +<$action-sendmessage $message="tm-edit-text-operation" $param="focus-editor"/> + +<$reveal state=<> type="nomatch" text="yes" tag="span"> +{{$:/core/images/preview-closed}} +<$action-setfield $tiddler=<> $value="yes"/> +<$action-sendmessage $message="tm-edit-text-operation" $param="focus-editor"/> + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_activateOnTyping_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_activateOnTyping_caption.tid new file mode 100644 index 00000000..a0cc8e06 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_activateOnTyping_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/activateOnTyping/caption + +🚀 Activate on Typing \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_activateOnTyping_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_activateOnTyping_description.tid new file mode 100644 index 00000000..01cee11a --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_activateOnTyping_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/activateOnTyping/description + +Enable activation on typing for enhanced functionality. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_autocompleteIcons_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_autocompleteIcons_caption.tid new file mode 100644 index 00000000..9139b778 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_autocompleteIcons_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/autocompleteIcons/caption + +🎨 Autocomplete Icons \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_autocompleteIcons_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_autocompleteIcons_description.tid new file mode 100644 index 00000000..aae7eff4 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_autocompleteIcons_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/autocompleteIcons/description + +Enable icons in autocomplete suggestions. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_autocorrect_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_autocorrect_caption.tid new file mode 100644 index 00000000..17f823b1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_autocorrect_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/autocorrect/caption + +🔄 Autocorrect \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_autocorrect_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_autocorrect_description.tid new file mode 100644 index 00000000..c081f8a5 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_autocorrect_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/autocorrect/description + +Enable autocorrection. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_bracketMatching_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_bracketMatching_caption.tid new file mode 100644 index 00000000..1751c0f0 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_bracketMatching_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/bracketMatching/caption + +🔄 Bracket Matching \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_bracketMatching_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_bracketMatching_description.tid new file mode 100644 index 00000000..5b9af8ba --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_bracketMatching_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/bracketMatching/description + +Enable matching of brackets. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_clickable-icon_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_clickable-icon_caption.tid new file mode 100644 index 00000000..233e698c --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_clickable-icon_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/clickable-icon/caption + +🖱️ Clickable Icon \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_clickable-icon_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_clickable-icon_description.tid new file mode 100644 index 00000000..0b58d911 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_clickable-icon_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/clickable-icon/description + +Set a clickable icon. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_clickable_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_clickable_caption.tid new file mode 100644 index 00000000..fcf57281 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_clickable_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/clickable/caption + +🖱️ Clickable \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_clickable_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_clickable_description.tid new file mode 100644 index 00000000..9635db40 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_clickable_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/clickable/description + +Enable clickability. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_closeBrackets_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_closeBrackets_caption.tid new file mode 100644 index 00000000..214dfc52 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_closeBrackets_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/closeBrackets/caption + +🔄 Close Brackets \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_closeBrackets_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_closeBrackets_description.tid new file mode 100644 index 00000000..de54808f --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_closeBrackets_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/closeBrackets/description + +Automatically close brackets. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_closeOnBlur_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_closeOnBlur_caption.tid new file mode 100644 index 00000000..abf2071d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_closeOnBlur_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/closeOnBlur/caption + +🔒 Close on Blur \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_closeOnBlur_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_closeOnBlur_description.tid new file mode 100644 index 00000000..ce2a4618 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_closeOnBlur_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/closeOnBlur/description + +Automatically close on blur. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_commentComplete_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_commentComplete_caption.tid new file mode 100644 index 00000000..4f3c82ec --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_commentComplete_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/commentComplete/caption + +📝 Comment Complete \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_commentComplete_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_commentComplete_description.tid new file mode 100644 index 00000000..29e147be --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_commentComplete_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/commentComplete/description + +Comment Complete \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_completeAnyWord_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_completeAnyWord_caption.tid new file mode 100644 index 00000000..ad41c54c --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_completeAnyWord_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/completeAnyWord/caption + +🔄 Complete Any Word \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_completeAnyWord_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_completeAnyWord_description.tid new file mode 100644 index 00000000..acd16bff --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_completeAnyWord_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/completeAnyWord/description + +Enable completion for any word. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_cursor-thickness_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_cursor-thickness_caption.tid new file mode 100644 index 00000000..026b9a18 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_cursor-thickness_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/cursor-thickness/caption + +🚸 Cursor Thickness \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_cursor-thickness_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_cursor-thickness_description.tid new file mode 100644 index 00000000..80500b49 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_cursor-thickness_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/cursor-thickness/description + +Set the thickness of the cursor. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_cursorBlinkRate_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_cursorBlinkRate_caption.tid new file mode 100644 index 00000000..e12c4e0a --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_cursorBlinkRate_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/cursorBlinkRate/caption + +⚡ Cursor Blink Rate \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_cursorBlinkRate_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_cursorBlinkRate_description.tid new file mode 100644 index 00000000..39a2df93 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_cursorBlinkRate_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/cursorBlinkRate/description + +Set the rate at which the cursor blinks (in milliseconds). \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_customPlaceholder_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_customPlaceholder_caption.tid new file mode 100644 index 00000000..68aae674 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_customPlaceholder_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/customPlaceholder/caption + +🖊️ Custom Placeholder \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_customPlaceholder_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_customPlaceholder_description.tid new file mode 100644 index 00000000..c2a94184 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_customPlaceholder_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/customPlaceholder/description + +Set a custom placeholder. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_debug_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_debug_caption.tid new file mode 100644 index 00000000..d5098fb7 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_debug_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/debug/caption + +🐞 Debug \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_debug_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_debug_description.tid new file mode 100644 index 00000000..e519dbc1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_debug_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/debug/description + +Sebug for codemirror on console \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_delimiter_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_delimiter_caption.tid new file mode 100644 index 00000000..662976fd --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_delimiter_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/delimiter/caption + +🔍 Delimiter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_delimiter_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_delimiter_description.tid new file mode 100644 index 00000000..a43ffac4 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_delimiter_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/delimiter/description + +Set the delimiter for certain operations. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_disableCM6_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_disableCM6_caption.tid new file mode 100644 index 00000000..5ef5a2ac --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_disableCM6_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/disableCM6/caption + +📝 @depreacted: use simeple editor(Need Restart, Experimental, Not Recommended) \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_disableCM6_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_disableCM6_description.tid new file mode 100644 index 00000000..280f412c --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_disableCM6_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/disableCM6/description + +@depreacted: use simeple editor(Need Restart, Experimental, Not Recommended) \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_enableSystemTiddlersCompletion_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_enableSystemTiddlersCompletion_caption.tid new file mode 100644 index 00000000..4dd493db --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_enableSystemTiddlersCompletion_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/enableSystemTiddlersCompletion/caption + +🔄 Enable System Tiddlers Completion \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_enableSystemTiddlersCompletion_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_enableSystemTiddlersCompletion_description.tid new file mode 100644 index 00000000..c97088ad --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_enableSystemTiddlersCompletion_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/enableSystemTiddlersCompletion/description + +Enable completion for system tiddlers. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_foldByIndent_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_foldByIndent_caption.tid new file mode 100644 index 00000000..21471d43 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_foldByIndent_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/foldByIndent/caption + +📝 Fold By Indent \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_foldByIndent_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_foldByIndent_description.tid new file mode 100644 index 00000000..51b8ab74 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_foldByIndent_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/foldByIndent/description + +Fold By Indent \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_foldGutter_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_foldGutter_caption.tid new file mode 100644 index 00000000..384b2080 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_foldGutter_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/foldGutter/caption + +📂 Fold Gutter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_foldGutter_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_foldGutter_description.tid new file mode 100644 index 00000000..22f284df --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_foldGutter_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/foldGutter/description + +Enable folding gutter for code. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_fontsize_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_fontsize_caption.tid new file mode 100644 index 00000000..321758ba --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_fontsize_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/fontsize/caption + +📏 Font Size \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_fontsize_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_fontsize_description.tid new file mode 100644 index 00000000..7b6ed8fa --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_fontsize_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/fontsize/description + +Set the font size for better readability. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_footer_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_footer_caption.tid new file mode 100644 index 00000000..1a2f7e9a --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_footer_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/footer/caption + +📝 Footer \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_footer_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_footer_description.tid new file mode 100644 index 00000000..16abc9c7 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_footer_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/footer/description + +Show snippets footer \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_highlightActiveLine_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_highlightActiveLine_caption.tid new file mode 100644 index 00000000..628fb7df --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_highlightActiveLine_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/highlightActiveLine/caption + +🔍 Highlight Active Line \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_highlightActiveLine_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_highlightActiveLine_description.tid new file mode 100644 index 00000000..f9f9b239 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_highlightActiveLine_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/highlightActiveLine/description + +Highlight the active line for better visibility. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_highlightTrailingWhitespace_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_highlightTrailingWhitespace_caption.tid new file mode 100644 index 00000000..279a0d5a --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_highlightTrailingWhitespace_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/highlightTrailingWhitespace/caption + +🔍 Highlight Trailing Whitespace \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_highlightTrailingWhitespace_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_highlightTrailingWhitespace_description.tid new file mode 100644 index 00000000..250eb461 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_highlightTrailingWhitespace_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/highlightTrailingWhitespace/description + +Enable highlighting of trailing whitespace. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_indentWithTab_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_indentWithTab_caption.tid new file mode 100644 index 00000000..08e50d83 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_indentWithTab_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/indentWithTab/caption + +🔄 Indent with Tab \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_indentWithTab_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_indentWithTab_description.tid new file mode 100644 index 00000000..296fd982 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_indentWithTab_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/indentWithTab/description + +Indent with tab instead of spaces. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_inlineSuggestion_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_inlineSuggestion_caption.tid new file mode 100644 index 00000000..febfe3ac --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_inlineSuggestion_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/inlineSuggestion/caption + +🔍 Inline Suggestion (Experimental) \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_inlineSuggestion_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_inlineSuggestion_description.tid new file mode 100644 index 00000000..d4fa9b7d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_inlineSuggestion_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/inlineSuggestion/description + +Experimental feature for inline suggestions. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_lineNumbers_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_lineNumbers_caption.tid new file mode 100644 index 00000000..15980548 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_lineNumbers_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/lineNumbers/caption + +🔢 Line Numbers \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_lineNumbers_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_lineNumbers_description.tid new file mode 100644 index 00000000..e1bdbea3 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_lineNumbers_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/lineNumbers/description + +Show line numbers for better code navigation. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_linkPreview_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_linkPreview_caption.tid new file mode 100644 index 00000000..da3262c5 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_linkPreview_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/linkPreview/caption + +🔗 Link Preview \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_linkPreview_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_linkPreview_description.tid new file mode 100644 index 00000000..61afe6d6 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_linkPreview_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/linkPreview/description + +Enable preview for hyperlinks. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_matchText_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_matchText_caption.tid new file mode 100644 index 00000000..6e68f0e1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_matchText_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/matchText/caption + +📝 Match Text \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_matchText_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_matchText_description.tid new file mode 100644 index 00000000..8e82f3d9 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_matchText_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/matchText/description + +Match Text \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_maxRenderedOptions_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_maxRenderedOptions_caption.tid new file mode 100644 index 00000000..f55b5d0a --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_maxRenderedOptions_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/maxRenderedOptions/caption + +🔍 Max Rendered Options \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_maxRenderedOptions_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_maxRenderedOptions_description.tid new file mode 100644 index 00000000..a0a936a4 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_maxRenderedOptions_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/maxRenderedOptions/description + +Set the maximum number of rendered options in autocomplete. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minLength_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minLength_caption.tid new file mode 100644 index 00000000..01e96281 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minLength_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/minLength/caption + +📏 Min Length \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minLength_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minLength_description.tid new file mode 100644 index 00000000..cdd1c7de --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minLength_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/minLength/description + +Set the minimum length for input. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minimapAudoHide_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minimapAudoHide_caption.tid new file mode 100644 index 00000000..8f8c44e1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minimapAudoHide_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/minimapAudoHide/caption + +🗺️ Minimap autohide \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minimapAudoHide_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minimapAudoHide_description.tid new file mode 100644 index 00000000..7823e9e3 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minimapAudoHide_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/minimapAudoHide/description + +Automatically hide minimap \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minimap_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minimap_caption.tid new file mode 100644 index 00000000..d9cf8ecb --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minimap_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/minimap/caption + +🗺️ Minimap \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minimap_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minimap_description.tid new file mode 100644 index 00000000..bc084f85 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_minimap_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/minimap/description + +Enable a minimap for navigation. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_onedark_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_onedark_caption.tid new file mode 100644 index 00000000..7fe25931 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_onedark_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/onedark/caption + +🌒 Enable One Dark Theme \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_onedark_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_onedark_description.tid new file mode 100644 index 00000000..6e97d66a --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_onedark_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/onedark/description + +Enable the One Dark theme. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_placeholder_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_placeholder_caption.tid new file mode 100644 index 00000000..ee218fac --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_placeholder_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/placeholder/caption + +✏️️ Placeholder \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_placeholder_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_placeholder_description.tid new file mode 100644 index 00000000..71360e9d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_placeholder_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/placeholder/description + +Set the default placeholder text. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_removeOutline_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_removeOutline_caption.tid new file mode 100644 index 00000000..0da8399f --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_removeOutline_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/removeOutline/caption + +📝 Remove editor outline \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_removeOutline_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_removeOutline_description.tid new file mode 100644 index 00000000..19816f32 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_removeOutline_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/removeOutline/description + +remove editor outline \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_rtl_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_rtl_caption.tid new file mode 100644 index 00000000..ca315d64 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_rtl_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/rtl/caption + +↔️ RTL \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_rtl_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_rtl_description.tid new file mode 100644 index 00000000..94d3ad4a --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_rtl_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/rtl/description + +Enable Right-to-Left text direction. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_selectOnOpen_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_selectOnOpen_caption.tid new file mode 100644 index 00000000..776d79ec --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_selectOnOpen_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/selectOnOpen/caption + +🔄 Select on Open \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_selectOnOpen_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_selectOnOpen_description.tid new file mode 100644 index 00000000..00886703 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_selectOnOpen_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/selectOnOpen/description + +Automatically select on open. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_snippetPreview_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_snippetPreview_caption.tid new file mode 100644 index 00000000..071be289 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_snippetPreview_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/snippetPreview/caption + +📝 Snippet Preview \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_snippetPreview_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_snippetPreview_description.tid new file mode 100644 index 00000000..5fb5ee99 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_snippetPreview_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/snippetPreview/description + +Enable preview for code snippets. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_spellcheck_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_spellcheck_caption.tid new file mode 100644 index 00000000..e3c4f907 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_spellcheck_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/spellcheck/caption + +📝 Spellcheck \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_spellcheck_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_spellcheck_description.tid new file mode 100644 index 00000000..9be84e8c --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_spellcheck_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/spellcheck/description + +Enable spellchecking. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_tabSize_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_tabSize_caption.tid new file mode 100644 index 00000000..de87dca5 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_tabSize_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/tabSize/caption + +🔍 Tab Size \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_tabSize_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_tabSize_description.tid new file mode 100644 index 00000000..494f9570 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_tabSize_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/tabSize/description + +Set the size of tabs. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_tiddlerPreview_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_tiddlerPreview_caption.tid new file mode 100644 index 00000000..d0be81b4 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_tiddlerPreview_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/tiddlerPreview/caption + +📑 Tiddler Preview \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_tiddlerPreview_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_tiddlerPreview_description.tid new file mode 100644 index 00000000..d821514f --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_tiddlerPreview_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/tiddlerPreview/description + +Enable preview for tiddlers. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_translate_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_translate_caption.tid new file mode 100644 index 00000000..09b243f1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_translate_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/translate/caption + +🌐 Translate \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_translate_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_translate_description.tid new file mode 100644 index 00000000..a672089d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_translate_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/translate/description + +Enable translation. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_vimJK_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_vimJK_caption.tid new file mode 100644 index 00000000..a99892b3 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_vimJK_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/vimJK/caption + +📝 Vim keyboard mapping JK(You know what I'm saying.) \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_vimJK_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_vimJK_description.tid new file mode 100644 index 00000000..e4ecaf5c --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_vimJK_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/vimJK/description + +vim keyboard mapping JK(You know what I'm saying.) \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_vimmode_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_vimmode_caption.tid new file mode 100644 index 00000000..5c683215 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_vimmode_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/vimmode/caption + +🎮 Vim Mode \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_vimmode_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_vimmode_description.tid new file mode 100644 index 00000000..787f1484 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_vimmode_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/vimmode/description + +Enable Vim mode for text editing. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_whitespace_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_whitespace_caption.tid new file mode 100644 index 00000000..01738477 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_whitespace_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/whitespace/caption + +🔍 Highlight Whitespace \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_whitespace_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_whitespace_description.tid new file mode 100644 index 00000000..c712c470 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_whitespace_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/whitespace/description + +Enable highlighting of whitespace. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_wordCount_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_wordCount_caption.tid new file mode 100644 index 00000000..7b85dade --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_wordCount_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/wordCount/caption + +📊 Enable Word Count \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_wordCount_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_wordCount_description.tid new file mode 100644 index 00000000..b2c14dc8 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_wordCount_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/wordCount/description + +Display the word count for the content. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_activateOnTyping_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_activateOnTyping_caption.tid new file mode 100644 index 00000000..e247d2b5 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_activateOnTyping_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/activateOnTyping/caption + +🚀 打字激活 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_activateOnTyping_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_activateOnTyping_description.tid new file mode 100644 index 00000000..218a445f --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_activateOnTyping_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/activateOnTyping/description + +启用打字激活弹出补全框,关闭后,可以 ctrl+space 手动触发 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_autocompleteIcons_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_autocompleteIcons_caption.tid new file mode 100644 index 00000000..a10a7d7a --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_autocompleteIcons_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/autocompleteIcons/caption + +🎨 自动完成图标 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_autocompleteIcons_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_autocompleteIcons_description.tid new file mode 100644 index 00000000..a0bf73a9 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_autocompleteIcons_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/autocompleteIcons/description + +在自动完成建议中启用图标。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_autocorrect_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_autocorrect_caption.tid new file mode 100644 index 00000000..ad57de55 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_autocorrect_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/autocorrect/caption + +🔄 自动纠正 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_autocorrect_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_autocorrect_description.tid new file mode 100644 index 00000000..182a274c --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_autocorrect_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/autocorrect/description + +启用自动纠正。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_bracketMatching_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_bracketMatching_caption.tid new file mode 100644 index 00000000..45d4470f --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_bracketMatching_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/bracketMatching/caption + +🔄 括号匹配 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_bracketMatching_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_bracketMatching_description.tid new file mode 100644 index 00000000..e9a8608a --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_bracketMatching_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/bracketMatching/description + +启用括号匹配。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_clickable-icon_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_clickable-icon_caption.tid new file mode 100644 index 00000000..d99bdc0f --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_clickable-icon_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/clickable-icon/caption + +🖱️ 可点击图标 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_clickable-icon_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_clickable-icon_description.tid new file mode 100644 index 00000000..8c831229 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_clickable-icon_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/clickable-icon/description + +设置一个可点击的图标。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_clickable_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_clickable_caption.tid new file mode 100644 index 00000000..f50f2dcd --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_clickable_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/clickable/caption + +🖱️ 可点击 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_clickable_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_clickable_description.tid new file mode 100644 index 00000000..c4ae68de --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_clickable_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/clickable/description + +启用可点击性。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_closeBrackets_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_closeBrackets_caption.tid new file mode 100644 index 00000000..95428de1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_closeBrackets_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/closeBrackets/caption + +🔄 自动关闭括号 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_closeBrackets_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_closeBrackets_description.tid new file mode 100644 index 00000000..c8de781c --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_closeBrackets_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/closeBrackets/description + +自动关闭括号。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_closeOnBlur_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_closeOnBlur_caption.tid new file mode 100644 index 00000000..789fbd1e --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_closeOnBlur_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/closeOnBlur/caption + +🔒 失焦关闭 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_closeOnBlur_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_closeOnBlur_description.tid new file mode 100644 index 00000000..a1c4cf69 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_closeOnBlur_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/closeOnBlur/description + +失焦时自动关闭。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_commentComplete_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_commentComplete_caption.tid new file mode 100644 index 00000000..46630827 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_commentComplete_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/commentComplete/caption + +📝 注释中开启补全 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_commentComplete_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_commentComplete_description.tid new file mode 100644 index 00000000..696bd3e1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_commentComplete_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/commentComplete/description + +注释中开启补全 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_completeAnyWord_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_completeAnyWord_caption.tid new file mode 100644 index 00000000..188d37b9 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_completeAnyWord_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/completeAnyWord/caption + +🔄 完成任意单词 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_completeAnyWord_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_completeAnyWord_description.tid new file mode 100644 index 00000000..0c8f73e0 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_completeAnyWord_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/completeAnyWord/description + +启用对任意单词的完成。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_cursor-thickness_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_cursor-thickness_caption.tid new file mode 100644 index 00000000..df2614a8 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_cursor-thickness_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/cursor-thickness/caption + +🚸 光标厚度 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_cursor-thickness_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_cursor-thickness_description.tid new file mode 100644 index 00000000..0ca663eb --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_cursor-thickness_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/cursor-thickness/description + +设置光标的宽度 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_cursorBlinkRate_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_cursorBlinkRate_caption.tid new file mode 100644 index 00000000..2038f9be --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_cursorBlinkRate_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/cursorBlinkRate/caption + +⚡ 光标闪烁速率 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_cursorBlinkRate_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_cursorBlinkRate_description.tid new file mode 100644 index 00000000..4f68cacb --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_cursorBlinkRate_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/cursorBlinkRate/description + +设置光标闪烁的速率(以毫秒为单位),设置为 0 禁用闪烁 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_customPlaceholder_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_customPlaceholder_caption.tid new file mode 100644 index 00000000..e9eee890 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_customPlaceholder_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/customPlaceholder/caption + +🖊️ 自定义占位符 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_customPlaceholder_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_customPlaceholder_description.tid new file mode 100644 index 00000000..a856d9f1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_customPlaceholder_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/customPlaceholder/description + +设置自定义占位符。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_debug_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_debug_caption.tid new file mode 100644 index 00000000..23c24f86 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_debug_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/debug/caption + +🐞 调试 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_debug_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_debug_description.tid new file mode 100644 index 00000000..0098556a --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_debug_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/debug/description + +在控制台上显示 codemirror6 的日志 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_delimiter_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_delimiter_caption.tid new file mode 100644 index 00000000..c387874f --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_delimiter_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/delimiter/caption + +🔍 分隔符 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_delimiter_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_delimiter_description.tid new file mode 100644 index 00000000..e3fa5bed --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_delimiter_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/delimiter/description + +设置某些操作的分隔符。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_disableCM6_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_disableCM6_caption.tid new file mode 100644 index 00000000..3951919b --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_disableCM6_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/disableCM6/caption + +📝 @弃用 使用简单编辑器 (需要重启,实验性,不建议使用) \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_disableCM6_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_disableCM6_description.tid new file mode 100644 index 00000000..57b8d40d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_disableCM6_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/disableCM6/description + +@弃用 使用简单编辑器 (需要重启,实验性,不建议使用) \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_enableSystemTiddlersCompletion_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_enableSystemTiddlersCompletion_caption.tid new file mode 100644 index 00000000..8d9a7e06 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_enableSystemTiddlersCompletion_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/enableSystemTiddlersCompletion/caption + +🔄 启用系统 Tiddlers 完成 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_enableSystemTiddlersCompletion_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_enableSystemTiddlersCompletion_description.tid new file mode 100644 index 00000000..f5a1c32f --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_enableSystemTiddlersCompletion_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/enableSystemTiddlersCompletion/description + +启用系统 Tiddlers 的自动完成。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_foldByIndent_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_foldByIndent_caption.tid new file mode 100644 index 00000000..2ce35d19 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_foldByIndent_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/foldByIndent/caption + +📝 按缩进折叠 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_foldByIndent_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_foldByIndent_description.tid new file mode 100644 index 00000000..a5126072 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_foldByIndent_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/foldByIndent/description + +按缩进折叠 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_foldGutter_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_foldGutter_caption.tid new file mode 100644 index 00000000..59e2473f --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_foldGutter_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/foldGutter/caption + +📂 折叠 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_foldGutter_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_foldGutter_description.tid new file mode 100644 index 00000000..44472a88 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_foldGutter_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/foldGutter/description + +为代码启用折叠。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_fontsize_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_fontsize_caption.tid new file mode 100644 index 00000000..b781e8a1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_fontsize_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/fontsize/caption + +📏 字体大小 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_fontsize_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_fontsize_description.tid new file mode 100644 index 00000000..3f83ffb1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_fontsize_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/fontsize/description + +设置字体大小以提高可读性。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_footer_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_footer_caption.tid new file mode 100644 index 00000000..52918aff --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_footer_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/footer/caption + +📝 页脚 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_footer_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_footer_description.tid new file mode 100644 index 00000000..b9e7ff34 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_footer_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/footer/description + +显示代码片段来源 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_highlightActiveLine_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_highlightActiveLine_caption.tid new file mode 100644 index 00000000..707b5c5a --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_highlightActiveLine_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/highlightActiveLine/caption + +🔍 高亮活动行 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_highlightActiveLine_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_highlightActiveLine_description.tid new file mode 100644 index 00000000..e0891e4f --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_highlightActiveLine_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/highlightActiveLine/description + +高亮活动行以便更好地可见。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_highlightTrailingWhitespace_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_highlightTrailingWhitespace_caption.tid new file mode 100644 index 00000000..d1402413 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_highlightTrailingWhitespace_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/highlightTrailingWhitespace/caption + +🔍 高亮尾随空格 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_highlightTrailingWhitespace_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_highlightTrailingWhitespace_description.tid new file mode 100644 index 00000000..17d55b36 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_highlightTrailingWhitespace_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/highlightTrailingWhitespace/description + +启用尾随空格的高亮显示。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_indentWithTab_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_indentWithTab_caption.tid new file mode 100644 index 00000000..28496f6c --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_indentWithTab_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/indentWithTab/caption + +🔄 制表符缩进 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_indentWithTab_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_indentWithTab_description.tid new file mode 100644 index 00000000..9ae96d85 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_indentWithTab_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/indentWithTab/description + +使用制表符进行缩进,而不是空格。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_inlineSuggestion_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_inlineSuggestion_caption.tid new file mode 100644 index 00000000..a84ac3a9 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_inlineSuggestion_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/inlineSuggestion/caption + +🔍 内联建议(实验性) \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_inlineSuggestion_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_inlineSuggestion_description.tid new file mode 100644 index 00000000..bf13767f --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_inlineSuggestion_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/inlineSuggestion/description + +内联建议的实验性功能。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_lineNumbers_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_lineNumbers_caption.tid new file mode 100644 index 00000000..93f0a211 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_lineNumbers_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/lineNumbers/caption + +🔢 行号 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_lineNumbers_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_lineNumbers_description.tid new file mode 100644 index 00000000..fcdac57b --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_lineNumbers_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/lineNumbers/description + +显示行号以便更好地导航代码。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_linkPreview_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_linkPreview_caption.tid new file mode 100644 index 00000000..c9e88531 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_linkPreview_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/linkPreview/caption + +🔗 链接预览 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_linkPreview_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_linkPreview_description.tid new file mode 100644 index 00000000..e5bb524f --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_linkPreview_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/linkPreview/description + +启用超链接的预览。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_matchText_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_matchText_caption.tid new file mode 100644 index 00000000..0016186a --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_matchText_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/matchText/caption + +📝 匹配文本 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_matchText_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_matchText_description.tid new file mode 100644 index 00000000..872e7174 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_matchText_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/matchText/description + +匹配文本 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_maxRenderedOptions_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_maxRenderedOptions_caption.tid new file mode 100644 index 00000000..41d07acd --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_maxRenderedOptions_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/maxRenderedOptions/caption + +🔍 最大渲染选项 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_maxRenderedOptions_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_maxRenderedOptions_description.tid new file mode 100644 index 00000000..6af81a4e --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_maxRenderedOptions_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/maxRenderedOptions/description + +设置自动完成中渲染的选项的最大数量。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minLength_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minLength_caption.tid new file mode 100644 index 00000000..61b1ddbb --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minLength_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/minLength/caption + +📏 最小长度 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minLength_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minLength_description.tid new file mode 100644 index 00000000..7a82b561 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minLength_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/minLength/description + +设置自动补全最小长度。1 为立刻触发 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minimapAudoHide_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minimapAudoHide_caption.tid new file mode 100644 index 00000000..e1a7dc0d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minimapAudoHide_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/minimapAudoHide/caption + +🗺️ 小地图自动隐藏 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minimapAudoHide_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minimapAudoHide_description.tid new file mode 100644 index 00000000..2f9de622 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minimapAudoHide_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/minimapAudoHide/description + +自动隐藏小地图 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minimap_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minimap_caption.tid new file mode 100644 index 00000000..3822a4b8 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minimap_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/minimap/caption + +🗺️ 小地图 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minimap_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minimap_description.tid new file mode 100644 index 00000000..0485f124 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_minimap_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/minimap/description + +启用导航的小地图。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_onedark_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_onedark_caption.tid new file mode 100644 index 00000000..ec34d19b --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_onedark_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/onedark/caption + +🌒 启用 One Dark 主题 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_onedark_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_onedark_description.tid new file mode 100644 index 00000000..4ac316c2 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_onedark_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/onedark/description + +启用 One Dark 主题。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_placeholder_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_placeholder_caption.tid new file mode 100644 index 00000000..1d4da033 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_placeholder_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/placeholder/caption + +✏️️ 占位符 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_placeholder_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_placeholder_description.tid new file mode 100644 index 00000000..daa7a0b6 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_placeholder_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/placeholder/description + +设置默认的占位符文本。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_removeOutline_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_removeOutline_caption.tid new file mode 100644 index 00000000..99cf1c18 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_removeOutline_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/removeOutline/caption + +📝 移除编辑器边框 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_removeOutline_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_removeOutline_description.tid new file mode 100644 index 00000000..3ce26ea0 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_removeOutline_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/removeOutline/description + +移除编辑器边框 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_rtl_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_rtl_caption.tid new file mode 100644 index 00000000..447d1f48 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_rtl_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/rtl/caption + +↔️ RTL \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_rtl_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_rtl_description.tid new file mode 100644 index 00000000..cb15c453 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_rtl_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/rtl/description + +启用从右到左的文本方向。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_selectOnOpen_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_selectOnOpen_caption.tid new file mode 100644 index 00000000..66ef85cb --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_selectOnOpen_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/selectOnOpen/caption + +🔄 自动选择补全项 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_selectOnOpen_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_selectOnOpen_description.tid new file mode 100644 index 00000000..754c3e2d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_selectOnOpen_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/selectOnOpen/description + +自动选择补全项 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_snippetPreview_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_snippetPreview_caption.tid new file mode 100644 index 00000000..3aa6161e --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_snippetPreview_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/snippetPreview/caption + +📝 代码片段预览 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_snippetPreview_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_snippetPreview_description.tid new file mode 100644 index 00000000..61afe22a --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_snippetPreview_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/snippetPreview/description + +启用代码片段的预览。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_spellcheck_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_spellcheck_caption.tid new file mode 100644 index 00000000..1d68efef --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_spellcheck_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/spellcheck/caption + +📝 拼写检查 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_spellcheck_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_spellcheck_description.tid new file mode 100644 index 00000000..136a6397 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_spellcheck_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/spellcheck/description + +启用拼写检查。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_tabSize_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_tabSize_caption.tid new file mode 100644 index 00000000..6f9a4f1a --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_tabSize_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/tabSize/caption + +🔍 制表符大小 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_tabSize_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_tabSize_description.tid new file mode 100644 index 00000000..8d241352 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_tabSize_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/tabSize/description + +设置制表符的大小。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_tiddlerPreview_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_tiddlerPreview_caption.tid new file mode 100644 index 00000000..200fb529 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_tiddlerPreview_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/tiddlerPreview/caption + +📑 Tiddler 预览 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_tiddlerPreview_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_tiddlerPreview_description.tid new file mode 100644 index 00000000..e322741f --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_tiddlerPreview_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/tiddlerPreview/description + +启用 tiddlers 的预览。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_translate_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_translate_caption.tid new file mode 100644 index 00000000..f93cee22 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_translate_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/translate/caption + +🌐 翻译 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_translate_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_translate_description.tid new file mode 100644 index 00000000..fc21ba43 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_translate_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/translate/description + +启用翻译 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_vimJK_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_vimJK_caption.tid new file mode 100644 index 00000000..98aae2c6 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_vimJK_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/vimJK/caption + +📝 vim 键盘映射 JK(你知道我在说什么.) \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_vimJK_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_vimJK_description.tid new file mode 100644 index 00000000..b6ca53ba --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_vimJK_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/vimJK/description + +vim 键盘映射 JK(你知道我在说什么.) \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_vimmode_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_vimmode_caption.tid new file mode 100644 index 00000000..883429c3 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_vimmode_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/vimmode/caption + +🎮 Vim 模式 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_vimmode_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_vimmode_description.tid new file mode 100644 index 00000000..0e019e26 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_vimmode_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/vimmode/description + +启用文本编辑的 Vim 模式。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_whitespace_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_whitespace_caption.tid new file mode 100644 index 00000000..c3d3876b --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_whitespace_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/whitespace/caption + +🔍 高亮空格 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_whitespace_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_whitespace_description.tid new file mode 100644 index 00000000..ab20b1b1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_whitespace_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/whitespace/description + +启用空格的高亮显示。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_wordCount_caption.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_wordCount_caption.tid new file mode 100644 index 00000000..206f5e2c --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_wordCount_caption.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/wordCount/caption + +📊 启用字数统计 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_wordCount_description.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_wordCount_description.tid new file mode 100644 index 00000000..95d67b6f --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__language_codemirror6_zh_wordCount_description.tid @@ -0,0 +1,3 @@ +title: $:/language/codemirror6/zh/wordCount/description + +显示内容的字数统计。 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Blanca_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Blanca_extend new file mode 100644 index 00000000..ae87966d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Blanca_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(240, 244, 240, 0.75) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: <> +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Blanca_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Blanca_extend.meta new file mode 100644 index 00000000..818ab80d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Blanca_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/Blanca/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Blue_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Blue_extend new file mode 100644 index 00000000..ae87966d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Blue_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(240, 244, 240, 0.75) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: <> +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Blue_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Blue_extend.meta new file mode 100644 index 00000000..a1e73b4c --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Blue_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/Blue/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_ContrastDark_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_ContrastDark_extend new file mode 100644 index 00000000..cd2fec49 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_ContrastDark_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(153, 238, 255, 0.2) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: <> +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_ContrastDark_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_ContrastDark_extend.meta new file mode 100644 index 00000000..f7deb474 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_ContrastDark_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/ContrastDark/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_ContrastLight_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_ContrastLight_extend new file mode 100644 index 00000000..897795f1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_ContrastLight_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(204, 238, 255, 0.27) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: <> +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_ContrastLight_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_ContrastLight_extend.meta new file mode 100644 index 00000000..688f97de --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_ContrastLight_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/ContrastLight/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_CupertinoDark_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_CupertinoDark_extend new file mode 100644 index 00000000..2777fde7 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_CupertinoDark_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(153, 238, 255, 0.2) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: <> +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_CupertinoDark_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_CupertinoDark_extend.meta new file mode 100644 index 00000000..5d46beeb --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_CupertinoDark_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/CupertinoDark/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_DarkPhotos_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_DarkPhotos_extend new file mode 100644 index 00000000..ae87966d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_DarkPhotos_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(240, 244, 240, 0.75) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: <> +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_DarkPhotos_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_DarkPhotos_extend.meta new file mode 100644 index 00000000..b11cbfc2 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_DarkPhotos_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/DarkPhotos/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_DesertSand_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_DesertSand_extend new file mode 100644 index 00000000..b10ee5df --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_DesertSand_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(195, 186, 161, 0.75) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: <> +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_DesertSand_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_DesertSand_extend.meta new file mode 100644 index 00000000..1a4e0c4f --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_DesertSand_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/DesertSand/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_GruvboxDark_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_GruvboxDark_extend new file mode 100644 index 00000000..8bccecc9 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_GruvboxDark_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(124, 111, 100, 0.75) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: <> +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_GruvboxDark_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_GruvboxDark_extend.meta new file mode 100644 index 00000000..c7d043d2 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_GruvboxDark_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/GruvboxDark/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Muted_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Muted_extend new file mode 100644 index 00000000..ae87966d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Muted_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(240, 244, 240, 0.75) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: <> +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Muted_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Muted_extend.meta new file mode 100644 index 00000000..cbea78bc --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Muted_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/Muted/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Nord_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Nord_extend new file mode 100644 index 00000000..8f01f438 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Nord_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(153, 238, 255, 0.2) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: <> +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Nord_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Nord_extend.meta new file mode 100644 index 00000000..1d71e9ce --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Nord_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/Nord/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Rocker_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Rocker_extend new file mode 100644 index 00000000..897795f1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Rocker_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(204, 238, 255, 0.27) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: <> +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Rocker_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Rocker_extend.meta new file mode 100644 index 00000000..0deed779 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Rocker_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/Rocker/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarFlare_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarFlare_extend new file mode 100644 index 00000000..24329623 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarFlare_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(204, 238, 255, 0.27) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: <> +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarFlare_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarFlare_extend.meta new file mode 100644 index 00000000..3ef0d7d4 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarFlare_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/SolarFlare/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarizedDark_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarizedDark_extend new file mode 100644 index 00000000..265f0822 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarizedDark_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(153, 238, 255, 0.2) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: white +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarizedDark_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarizedDark_extend.meta new file mode 100644 index 00000000..3757852d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarizedDark_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/SolarizedDark/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarizedLight_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarizedLight_extend new file mode 100644 index 00000000..c457626c --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarizedLight_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(238, 232, 213, 0.75) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: white +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarizedLight_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarizedLight_extend.meta new file mode 100644 index 00000000..e6b19356 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SolarizedLight_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/SolarizedLight/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SpartanDay_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SpartanDay_extend new file mode 100644 index 00000000..ae87966d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SpartanDay_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(240, 244, 240, 0.75) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: <> +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SpartanDay_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SpartanDay_extend.meta new file mode 100644 index 00000000..c110e101 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SpartanDay_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/SpartanDay/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SpartanNight_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SpartanNight_extend new file mode 100644 index 00000000..634738c1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SpartanNight_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(153, 238, 255, 0.2) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: <> +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SpartanNight_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SpartanNight_extend.meta new file mode 100644 index 00000000..4fce6ace --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_SpartanNight_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/SpartanNight/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Twilight_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Twilight_extend new file mode 100644 index 00000000..2fccd081 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Twilight_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(153, 238, 255, 0.2) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: black +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Twilight_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Twilight_extend.meta new file mode 100644 index 00000000..72e6d91b --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Twilight_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/Twilight/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Vanilla_extend b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Vanilla_extend new file mode 100644 index 00000000..ae87966d --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Vanilla_extend @@ -0,0 +1,16 @@ +cm-active-line: rgba(240, 244, 240, 0.75) +cm-gutter-background: <> +cm-gutter-foreground: <> +cm-search-match: <> +cm-search-match-border: <> +cm-search-match-selected: <> +cm-selection-match: <> +cm-matching-bracket-outline: <> +cm-tooltip-background: <> +cm-tooltip-foreground: <> +cm-selection-background: <> +cm-selection-foreground: <> +cm-tooltip-selected-background: <> +cm-tooltip-selected-foreground: <> +cm-caret-colour: <> +cm-fold-placeholder-foreground: <> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Vanilla_extend.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Vanilla_extend.meta new file mode 100644 index 00000000..88440260 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__palettes_Vanilla_extend.meta @@ -0,0 +1,2 @@ +title: $:/palettes/Vanilla/extend +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_edit-codemirror-6.js b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_edit-codemirror-6.js new file mode 100644 index 00000000..a5b71a65 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_edit-codemirror-6.js @@ -0,0 +1 @@ +!function(){"use strict";var e=require("$:/core/modules/editor/factory.js")["editTextWidgetFactory"],r=require("$:/plugins/oeyoews/tiddlywiki-codemirror-6/engine.js")["CodeMirrorEngine"];exports["edit-codemirror-6"]=e(r,r)}(); \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_edit-codemirror-6.js.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_edit-codemirror-6.js.meta new file mode 100644 index 00000000..6bc6ead1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_edit-codemirror-6.js.meta @@ -0,0 +1,3 @@ +module-type: widget +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/edit-codemirror-6.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_engine.js.json b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_engine.js.json new file mode 100644 index 00000000..85900f15 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_engine.js.json @@ -0,0 +1,10 @@ +[ + { + "title": "$:/plugins/oeyoews/tiddlywiki-codemirror-6/engine.js", + "type": "application/javascript", + "module-type": "library", + "hide-body": "yes", + "Modern.TiddlyDev#Origin": "engine.ts", + "text": "\"use strict\";var Text=class{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length `+this.length);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){([e,t]=clip(this,e,t));var r=[];return this.decompose(0,e,r,2),i.length&&i.decompose(0,i.length,r,3),this.decompose(t,this.length,r,1),TextNode.from(r,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){([e,t]=clip(this,e,t));var i=[];return this.decompose(e,t,i,0),TextNode.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;var t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),r=new RawTextCursor(this),n=new RawTextCursor(e);for(let o=t,s=t;;){if(r.next(o),n.next(o),o=0,r.lineBreak!=n.lineBreak||r.done!=n.done||r.value!=n.value)return!1;if(s+=r.value.length,r.done||s>=i)return!0}}iter(e=1){return new RawTextCursor(this,e)}iterRange(e,t=this.length){return new PartialTextCursor(this,e,t)}iterLines(e,t){let i;var r;return i=null==e?this.iter():(null==t&&(t=this.lines+1),r=this.line(e).from,this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))),new LineCursor(i)}toString(){return this.sliceString(0)}toJSON(){var e=[];return this.flatten(e),e}constructor(){}static of(e){if(0==e.length)throw new RangeError(\"A document must have at least one line\");return 1!=e.length||e[0]?e.length<=32?new TextLeaf(e):TextNode.from(TextLeaf.split(e,[])):Text.empty}},TextLeaf=class extends Text{constructor(e,t=textLength(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,r){for(let s=0;;s++){var n=this.text[s],o=r+n.length;if(e<=(t?i:o))return new Line(r,o,i,n);r=o+1,i++}}decompose(e,t,i,r){var n,o,s=e<=0&&t>=this.length?this:new TextLeaf(sliceText(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));1&r?(o=i.pop(),(n=appendText(s.text,o.text.slice(),0,s.length)).length<=32?i.push(new TextLeaf(n,o.length+s.length)):(o=n.length>>1,i.push(new TextLeaf(n.slice(0,o)),new TextLeaf(n.slice(o))))):i.push(s)}replace(e,t,i){if(!(i instanceof TextLeaf))return super.replace(e,t,i);([e,t]=clip(this,e,t));var r=appendText(this.text,appendText(i.text,sliceText(this.text,0,e)),t),n=this.length+i.length-(t-e);return r.length<=32?new TextLeaf(r,n):TextNode.from(TextLeaf.split(r,[]),n)}sliceString(e,t=this.length,i=\"\\n\"){([e,t]=clip(this,e,t));let r=\"\";for(let s=0,a=0;s<=t&&ae&&a&&(r+=i),es&&(r+=n.slice(Math.max(0,e-s),t-s)),s=o+1}return r}flatten(e){for(var t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],r=-1;for(var n of e)i.push(n),r+=n.length+1,32==i.length&&(t.push(new TextLeaf(i,r)),i=[],r=-1);return-1=l&&(n=r&((l<=e?1:0)|(t<=s?2:0)),l>=e&&s<=t&&!n?i.push(o):o.decompose(e-l,t-l,i,n)),l=s+1}}replace(i,r,n){if(([i,r]=clip(this,i,r)),n.lines=t&&r<=a)return o=s.replace(i-t,r-t,n),s=this.lines-s.lines+o.lines,o.lines>4&&o.lines>s>>6?((s=this.children.slice())[e]=o,new TextNode(s,this.length-(r-i)+n.length)):super.replace(t,a,o);t=a+1}return super.replace(i,r,n)}sliceString(e,t=this.length,i=\"\\n\"){([e,t]=clip(this,e,t));let r=\"\";for(let s=0,a=0;se&&s&&(r+=i),ea&&(r+=n.sliceString(e-a,t-a,i)),a=o+1}return r}flatten(e){for(var t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof TextNode))return 0;let i=0,[r,n,o,s]=0e+t.length+1,-1)){let i=0;for(var r of e)i+=r.lines;if(i<32){var n,o=[];for(n of e)n.flatten(o);return new TextLeaf(o,t)}let s=Math.max(32,i>>5),a=s<<1,l=s>>1,c=[],h=0,d=-1,u=[];function p(){0!=h&&(c.push(1==u.length?u[0]:TextNode.from(u,d)),d=-1,h=u.length=0)}for(var f of e)!function g(e){let t;if(e.lines>a&&e instanceof TextNode)for(var i of e.children)g(i);else e.lines>l&&(h>l||!h)?(p(),c.push(e)):e instanceof TextLeaf&&h&&(t=u[u.length-1])instanceof TextLeaf&&e.lines+t.lines<=32?(h+=e.lines,d+=e.length+1,u[u.length-1]=new TextLeaf(t.text.concat(e.text),t.length+1+e.length)):(h+e.lines>s&&p(),h+=e.lines,d+=e.length+1,u.push(e))}(f);return p(),1==c.length?c[0]:new TextNode(c,t)}};function textLength(e){let t=-1;for(var i of e)t+=i.length+1;return t}function appendText(i,r,n=0,o=1e9){for(let s=0,a=0,l=!0;a>1,s=(r instanceof TextLeaf?r.text:r.children).length;if(o==(0Math.max(0,e))return this.value=0==e?s:0n.length?(e-=n.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(n),this.offsets.push(0=this.to)?(this.value=\"\",this.done=!0):(e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos),i=t<0?this.pos-this.from:this.to-this.pos,r=(i-=e=ie?parseInt(e,36):1);for(let zb=1;zbe)return extend[t-1]<=e;return!1}function isRegionalIndicator(e){return 127462<=e&&e<=127487}var ZWJ=8205;function findClusterBreak(e,t,i=!0,r=!0){return(i?nextClusterBreak:prevClusterBreak)(e,t,r)}function nextClusterBreak(i,r,t){if(r!=i.length){r&&surrogateLow(i.charCodeAt(r))&&surrogateHigh(i.charCodeAt(r-1))&&r--;let e=codePointAt(i,r);for(r+=codePointSize(e);r>10),56320+(1023&e)))}function codePointSize(e){return e<65536?1:2}var DefaultSplit=/\\r\\n?|\\n/,MapMode=function(e){return e[e.Simple=0]=\"Simple\",e[e.TrackDel=1]=\"TrackDel\",e[e.TrackBefore=2]=\"TrackBefore\",e[e.TrackAfter=3]=\"TrackAfter\",e}(MapMode=MapMode||{}),ChangeDesc=class{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;tr)throw new RangeError(`Position ${e} is out of range for changeset of length `+r);return n}touchesRange(e,t=e){for(let n=0,o=0;n\"number\"!=typeof e))throw new RangeError(\"Invalid JSON representation of ChangeDesc\");return new ChangeDesc(e)}static create(e){return new ChangeDesc(e)}},ChangeSet=class extends ChangeDesc{constructor(e,t){super(e),this.inserted=t}apply(o){if(this.length!=o.length)throw new RangeError(\"Applying change set to a document with the wrong length\");return iterChanges(this,(e,t,i,r,n)=>o=o.replace(i,i+(t-e),n),!1),o}mapDesc(e,t=!1){return mapSet(this,e,t,!0)}invert(e){var t=this.sections.slice(),i=[];for(let s=0,a=0;s>1;i.length>1].toJSON()))}return e}static of(e,s,a){let l=[],c=[],h=0,d=null;function u(e=!1){var t;(e||l.length)&&(hh&&addSection(l,i-h,-1),addSection(l,r-i,o),addInsert(c,l,n),h=r)}}(e),u(!d),d}static empty(e){return new ChangeSet(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError(\"Invalid JSON representation of ChangeSet\");var t=[],i=[];for(let n=0;nt&&\"string\"!=typeof e))throw new RangeError(\"Invalid JSON representation of ChangeSet\");if(1==r.length)t.push(r[0],0);else{for(;i.length>1;if(r>1])),!(a||d==o.sections.length||o.sections[d+1]<0);)r=o.sections[d++],n=o.sections[d++];s(c,e,h,t,i),c=e,h=t}}}function mapSet(e,t,i,r=!1){var n=[],o=r?[]:null,s=new SectionIter(e),a=new SectionIter(t);for(let d=-1;;)if(-1==s.ins&&-1==a.ins){var l=Math.min(s.len,a.len);addSection(n,l,-1),s.forward(l),a.forward(l)}else if(0<=a.ins&&(s.ins<0||d==s.i||0==s.off&&(a.lenl||0<=s.ins&&s.len>l)&&(h||c>1;return t>=e.length?Text.empty:e[t]}textBit(e){var t=this.set[\"inserted\"],i=this.i-2>>1;return i>=t.length&&!e?Text.empty:t[i].slice(this.off,null==e?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},SelectionRange=class{constructor(e,t,i){this.from=e,this.to=t,this.flags=i}get anchor(){return 32&this.flags?this.to:this.from}get head(){return 32&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 8&this.flags?-1:16&this.flags?1:0}get bidiLevel(){var e=7&this.flags;return 7==e?null:e}get goalColumn(){var e=this.flags>>6;return 16777215==e?void 0:e}map(e,t=-1){let i,r;return this.empty?i=r=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),i==this.from&&r==this.to?this:new SelectionRange(i,r,this.flags)}extend(e,t=e){var i;return e<=this.anchor&&t>=this.anchor?EditorSelection.range(e,t):(i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t,EditorSelection.range(this.anchor,i))}eq(e,t=!1){return!(this.anchor!=e.anchor||this.head!=e.head||t&&this.empty&&this.assoc!=e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(e&&\"number\"==typeof e.anchor&&\"number\"==typeof e.head)return EditorSelection.range(e.anchor,e.head);throw new RangeError(\"Invalid JSON representation for SelectionRange\")}static create(e,t,i){return new SelectionRange(e,t,i)}},EditorSelection=class{constructor(e,t){this.ranges=e,this.mainIndex=t}map(t,i=-1){return t.empty?this:EditorSelection.create(this.ranges.map(e=>e.map(t,i)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;ie.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||\"number\"!=typeof e.main||e.main>=e.ranges.length)throw new RangeError(\"Invalid JSON representation for EditorSelection\");return new EditorSelection(e.ranges.map(e=>SelectionRange.fromJSON(e)),e.main)}static single(e,t=e){return new EditorSelection([EditorSelection.range(e,t)],0)}static create(e,t=0){if(0==e.length)throw new RangeError(\"A selection needs at least one range\");for(let r=0,n=0;ne.from-t.from),t=e.indexOf(i);for(let s=1;sn.head?EditorSelection.range(o,r):EditorSelection.range(r,o)))}return new EditorSelection(e,t)}};function checkSelection(e,t){for(var i of e.ranges)if(i.to>t)throw new RangeError(\"Selection points outside of document\")}var nextID=0,Facet=class{constructor(e,t,i,r,n){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=r,this.id=nextID++,this[\"default\"]=e([]),this.extensions=\"function\"==typeof n?n(this):n}get reader(){return this}static define(e={}){return new Facet(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:sameArray),!!e[\"static\"],e.enables)}of(e){return new FacetProvider([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error(\"Can't compute a static facet\");return new FacetProvider(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error(\"Can't compute a static facet\");return new FacetProvider(e,this,2,t)}from(t,i){return i=i||(e=>e),this.compute([t],e=>i(e.field(t)))}};function sameArray(e,i){return e==i||e.length==i.length&&e.every((e,t)=>e===i[t])}var FacetProvider=class{constructor(e,t,i,r){this.dependencies=e,this.facet=t,this.type=i,this.value=r,this.id=nextID++}dynamicSlot(e){var t,i;let o=this.value,s=this.facet.compareInput,a=this.id,l=e[a]>>1,c=2==this.type,r=!1,n=!1,h=[];for(i of this.dependencies)\"doc\"==i?r=!0:\"selection\"==i?n=!0:0==(1&(null!=(t=e[i.id])?t:1))&&h.push(e[i.id]);return{create(e){return e.values[l]=o(e),1},update(e,t){if(r&&t.docChanged||n&&(t.docChanged||t.selection)||ensureAll(e,h)){var i=o(e);if(c?!compareArray(i,e.values[l],s):!s(i,e.values[l]))return e.values[l]=i,1}return 0},reconfigure:(t,i)=>{let e,r=i.config.address[a];if(null!=r){var n=getAddr(i,r);if(this.dependencies.every(e=>e instanceof Facet?i.facet(e)===t.facet(e):!(e instanceof StateField)||i.field(e,!1)==t.field(e,!1))||(c?compareArray(e=o(t),n,s):s(e=o(t),n)))return t.values[l]=n,0}else e=o(t);return t.values[l]=e,1}}}};function compareArray(e,t,i){if(e.length!=t.length)return!1;for(let r=0;rt[e.id]),l=s.map(e=>e.type),r=a.filter(e=>!(1&e)),c=t[o.id]>>1;function h(e){var t=[];for(let n=0;ne===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){var t=e.facet(initField).find(e=>e.field==this);return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let n=e[this.id]>>1;return{create:e=>(e.values[n]=this.create(e),1),update:(e,t)=>{var i=e.values[n],r=this.updateF(i,t);return this.compareF(i,r)?0:(e.values[n]=r,1)},reconfigure:(e,t)=>null!=t.config.address[this.id]?(e.values[n]=t.field(this),0):(e.values[n]=this.create(e),1)}}init(e){return[this,initField.of({field:this,create:e})]}get extension(){return this}},Prec_={lowest:4,low:3,\"default\":2,high:1,highest:0};function prec(t){return e=>new PrecExtension(e,t)}var Prec={highest:prec(Prec_.highest),high:prec(Prec_.high),\"default\":prec(Prec_[\"default\"]),low:prec(Prec_.low),lowest:prec(Prec_.lowest)},PrecExtension=class{constructor(e,t){this.inner=e,this.prec=t}},Compartment=class{of(e){return new CompartmentInstance(this,e)}reconfigure(e){return Compartment.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},CompartmentInstance=class{constructor(e,t){this.compartment=e,this.inner=t}},Configuration=class{constructor(e,t,i,r,n,o){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=r,this.staticValues=n,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){var i,r=[],o=Object.create(null),s=new Map;for(i of flatten(e,t,s))(i instanceof StateField?r:o[i.facet.id]||(o[i.facet.id]=[])).push(i);let a=Object.create(null);var l=[],c=[];for(let f of r)a[f.id]=c.length<<1,c.push(e=>f.slot(e));var h,d=null==n?void 0:n.config.facets;for(h in o){let i=o[h],r=i[0].facet;var u=d&&d[h]||[];if(i.every(e=>0==e.type))a[r.id]=l.length<<1|1,sameArray(u,i)?l.push(n.facet(r)):(u=r.combine(i.map(e=>e.value)),l.push(n&&r.compare(u,n.facet(r))?n.facet(r):u));else{for(let t of i)0==t.type?(a[t.id]=l.length<<1|1,l.push(t.value)):(a[t.id]=c.length<<1,c.push(e=>t.dynamicSlot(e)));a[r.id]=c.length<<1,c.push(e=>dynamicFacetSlot(e,r,i))}}var p=c.map(e=>e(a));return new Configuration(e,s,p,a,l,o)}};function flatten(e,o,s){let a=[[],[],[],[],[]],l=new Map;return function c(e,t){var i=l.get(e);if(null!=i){if(i<=t)return;var r=a[i].indexOf(e);-1e.concat(t))}function ensureAddr(e,t){if(1&t)return 2;var i=t>>1,r=e.status[i];if(4==r)throw new Error(\"Cyclic dependency between fields and/or facets\");if(2&r)return r;e.status[i]=4;r=e.computeSlot(e,e.config.dynamicSlots[i]);return e.status[i]=2|r}function getAddr(e,t){return(1&t?e.config.staticValues:e.values)[t>>1]}var languageData=Facet.define(),allowMultipleSelections=Facet.define({combine:e=>e.some(e=>e),\"static\":!0}),lineSeparator=Facet.define({combine:e=>e.length?e[0]:void 0,\"static\":!0}),changeFilter=Facet.define(),transactionFilter=Facet.define(),transactionExtender=Facet.define(),readOnly=Facet.define({combine:e=>!!e.length&&e[0]}),Annotation=class{constructor(e,t){this.type=e,this.value=t}static define(){return new AnnotationType}},AnnotationType=class{of(e){return new Annotation(this,e)}},StateEffectType=class{constructor(e){this.map=e}of(e){return new StateEffect(this,e)}},StateEffect=class{constructor(e,t){this.type=e,this.value=t}map(e){var t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new StateEffect(this.type,t)}is(e){return this.type==e}static define(e={}){return new StateEffectType(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;var i,r=[];for(i of e){var n=i.map(t);n&&r.push(n)}return r}},Transaction=(StateEffect.reconfigure=StateEffect.define(),StateEffect.appendConfig=StateEffect.define(),class{constructor(e,t,i,r,n,o){this.startState=e,this.changes=t,this.selection=i,this.effects=r,this.annotations=n,this.scrollIntoView=o,this._doc=null,this._state=null,i&&checkSelection(i,t.newLength),n.some(e=>e.type==Transaction.time)||(this.annotations=n.concat(Transaction.time.of(Date.now())))}static create(e,t,i,r,n,o){return new Transaction(e,t,i,r,n,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(var t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){var t=this.annotation(Transaction.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&\".\"==t[e.length]))}});function joinRanges(i,r){var n=[];for(let o=0,s=0;;){let e,t;if(o=i[o]))e=i[o++],t=i[o++];else{if(!(s{if(!/\\S/.test(e))return CharCategory.Space;if(hasWordChar(e))return CharCategory.Word;for(let t=0;tr.set(t,e)),e=null),r.set(n.value.compartment,n.value.extension)):n.is(StateEffect.reconfigure)?(e=null,t=n.value):n.is(StateEffect.appendConfig)&&(e=null,t=asArray(t).concat(n.value));let o;o=e?i.startState.values.slice():(e=Configuration.resolve(t,r,this),new EditorState(e,this.doc,this.selection,e.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values);var s=i.startState.facet(allowMultipleSelections)?i.newSelection:i.newSelection.asSingle();new EditorState(e,i.newDoc,s,o,(e,t)=>t.update(e,i),i)}replaceSelection(t){return\"string\"==typeof t&&(t=this.toText(t)),this.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:t},range:EditorSelection.cursor(e.from+t.length)}))}changeByRange(t){var i=this.selection,e=t(i.ranges[0]);let r=this.changes(e.changes),n=[e.range],o=asArray(e.effects);for(let c=1;ct.spec.fromJSON(i,e)))}return EditorState.create({doc:e.doc,selection:EditorSelection.fromJSON(e.selection),extensions:t.extensions?n.concat([t.extensions]):n})}static create(e={}){var t=Configuration.resolve(e.extensions||[],new Map),i=e.doc instanceof Text?e.doc:Text.of((e.doc||\"\").split(t.staticFacet(EditorState.lineSeparator)||DefaultSplit));let r=e.selection?e.selection instanceof EditorSelection?e.selection:EditorSelection.single(e.selection.anchor,e.selection.head):EditorSelection.single(0);return checkSelection(r,i.length),t.staticFacet(allowMultipleSelections)||(r=r.asSingle()),new EditorState(t,i,r,t.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(EditorState.tabSize)}get lineBreak(){return this.facet(EditorState.lineSeparator)||\"\\n\"}get readOnly(){return this.facet(readOnly)}phrase(e,...r){for(var t of this.facet(EditorState.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return e=r.length?e.replace(/\\$(\\$|\\d*)/g,(e,t)=>{var i;return\"$\"==t?\"$\":!(i=+(t||1))||i>r.length?e:r[i-1]}):e}languageDataAt(e,t,i=-1){var r,n=[];for(r of this.facet(languageData))for(var o of r(this,t,i))Object.prototype.hasOwnProperty.call(o,e)&&n.push(o[e]);return n}charCategorizer(e){return makeCategorizer(this.languageDataAt(\"wordChars\",e).join(\"\"))}wordAt(e){var{text:t,from:i,length:r}=this.doc.lineAt(e),n=this.charCategorizer(e);let o=e-i,s=e-i;for(;0e.length?e[0]:4}),EditorState.lineSeparator=lineSeparator,EditorState.readOnly=readOnly,EditorState.phrases=Facet.define({compare(t,i){var e=Object.keys(t),r=Object.keys(i);return e.length==r.length&&e.every(e=>t[e]==i[e])}}),EditorState.languageData=languageData,EditorState.changeFilter=changeFilter,EditorState.transactionFilter=transactionFilter,EditorState.transactionExtender=transactionExtender,Compartment.reconfigure=StateEffect.define();var RangeValue=class{eq(e){return this==e}range(e,t=e){return Range.create(e,t,this)}},Range=(RangeValue.prototype.startSide=RangeValue.prototype.endSide=0,RangeValue.prototype.point=!1,RangeValue.prototype.mapMode=MapMode.TrackDel,class{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new Range(e,t,i)}});function cmpRange(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}var Chunk=class{constructor(e,t,i,r){this.from=e,this.to=t,this.value=i,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,r=0){var n=i?this.to:this.from;for(let a=r,l=n.length;;){if(a==l)return a;var o=a+l>>1,s=n[o]-e||(i?this.value[o].endSide:this.value[o].startSide)-t;if(o==a)return 0<=s?a:l;0<=s?l=o:a=1+o}}between(e,t,i,r){for(let n=this.findIndex(t,-1e9,!0),o=this.findIndex(i,1e9,!1,n);nn||r==n&&0this.chunkEnd(s.chunkIndex)||ns.to||n0=n),s=t.filter(e=>0=n),a=findSharedChunks(o,s,i);let l=new SpanCursor(o,a,n),c=new SpanCursor(s,a,n);i.iterGaps((e,t,i)=>compare(l,e,c,t,i,r)),i.empty&&0==i.length&&compare(l,0,c,0,0,r)}static eq(t,i,e=0,r){null==r&&(r=1e9-1);var n=t.filter(e=>!e.isEmpty&&i.indexOf(e)<0),o=i.filter(e=>!e.isEmpty&&t.indexOf(e)<0);if(n.length!=o.length)return!1;if(!n.length)return!0;for(var s=findSharedChunks(n,o),a=new SpanCursor(n,s,0)[\"goto\"](e),l=new SpanCursor(o,s,0)[\"goto\"](e);;){if(a.to!=l.to||!sameValues(a.active,l.active)||a.point&&(!l.point||!a.point.eq(l.point)))return!1;if(a.to>r)return!0;a.next(),l.next()}}static spans(e,t,i,r,n=-1){let o=new SpanCursor(e,null,n)[\"goto\"](t),s=t,a=o.openStart;for(;;){var l,c,h=Math.min(o.to,i);if(o.point?(l=o.activeForPoint(o.to),c=o.pointFroms&&(r.span(s,h,o.active,a),a=o.openEnd(h)),o.to>i)return a+(o.point&&o.to>i?1:0);s=o.to,o.next()}}static of(e,t=!1){var i,r=new RangeSetBuilder;for(i of e instanceof Range?[e]:t?lazySort(e):e)r.add(i.from,i.to,i.value);return r.finish()}static join(t){if(!t.length)return RangeSet.empty;let i=t[t.length-1];for(let r=t.length-2;0<=r;r--)for(let e=t[r];e!=RangeSet.empty;e=e.nextLayer)i=new RangeSet(e.chunkPos,e.chunk,i,Math.max(e.maxPoint,i.maxPoint));return i}};function lazySort(i){if(1=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=r&&n.push(new LayerCursor(e,i,r,o));return 1==n.length?n[0]:new HeapCursor(n)}get startSide(){return this.value?this.value.startSide:0}\"goto\"(e,t=-1e9){for(var i of this.heap)i[\"goto\"](e,t);for(let r=this.heap.length>>1;0<=r;r--)heapBubble(this.heap,r);return this.next(),this}forward(e,t){for(var i of this.heap)i.forward(e,t);for(let r=this.heap.length>>1;0<=r;r--)heapBubble(this.heap,r);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){var e;0==this.heap.length?(this.from=this.to=1e9,this.value=null,this.rank=-1):(e=this.heap[0],this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),heapBubble(this.heap,0))}};function heapBubble(i,r){for(var n=i[r];;){let e=1+(r<<1);if(e>=i.length)break;let t=i[e];if(e+1t){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),i&&remove(i,r)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>t){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}r=this.cursor.value;if(r.point){if(!(e&&this.cursor.to==this.to&&this.cursor.frome||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;0<=i&&this.activeTo[i]>e;i--)t++;return t}};function compare(e,t,i,r,n,o){e[\"goto\"](t),i[\"goto\"](r);var s=r+n;let a=r,l=r-t;for(;;){var c=e.to+l-i.to||e.endSide-i.endSide,h=c<0?e.to+l:i.to,d=Math.min(h,s);if(e.point||i.point?e.point&&i.point&&(e.point==i.point||e.point.eq(i.point))&&sameValues(e.activeForPoint(e.to),i.activeForPoint(i.to))||o.comparePoint(a,d,e.point,i.point):d>a&&!sameValues(e.active,i.active)&&o.compareRange(a,d,e.active,i.active),s=t;r--)e[r+1]=e[r];e[t]=i}function findMinIndex(e,t){let i=-1,r=1e9;for(let n=0;n=t)return n;if(n==e.length)break;o+=9==e.charCodeAt(n)?i-o%i:1,n=findClusterBreak(e,n)}return!0===r?-1:e.length}var i,code,C=\"ͼ\",COUNT=\"undefined\"==typeof Symbol?\"__\"+C:Symbol[\"for\"](C),SET=\"undefined\"==typeof Symbol?\"__styleSet\"+Math.floor(1e8*Math.random()):Symbol(\"styleSet\"),top=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:{},StyleModule=class{constructor(e,t){this.rules=[];let c=(t||{})[\"finish\"];function h(e){return/^@/.test(e)?[e]:e.split(/,\\s*/)}for(var i in e)!function d(e,t,i,r){var n,o=[],s=/^@(\\w+)\\b/.exec(e[0]),a=s&&\"keyframes\"==s[1];if(s&&null==t)return i.push(e[0]+\";\");for(n in t){var l=t[n];if(/&/.test(n))d(n.split(/,\\s*/).map(t=>e.map(e=>t.replace(/&/,e))).reduce((e,t)=>e.concat(t)),l,i);else if(l&&\"object\"==typeof l){if(!s)throw new RangeError(\"The value of a property (\"+n+\") should be a primitive value.\");d(h(n),l,o,a)}else null!=l&&o.push(n.replace(/_.*/,\"\").replace(/[A-Z]/g,e=>\"-\"+e.toLowerCase())+\": \"+l+\";\")}(o.length||a)&&i.push((!c||s||r?e:e.map(c)).join(\", \")+\" {\"+o.join(\" \")+\"}\")}(h(i),e[i],this.rules)}getRules(){return this.rules.join(\"\\n\")}static newName(){var e=top[COUNT]||1;return top[COUNT]=e+1,C+e.toString(36)}static mount(e,t,i){let r=e[SET],n=i&&i.nonce;r?n&&r.setNonce(n):r=new StyleSet(e,n),r.mount(Array.isArray(t)?t:[t])}},adoptedSet=new Map,StyleSet=class{constructor(e,t){var i=e.ownerDocument||e,r=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){var n=adoptedSet.get(i);if(n)return e.adoptedStyleSheets=[n.sheet,...e.adoptedStyleSheets],e[SET]=n;this.sheet=new r.CSSStyleSheet,e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets],adoptedSet.set(i,this)}else{this.styleTag=i.createElement(\"style\"),t&&this.styleTag.setAttribute(\"nonce\",t);n=e.head||e;n.insertBefore(this.styleTag,n.firstChild)}this.modules=[],e[SET]=this}mount(i){var r=this.sheet;let n=0,o=0;for(let s=0;s\",191:\"?\",192:\"~\",219:\"{\",220:\"|\",221:\"}\",222:'\"'},mac=\"undefined\"!=typeof navigator&&/Mac/.test(navigator.platform),ie=\"undefined\"!=typeof navigator&&/MSIE \\d|Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(navigator.userAgent);for(i=0;i<10;i++)base[48+i]=base[96+i]=String(i);for(i=1;i<=24;i++)base[i+111]=\"F\"+i;for(i=65;i<=90;i++)base[i]=String.fromCharCode(i+32),shift[i]=String.fromCharCode(i);for(code in base)shift.hasOwnProperty(code)||(shift[code]=base[code]);function keyName(e){var t=!(mac&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||ie&&e.shiftKey&&e.key&&1==e.key.length||\"Unidentified\"==e.key)&&e.key||(e.shiftKey?shift:base)[e.keyCode]||e.key||\"Unidentified\";return t=\"Down\"==(t=\"Right\"==(t=\"Up\"==(t=\"Left\"==(t=\"Del\"==(t=\"Esc\"==t?\"Escape\":t)?\"Delete\":t)?\"ArrowLeft\":t)?\"ArrowUp\":t)?\"ArrowRight\":t)?\"ArrowDown\":t}function getSelection(e){let t;return(t=11!=e.nodeType||e.getSelection?e:e.ownerDocument).getSelection()}function contains(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function deepActiveElement(e){let t=e.activeElement;for(;t&&t.shadowRoot;)t=t.shadowRoot.activeElement;return t}function hasSelection(e,t){if(!t.anchorNode)return!1;try{return contains(e,t.anchorNode)}catch(_){return!1}}function clientRectsFor(e){return 3==e.nodeType?textRange(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function isEquivalentPosition(e,t,i,r){return!!i&&(scanFor(e,t,i,r,-1)||scanFor(e,t,i,r,1))}function domIndex(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function scanFor(e,t,i,r,n){for(;;){if(e==i&&t==r)return!0;if(t==(n<0?0:maxOffset(e))){if(\"DIV\"==e.nodeName)return!1;var o=e.parentNode;if(!o||1!=o.nodeType)return!1;t=domIndex(e)+(n<0?0:1),e=o}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(n<0?-1:0)]).nodeType&&\"false\"==e.contentEditable)return!1;t=n<0?maxOffset(e):0}}}function maxOffset(e){return(3==e.nodeType?e.nodeValue:e.childNodes).length}function flattenRect(e,t){var i=t?e.left:e.right;return{left:i,right:i,top:e.top,bottom:e.bottom}}function windowRect(e){return{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}function getScale(e,t){let i=t.width/e.offsetWidth,r=t.height/e.offsetHeight;return(.995e.bottom+o&&(o=s.bottom-e.bottom+o+d)):s.bottom>e.bottom&&(o=s.bottom-e.bottom+d,a<0)&&s.top-oe.right+n&&(n=s.right-e.right+n+h)):s.right>e.right&&(n=s.right-e.right+h,a<0)&&s.lefti.clientHeight||i.scrollWidth>i.clientWidth)return i;i=i.assignedSlot||i.parentNode}else{if(11!=i.nodeType)break;i=i.host}return null}var scratchRange,DOMSelectionState=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){var{anchorNode:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?maxOffset(t):0),i,Math.min(e.focusOffset,i?maxOffset(i):0))}set(e,t,i,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=r}},preventScrollSupported=null;function focusPreventScroll(e){if(e.setActive)return e.setActive();if(preventScrollSupported)return e.focus(preventScrollSupported);var t=[];for(let o=e;o&&(t.push(o,o.scrollTop,o.scrollLeft),o!=o.ownerDocument);o=o.parentNode);if(e.focus(null==preventScrollSupported?{get preventScroll(){return preventScrollSupported={preventScroll:!0},!0}}:void 0),!preventScrollSupported){preventScrollSupported=!1;for(let e=0;eMath.max(1,e.scrollHeight-e.clientHeight-4)}var DOMPos=class{constructor(e,t,i=!0){this.node=e,this.offset=t,this.precise=i}static before(e,t){return new DOMPos(e.parentNode,domIndex(e),t)}static after(e,t){return new DOMPos(e.parentNode,domIndex(e)+1,t)}},noChildren=[],ContentView=class{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(var i of this.children){if(i==e)return t;t+=i.length+i.breakAfter}throw new RangeError(\"Invalid child in posBefore\")}posAfter(e){return this.posBefore(e)+e.length}sync(i,r){if(2&this.flags){var n,o,s=this.dom;let e=null,t;for(n of this.children){if(7&n.flags&&(n.dom||!(t=e?e.nextSibling:s.firstChild)||(o=ContentView.get(t))&&(o.parent||!o.canReuseDOM(n))||n.reuseDOM(t),n.sync(i,r),n.flags&=-8),t=e?e.nextSibling:s.firstChild,r&&!r.written&&r.node==s&&t!=n.dom&&(r.written=!0),n.dom.parentNode==s)for(;t&&t!=n.dom;)t=rm$1(t);else s.insertBefore(n.dom,t);e=n.dom}for((t=e?e.nextSibling:s.firstChild)&&r&&r.node==s&&(r.written=!0);t;)t=rm$1(t)}else if(1&this.flags)for(var e of this.children)7&e.flags&&(e.sync(i,r),e.flags&=-8)}reuseDOM(e){}localPosFromDOM(t,i){let r;if(t==this.dom)r=this.dom.childNodes[i];else{let e=0==maxOffset(t)?0:0==i?-1:1;for(;;){var n=t.parentNode;if(n==this.dom)break;0==e&&n.firstChild!=n.lastChild&&(e=t==n.firstChild?-1:1),t=n}r=e<0?t:t.nextSibling}if(r==this.dom.firstChild)return 0;for(;r&&!ContentView.get(r);)r=r.nextSibling;if(!r)return this.length;for(let o=0,s=0;;o++){var e=this.children[o];if(e.dom==r)return s;s+=e.length+e.breakAfter}}domBoundsAround(e,t,i=0){let r=-1,n=-1,o=-1,s=-1;for(let c=0,h=i,d=i;ct&&a.dom.parentNode==this.dom){o=c,s=d;break}d=l,h=l+a.breakAfter}return{from:n,to:s<0?i+this.length:s,startDOM:(r?this.children[r-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:othis.pos||e==this.pos&&(0MaxJoinLen||8&i.flags)||(this.text=this.text.slice(0,e)+(i?i.text:\"\")+this.text.slice(t),this.markDirty(),0))}split(e){var t=new TextView(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=8&this.flags,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new DOMPos(this.dom,e)}domBoundsAround(e,t,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return textCoords(this.dom,e,t)}},MarkView=class extends ContentView{constructor(e,t=[],i=0){super(),this.mark=e,this.children=t,this.length=i;for(var r of t)r.setParent(this)}setAttrs(e){if(clearAttributes(e),this.mark[\"class\"]&&(e.className=this.mark[\"class\"]),this.mark.attrs)for(var t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!(8&(this.flags|e.flags))}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,i,r,n,o){return!(i&&(!(i instanceof MarkView&&i.mark.eq(this.mark))||e&&n<=0||t=e&&(r=n),i=s,n++}var a=this.length-e;return this.length=e,-1e.width)||a),s?flattenRect(a,s<0):a||null}var WidgetView=class extends ContentView{static create(e,t,i){return new WidgetView(e,t,i)}constructor(e,t,i){super(),this.widget=e,this.length=t,this.side=i,this.prevWidget=null}split(e){var t=WidgetView.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable)||(this.dom.contentEditable=\"false\")}getSide(){return this.side}merge(e,t,i,r,n,o){return!(i&&(!(i instanceof WidgetView&&this.widget.compare(i.widget))||0c&&te instanceof TextView))||((i=document.createElement(\"BR\")).cmIgnore=!0,this.dom.appendChild(i))}measureTextSize(){if(0==this.children.length||20=e?i[n]=Math.max(i[n],t):i.push(e,t)}PointDecoration.prototype.point=!0;var ContentBuilder=class{constructor(e,t,i,r){this.doc=e,this.pos=t,this.end=i,this.disallowBlockEffectsFor=r,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text=\"\",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){var e;return 0==this.content.length?!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos:!((e=this.content[this.content.length-1]).breakAfter||e instanceof BlockWidgetView&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new LineView),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(wrapMarks(new WidgetBufferView(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||e&&this.content.length&&this.content[this.content.length-1]instanceof BlockWidgetView||this.getLine()}buildText(e,t,i){for(;0this.doc.lineAt(this.pos).to)throw new RangeError(\"Decorations that replace line breaks may not be specified via plugins\")}var s,a,l,c,h=t-e;i instanceof PointDecoration?i.block?(0r.length||i.startSide<=0),c=this.getLine(),2!=this.pendingBuffer||a||s.isEditable||(this.pendingBuffer=0),this.flushBuffer(r),a&&(c.append(wrapMarks(new WidgetBufferView(1),r),n),n=r.length+Math.max(0,n-r.length)),c.append(wrapMarks(s,r),n),this.atCursorPos=l,this.pendingBuffer=l?er.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=r.slice())):this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i),h&&(this.textOff+h<=this.text.length?this.textOff+=h:(this.skip+=h-(this.text.length-this.textOff),this.text=\"\",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=n)}static build(e,t,i,r,n){var o=new ContentBuilder(e,t,i,n);return o.openEnd=RangeSet.spans(r,t,i,o),o.openStart<0&&(o.openStart=o.openEnd),o.finish(o.openEnd),o}};function wrapMarks(e,t){for(var i of t)e=new MarkView(i,[e],e.length);return e}var NullWidget=class extends WidgetType{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}},Direction=function(e){return e[e.LTR=0]=\"LTR\",e[e.RTL=1]=\"RTL\",e}(Direction=Direction||{}),LTR=Direction.LTR,RTL=Direction.RTL;function dec(e){var t=[];for(let i=0;i=t){if(o.level==i)return s;(n<0||(0!=r?r<0?o.fromt:e[n].level>o.level))&&(n=s)}}if(n<0)throw new RangeError(\"Index out of range\");return n}};function isolatesEq(e,t){if(e.length!=t.length)return!1;for(let n=0;no;)t==r&&(t=l[--i].from,r=i?l[i-1].to:s),types[--t]=d;o=e}else p=t,o++}}}function emitSpans(a,l,c,h,d,u,p){var f=h%2?2:1;if(h%2==d%2)for(let r=l,n=0;rr&&p.push(new BidiSpan(r,v.from,O)),computeSectionOrder(a,v.direction==LTR!=!(O%2)?h+1:h,d,v.inner,v.from,v.to,p),r=v.to),t=v.to}else{if(t==c||(i?types[t]!=f:types[t]==f))break;t++}m?emitSpans(a,r,t,h+1,d,m,p):rl;){let i=!0,e=!1;(!s||o>u[s-1].to)&&(y=types[o-1])!=f&&(i=!1,e=16==y);var y,S=i||1!=f?null:[],w=i?h:h+1;let t=o;e:for(;;)if(s&&t==u[s-1].to){if(e)break;var k=u[--s];if(!i)for(let e=k.from,t=s;;){if(e==l)break e;if(!t||u[t-1].to!=e){if(types[e-1]==f)break e;break}e=u[--t].from}S?S.push(k):(k.totypes.length;)types[types.length]=256;var r=[],n=t==LTR?0:1;return computeSectionOrder(e,n,n,i,0,e.length,r),r}function trivialOrder(e){return[new BidiSpan(0,e,0)]}var movedOver=\"\";function moveVisually(e,t,i,r,n){let o=r.head-e.from,s=BidiSpan.find(t,o,null!=(c=r.bidiLevel)?c:-1,r.assoc),a=t[s],l=a.side(n,i);if(o==l){var c=s+=n?1:-1;if(c<0||c>=t.length)return null;a=t[s=c],o=a.side(!n,i),l=a.side(n,i)}let h=findClusterBreak(e.text,o,a.forward(n,i));(ha.to)&&(h=l),movedOver=e.text.slice(Math.min(o,h),Math.max(o,h));c=s==(n?t.length-1:0)?null:t[s+(n?1:-1)];return c&&h==l&&c.level+(n?0:1)e.some(e=>e)}),nativeSelectionHidden=Facet.define({combine:e=>e.some(e=>e)}),ScrollTarget=class{constructor(e,t=\"nearest\",i=\"nearest\",r=5,n=5,o=!1){this.range=e,this.y=t,this.x=i,this.yMargin=r,this.xMargin=n,this.isSnapshot=o}map(e){return e.empty?this:new ScrollTarget(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new ScrollTarget(EditorSelection.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},scrollIntoView=StateEffect.define({map:(e,t)=>e.map(t)});function logException(e,t,i){var r=e.facet(exceptionSink);r.length?r[0](t):window.onerror?window.onerror(String(t),i,void 0,void 0,t):i?console.error(i+\":\",t):console.error(t)}var editable=Facet.define({combine:e=>!e.length||e[0]}),nextPluginID=0,viewPlugin=Facet.define(),ViewPlugin=class{constructor(e,t,i,r,n){this.id=e,this.create=t,this.domEventHandlers=i,this.domEventObservers=r,this.extension=n(this)}static define(e,t){const{eventHandlers:i,eventObservers:r,provide:n,decorations:o}=t||{};return new ViewPlugin(nextPluginID++,e,i,r,i=>{var e=[viewPlugin.of(i)];return o&&e.push(decorations.of(e=>{var t=e.plugin(i);return t?o(t):Decoration.none})),n&&e.push(n(i)),e})}static fromClass(t,e){return ViewPlugin.define(e=>new t(e),e)}},PluginInstance=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){var t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(i){if(logException(t.state,i,\"CodeMirror plugin crashed\"),this.value.destroy)try{this.value.destroy()}catch(_){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(i){logException(e.state,i,\"CodeMirror plugin crashed\"),this.deactivate()}return this}destroy(e){var t;if(null!=(t=this.value)&&t.destroy)try{this.value.destroy()}catch(i){logException(e.state,i,\"CodeMirror plugin crashed\")}}deactivate(){this.spec=this.value=null}},editorAttributes=Facet.define(),contentAttributes=Facet.define(),decorations=Facet.define(),outerDecorations=Facet.define(),atomicRanges=Facet.define(),bidiIsolatedRanges=Facet.define();function getIsolatedRanges(t,c){var e=t.state.facet(bidiIsolatedRanges);if(!e.length)return e;e=e.map(e=>e instanceof Function?e(t):e);let h=[];return RangeSet.spans(e,c.from,c.to,{point(){},span(e,t,i,r){var n,o=e-c.from,s=t-c.from;let a=h;for(let l=i.length-1;0<=l;l--,r--){let e=i[l].spec.bidiIsolate,t;null==e&&(e=autoDirection(c.text,o,s)),a=(0i.toA)){if(r.toAn.push(new ChangedRange(e,t,i,r))),this.changedRanges=n}static create(e,t,i){return new ViewUpdate(e,t,i)}get viewportChanged(){return 0<(4&this.flags)}get heightChanged(){return 0<(2&this.flags)}get geometryChanged(){return this.docChanged||0<(10&this.flags)}get focusChanged(){return 0<(1&this.flags)}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}},DocView=class extends ContentView{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new LineView],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new ChangedRange(0,0,0,e.state.doc.length)],0,null)}update(e){let t=e.changedRanges,i=(0tthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),-1);0<=this.view.inputState.composing&&(null!=(r=this.domChanged)&&r.newSel?i=this.domChanged.newSel.head:touchesComposition(e.changes,this.hasComposition)||e.selectionSet||(i=e.state.selection.main.head));var r=-1{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+\"px\",this.dom.style.flexBasis=this.minWidth?this.minWidth+\"px\":\"\";var e=browser.chrome||browser.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.flags&=-8,e&&(e.written||r.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=\"\"}),this.markedForComposition.forEach(e=>e.flags&=-9);var n=[];if(this.view.viewport.from||this.view.viewport.toi?(d=ContentBuilder.build(this.view.state.doc,i,l.range.fromB,this.decorations,this.dynamicDecorationMap),p=ContentBuilder.build(this.view.state.doc,l.range.toB,r,this.decorations,this.dynamicDecorationMap),o=d.breakAtStart,s=d.openStart,a=p.openEnd,u=this.compositionView(l),p.breakAtStart?u.breakAfter=1:p.content.length&&u.merge(u.length,u.length,p.content[0],!1,p.openStart,0)&&(u.breakAfter=p.content[0].breakAfter,p.content.shift()),d.content.length&&u.merge(0,0,d.content[d.content.length-1],!0,0,d.openEnd)&&d.content.pop(),n=d.content.concat(u).concat(p.content)):({content:n,breakAtStart:o,openStart:s,openEnd:a}=ContentBuilder.build(this.view.state.doc,i,r,this.decorations,this.dynamicDecorationMap));var{i:u,off:d}=h.findPos(t,1),{i:p,off:f}=h.findPos(e,-1);replaceRange(this,p,f,u,d,n,o,s,a)}l&&this.fixCompositionDOM(l)}compositionView(e){let t=new TextView(e.text.nodeValue);t.flags|=8;for(var{deco:i}of e.marks)t=new MarkView(i,[t],t.length);var r=new LineView;return r.append(t,0),r}fixCompositionDOM(e){var t=(e,t)=>{t.flags|=8|(t.children.some(e=>7&e.flags)?1:0),this.markedForComposition.add(t);var i=ContentView.get(e);i&&i!=t&&(i.dom=null),t.setDOM(e)};let i=this.childPos(e.range.fromB,1),r=this.children[i.i];t(e.line,r);for(let n=e.marks.length-1;-1<=n;n--)i=r.childPos(i.off,1),r=r.children[i.i],t(0<=n?e.marks[n].node:e.text,r)}updateSelection(e=!1,t=!1){!e&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let s=this.view.root.activeElement,i=s==this.dom,a=!i&&hasSelection(this.dom,this.view.observer.selectionRange)&&!(s&&this.dom.contains(s));if(i||t||a){let t=this.forceSelection,i=(this.forceSelection=!1,this.view.state.selection.main),r=this.moveToLine(this.domAtPos(i.anchor)),n=i.empty?r:this.moveToLine(this.domAtPos(i.head));if(browser.gecko&&i.empty&&!this.hasComposition&&betweenUneditable(r)){let e=document.createTextNode(\"\");this.view.observer.ignore(()=>r.node.insertBefore(e,r.node.childNodes[r.offset]||null)),r=n=new DOMPos(e,0),t=!0}let o=this.view.observer.selectionRange;!t&&o.focusNode&&(isEquivalentPosition(r.node,r.offset,o.anchorNode,o.anchorOffset)&&isEquivalentPosition(n.node,n.offset,o.focusNode,o.focusOffset)||this.suppressWidgetCursorChange(o,i))||(this.view.observer.ignore(()=>{browser.android&&browser.chrome&&this.dom.contains(o.focusNode)&&inUneditable(o.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));var e=getSelection(this.view.root);if(e)if(i.empty)browser.gecko&&(t=nextToUneditable(r.node,r.offset))&&3!=t&&(t=nearbyTextNode(r.node,r.offset,1==t?1:-1))&&(r=new DOMPos(t.node,t.offset)),e.collapse(r.node,r.offset),null!=i.bidiLevel&&void 0!==e.caretBidiLevel&&(e.caretBidiLevel=i.bidiLevel);else if(e.extend){e.collapse(r.node,r.offset);try{e.extend(n.node,n.offset)}catch(_){}}else{var t=document.createRange();i.anchor>i.head&&([r,n]=[n,r]),t.setEnd(n.node,n.offset),t.setStart(r.node,r.offset),e.removeAllRanges(),e.addRange(t)}a&&this.view.root.activeElement==this.dom&&(this.dom.blur(),s)&&s.focus()}),this.view.observer.setSelectionRange(r,n)),this.impreciseAnchor=r.precise?null:new DOMPos(o.anchorNode,o.anchorOffset),this.impreciseHead=n.precise?null:new DOMPos(o.focusNode,o.focusOffset)}}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&isEquivalentPosition(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){var e,t,i,r,n,o,s;this.hasComposition||(e=this[\"view\"],t=e.state.selection.main,i=getSelection(e.root),({anchorNode:r,anchorOffset:n}=e.observer.selectionRange),i&&t.empty&&t.assoc&&i.modify&&(s=LineView.find(this,t.head))&&(o=s.posAtStart,t.head==o||t.head==o+s.length||(o=this.coordsAt(t.head,-1),s=this.coordsAt(t.head,1),!o)||!s||o.bottom>s.top||(o=this.domAtPos(t.head+t.assoc),i.collapse(o.node,o.offset),i.modify(\"move\",t.assoc<0?\"forward\":\"backward\",\"lineboundary\"),e.observer.readSelectionRange(),s=e.observer.selectionRange,e.docView.posFromDOM(s.anchorNode,s.anchorOffset)!=t.from&&i.collapse(r,n))))}moveToLine(e){let t=this.dom,i;if(e.node!=t)return e;for(let o=e.offset;!i&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1;let s=-1,a=this.view.textDirection==Direction.LTR;for(let u=0,p=0;p=i&&(c=h.dom.getBoundingClientRect(),t.push(c.height),o)&&(l=(l=h.dom.lastChild)?clientRectsFor(l):[]).length&&(l=l[l.length-1],(c=a?l.right-c.left:c.right-l.left)>s)&&(s=c,this.minWidth=n,this.minWidthFrom=u,this.minWidthTo=d),u=d+h.breakAfter}return t}textDirectionAt(e){var t=this.childPos(e,1)[\"i\"];return\"rtl\"==getComputedStyle(this.children[t].dom).direction?Direction.RTL:Direction.LTR}measureTextSize(){for(var e of this.children)if(e instanceof LineView){e=e.measureTextSize();if(e)return e}let t=document.createElement(\"div\"),i,r,n;return t.className=\"cm-line\",t.style.width=\"99999px\",t.style.position=\"absolute\",t.textContent=\"abc def ghi jkl mno pqr stu\",this.view.observer.ignore(()=>{this.dom.appendChild(t);var e=clientRectsFor(t.firstChild)[0];i=t.getBoundingClientRect().height,r=e?e.width/27:7,n=e?e.height:i,t.remove()}),{lineHeight:i,charWidth:r,textHeight:n}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new ChildCursor(this.children,e,t)}computeBlockGapDeco(){var e=[],t=this.view.viewState;for(let o=0,s=0;;s++){var i,r=s==t.viewports.length?null:t.viewports[s],n=r?r.from-1:this.length;if(n>o&&(i=(t.lineBlockAt(n).bottom-t.lineBlockAt(o).top)/this.view.scaleY,e.push(Decoration.replace({widget:new BlockGapWidget(i),block:!0,inclusive:!0,isBlockGap:!0}).range(o,n))),!r)break;o=r.to+1}return Decoration.set(e)}updateDeco(){var e=this.view.state.facet(decorations).map((e,t)=>{return(this.dynamicDecorationMap[t]=\"function\"==typeof e)?e(this.view):e});let r=!1,t=this.view.state.facet(outerDecorations).map((e,t)=>{var i=\"function\"==typeof e;return i&&(r=!0),i?e(this.view):e});t.length&&(this.dynamicDecorationMap[e.length]=r,e.push(RangeSet.join(t)));for(let i=e.length;is.anchor?-1:1),t;e&&(!s.empty&&(t=this.coordsAt(s.anchor,s.anchor>s.head?-1:1))&&(e={left:Math.min(e.left,t.left),top:Math.min(e.top,t.top),right:Math.max(e.right,t.right),bottom:Math.max(e.bottom,t.bottom)}),r=getScrollMargins(this.view),r={left:e.left-r.left,top:e.top-r.top,right:e.right+r.right,bottom:e.bottom+r.bottom},({offsetWidth:n,offsetHeight:o}=this.view.scrollDOM),scrollRectIntoView(this.view.scrollDOM,r,s.head{ei.from&&(r=!0)}),r}function groupAt(e,t,i=1){var r=e.charCategorizer(t),n=e.doc.lineAt(t),o=t-n.from;if(0==n.length)return EditorSelection.cursor(t);0==o?i=1:o==n.length&&(i=-1);let s=o,a=o;i<0?s=findClusterBreak(n.text,o,!1):a=findClusterBreak(n.text,o);for(var l=r(n.text.slice(s,a));0e?t.left-e:Math.max(0,e-t.right)}function getdy(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function yOverlap(e,t){return e.topt.top+1}function upTop(e,t){return te.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function domPosAtCoords(e,i,r){let n,o,s,a,l=!1,c,h,d,u;for(let m=e.firstChild;m;m=m.nextSibling){var p=clientRectsFor(m);for(let t=0;tg||a==g&&s>f)&&(n=m,o=e,s=f,g=(a=g)?re.bottom&&(!d||d.bottome.top)&&(h=m,u=e):d&&yOverlap(d,e)?d=upBot(d,e.bottom):u&&yOverlap(u,e)&&(u=upTop(u,e.top))}}var t;return d&&d.bottom>=r?(n=c,o=d):u&&u.top<=r&&(n=h,o=u),n?(t=Math.max(o.left,Math.min(o.right,i)),3==n.nodeType?domPosInText(n,t,r):l&&\"false\"!=n.contentEditable?domPosAtCoords(n,t,r):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,n)+(i>=(o.left+o.right)/2?1:0)}):{node:e,offset:0}}function domPosInText(i,r,t){var e=i.nodeValue.length;let n=-1,o=1e9,s=0;for(let h=0;ht?l.top-t:t-l.bottom)-1;if(l.left-1<=r&&l.right+1>=r&&c=(l.left+l.right)/2,t=e;if((browser.chrome||browser.gecko)&&textRange(i,h).getBoundingClientRect().left==l.right&&(t=!e),c<=0)return{node:i,offset:h+(t?1:0)};n=h+(t?1:0),o=c}}}}return{node:i,offset:-1a)return e.state.doc.length;for(let m=e.viewState.heightOracle.textHeight/2,O=!1;(s=e.elementAtHeight(h)).type!=BlockType.Text;)for(;!(0<=(h=0e.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:i?null:posAtCoordsImprecise(e,n,s,l,c);var d=e.dom.ownerDocument,u=e.root.elementFromPoint?e.root:d;let p=u.elementFromPoint(l,c);(p=p&&!e.contentDOM.contains(p)?null:p)||(l=Math.max(n.left+1,Math.min(n.right-1,l)),(p=u.elementFromPoint(l,c))&&!e.contentDOM.contains(p)&&(p=null));let f,g=-1;if(p&&0!=(null==(n=e.docView.nearest(p))?void 0:n.isEditable)&&(d.caretPositionFromPoint?(u=d.caretPositionFromPoint(l,c))&&({offsetNode:f,offset:g}=u):d.caretRangeFromPoint&&(n=d.caretRangeFromPoint(l,c))&&(({startContainer:f,startOffset:g}=n),!e.contentDOM.contains(f)||browser.safari&&isSuspiciousSafariCaretResult(f,g,l)||browser.chrome&&isSuspiciousChromeCaretResult(f,g,l))&&(f=void 0)),!f||!e.docView.dom.contains(f)){u=LineView.find(e.docView,o);if(!u)return h>s.top+s.height/2?s.to:s.from;({node:f,offset:g}=domPosAtCoords(u.dom,l,c))}d=e.docView.nearest(f);return d?d.isWidget&&1==(null==(n=d.dom)?void 0:n.nodeType)?(o=d.dom.getBoundingClientRect(),t.y1.5*e.defaultLineHeight&&(s=e.viewState.heightOracle.textHeight,s=Math.floor((n-i.top-.5*(e.defaultLineHeight-s))/s),o+=s*e.viewState.heightOracle.lineLength);var s=e.state.sliceDoc(i.from,i.to);return i.from+findColumn(s,o,e.state.tabSize)}function isSuspiciousSafariCaretResult(e,t,i){let r;if(3!=e.nodeType||t!=(r=e.nodeValue.length))return!1;for(let n=e.nextSibling;n;n=n.nextSibling)if(1!=n.nodeType||\"BR\"!=n.nodeName)return!1;return textRange(e,r-1,r).getBoundingClientRect().left>i}function isSuspiciousChromeCaretResult(e,t,i){if(0!=t)return!1;for(let n=e;;){var r=n.parentNode;if(!r||1!=r.nodeType||r.firstChild!=n)return!1;if(r.classList.contains(\"cm-line\"))break;n=r}return 5t||r.to==t&&(r.to==i.to||r.type==BlockType.Text))return r;return i}function moveToLineBoundary(e,t,i,r){var n=blockAt(e,t.head),o=r&&n.type==BlockType.Text&&(e.lineWrapping||n.widgetLineBreaks)?e.coordsAtPos(t.assoc<0&&t.head>n.from?t.head-1:t.head):null;if(o){var s=e.dom.getBoundingClientRect(),a=e.textDirectionAt(n.from),a=e.posAtCoords({x:i==(a==Direction.LTR)?s.right-1:s.left+1,y:(o.top+o.bottom)/2});if(null!=a)return EditorSelection.cursor(a,i?-1:1)}return EditorSelection.cursor(i?n.to:n.from,i?-1:1)}function moveByChar(i,e,r,n){let o=i.state.doc.lineAt(e.head),s=i.bidiSpans(o);var a=i.textDirectionAt(o.from);for(let l=e,c=null;;){let e=moveVisually(o,s,a,l,r),t=movedOver;if(!e){if(o.number==(r?i.state.doc.lines:1))return l;t=\"\\n\",o=i.state.doc.line(o.number+(r?1:-1)),s=i.bidiSpans(o),e=i.visualLineSide(o,!r)}if(c){if(!c(t))return l}else{if(!n)return e;c=n(t)}l=e}}function byGroup(e,t,i){let r=e.state.charCategorizer(t),n=r(i);return e=>{var t=r(e);return(n=n==CharCategory.Space?t:n)==t}}function moveVertically(e,t,i,r){var n=t.head,o=i?1:-1;if(n==(i?e.state.doc.length:0))return EditorSelection.cursor(n,t.assoc);let s=t.goalColumn,a;var l=e.contentDOM.getBoundingClientRect(),c=e.coordsAtPos(n,t.assoc||-1),h=e.documentTop,d=(a=c?(null==s&&(s=c.left-l.left),o<0?c.top:c.bottom):(c=e.viewState.lineBlockAt(n),null==s&&(s=Math.min(l.right-l.left,e.defaultCharacterWidth*(n-c.from))),(o<0?c.top:c.bottom)+h),l.left+s),u=null!=r?r:e.viewState.heightOracle.textHeight>>1;for(let m=0;;m+=10){var p,f=a+(u+m)*o,g=posAtCoords(e,{x:d,y:f},!1,o);if(fl.bottom||(o<0?g{var r;ee(t)),i.from,e.head>i.from?-1:1);return r==i.from?i:EditorSelection.cursor(r,rnull),browser.gecko&&firefoxCopyCutHack(e.contentDOM.ownerDocument)}handleEvent(e){!eventBelongsToEditor(this.view,e)||this.ignoreDuringComposition(e)||\"keydown\"==e.type&&this.keydown(e)||this.runHandlers(e.type,e)}runHandlers(e,t){var i=this.handlers[e];if(i){for(var r of i.observers)r(this.view,t);for(var n of i.handlers){if(t.defaultPrevented)break;if(n(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){var t,i,r=computeHandlers(e),n=this.handlers,o=this.view.contentDOM;for(t in r)if(\"scroll\"!=t){var s=!r[t].handlers.length;let e=n[t];e&&s!=!e.handlers.length&&(o.removeEventListener(t,this.handleEvent),e=null),e||o.addEventListener(t,this.handleEvent,{passive:s})}for(i in n)\"scroll\"==i||r[i]||o.removeEventListener(i,this.handleEvent);this.handlers=r}keydown(t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),9==t.keyCode&&Date.now()e.keyCode==t.keyCode))&&!t.ctrlKey||-1this.flushIOSKey(),250),!0)}flushIOSKey(){var e=this.pendingIOSKey;return!!e&&(this.pendingIOSKey=void 0,dispatchKey(this.view.contentDOM,e.key,e.keyCode))}ignoreDuringComposition(e){return!!/^key/.test(e.type)&&(0{try{return n.call(r,t,e)}catch(i){logException(e.state,i)}}}function computeHandlers(e){let t=Object.create(null);function i(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(var r of e){var n=r.spec;if(n&&n.domEventHandlers)for(var o in n.domEventHandlers){var s=n.domEventHandlers[o];s&&i(o).handlers.push(bindHandler(r.value,s))}if(n&&n.domEventObservers)for(var a in n.domEventObservers){var l=n.domEventObservers[a];l&&i(a).observers.push(bindHandler(r.value,l))}}for(var c in handlers)i(c).handlers.push(handlers[c]);for(var h in observers)i(h).observers.push(observers[h]);return t}var PendingKeys=[{key:\"Backspace\",keyCode:8,inputType:\"deleteContentBackward\"},{key:\"Enter\",keyCode:13,inputType:\"insertParagraph\"},{key:\"Enter\",keyCode:13,inputType:\"insertLineBreak\"},{key:\"Delete\",keyCode:46,inputType:\"deleteContentForward\"}],EmacsyPendingKeys=\"dthko\",modifierCodes=[16,17,18,20,91,92,224,225],dragScrollMargin=6;function dragScrollSpeed(e){return.7*Math.max(0,e)+8}function dist(e,t){return Math.max(Math.abs(e.clientX-t.clientX),Math.abs(e.clientY-t.clientY))}var MouseSelection=class{constructor(t,e,i,r){this.view=t,this.startEvent=e,this.style=i,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=e,this.scrollParent=scrollableParent(t.contentDOM),this.atoms=t.state.facet(atomicRanges).map(e=>e(t));var n=t.contentDOM.ownerDocument;n.addEventListener(\"mousemove\",this.move=this.move.bind(this)),n.addEventListener(\"mouseup\",this.up=this.up.bind(this)),this.extend=e.shiftKey,this.multiple=t.state.facet(EditorState.allowMultipleSelections)&&addsSelectionRange(t,e),this.dragging=!(!isInPrimarySelection(t,e)||1!=getClickType(e))&&null}start(e){!1===this.dragging&&this.select(e)}move(i){if(0==i.buttons)return this.destroy();if(!(this.dragging||null==this.dragging&&dist(this.startEvent,i)<10)){this.select(this.lastEvent=i);let e=0,t=0;var r=(null==(r=this.scrollParent)?void 0:r.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},n=getScrollMargins(this.view);i.clientX-n.left<=r.left+dragScrollMargin?e=-dragScrollSpeed(r.left-i.clientX):i.clientX+n.right>=r.right-dragScrollMargin&&(e=dragScrollSpeed(i.clientX-r.right)),i.clientY-n.top<=r.top+dragScrollMargin?t=-dragScrollSpeed(r.top-i.clientY):i.clientY+n.bottom>=r.bottom-dragScrollMargin&&(t=dragScrollSpeed(i.clientY-r.bottom)),this.setScrollSpeed(e,t)}}up(e){null==this.dragging&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);var e=this.view.contentDOM.ownerDocument;e.removeEventListener(\"mousemove\",this.move),e.removeEventListener(\"mouseup\",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):-1this.select(this.lastEvent),20)}};function addsSelectionRange(e,t){var i=e.state.facet(clickAddsSelectionRange);return i.length?i[0](t):browser.mac?t.metaKey:t.ctrlKey}function dragMovesSelection(e,t){var i=e.state.facet(dragMovesSelection$1);return i.length?i[0](t):browser.mac?!t.altKey:!t.ctrlKey}function isInPrimarySelection(t,i){var r=t.state.selection[\"main\"];if(!r.empty){r=getSelection(t.root);if(!r||0==r.rangeCount)return!0;var n=r.getRangeAt(0).getClientRects();for(let e=0;e=i.clientX&&o.top<=i.clientY&&o.bottom>=i.clientY)return!0}}return!1}function eventBelongsToEditor(i,r){if(r.bubbles){if(r.defaultPrevented)return!1;for(let e=r.target,t;e!=i.contentDOM;e=e.parentNode)if(!e||11==e.nodeType||(t=ContentView.get(e))&&t.ignoreEvent(r))return!1}return!0}var handlers=Object.create(null),observers=Object.create(null),brokenClipboardAPI=browser.ie&&browser.ie_version<15||browser.ios&&browser.webkit_version<604;function capturePaste(t){var i=t.dom.parentNode;if(i){let e=i.appendChild(document.createElement(\"textarea\"));e.style.cssText=\"position: fixed; left: -10000px; top: 10px\",e.focus(),setTimeout(()=>{t.focus(),e.remove(),doPaste(t,e.value)},50)}}function doPaste(e,n){let o=e[\"state\"],t,s=1,a=o.toText(n),l=a.lines==o.selection.ranges.length;if(null!=lastLinewiseCopy&&o.selection.ranges.every(e=>e.empty)&&lastLinewiseCopy==a.toString()){let r=-1;t=o.changeByRange(e=>{var t=o.doc.lineAt(e.from);if(t.from==r)return{range:e};r=t.from;var i=o.toText((l?a.line(s++).text:n)+o.lineBreak);return{changes:{from:t.from,insert:i},range:EditorSelection.cursor(e.from+i.length)}})}else t=l?o.changeByRange(e=>{var t=a.line(s++);return{changes:{from:e.from,to:e.to,insert:t.text},range:EditorSelection.cursor(e.from+t.length)}}):o.replaceSelection(a);e.dispatch(t,{userEvent:\"input.paste\",scrollIntoView:!0})}function rangeForClick(i,r,e,t){if(1==t)return EditorSelection.cursor(r,e);if(2==t)return groupAt(i.state,r,e);{var n=LineView.find(i.docView,r),o=i.state.doc.lineAt(n?n.posAtEnd:r);let e=n?n.posAtStart:o.from,t=n?n.posAtEnd:o.to;return t{e.inputState.lastScrollTop=e.scrollDOM.scrollTop,e.inputState.lastScrollLeft=e.scrollDOM.scrollLeft},handlers.keydown=(e,t)=>(e.inputState.setSelectionOrigin(\"select\"),27==t.keyCode&&(e.inputState.lastEscPress=Date.now()),!1),observers.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin(\"select.pointer\")},observers.touchmove=e=>{e.inputState.setSelectionOrigin(\"select.pointer\")},handlers.mousedown=(t,i)=>{if(t.observer.flush(),!(t.inputState.lastTouchTime>Date.now()-2e3)){let e=null;for(var r of t.state.facet(mouseSelectionStyle))if(e=r(t,i))break;if(e=e||0!=i.button?e:basicMouseSelection(t,i)){var n=!t.hasFocus,n=(t.inputState.startMouseSelection(new MouseSelection(t,i,e,n)),n&&t.observer.ignore(()=>focusPreventScroll(t.contentDOM)),t.inputState.mouseSelection);if(n)return n.start(i),!1===n.dragging}}return!1};var insideY=(e,t)=>e>=t.top&&e<=t.bottom,inside=(e,t,i)=>insideY(t,i)&&e>=i.left&&e<=i.right;function findPositionSide(e,t,i,r){var n,o,s=LineView.find(e.docView,t);return s&&0!=(o=t-s.posAtStart)&&(o==s.length||(n=s.coordsAt(o,-1))&&inside(i,r,n)||(!(o=s.coordsAt(o,1))||!inside(i,r,o))&&n&&insideY(r,n))?-1:1}function queryPos(e,t){var i=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:i,bias:findPositionSide(e,i,t.clientX,t.clientY)}}var BadMouseDetail=browser.ie&&browser.ie_version<=11,lastMouseDown=null,lastMouseDownCount=0,lastMouseDownTime=0;function getClickType(e){var t,i;return BadMouseDetail?(t=lastMouseDown,i=lastMouseDownTime,lastMouseDown=e,lastMouseDownTime=Date.now(),lastMouseDownCount=!t||i>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(lastMouseDownCount+1)%3:1):e.detail}function basicMouseSelection(l,e){let c=queryPos(l,e),h=getClickType(e),d=l.state.selection;return{update(e){e.docChanged&&(c.pos=e.changes.mapPos(c.pos),d=d.map(e.changes))},get(e,t,i){let r=queryPos(l,e),n,o=rangeForClick(l,r.pos,r.bias,h);var s,a;return c.pos==r.pos||t||(a=rangeForClick(l,c.pos,c.bias,h),s=Math.min(a.from,o.from),a=Math.max(a.to,o.to),o=sn?1:0))}return null}function dropText(e,t,i,r){var n,o,s;i&&(n=e.posAtCoords({x:t.clientX,y:t.clientY},!1),o=e.inputState[\"draggedContent\"],o=r&&o&&dragMovesSelection(e,t)?{from:o.from,to:o.to}:null,s={from:n,insert:i},s=e.state.changes(o?[o,s]:s),e.focus(),e.dispatch({changes:s,selection:{anchor:s.mapPos(n,-1),head:s.mapPos(n,1)},userEvent:o?\"move.drop\":\"input.drop\"}),e.inputState.draggedContent=null)}function captureCopy(t,i){var r=t.dom.parentNode;if(r){let e=r.appendChild(document.createElement(\"textarea\"));e.style.cssText=\"position: fixed; left: -10000px; top: 10px\",e.value=i,e.focus(),e.selectionEnd=i.length,e.selectionStart=0,setTimeout(()=>{e.remove(),t.focus()},50)}}function copiedRange(t){let i=[],r=[],n=!1;for(var e of t.selection.ranges)e.empty||(i.push(t.sliceDoc(e.from,e.to)),r.push(e));if(!i.length){let e=-1;for(var{from:o}of t.selection.ranges){o=t.doc.lineAt(o);o.number>e&&(i.push(o.text),r.push({from:o.from,to:Math.min(t.doc.length,o.to+1)})),e=o.number}n=!0}return{text:i.join(t.lineBreak),ranges:r,linewise:n}}handlers.dragstart=(e,t)=>{let i=e.state[\"selection\"][\"main\"];var r,n=(t.target.draggable&&(r=e.docView.nearest(t.target))&&r.isWidget&&(r=(n=r.posAtStart)+r.length,n>=i.to||r<=i.from)&&(i=EditorSelection.range(n,r)),e)[\"inputState\"];return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=i,t.dataTransfer&&(t.dataTransfer.setData(\"Text\",e.state.sliceDoc(i.from,i.to)),t.dataTransfer.effectAllowed=\"copyMove\"),!1},handlers.dragend=e=>(e.inputState.draggedContent=null,!1),handlers.drop=(n,o)=>{if(!o.dataTransfer)return!1;if(n.state.readOnly)return!0;let s=o.dataTransfer.files;if(s&&s.length){let t=Array(s.length),e=0,i=()=>{++e==s.length&&dropText(n,o,t.filter(e=>null!=e).join(n.state.lineBreak),!1)};for(let r=0;r{/[\\x00-\\x08\\x0e-\\x1f]{2}/.test(e.result)||(t[r]=e.result),i()},e.readAsText(s[r])}return!0}var e=o.dataTransfer.getData(\"Text\");return!!e&&(dropText(n,o,e,!0),!0)},handlers.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();var i=brokenClipboardAPI?null:t.clipboardData;return i?(doPaste(e,i.getData(\"text/plain\")||i.getData(\"text/uri-text\")),!0):(capturePaste(e),!1)};var lastLinewiseCopy=null,isFocusChange=(handlers.copy=handlers.cut=(e,t)=>{var{text:i,ranges:r,linewise:n}=copiedRange(e.state);if(!i&&!n)return!1;lastLinewiseCopy=n?i:null,\"cut\"!=t.type||e.state.readOnly||e.dispatch({changes:r,scrollIntoView:!0,userEvent:\"delete.cut\"});n=brokenClipboardAPI?null:t.clipboardData;return n?(n.clearData(),n.setData(\"text/plain\",i),!0):(captureCopy(e,i),!1)},Annotation.define());function focusChangeTransaction(e,t){var i,r=[];for(i of e.facet(focusChangeEffect)){var n=i(e,t);n&&r.push(n)}return r?e.update({effects:r,annotations:isFocusChange.of(!0)}):null}function updateForFocusChange(t){setTimeout(()=>{var e=t.hasFocus;e!=t.inputState.notifiedFocused&&((e=focusChangeTransaction(t.state,e))?t.dispatch(e):t.update([]))},10)}observers.focus=e=>{e.inputState.lastFocusTime=Date.now(),e.scrollDOM.scrollTop||!e.inputState.lastScrollTop&&!e.inputState.lastScrollLeft||(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),updateForFocusChange(e)},observers.blur=e=>{e.observer.clearSelectionRange(),updateForFocusChange(e)},observers.compositionstart=observers.compositionupdate=e=>{null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0)},observers.compositionend=e=>{e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=0e.observer.flush()):setTimeout(()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])},50)},observers.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},handlers.beforeinput=(i,t)=>{var e;let r;if(browser.chrome&&browser.android&&(r=PendingKeys.find(e=>e.inputType==t.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),\"Backspace\"==r.key||\"Delete\"==r.key)){let t=(null==(e=window.visualViewport)?void 0:e.height)||0;setTimeout(()=>{var e;((null==(e=window.visualViewport)?void 0:e.height)||0)>t+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return!1};var appliedFirefoxHack=new Set;function firefoxCopyCutHack(e){appliedFirefoxHack.has(e)||(appliedFirefoxHack.add(e),e.addEventListener(\"copy\",()=>{}),e.addEventListener(\"cut\",()=>{}))}var wrappingWhiteSpace=[\"pre-wrap\",\"normal\",\"pre-line\",\"break-spaces\"],HeightOracle=class{constructor(e){this.lineWrapping=e,this.doc=Text.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return-1Epsilon&&(e.heightChanged=!0),this.height=t)}replace(e,t,i){return HeightMap.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(o,s,a,l){let c=this,h=a.doc;for(let u=l.length-1;0<=u;u--){let{fromA:e,toA:t,fromB:i,toB:r}=l[u],n=c.lineAt(e,QueryType.ByPosNoHeight,a.setDoc(s),0,0);var d=n.to>=t?n:c.lineAt(t,QueryType.ByPosNoHeight,a,0,0);for(r+=d.to-t,t=d.to;02*n){var s=e[t-1];s[\"break\"]?e.splice(--t,1,s.left,null,s.right):e.splice(--t,1,s.left,s.right),i+=1+s[\"break\"],r-=s.size}else{if(!(n>2*r))break;s=e[i];s[\"break\"]?e.splice(i,1,s.left,null,s.right):e.splice(i,1,s.left,s.right),i+=2+s[\"break\"],n-=s.size}else r1+o&&(a=(this.height-i)/(this.length-o-1))):s=this.height/o,{firstLine:r,lastLine:n,perLine:s,perChar:a}}blockAt(e,t,i,r){var n,o,{firstLine:s,lastLine:a,perLine:l,perChar:c}=this.heightMetrics(t,r);return t.lineWrapping?(n=r+Math.round(Math.max(0,Math.min(1,(e-i)/this.height))*this.length),c=l+(n=t.doc.lineAt(n)).length*c,o=Math.max(i,e-c/2),new BlockInfo(n.from,n.length,o,c,0)):(n=Math.max(0,Math.min(a-s,Math.floor((e-i)/l))),({from:o,length:c}=t.doc.line(s+n)),new BlockInfo(o,c,i+l*n,l,0))}lineAt(e,t,i,r,n){var o,s,a,l,c;return t==QueryType.ByHeight?this.blockAt(e,i,r,n):t==QueryType.ByPosNoHeight?(({from:l,to:c}=i.doc.lineAt(e)),new BlockInfo(l,c-l,0,0,0)):(({firstLine:c,perLine:l,perChar:o}=this.heightMetrics(i,n)),a=l+(s=i.doc.lineAt(e)).length*o,c=r+l*(l=s.number-c)+o*(s.from-n-l),new BlockInfo(s.from,s.length,Math.max(r,Math.min(c,r+this.height-a)),a,0))}forEachLine(e,t,i,r,n,o){e=Math.max(e,n),t=Math.min(t,n+this.length);var{firstLine:s,perLine:a,perChar:l}=this.heightMetrics(i,n);for(let d=e,u=r;d<=t;){var c=i.doc.lineAt(d),h=(d==e&&(h=c.number-s,u+=a*h+l*(e-n-h)),a+l*c.length);o(new BlockInfo(c.from,c.length,u,h,0)),u+=h,d=c.to+1}}replace(e,t,i){var r,n=this.length-t;return 0n&&e.push(new HeightMapGap(o.from-n-1).updateHeight(r,n));t<=s&&o.more;){var a=r.doc.lineAt(t).length,l=(e.length&&e.push(null),o.heights[o.index++]),l=(-1==i?i=l:Math.abs(l-i)>=Epsilon&&(i=-2),new HeightMapText(a,l));l.outdated=!1,e.push(l),t+=a+1}t<=s&&e.push(null,new HeightMapGap(s-t).updateHeight(r,t));var c=HeightMap.of(e);return(i<0||Math.abs(c.height-this.height)>=Epsilon||Math.abs(i-this.heightMetrics(r,n).perLine)>=Epsilon)&&(r.heightChanged=!0),c}return(e||this.outdated)&&(this.setHeight(r,r.heightForGap(n,n+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}},HeightMapBranch=class extends HeightMap{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get\"break\"(){return 1&this.flags}blockAt(e,t,i,r){var n=i+this.left.height;return ea)?c:(o=t==QueryType.ByPosNoHeight?QueryType.ByPosNoHeight:QueryType.ByPos,l?c.join(this.right.lineAt(a,o,i,s,a)):this.left.lineAt(a,o,i,r,n).join(c))}forEachLine(e,t,i,r,n,o){var s,a=r+this.left.height,l=n+this.left.length+this[\"break\"];this[\"break\"]?(e=e&&s.from<=t&&o(s),t>s.to&&this.right.forEachLine(s.to+1,t,i,a,l,o))}replace(e,t,i){var r=this.left.length+this[\"break\"];if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,i));var n,o=[],r=(0=++i&&t.push(null),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){var i=this.left.length,r=i+this[\"break\"];if(r<=e)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?HeightMap.of(this[\"break\"]?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=e.height+t.height,this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this[\"break\"]+t.length,this)}updateHeight(e,t=0,i=!1,r){let{left:n,right:o}=this,s=t+n.length+this[\"break\"],a=null;return r&&r.from<=t+n.length&&r.more?a=n=n.updateHeight(e,t,i,r):n.updateHeight(e,t,i),r&&r.from<=s+o.length&&r.more?a=o=o.updateHeight(e,s,i,r):o.updateHeight(e,s,i),a?this.balanced(n,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this[\"break\"]?\" \":\"-\")+this.right}};function mergeGaps(e,t){let i,r;null==e[t]&&(i=e[t-1])instanceof HeightMapGap&&(r=e[t+1])instanceof HeightMapGap&&e.splice(t-1,3,new HeightMapGap(i.length+1+r.length))}var relevantWidgetHeight=5,NodeBuilder=class{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){var i,r;-1this.pos||!this.isCovered)&&this.nodes.push(new HeightMapText(i-this.pos,-1)),(this.writtenTo=i)=relevantWidgetHeight)&&this.addLineDeco(e,n,o)}else te&&this.nodes.push(new HeightMapText(this.pos-e,-1)),this.writtenTo=this.pos)}blankContent(e,t){var i=new HeightMapGap(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();var e=this.nodes.length?this.nodes[this.nodes.length-1]:null;return e instanceof HeightMapText||(e=new HeightMapText(0,-1),this.nodes.push(e)),e}addBlock(e){this.enterLine();var t=e.deco;t&&0h.clientHeight||h.scrollWidth>h.clientWidth)&&\"visible\"!=d.overflow&&(c=h.getBoundingClientRect(),o=Math.max(o,c.left),s=Math.min(s,c.right),a=Math.max(a,c.top),l=u==e.parentNode?c.bottom:Math.min(l,c.bottom)),u=\"absolute\"==d.position||\"fixed\"==d.position?h.offsetParent:h.parentNode}else{if(11!=u.nodeType)break;u=u.host}return{left:o-i.left,right:Math.max(o,s)-i.left,top:a-(i.top+t),bottom:Math.max(a,l)-(i.top+t)}}function fullPixelRange(e,t){var i=e.getBoundingClientRect();return{left:0,right:i.right-i.left,top:t,bottom:i.bottom-(i.top+t)}}var LineGap=class{constructor(e,t,i){this.from=e,this.to=t,this.size=i}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n\"function\"!=typeof e&&\"cm-lineWrapping\"==e[\"class\"]);this.heightOracle=new HeightOracle(t),this.stateDeco=e.facet(decorations).filter(e=>\"function\"!=typeof e),this.heightMap=HeightMap.empty().applyChanges(this.stateDeco,Text.empty,this.heightOracle.setDoc(e.doc),[new ChangedRange(0,0,0,e.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Decoration.set(this.lineGaps.map(e=>e.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){var e,t,r=[this.viewport],n=this.state.selection[\"main\"];for(let o=0;o<=1;o++){let i=o?n.head:n.anchor;r.some(({from:e,to:t})=>i>=e&&i<=t)||(({from:e,to:t}=this.lineBlockAt(i)),r.push(new Viewport(e,t)))}this.viewports=r.sort((e,t)=>e.from-t.from),this.scaler=this.heightMap.height<=7e6?IdScaler:new BigScaler(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(1==this.scaler.scale?e:scaleBlock(e,this.scaler))})}update(e,t=null){this.state=e.state;var i=this.stateDeco,r=(this.stateDeco=this.state.facet(decorations).filter(e=>\"function\"!=typeof e),e.changedRanges),r=ChangedRange.extendWithRanges(r,heightRelevantDecoChanges(i,this.stateDeco,e?e.changes:ChangeSet.empty(this.state.doc.length))),i=this.heightMap.height,n=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),r),this.heightMap.height!=i&&(e.flags|=2),n?(this.scrollAnchorPos=e.changes.mapPos(n.from,-1),this.scrollAnchorHeight=n.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let o=r.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.heado.to)||!this.viewportIsAppropriate(o))&&(o=this.getViewport(0,t));i=!e.changes.empty||2&e.flags||o.from!=this.viewport.from||o.to!=this.viewport.to;this.viewport=o,this.updateForViewport(),i&&this.updateViewportLines(),(this.lineGaps.length||4e3this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left);if(t!=this.inView&&(this.inView=t)&&(a=!0),!this.inView&&!this.scrollTarget)return 0;h=s.width;if(this.contentDOMWidth==h&&this.editorHeight==e.scrollDOM.clientHeight||(this.contentDOMWidth=s.width,this.editorHeight=e.scrollDOM.clientHeight,l|=8),a){var u,p,f=e.docView.measureVisibleLineHeights(this.viewport);((o=r.mustRefreshForHeights(f)?!0:o)||r.lineWrapping&&Math.abs(h-this.contentDOMWidth)>r.charWidth)&&(({lineHeight:t,charWidth:s,textHeight:u}=e.docView.measureTextSize()),o=0this.viewport.to);return n&&(this.viewport=this.getViewport(c,this.scrollTarget)),this.updateForViewport(),(2&l||n)&&this.updateViewportLines(),(this.lineGaps.length||4e3a.to){s=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top);let e=r.lineAt(o,QueryType.ByPos,n,0,0),t;t=\"center\"==i.y?(e.top+e.bottom)/2-s/2:\"start\"==i.y||\"nearest\"==i.y&&o=s+Math.max(10,Math.min(i,250)))&&o-2e3>1,e=n<<1;if(this.defaultTextDirection!=Direction.LTR&&!d)return[];let p=[],f=(r,n,o,s)=>{if(!(n-rr&&at.from>=o.from&&t.to<=o.to&&Math.abs(t.from-r)t.frome));var l;t||(ne.from<=n&&e.to>=n)&&(l=h.moveToLineBoundary(EditorSelection.cursor(n),!1,!0).head,ro.from&&f(o.from,i,o,s),re.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.stateDeco,i=(this.lineGaps.length&&(e=e.concat(this.lineGapDeco)),[]);RangeSet.spans(e,this.viewport.from,this.viewport.to,{span(e,t){i.push({from:e,to:t})},point(){}},20);var t=i.length!=this.visibleRanges.length||this.visibleRanges.some((e,t)=>e.from!=i[t].from||e.to!=i[t].to);return this.visibleRanges=i,t?4:0}lineBlockAt(t){return t>=this.viewport.from&&t<=this.viewport.to&&this.viewportLines.find(e=>e.from<=t&&e.to>=t)||scaleBlock(this.heightMap.lineAt(t,QueryType.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return scaleBlock(this.heightMap.lineAt(this.scaler.fromDOM(e),QueryType.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){var t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||200n&&(r.push({from:n,to:e}),o+=e-n),n=t}},20),n{var i=o.lineAt(e,QueryType.ByPos,n,0,0).top,r=o.lineAt(t,QueryType.ByPos,n,0,0).bottom;return s+=r-i,{from:e,to:t,top:i,bottom:r,domTop:0,domBottom:0}}),this.scale=(7e6-s)/(o.height-s);for(var r of this.viewports)r.domTop=i+(r.top-t)*this.scale,i=r.domBottom=r.domTop+(r.bottom-r.top),t=r.bottom}toDOM(e){for(let i=0,r=0,n=0;;i++){var t=iscaleBlock(e,t)):e._content))}var theme=Facet.define({combine:e=>e.join(\" \")}),darkTheme=Facet.define({combine:e=>-1{if(\"&\"==e)return t;if(i&&i[e])return i[e];throw new RangeError(\"Unsupported selector: \"+e)}):t+\" \"+e}})}var baseTheme$1=buildTheme(\".\"+baseThemeID,{\"&\":{position:\"relative !important\",boxSizing:\"border-box\",\"&.cm-focused\":{outline:\"1px dotted #212121\"},display:\"flex !important\",flexDirection:\"column\"},\".cm-scroller\":{display:\"flex !important\",alignItems:\"flex-start !important\",fontFamily:\"monospace\",lineHeight:1.4,height:\"100%\",overflowX:\"auto\",position:\"relative\",zIndex:0},\".cm-content\":{margin:0,flexGrow:2,flexShrink:0,display:\"block\",whiteSpace:\"pre\",wordWrap:\"normal\",boxSizing:\"border-box\",minHeight:\"100%\",padding:\"4px 0\",outline:\"none\",\"&[contenteditable=true]\":{WebkitUserModify:\"read-write-plaintext-only\"}},\".cm-lineWrapping\":{whiteSpace_fallback:\"pre-wrap\",whiteSpace:\"break-spaces\",wordBreak:\"break-word\",overflowWrap:\"anywhere\",flexShrink:1},\"&light .cm-content\":{caretColor:\"black\"},\"&dark .cm-content\":{caretColor:\"white\"},\".cm-line\":{display:\"block\",padding:\"0 2px 0 6px\"},\".cm-layer\":{position:\"absolute\",left:0,top:0,contain:\"size style\",\"& > *\":{position:\"absolute\"}},\"&light .cm-selectionBackground\":{background:\"#d9d9d9\"},\"&dark .cm-selectionBackground\":{background:\"#222\"},\"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground\":{background:\"#d7d4f0\"},\"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground\":{background:\"#233\"},\".cm-cursorLayer\":{pointerEvents:\"none\"},\"&.cm-focused > .cm-scroller > .cm-cursorLayer\":{animation:\"steps(1) cm-blink 1.2s infinite\"},\"@keyframes cm-blink\":{\"0%\":{},\"50%\":{opacity:0},\"100%\":{}},\"@keyframes cm-blink2\":{\"0%\":{},\"50%\":{opacity:0},\"100%\":{}},\".cm-cursor, .cm-dropCursor\":{borderLeft:\"1.2px solid black\",marginLeft:\"-0.6px\",pointerEvents:\"none\"},\".cm-cursor\":{display:\"none\"},\"&dark .cm-cursor\":{borderLeftColor:\"#444\"},\".cm-dropCursor\":{position:\"absolute\"},\"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor\":{display:\"block\"},\".cm-iso\":{unicodeBidi:\"isolate\"},\".cm-announced\":{position:\"fixed\",top:\"-10000px\"},\"@media print\":{\".cm-announced\":{display:\"none\"}},\"&light .cm-activeLine\":{backgroundColor:\"#cceeff44\"},\"&dark .cm-activeLine\":{backgroundColor:\"#99eeff33\"},\"&light .cm-specialChar\":{color:\"red\"},\"&dark .cm-specialChar\":{color:\"#f78\"},\".cm-gutters\":{flexShrink:0,display:\"flex\",height:\"100%\",boxSizing:\"border-box\",insetInlineStart:0,zIndex:200},\"&light .cm-gutters\":{backgroundColor:\"#f5f5f5\",color:\"#6c6c6c\",borderRight:\"1px solid #ddd\"},\"&dark .cm-gutters\":{backgroundColor:\"#333338\",color:\"#ccc\"},\".cm-gutter\":{display:\"flex !important\",flexDirection:\"column\",flexShrink:0,boxSizing:\"border-box\",minHeight:\"100%\",overflow:\"hidden\"},\".cm-gutterElement\":{boxSizing:\"border-box\"},\".cm-lineNumbers .cm-gutterElement\":{padding:\"0 3px 0 5px\",minWidth:\"20px\",textAlign:\"right\",whiteSpace:\"nowrap\"},\"&light .cm-activeLineGutter\":{backgroundColor:\"#e2f2ff\"},\"&dark .cm-activeLineGutter\":{backgroundColor:\"#222227\"},\".cm-panels\":{boxSizing:\"border-box\",position:\"sticky\",left:0,right:0},\"&light .cm-panels\":{backgroundColor:\"#f5f5f5\",color:\"black\"},\"&light .cm-panels-top\":{borderBottom:\"1px solid #ddd\"},\"&light .cm-panels-bottom\":{borderTop:\"1px solid #ddd\"},\"&dark .cm-panels\":{backgroundColor:\"#333338\",color:\"white\"},\".cm-tab\":{display:\"inline-block\",overflow:\"hidden\",verticalAlign:\"bottom\"},\".cm-widgetBuffer\":{verticalAlign:\"text-top\",height:\"1em\",width:0,display:\"inline\"},\".cm-placeholder\":{color:\"#888\",display:\"inline-block\",verticalAlign:\"top\"},\".cm-highlightSpace:before\":{content:\"attr(data-display)\",position:\"absolute\",pointerEvents:\"none\",color:\"#888\"},\".cm-highlightTab\":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:\"auto 100%\",backgroundPosition:\"right 90%\",backgroundRepeat:\"no-repeat\"},\".cm-trailingSpace\":{backgroundColor:\"#ff332255\"},\".cm-button\":{verticalAlign:\"middle\",color:\"inherit\",fontSize:\"70%\",padding:\".2em 1em\",borderRadius:\"1px\"},\"&light .cm-button\":{backgroundImage:\"linear-gradient(#eff1f5, #d9d9df)\",border:\"1px solid #888\",\"&:active\":{backgroundImage:\"linear-gradient(#b4b4b4, #d0d3d6)\"}},\"&dark .cm-button\":{backgroundImage:\"linear-gradient(#393939, #111)\",border:\"1px solid #888\",\"&:active\":{backgroundImage:\"linear-gradient(#111, #333)\"}},\".cm-textfield\":{verticalAlign:\"middle\",color:\"inherit\",fontSize:\"70%\",border:\"1px solid silver\",padding:\".2em .5em\"},\"&light .cm-textfield\":{backgroundColor:\"white\"},\"&dark .cm-textfield\":{border:\"1px solid #555\",backgroundColor:\"inherit\"}},lightDarkIDs),LineBreakPlaceholder=\"￿\",DOMReader=class{constructor(e,t){this.points=e,this.text=\"\",this.lineSeparator=t.facet(EditorState.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=LineBreakPlaceholder}readRange(t,i){if(t){var r=t.parentNode;for(let e=t;;){this.findPointBefore(r,e);var n=this.text.length,o=(this.readNode(e),e.nextSibling);if(o==i)break;var s=ContentView.get(e),a=ContentView.get(o);(s&&a?s.breakAfter:(s?s.breakAfter:isBlockElement(e))||isBlockElement(o)&&(\"BR\"!=e.nodeName||e.cmIgnore)&&this.text.length>n)&&this.lineBreak(),e=o}this.findPointBefore(r,i)}return this}readTextNode(r){var e,n=r.nodeValue;for(e of this.points)e.node==r&&(e.pos=this.text.length+Math.min(e.offset,n.length));for(let s=0,a=this.lineSeparator?null:/\\r\\n?|\\n/g;;){let e=-1,t=1,i;if(this.lineSeparator?(e=n.indexOf(this.lineSeparator,s),t=this.lineSeparator.length):(i=a.exec(n))&&(e=i.index,t=i[0].length),this.append(n.slice(s,e<0?n.length:e)),e<0)break;if(this.lineBreak(),1this.text.length&&(o.pos-=t-1);s=e+t}}readNode(e){if(!e.cmIgnore){var t=ContentView.get(e),t=t&&t.overrideDOMText;if(null!=t){this.findPointInside(e,t.length);for(var i=t.iter();!i.next().done;)i.lineBreak?this.lineBreak():this.append(i.value)}else 3==e.nodeType?this.readTextNode(e):\"BR\"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&this.readRange(e.firstChild,null)}}findPointBefore(e,t){for(var i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(var i of this.points)(3==e.nodeType?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(isAtEnd(e,i.node,i.offset)?t:0))}};function isAtEnd(e,t,i){for(;;){if(!t||iDate.now()-100?r.inputState.lastKeyCode:-1;if(i.bounds){var{from:l,to:c}=i.bounds;let e=s.from,t=null;(8===a||browser.android&&i.text.length=s.from&&n.to<=s.to&&(n.from!=s.from||n.to!=s.to)&&s.to-s.from-(n.to-n.from)<=4?n={from:s.from,to:s.to,insert:r.state.doc.slice(s.from,n.from).append(n.insert).append(r.state.doc.slice(n.to,s.to))}:(browser.mac||browser.android)&&n&&n.from==n.to&&n.from==s.head-1&&/^\\. ?$/.test(n.insert.toString())&&\"off\"==r.contentDOM.getAttribute(\"autocorrect\")?(o&&2==n.insert.length&&(o=EditorSelection.single(o.main.anchor-1,o.main.head-1)),n={from:s.from,to:s.to,insert:Text.of([\" \"])}):browser.chrome&&n&&n.from==n.to&&n.from==s.head&&\"\\n \"==n.insert.toString()&&r.lineWrapping&&(o=o&&EditorSelection.single(o.main.anchor-1,o.main.head-1),n={from:s.from,to:s.to,insert:Text.of([\" \"])}),n){if((!browser.ios||!r.inputState.flushIOSKey())&&(!browser.android||!(n.from==s.from&&n.to==s.to&&1==n.insert.length&&2==n.insert.lines&&dispatchKey(r.contentDOM,\"Enter\",13)||(n.from==s.from-1&&n.to==s.to&&0==n.insert.length||8==a&&n.insert.lengths.head)&&dispatchKey(r.contentDOM,\"Backspace\",8)||n.from==s.from&&n.to==s.to+1&&0==n.insert.length&&dispatchKey(r.contentDOM,\"Delete\",46)))){let t=n.insert.toString();0<=r.inputState.composing&&r.inputState.composing++;let e,i=()=>e=e||applyDefaultInsert(r,n,o);r.state.facet(inputHandler).some(e=>e(r,n.from,n.to,t,i))||r.dispatch(i())}return!0}if(!o||o.main.eq(s))return!1;{let e=!1,t=\"select\";return r.inputState.lastSelectionTime>Date.now()-50&&(\"select\"==r.inputState.lastSelectionOrigin&&(e=!0),t=r.inputState.lastSelectionOrigin),r.dispatch({selection:o,scrollIntoView:e,userEvent:t}),!0}}function applyDefaultInsert(c,h,t){let i,d=c.state,u=d.selection.main;if(h.from>=u.from&&h.to<=u.to&&h.to-h.from>=(u.to-u.from)/3&&(!t||t.main.empty&&t.main.from==h.from+h.insert.length)&&c.inputState.composing<0){var p=u.fromh.to?d.sliceDoc(h.to,u.to):\"\";i=d.replaceSelection(c.state.toText(p+h.insert.sliceString(0,void 0,c.state.lineBreak)+e))}else{let a=d.changes(h),l=t&&t.main.to<=a.newLength?t.main:void 0;if(1=u.to-10){let r=c.state.sliceDoc(h.from,h.to),n,e=t&&findCompositionNode(c,t.main.head);n=e?(p=h.insert.length-(h.to-h.from),{from:e.from,to:e.to-p}):c.state.doc.lineAt(u.head);let o=u.to-h.to,s=u.to-u.from;i=d.changeByRange(e=>{var t,i;return e.from==u.from&&e.to==u.to?{changes:a,range:l||e.map(a)}:(t=(i=e.to-o)-r.length,e.to-e.from!=s||c.state.sliceDoc(t,i)!=r||e.to>=n.from&&e.from<=n.to?{range:e}:(t=d.changes({from:t,to:i,insert:h.insert}),i=e.to-u.to,{changes:t,range:l?EditorSelection.range(Math.max(0,l.anchor+i),Math.max(0,l.head+i)):e.map(t)}))})}else i={changes:a,selection:l&&d.selection.replaceRange(l)}}let r=\"input.type\";return(c.composing||c.inputState.compositionPendingChange&&c.inputState.compositionEndedAt>Date.now()-50)&&(c.inputState.compositionPendingChange=!1,r+=\".compose\",c.inputState.compositionFirstChange)&&(r+=\".start\",c.inputState.compositionFirstChange=!1),d.update(i,{userEvent:r,scrollIntoView:!0})}function findDiff(e,t,i,r){var n,o=Math.min(e.length,t.length);let s=0;for(;s=a?s-i:0,s-=n,l=s+(l-a),a=s):l=l?s-i:0,s-=n,a=s+(a-l),l=s),{from:s,toA:a,toB:l}}function selectionPoints(e){var t,i,r,n,o=[];return e.root.activeElement==e.contentDOM&&(({anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:n}=e.observer.selectionRange),t)&&(o.push(new DOMPoint(t,i)),r==t&&n==i||o.push(new DOMPoint(r,n))),o}function selectionFromPoints(e,t){var i,r;return 0!=e.length&&(i=e[0].pos,r=2==e.length?e[1].pos:i,-1{for(var t of e)this.queue.push(t);(browser.ie&&browser.ie_version<=11||browser.ios&&i.composing)&&e.some(e=>\"childList\"==e.type&&e.removedNodes.length||\"characterData\"==e.type&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():this.flush()}),useCharData&&(this.onCharData=e=>{this.queue.push({target:e.target,type:\"characterData\",oldValue:e.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),\"function\"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver(()=>{var e;(null==(e=this.view.docView)?void 0:e.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),0{0{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(){this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500)}updateGaps(i){if(this.gapIntersection&&(i.length!=this.gaps.length||this.gaps.some((e,t)=>e!=i[t]))){this.gapIntersection.disconnect();for(var e of i)this.gapIntersection.observe(e);this.gaps=i}}onSelectionChange(e){var t,i,r,n=this.selectionChanged;this.readSelectionRange()&&!this.delayedAndroidKey&&(t=this.view,i=this.selectionRange,t.state.facet(editable)?t.root.activeElement==this.dom:hasSelection(t.dom,i))&&((r=i.anchorNode&&t.docView.nearest(i.anchorNode))&&r.ignoreEvent(e)?n||(this.selectionChanged=!1):(browser.ie&&browser.ie_version<=11||browser.android&&browser.chrome)&&!t.state.selection.main.empty&&i.focusNode&&isEquivalentPosition(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1))}readSelectionRange(){var e,t=this[\"view\"],i=browser.safari&&11==t.root.nodeType&&deepActiveElement(this.dom.ownerDocument)==this.dom&&safariSelectionRangeHack(this.view)||getSelection(t.root);return!(!i||this.selectionRange.eq(i)||((e=hasSelection(this.dom,i))&&!this.selectionChanged&&t.inputState.lastFocusTime>Date.now()-200&&t.inputState.lastTouchTime{var e=this.delayedAndroidKey;e&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush())&&e.force&&dispatchKey(this.dom,e.key,e.keyCode)})),this.delayedAndroidKey&&\"Enter\"!=e||(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){0<=this.delayedFlush&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(var e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){var e,t=this.pendingRecords();t.length&&(this.queue=[]);let i=-1,r=-1,n=!1;for(e of t){var o=this.readMutation(e);o&&(o.typeOver&&(n=!0),-1==i?({from:i,to:r}=o):(i=Math.min(o.from,i),r=Math.max(o.to,r)))}return{from:i,to:r,typeOver:n}}readChange(){var{from:e,to:t,typeOver:i}=this.processRecords(),r=this.selectionChanged&&hasSelection(this.dom,this.selectionRange);if(e<0&&!r)return null;-1e.forEach(e=>t(e,this)):e=>this.update(e)),this.dispatch=this.dispatch.bind(this),this._root=e.root||getRoot(e.parent)||document,this.viewState=new ViewState(e.state||EditorState.create(e)),e.scrollTo&&e.scrollTo.is(scrollIntoView)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(viewPlugin).map(e=>new PluginInstance(e));for(var i of this.plugins)i.update(this);this.observer=new DOMObserver(this),this.inputState=new InputState(this),this.inputState.ensureHandlers(this.plugins),this.docView=new DocView(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure()}dispatch(...e){var t=1==e.length&&e[0]instanceof Transaction?e:1==e.length&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(s){if(0!=this.updateState)throw new Error(\"Calls to EditorView.update are not allowed while an update is in progress\");let a=!1,l=!1,c,h=this.state;for(var e of s){if(e.startState!=h)throw new RangeError(\"Trying to update state with a transaction that doesn't start from the previous state.\");h=e.state}if(this.destroyed)this.viewState.state=h;else{let e=this.hasFocus,t=0,i=null,r=(s.some(e=>e.annotation(isFocusChange))?(this.inputState.notifiedFocused=e,t=1):e==this.inputState.notifiedFocused||(this.inputState.notifiedFocused=e,i=focusChangeTransaction(h,e))||(t=1),this.observer.delayedAndroidKey),n=null;if(r?(this.observer.clearDelayedAndroidKey(),(!(n=this.observer.readChange())||this.state.doc.eq(h.doc))&&this.state.selection.eq(h.selection)||(n=null)):this.observer.clear(),h.facet(EditorState.phrases)!=this.state.facet(EditorState.phrases))return this.setState(h);(c=ViewUpdate.create(this,h,s)).flags|=t;let o=this.viewState.scrollTarget;try{this.updateState=2;for(var d of s){var u,p;o=o&&o.map(d.changes),d.scrollIntoView&&(u=d.state.selection[\"main\"],o=new ScrollTarget(u.empty?u:EditorSelection.cursor(u.head,u.head>u.anchor?-1:1)));for(p of d.effects)p.is(scrollIntoView)&&(o=p.value.clip(this.state))}this.viewState.update(c,o),this.bidiCache=CachedOrder.update(this.bidiCache,c.changes),c.empty||(this.updatePlugins(c),this.inputState.update(c)),a=this.docView.update(c),this.state.facet(styleModule)!=this.styleModules&&this.mountStyles(),l=this.updateAttrs(),this.showAnnouncements(s),this.docView.updateSelection(a,s.some(e=>e.isUserEvent(\"select.pointer\")))}finally{this.updateState=0}if(c.startState.facet(theme)!=c.state.facet(theme)&&(this.viewState.mustMeasureContent=!0),(a||l||o||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!c.empty)for(var f of this.state.facet(updateListener))try{f(c)}catch(g){logException(this.state,g,\"update listener\")}(i||n)&&Promise.resolve().then(()=>{i&&this.state==i.startState&&this.dispatch(i),n&&!applyDOMChange(this,n)&&r.force&&dispatchKey(this.contentDOM,r.key,r.keyCode)})}}setState(e){if(0!=this.updateState)throw new Error(\"Calls to EditorView.setState are not allowed while an update is in progress\");if(this.destroyed)this.viewState.state=e;else{this.updateState=2;var t=this.hasFocus;try{for(var i of this.plugins)i.destroy(this);this.viewState=new ViewState(e),this.plugins=e.facet(viewPlugin).map(e=>new PluginInstance(e)),this.pluginMap.clear();for(var r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new DocView(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}}updatePlugins(e){var t=e.startState.facet(viewPlugin),i=e.state.facet(viewPlugin);if(t!=i){var r,n,o=[];for(r of i){var s=t.indexOf(r);s<0?o.push(new PluginInstance(r)):((s=this.plugins[s]).mustUpdate=e,o.push(s))}for(n of this.plugins)n.mustUpdate!=e&&n.destroy(this);this.plugins=o,this.pluginMap.clear()}else for(var a of this.plugins)a.mustUpdate=e;for(let l=0;l{try{return e.read(this)}catch(t){return logException(this.state,t),BadMeasure}});let t=ViewUpdate.create(this,this.state,[]),i=!1;t.flags|=d,o?o.flags|=d:o=t,this.updateState=2,t.empty||(this.updatePlugins(t),this.inputState.update(t),this.updateAttrs(),i=this.docView.update(t));for(let r=0;r{var e=updateAttrs(this.contentDOM,this.contentAttrs,r),t=updateAttrs(this.dom,this.editorAttrs,i);return e||t});return this.editorAttrs=i,this.contentAttrs=r,e}showAnnouncements(e){let t=!0;for(var i of e)for(var r of i.effects)r.is(EditorView.announce)&&(t&&(this.announceDOM.textContent=\"\"),t=!1,this.announceDOM.appendChild(document.createElement(\"div\")).textContent=r.value)}mountStyles(){this.styleModules=this.state.facet(styleModule);var e=this.state.facet(EditorView.cspNonce);StyleModule.mount(this.root,this.styleModules.concat(baseTheme$1).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(2==this.updateState)throw new Error(\"Reading the editor layout isn't allowed during an update\");0==this.updateState&&-1this.measure())),t&&!(-1e.spec==t)||null),e&&e.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,i){return skipAtoms(this,e,moveByChar(this,e,t,i))}moveByGroup(t,e){return skipAtoms(this,t,moveByChar(this,t,e,e=>byGroup(this,t.head,e)))}visualLineSide(e,t){var i=this.bidiSpans(e),r=this.textDirectionAt(e.from),i=i[t?i.length-1:0];return EditorSelection.cursor(i.side(t,r)+e.from,i.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,i=!0){return moveToLineBoundary(this,e,t,i)}moveVertically(e,t,i){return skipAtoms(this,e,moveVertically(this,e,t,i))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),posAtCoords(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();var i,r,n=this.docView.coordsAt(e,t);return n&&n.left!=n.right?(i=this.state.doc.lineAt(e),flattenRect(n,(r=this.bidiSpans(i))[BidiSpan.find(r,e-i.from,-1,t)].dir==Direction.LTR==0this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>MaxBidiLine)return trivialOrder(e.length);let t=this.textDirectionAt(e.from),i;for(var r of this.bidiCache)if(r.from==e.from&&r.dir==t&&(r.fresh||isolatesEq(r.isolates,i=getIsolatedRanges(this,e))))return r.order;i=i||getIsolatedRanges(this,e);var n=computeOrder(e.text,t,i);return this.bidiCache.push(new CachedOrder(e.from,e.to,t,i,!0,n)),n}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||browser.safari&&(null==(e=this.inputState)?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{focusPreventScroll(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(var e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),-1({}),{eventHandlers:e})}static domEventObservers(e){return ViewPlugin.define(()=>({}),{eventObservers:e})}static theme(e,t){var i=StyleModule.newName(),i=[theme.of(i),styleModule.of(buildTheme(\".\"+i,e))];return t&&t.dark&&i.push(darkTheme.of(!0)),i}static baseTheme(e){return Prec.lowest(styleModule.of(buildTheme(\".\"+baseThemeID,e,lightDarkIDs)))}static findFromDOM(e){var t=e.querySelector(\".cm-content\"),t=t&&ContentView.get(t)||ContentView.get(e);return(null==(t=null==t?void 0:t.rootView)?void 0:t.view)||null}},MaxBidiLine=(EditorView.styleModule=styleModule,EditorView.inputHandler=inputHandler,EditorView.focusChangeEffect=focusChangeEffect,EditorView.perLineTextDirection=perLineTextDirection,EditorView.exceptionSink=exceptionSink,EditorView.updateListener=updateListener,EditorView.editable=editable,EditorView.mouseSelectionStyle=mouseSelectionStyle,EditorView.dragMovesSelection=dragMovesSelection$1,EditorView.clickAddsSelectionRange=clickAddsSelectionRange,EditorView.decorations=decorations,EditorView.outerDecorations=outerDecorations,EditorView.atomicRanges=atomicRanges,EditorView.bidiIsolatedRanges=bidiIsolatedRanges,EditorView.scrollMargins=scrollMargins,EditorView.darkTheme=darkTheme,EditorView.cspNonce=Facet.define({combine:e=>e.length?e[0]:\"\"}),EditorView.contentAttributes=contentAttributes,EditorView.editorAttributes=editorAttributes,EditorView.lineWrapping=EditorView.contentAttributes.of({\"class\":\"cm-lineWrapping\"}),EditorView.announce=StateEffect.define(),4096),BadMeasure={},CachedOrder=class{constructor(e,t,i,r,n,o){this.from=e,this.to=t,this.dir=i,this.isolates=r,this.fresh=n,this.order=o}static update(e,t){if(t.empty&&!e.some(e=>e.fresh))return e;var i=[],r=e.length?e[e.length-1].dir:Direction.LTR;for(let o=Math.max(0,e.length-10);oe.concat(t),[]))),i}function runScopeHandlers(e,t,i){return runHandlers(getKeymap(e.state),t,e,i)}var storedPrefix=null,PrefixTimeout=4e3;function buildKeymap(e,c=currentPlatform){let h=Object.create(null),r=Object.create(null),d=(e,t)=>{var i=r[e];if(null==i)r[e]=t;else if(i!=t)throw new Error(\"Key binding \"+e+\" is used both as a regular binding and as a multi-stroke prefix\")};var t,i=(r,e,t,i,n)=>{var o=h[r]||(h[r]=Object.create(null)),s=e.split(/ (?!$)/).map(e=>normalizeKeyName(e,c));for(let l=1;l{let t=storedPrefix={view:e,prefix:i,scope:r};return setTimeout(()=>{storedPrefix==t&&(storedPrefix=null)},PrefixTimeout),!0}]})}var a=s.join(\" \"),a=(d(a,!1),o[a]||(o[a]={preventDefault:!1,stopPropagation:!1,run:(null==(a=null==(a=o._any)?void 0:a.run)?void 0:a.slice())||[]}));t&&a.run.push(t),i&&(a.preventDefault=!0),n&&(a.stopPropagation=!0)};for(t of e){var n=t.scope?t.scope.split(\" \"):[\"editor\"];if(t.any)for(var o of n){var s,a=h[o]||(h[o]=Object.create(null));for(s in a._any||(a._any={preventDefault:!1,stopPropagation:!1,run:[]}),a)a[s].run.push(t.any)}var l=t[c]||t.key;if(l)for(var u of n)i(u,l,t.run,t.preventDefault,t.stopPropagation),t.shift&&i(u,\"Shift-\"+l,t.shift,t.preventDefault,t.stopPropagation)}return h}function runHandlers(e,i,r,t){var n=keyName(i),o=codePointSize(codePointAt(n,0))==n.length&&\" \"!=n;let s=\"\",a=!1,l=!1,c=!1,h=(storedPrefix&&storedPrefix.view==r&&storedPrefix.scope==t&&(s=storedPrefix.prefix+\" \",modifierCodes.indexOf(i.keyCode)<0)&&(l=!0,storedPrefix=null),new Set);var d=e=>{if(e){for(var t of e.run)if(!h.has(t)&&(h.add(t),t(r,i)))return e.stopPropagation&&(c=!0),!0;e.preventDefault&&(e.stopPropagation&&(c=!0),l=!0)}return!1};let u=e[t],p,f;return u&&(d(u[s+modifiers(n,i,!o)])?a=!0:o&&(i.altKey||i.metaKey||i.ctrlKey)&&!(browser.windows&&i.ctrlKey&&i.altKey)&&(p=base[i.keyCode])&&p!=n?(d(u[s+modifiers(p,i,!0)])||i.shiftKey&&(f=shift[i.keyCode])!=n&&f!=p&&d(u[s+modifiers(f,i,!1)]))&&(a=!0):o&&i.shiftKey&&d(u[s+modifiers(n,i,!0)])&&(a=!0),!a)&&d(u._any)&&(a=!0),(a=l?!0:a)&&c&&i.stopPropagation(),a}var RectangleMarker=class{constructor(e,t,i,r,n){this.className=e,this.left=t,this.top=i,this.width=r,this.height=n}draw(){var e=document.createElement(\"div\");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className&&(this.adjust(e),!0)}adjust(e){e.style.left=this.left+\"px\",e.style.top=this.top+\"px\",null!=this.width&&(e.style.width=this.width+\"px\"),e.style.height=this.height+\"px\"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){var r,n;return i.empty?(r=e.coordsAtPos(i.head,i.assoc||1))?(n=getBase(e),[new RectangleMarker(t,r.left-n.left,r.top-n.top,null,r.bottom-r.top)]):[]:rectanglesForRange(e,t,i)}};function getBase(e){var t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==Direction.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function wrappedLine(e,t,i){var r=EditorSelection.cursor(t);return{from:Math.max(i.from,e.moveToLineBoundary(r,!1,!0).from),to:Math.min(i.to,e.moveToLineBoundary(r,!0,!0).from),type:BlockType.Text}}function rectanglesForRange(m,n,e){if(e.to<=m.viewport.from||e.from>=m.viewport.to)return[];var t=Math.max(e.from,m.viewport.from),i=Math.min(e.to,m.viewport.to);let O=m.textDirection==Direction.LTR,r=m.contentDOM,o=r.getBoundingClientRect(),s=getBase(m);var a=r.querySelector(\".cm-line\"),a=a&&window.getComputedStyle(a);let v=o.left+(a?parseInt(a.paddingLeft)+Math.min(0,parseInt(a.textIndent)):0),y=o.right-(a?parseInt(a.paddingRight):0);var l,a=blockAt(m,t),c=blockAt(m,i);let h=a.type==BlockType.Text?a:null,d=c.type==BlockType.Text?c:null;return h&&(m.lineWrapping||a.widgetLineBreaks)&&(h=wrappedLine(m,t,h)),d&&(m.lineWrapping||c.widgetLineBreaks)&&(d=wrappedLine(m,i,d)),h&&d&&h.from==d.from?p(f(e.from,e.to,h)):(t=h?f(e.from,null,h):g(a,!1),i=d?f(null,e.to,d):g(c,!0),l=[],(h||a).to<(d||c).from-(h&&d?1:0)||1s&&o.frome&&n(Math.max(f,e),null==i&&f<=s,Math.min(g,t),null==r&&d<=g,u.dir)}if((e=p.to+1)>=t)break}return 0==h.length&&n(s,null==i,d,null==r,m.textDirection),{top:l,bottom:c,horizontal:h}}function g(e,t){var i=o.top+(t?e.top:e.bottom);return{top:i,bottom:i,horizontal:[]}}}function sameMarker(e,t){return e.constructor==t.constructor&&e.eq(t)}var LayerView=class{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement(\"div\")),this.dom.classList.add(\"cm-layer\"),t.above&&this.dom.classList.add(\"cm-layer-above\"),t[\"class\"]&&this.dom.classList.add(t[\"class\"]),this.scale(),this.dom.setAttribute(\"aria-hidden\",\"true\"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(layerOrder)!=e.state.facet(layerOrder)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}setOrder(e){let t=0,i=e.facet(layerOrder);for(;t!sameMarker(e,this.drawn[t]))){let e=this.dom.firstChild,t=0;for(var r of i)r.update&&e&&r.constructor&&this.drawn[t].constructor&&r.update(e,this.drawn[t])?(e=e.nextSibling,t++):this.dom.insertBefore(r.draw(),e);for(;e;){var n=e.nextSibling;e.remove(),e=n}this.drawn=i}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},layerOrder=Facet.define();function layer(t){return[ViewPlugin.define(e=>new LayerView(e,t)),layerOrder.of(t)]}var CanHidePrimary=!browser.ios,selectionConfig=Facet.define({combine(e){return combineConfig(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function drawSelection(e={}){return[selectionConfig.of(e),cursorLayer,selectionLayer,hideNativeSelection,nativeSelectionHidden.of(!0)]}function getDrawSelectionConfig(e){return e.facet(selectionConfig)}function configChanged(e){return e.startState.facet(selectionConfig)!=e.state.facet(selectionConfig)}var cursorLayer=layer({above:!0,markers(e){var t,i=e[\"state\"],r=i.facet(selectionConfig),n=[];for(t of i.selection.ranges){var o=t==i.selection.main;if(t.empty?!o||CanHidePrimary:r.drawRangeCursor){var s,o=o?\"cm-cursor cm-cursor-primary\":\"cm-cursor cm-cursor-secondary\",a=t.empty?t:EditorSelection.cursor(t.head,t.head>t.anchor?-1:1);for(s of RectangleMarker.forRange(e,o,a))n.push(s)}}return n},update(e,t){e.transactions.some(e=>e.selection)&&(t.style.animationName=\"cm-blink\"==t.style.animationName?\"cm-blink2\":\"cm-blink\");var i=configChanged(e);return i&&setBlinkRate(e.state,t),e.docChanged||e.selectionSet||i},mount(e,t){setBlinkRate(t.state,e)},\"class\":\"cm-cursorLayer\"});function setBlinkRate(e,t){t.style.animationDuration=e.facet(selectionConfig).cursorBlinkRate+\"ms\"}var selectionLayer=layer({above:!1,markers(t){return t.state.selection.ranges.map(e=>e.empty?[]:RectangleMarker.forRange(t,\"cm-selectionBackground\",e)).reduce((e,t)=>e.concat(t))},update(e,t){return e.docChanged||e.selectionSet||e.viewportChanged||configChanged(e)},\"class\":\"cm-selectionLayer\"}),themeSpec={\".cm-line\":{\"& ::selection\":{backgroundColor:\"transparent !important\"},\"&::selection\":{backgroundColor:\"transparent !important\"}}},hideNativeSelection=(CanHidePrimary&&(themeSpec[\".cm-line\"].caretColor=\"transparent !important\",themeSpec[\".cm-content\"]={caretColor:\"transparent !important\"}),Prec.highest(EditorView.theme(themeSpec))),setDropCursorPos=StateEffect.define({map(e,t){return null==e?null:t.mapPos(e)}}),dropCursorPos=StateField.define({create(){return null},update(e,t){return null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce((e,t)=>t.is(setDropCursorPos)?t.value:e,e)}}),drawDropCursor=ViewPlugin.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t,i=e.state.field(dropCursorPos);null==i?null!=this.cursor&&(null!=(t=this.cursor)&&t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement(\"div\")),this.cursor.className=\"cm-dropCursor\"),(e.startState.field(dropCursorPos)!=i||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){var e,t=this[\"view\"],i=t.state.field(dropCursorPos),i=null!=i&&t.coordsAtPos(i);return i?(e=t.scrollDOM.getBoundingClientRect(),{left:i.left-e.left+t.scrollDOM.scrollLeft*t.scaleX,top:i.top-e.top+t.scrollDOM.scrollTop*t.scaleY,height:i.bottom-i.top}):null}drawCursor(e){var t,i;this.cursor&&(({scaleX:t,scaleY:i}=this.view),e?(this.cursor.style.left=e.left/t+\"px\",this.cursor.style.top=e.top/i+\"px\",this.cursor.style.height=e.height/i+\"px\"):this.cursor.style.left=\"-100000px\")}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(dropCursorPos)!=e&&this.view.dispatch({effects:setDropCursorPos.of(e)})}},{eventObservers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){e.target!=this.view.contentDOM&&this.view.contentDOM.contains(e.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function dropCursor(){return[dropCursorPos,drawDropCursor]}function iterMatches(e,t,i,r,n){t.lastIndex=0;for(let o=e.iterRange(i,r),s=i,a;!o.next().done;s+=o.value.length)if(!o.lineBreak)for(;a=t.exec(o.value);)n(s+a.index,a)}function matchRanges(e,t){var i=e.visibleRanges;if(1==i.length&&i[0].from==e.viewport.from&&i[0].to==e.viewport.to)return i;var r,n,o=[];for({from:r,to:n}of i)r=Math.max(e.state.doc.lineAt(r).from,r-t),n=Math.min(e.state.doc.lineAt(n).to,n+t),o.length&&o[o.length-1].to>=r?o[o.length-1].to=n:o.push({from:r,to:n});return o}var MatchDecorator=class{constructor(e){const{regexp:t,decoration:o,decorate:n,boundary:i,maxLength:r=1e3}=e;if(!t.global)throw new RangeError(\"The regular expression given to MatchDecorator should have its 'g' flag set\");if(this.regexp=t,n)this.addMatch=(e,t,i,r)=>n(r,i,i+e[0].length,e,t);else if(\"function\"==typeof o)this.addMatch=(e,t,i,r)=>{var n=o(e,t,i);n&&r(i,i+e[0].length,n)};else{if(!o)throw new RangeError(\"Either 'decorate' or 'decoration' should be provided to MatchDecorator\");this.addMatch=(e,t,i,r)=>r(i,i+e[0].length,o)}this.boundary=i,this.maxLength=r}createDeco(i){let e=new RangeSetBuilder,r=e.add.bind(e);for(var{from:t,to:n}of matchRanges(i,this.maxLength))iterMatches(i.state.doc,this.regexp,t,n,(e,t)=>this.addMatch(t,i,e,r));return e.finish()}updateDeco(n,e){let o=1e9,s=-1;return n.docChanged&&n.changes.iterChanges((e,t,i,r)=>{r>n.view.viewport.from&&it){var h=a.state.doc.lineAt(t),d=h.toh.from;t--)if(this.boundary.test(h.text[t-1-h.from])){i=t;break}for(;sn.push(i.range(e,t));if(h==d)for(this.regexp.lastIndex=i-h.from;(e=this.regexp.exec(h.text))&&e.indexthis.addMatch(t,a,e,o));l=l.update({filterFrom:i,filterTo:r,filter:(e,t)=>er,add:n})}}return l}},UnicodeRegexpSupport=null!=/x/.unicode?\"gu\":\"g\";function highlightActiveLine(){return activeLineHighlighter}var lineDeco=Decoration.line({\"class\":\"cm-activeLine\"}),activeLineHighlighter=ViewPlugin.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,i=[];for(var r of e.state.selection.ranges){r=e.lineBlockAt(r.head);r.from>t&&(i.push(lineDeco.range(r.from)),t=r.from)}return Decoration.set(i)}},{decorations:e=>e.decorations}),Placeholder=class extends WidgetType{constructor(e){super(),this.content=e}toDOM(){var e=document.createElement(\"span\");return e.className=\"cm-placeholder\",e.style.pointerEvents=\"none\",e.appendChild(\"string\"==typeof this.content?document.createTextNode(this.content):this.content),\"string\"==typeof this.content?e.setAttribute(\"aria-label\",\"placeholder \"+this.content):e.setAttribute(\"aria-hidden\",\"true\"),e}coordsAt(e){var t,i=e.firstChild?clientRectsFor(e.firstChild):[];return i.length?(t=window.getComputedStyle(e.parentNode),i=flattenRect(i[0],\"rtl\"!=t.direction),t=parseInt(t.lineHeight),i.bottom-i.top>1.5*t?{left:i.left,right:i.right,top:i.top,bottom:i.top+t}:i):null}ignoreEvent(){return!1}};function placeholder(t){return ViewPlugin.fromClass(class{constructor(e){this.view=e,this.placeholder=t?Decoration.set([Decoration.widget({widget:new Placeholder(t),side:1}).range(0)]):Decoration.none}get decorations(){return this.view.state.doc.length?Decoration.none:this.placeholder}},{decorations:e=>e.decorations})}var MaxOff=2e3;function rectangleFor(t,i,r){var n=Math.min(i.line,r.line),o=Math.max(i.line,r.line),s=[];if(i.off>MaxOff||r.off>MaxOff||i.col<0||r.col<0){var a=Math.min(i.off,r.off),l=Math.max(i.off,r.off);for(let e=n;e<=o;e++){var c=t.doc.line(e);c.length<=l&&s.push(EditorSelection.range(c.from+a,c.to+l))}}else{var h=Math.min(i.col,r.col),d=Math.max(i.col,r.col);for(let e=n;e<=o;e++){var u,p=t.doc.line(e),f=findColumn(p.text,h,t.tabSize,!0);f<0?s.push(EditorSelection.cursor(p.to)):(u=findColumn(p.text,d,t.tabSize),s.push(EditorSelection.range(p.from+f,p.from+u)))}}return s}function absoluteColumn(e,t){var i=e.coordsAtPos(e.viewport.from);return i?Math.round(Math.abs((i.left-t)/e.defaultCharacterWidth)):-1}function getPos(e,t){var i=e.posAtCoords({x:t.clientX,y:t.clientY},!1),r=e.state.doc.lineAt(i),n=i-r.from,i=MaxOffe.altKey&&0==e.button);return EditorView.mouseSelectionStyle.of((e,t)=>i(t)?rectangleSelectionStyle(e,t):null)}var keys={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},showCrosshair={style:\"cursor: crosshair\"};function crosshairCursor(e={}){let[t,i]=keys[e.key||\"Alt\"],r=ViewPlugin.fromClass(class{constructor(e){this.view=e,this.isDown=!1}set(e){this.isDown!=e&&(this.isDown=e,this.view.update([]))}},{eventObservers:{keydown(e){this.set(e.keyCode==t||i(e))},keyup(e){e.keyCode!=t&&i(e)||this.set(!1)},mousemove(e){this.set(i(e))}}});return[r,EditorView.contentAttributes.of(e=>{var t;return null!=(t=e.plugin(r))&&t.isDown?showCrosshair:null})]}var Outside=\"-10000px\",TooltipViewManager=class{constructor(e,t,i){this.facet=t,this.createTooltipView=i,this.input=e.state.facet(t),this.tooltips=this.input.filter(e=>e),this.tooltipViews=this.tooltips.map(i)}update(r,n){var e,t=r.state.facet(this.facet),o=t.filter(e=>e);if(t===this.input){for(var i of this.tooltipViews)i.update&&i.update(r);return!1}var s,a,l=[],c=n?[]:null;for(let d=0;dn[t]=e),n.length=c.length),this.input=t,this.tooltips=o,this.tooltipViews=l,!0}};function tooltips(e={}){return tooltipConfig.of(e)}function windowSpace(e){var t=e[\"win\"];return{top:0,left:0,bottom:t.innerHeight,right:t.innerWidth}}var tooltipConfig=Facet.define({combine:e=>{var t;return{position:browser.ios?\"absolute\":(null==(t=e.find(e=>e.position))?void 0:t.position)||\"fixed\",parent:(null==(t=e.find(e=>e.parent))?void 0:t.parent)||null,tooltipSpace:(null==(t=e.find(e=>e.tooltipSpace))?void 0:t.tooltipSpace)||windowSpace}}}),knownHeight=new WeakMap,tooltipPlugin=ViewPlugin.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;var t=e.state.facet(tooltipConfig);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.manager=new TooltipViewManager(e,showTooltip,e=>this.createTooltip(e)),this.intersectionObserver=\"function\"==typeof IntersectionObserver?new IntersectionObserver(e=>{Date.now()>this.lastTransaction-50&&0{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());var t=this.manager.update(e,this.above);t&&this.observeIntersection();let i=t||e.geometryChanged;t=e.state.facet(tooltipConfig);if(t.position!=this.position&&!this.madeAbsolute){this.position=t.position;for(var r of this.manager.tooltipViews)r.dom.style.position=this.position;i=!0}if(t.parent!=this.parent){this.parent&&this.container.remove(),this.parent=t.parent,this.createContainer();for(var n of this.manager.tooltipViews)this.container.appendChild(n.dom);i=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);i&&this.maybeMeasure()}createTooltip(e){var t,i=e.create(this.view);return i.dom.classList.add(\"cm-tooltip\"),e.arrow&&!i.dom.querySelector(\".cm-tooltip > .cm-tooltip-arrow\")&&((t=document.createElement(\"div\")).className=\"cm-tooltip-arrow\",i.dom.appendChild(t)),i.dom.style.position=this.position,i.dom.style.top=Outside,i.dom.style.left=\"0px\",this.container.appendChild(i.dom),i.mount&&i.mount(this.view),i}destroy(){var e,t,i;this.view.win.removeEventListener(\"resize\",this.measureSoon);for(i of this.manager.tooltipViews)i.dom.remove(),null!=(e=i.destroy)&&e.call(i);this.parent&&this.container.remove(),null!=(t=this.intersectionObserver)&&t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){var e,t=this.view.dom.getBoundingClientRect();let i=1,r=1,n=!1;return\"fixed\"==this.position&&this.manager.tooltipViews.length&&(e=this.manager.tooltipViews[0][\"dom\"],browser.gecko?n=e.offsetParent!=this.container.ownerDocument.body:e.style.top==Outside&&\"0px\"==e.style.left&&(e=e.getBoundingClientRect(),n=1{var i=this.manager.tooltipViews[t];return i.getCoords?i.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(tooltipConfig).tooltipSpace(this.view),scaleX:i,scaleY:r,makeAbsolute:n}}writeMeasure(n){if(n.makeAbsolute){this.madeAbsolute=!0,this.position=\"absolute\";for(var e of this.manager.tooltipViews)e.dom.style.position=\"absolute\"}var{editor:t,space:o,scaleX:s,scaleY:a}=n,l=[];for(let w=0;w=Math.min(t.bottom,o.bottom)||u.rightMath.min(t.right,o.right)+.1)d.style.top=Outside;else{var f=c.arrow?h.dom.querySelector(\".cm-tooltip-arrow\"):null,g=f?7:0;let e=p.right-p.left,t=null!=(m=knownHeight.get(h))?m:p.bottom-p.top;var m=h.offset||noOffset,O=this.view.textDirection==Direction.LTR,v=p.width>o.right-o.left?O?o.left:o.right-p.width:O?Math.min(u.left-(f?14:0)+m.x,o.right-e):Math.max(o.left,u.left-e+(f?14:0)-m.x);let i=this.above[w];c=((i=!c.strictSide&&(i?u.top-(p.bottom-p.top)-m.yo.bottom)&&i==o.bottom-u.bottom>u.top-o.top?this.above[w]=!i:i)?u.top-o.top:o.bottom-u.bottom)-g;if(cv&&S.topr&&(r=i?S.top-t-2-g:S.bottom+g+2);\"absolute\"==this.position?(d.style.top=(r-n.parent.top)/a+\"px\",d.style.left=(v-n.parent.left)/s+\"px\"):(d.style.top=r/a+\"px\",d.style.left=v/s+\"px\"),f&&(p=u.left+(O?m.x:-m.x)-(v+14-7),f.style.left=p/s+\"px\"),!0!==h.overlap&&l.push({left:v,top:r,right:y,bottom:r+t}),d.classList.toggle(\"cm-tooltip-above\",i),d.classList.toggle(\"cm-tooltip-below\",!i),h.positioned&&h.positioned(n.space)}}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView)&&(this.inView=this.view.inView,!this.inView))for(var e of this.manager.tooltipViews)e.dom.style.top=Outside}},{eventObservers:{scroll(){this.maybeMeasure()}}}),baseTheme=EditorView.baseTheme({\".cm-tooltip\":{zIndex:100,boxSizing:\"border-box\"},\"&light .cm-tooltip\":{border:\"1px solid #bbb\",backgroundColor:\"#f5f5f5\"},\"&light .cm-tooltip-section:not(:first-child)\":{borderTop:\"1px solid #bbb\"},\"&dark .cm-tooltip\":{backgroundColor:\"#333338\",color:\"white\"},\".cm-tooltip-arrow\":{height:\"7px\",width:\"14px\",position:\"absolute\",zIndex:-1,overflow:\"hidden\",\"&:before, &:after\":{content:\"''\",position:\"absolute\",width:0,height:0,borderLeft:\"7px solid transparent\",borderRight:\"7px solid transparent\"},\".cm-tooltip-above &\":{bottom:\"-7px\",\"&:before\":{borderTop:\"7px solid #bbb\"},\"&:after\":{borderTop:\"7px solid #f5f5f5\",bottom:\"1px\"}},\".cm-tooltip-below &\":{top:\"-7px\",\"&:before\":{borderBottom:\"7px solid #bbb\"},\"&:after\":{borderBottom:\"7px solid #f5f5f5\",top:\"1px\"}}},\"&dark .cm-tooltip .cm-tooltip-arrow\":{\"&:before\":{borderTopColor:\"#333338\",borderBottomColor:\"#333338\"},\"&:after\":{borderTopColor:\"transparent\",borderBottomColor:\"transparent\"}}}),noOffset={x:0,y:0},showTooltip=Facet.define({enables:[tooltipPlugin,baseTheme]}),showHoverTooltip=Facet.define(),HoverTooltipHost=class{static create(e){return new HoverTooltipHost(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement(\"div\"),this.dom.classList.add(\"cm-tooltip-hover\"),this.manager=new TooltipViewManager(e,showHoverTooltip,e=>this.createHostedView(e))}createHostedView(e){var t=e.create(this.view);return t.dom.classList.add(\"cm-tooltip-section\"),this.dom.appendChild(t.dom),this.mounted&&t.mount&&t.mount(this.view),t}mount(e){for(var t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(var t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e,t;for(t of this.manager.tooltipViews)null!=(e=t.destroy)&&e.call(t)}passProp(e){let t=void 0;for(var i of this.manager.tooltipViews){i=i[e];if(void 0!==i)if(void 0===t)t=i;else if(t!==i)return}return t}get offset(){return this.passProp(\"offset\")}get getCoords(){return this.passProp(\"getCoords\")}get overlap(){return this.passProp(\"overlap\")}get resize(){return this.passProp(\"resize\")}},showHoverTooltipHost=showTooltip.compute([showHoverTooltip],e=>{var t=e.facet(showHoverTooltip).filter(e=>e);return 0===t.length?null:{pos:Math.min(...t.map(e=>e.pos)),end:Math.max(...t.map(e=>{var t;return null!=(t=e.end)?t:e.pos})),create:HoverTooltipHost.create,above:t[0].above,arrow:t.some(e=>e.arrow)}}),HoverPlugin=class{constructor(e,t,i,r,n){this.view=e,this.source=t,this.field=i,this.setHover=r,this.hoverTime=n,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener(\"mouseleave\",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener(\"mousemove\",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){var e;this.hoverTimeout=-1,this.active||((e=Date.now()-this.lastMove.time)n.bottom||t.xn.right+r.defaultCharacterWidth)return;var o=r.bidiSpans(r.state.doc.lineAt(i)).find(e=>e.from<=i&&e.to>=i),o=o&&o.dir==Direction.RTL?-1:1;e=t.x{this.pending==t&&(this.pending=null,e)&&r.dispatch({effects:this.setHover.of(e)})},e=>logException(r.state,e,\"hover tooltip\"))}else n&&r.dispatch({effects:this.setHover.of(n)})}}get tooltip(){var e=this.view.plugin(tooltipPlugin),t=e?e.manager.tooltips.findIndex(e=>e.create==HoverTooltipHost.create):-1;return-1{t.removeEventListener(\"mouseleave\",i),this.active&&!this.view.dom.contains(e.relatedTarget)&&this.view.dispatch({effects:this.setHover.of(null)})};t.addEventListener(\"mouseleave\",i)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener(\"mouseleave\",this.mouseleave),this.view.dom.removeEventListener(\"mousemove\",this.mousemove)}},tooltipMargin=4;function isInTooltip(e,t){var i=e.getBoundingClientRect();return t.clientX>=i.left-tooltipMargin&&t.clientX<=i.right+tooltipMargin&&t.clientY>=i.top-tooltipMargin&&t.clientY<=i.bottom+tooltipMargin}function isOverRange(e,t,i,r,n,o){var s=e.scrollDOM.getBoundingClientRect(),a=e.documentTop+e.documentPadding.top+e.contentHeight;return!(s.left>r||s.rightn||Math.min(s.bottom,a)showHoverTooltip.from(e)});return[i,ViewPlugin.define(e=>new HoverPlugin(e,t,i,s,o.hoverTime||300)),showHoverTooltipHost]}function getTooltip(e,t){var i,r=e.plugin(tooltipPlugin);return!r||(i=r.manager.tooltips.indexOf(t))<0?null:r.manager.tooltipViews[i]}var closeHoverTooltipEffect=StateEffect.define(),panelConfig=Facet.define({combine(e){let t,i;for(var r of e)t=t||r.topContainer,i=i||r.bottomContainer;return{topContainer:t,bottomContainer:i}}});function getPanel(e,t){var i=e.plugin(panelPlugin),r=i?i.specs.indexOf(t):-1;return-1e),this.panels=this.specs.map(e=>e(t));var e,i=t.state.facet(panelConfig);this.top=new PanelGroup(t,!0,i.topContainer),this.bottom=new PanelGroup(t,!1,i.bottomContainer),this.top.sync(this.panels.filter(e=>e.top)),this.bottom.sync(this.panels.filter(e=>!e.top));for(e of this.panels)e.dom.classList.add(\"cm-panel\"),e.mount&&e.mount()}update(i){var e=i.state.facet(panelConfig),e=(this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new PanelGroup(i.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new PanelGroup(i.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses(),i.state.facet(showPanel));if(e!=this.input){var r,t,e=e.filter(e=>e),n=[],o=[],s=[],a=[];for(r of e){let e=this.specs.indexOf(r),t;e<0?(t=r(i.view),a.push(t)):(t=this.panels[e]).update&&t.update(i),n.push(t),(t.top?o:s).push(t)}this.specs=e,this.panels=n,this.top.sync(o),this.bottom.sync(s);for(t of a)t.dom.classList.add(\"cm-panel\"),t.mount&&t.mount()}else for(var l of this.panels)l.update&&l.update(i)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:i=>EditorView.scrollMargins.of(e=>{var t=e.plugin(i);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})}),PanelGroup=class{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes=\"\",this.panels=[],this.syncClasses()}sync(e){for(var t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(0==this.panels.length)this.dom&&(this.dom.remove(),this.dom=void 0);else{var t,i;this.dom||(this.dom=document.createElement(\"div\"),this.dom.className=this.top?\"cm-panels cm-panels-top\":\"cm-panels cm-panels-bottom\",this.dom.style[this.top?\"top\":\"bottom\"]=\"0\",(t=this.container||this.view.dom).insertBefore(this.dom,this.top?t.firstChild:null));let e=this.dom.firstChild;for(i of this.panels)if(i.dom.parentNode==this.dom){for(;e!=i.dom;)e=rm(e);e=e.nextSibling}else this.dom.insertBefore(i.dom,e);for(;e;)e=rm(e)}}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(var e of this.classes.split(\" \"))e&&this.container.classList.remove(e);for(var t of(this.classes=this.view.themeClasses).split(\" \"))t&&this.container.classList.add(t)}}};function rm(e){var t=e.nextSibling;return e.remove(),t}var showPanel=Facet.define({enables:panelPlugin}),GutterMarker=class extends RangeValue{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}},gutterLineClass=(GutterMarker.prototype.elementClass=\"\",GutterMarker.prototype.toDOM=void 0,GutterMarker.prototype.mapMode=MapMode.TrackBefore,GutterMarker.prototype.startSide=GutterMarker.prototype.endSide=-1,GutterMarker.prototype.point=!0,Facet.define()),defaults={\"class\":\"\",renderEmptyElements:!1,elementStyle:\"\",markers:()=>RangeSet.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},activeGutters=Facet.define();function gutter(e){return[gutters(),activeGutters.of(Object.assign(Object.assign({},defaults),e))]}var unfixGutters=Facet.define({combine:e=>e.some(e=>e)});function gutters(e){var t=[gutterView];return e&&!1===e.fixed&&t.push(unfixGutters.of(!0)),t}var gutterView=ViewPlugin.fromClass(class{constructor(t){this.view=t,this.prevViewport=t.viewport,this.dom=document.createElement(\"div\"),this.dom.className=\"cm-gutters\",this.dom.setAttribute(\"aria-hidden\",\"true\"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+\"px\",this.gutters=t.state.facet(activeGutters).map(e=>new SingleGutterView(t,e));for(var e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!t.state.facet(unfixGutters),this.fixed&&(this.dom.style.position=\"sticky\"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}update(e){var t,i;this.updateGutters(e)&&(i=this.prevViewport,t=e.view.viewport,i=Math.min(i.to,t.to)-Math.max(i.from,t.from),this.syncGutters(i<.8*(t.to-t.from))),e.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+\"px\"),this.view.state.facet(unfixGutters)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?\"sticky\":\"\"),this.prevViewport=e.view.viewport}syncGutters(e){var t=this.dom.nextSibling,i=(e&&this.dom.remove(),RangeSet.iter(this.view.state.facet(gutterLineClass),this.view.viewport.from));let r=[];var n,o,s=this.gutters.map(e=>new UpdateContext(e,this.view.viewport,-this.view.documentPadding.top));for(n of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(n.type)){let e=!0;for(var a of n.type)if(a.type==BlockType.Text&&e){advanceCursor(i,r,a.from);for(var l of s)l.line(this.view,a,r);e=!1}else if(a.widget)for(var c of s)c.widget(this.view,a)}else if(n.type==BlockType.Text){advanceCursor(i,r,n.from);for(var h of s)h.line(this.view,n,r)}else if(n.widget)for(var d of s)d.widget(this.view,n);for(o of s)o.finish();e&&this.view.scrollDOM.insertBefore(this.dom,t)}updateGutters(e){var t=e.startState.facet(activeGutters),i=e.state.facet(activeGutters);let r=e.docChanged||e.heightChanged||e.viewportChanged||!RangeSet.eq(e.startState.facet(gutterLineClass),e.state.facet(gutterLineClass),e.view.viewport.from,e.view.viewport.to);if(t==i)for(var n of this.gutters)n.update(e)&&(r=!0);else{r=!0;var o,s,a,l=[];for(o of i){var c=t.indexOf(o);c<0?l.push(new SingleGutterView(this.view,o)):(this.gutters[c].update(e),l.push(this.gutters[c]))}for(s of this.gutters)s.dom.remove(),l.indexOf(s)<0&&s.destroy();for(a of l)this.dom.appendChild(a.dom);this.gutters=l}return r}destroy(){for(var e of this.gutters)e.destroy();this.dom.remove()}},{provide:i=>EditorView.scrollMargins.of(e=>{var t=e.plugin(i);return t&&0!=t.gutters.length&&t.fixed?e.textDirection==Direction.LTR?{left:t.dom.offsetWidth*e.scaleX}:{right:t.dom.offsetWidth*e.scaleX}:null})});function asArray2(e){return Array.isArray(e)?e:[e]}function advanceCursor(e,t,i){for(;e.value&&e.from<=i;)e.from==i&&t.push(e.value),e.next()}var UpdateContext=class{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=RangeSet.iter(e.markers,t.from)}addElement(e,t,i){var r,n=this[\"gutter\"],o=(t.top-this.height)/e.scaleY,s=t.height/e.scaleY;this.i==n.elements.length?(r=new GutterElement(e,s,o,i),n.elements.push(r),n.dom.appendChild(r.dom)):n.elements[this.i].update(e,s,o,i),this.height=t.bottom,this.i++}line(e,t,i){let r=[];advanceCursor(this.cursor,r,t.from),i.length&&(r=r.concat(i));var n=this.gutter.config.lineMarker(e,t,r),n=(n&&r.unshift(n),this.gutter);0==r.length&&!n.config.renderEmptyElements||this.addElement(e,t,r)}widget(e,t){var i=this.gutter.config.widgetMarker(e,t.widget,t);i&&this.addElement(e,t,[i])}finish(){for(var e=this.gutter;e.elements.length>this.i;){var t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}},SingleGutterView=class{constructor(n,o){this.view=n,this.config=o,this.elements=[],this.spacer=null,this.dom=document.createElement(\"div\"),this.dom.className=\"cm-gutter\"+(this.config[\"class\"]?\" \"+this.config[\"class\"]:\"\");for(let s in o.domEventHandlers)this.dom.addEventListener(s,e=>{let t=e.target,i;if(t!=this.dom&&this.dom.contains(t)){for(;t.parentNode!=this.dom;)t=t.parentNode;var r=t.getBoundingClientRect();i=(r.top+r.bottom)/2}else i=e.clientY;r=n.lineBlockAtHeight(i-n.documentTop);o.domEventHandlers[s](n,r,e)&&e.preventDefault()});this.markers=asArray2(o.markers(n)),o.initialSpacer&&(this.spacer=new GutterElement(n,0,0,[o.initialSpacer(n)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+=\"visibility: hidden; pointer-events: none\")}update(e){var t=this.markers,i=(this.markers=asArray2(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer&&(i=this.config.updateSpacer(this.spacer.markers[0],e))!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[i]),e.view.viewport);return!RangeSet.eq(this.markers,t,i.from,i.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(var e of this.elements)e.destroy()}},GutterElement=class{constructor(e,t,i,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement(\"div\"),this.dom.className=\"cm-gutterElement\",this.update(e,t,i,r)}update(e,t,i,r){this.height!=t&&(this.height=t,this.dom.style.height=t+\"px\"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+\"px\":\"\"),sameMarkers(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,n){let o=\"cm-gutterElement\",s=this.dom.firstChild;for(let c=0,h=0;;){let t=h,i=cr(e,t,i)||n(e,t,i):n}return o}})}}),NumberMarker=class extends GutterMarker{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function formatNumber(e,t){return e.state.facet(lineNumberConfig).formatNumber(t,e.state)}var lineNumberGutter=activeGutters.compute([lineNumberConfig],e=>({\"class\":\"cm-lineNumbers\",renderEmptyElements:!1,markers(e){return e.state.facet(lineNumberMarkers)},lineMarker(e,t,i){return i.some(e=>e.toDOM)?null:new NumberMarker(formatNumber(e,e.state.doc.lineAt(t.from).number))},widgetMarker:()=>null,lineMarkerChange:e=>e.startState.facet(lineNumberConfig)!=e.state.facet(lineNumberConfig),initialSpacer(e){return new NumberMarker(formatNumber(e,maxLineNumber(e.state.doc.lines)))},updateSpacer(e,t){var i=formatNumber(t.view,maxLineNumber(t.view.state.doc.lines));return i==e.number?e:new NumberMarker(i)},domEventHandlers:e.facet(lineNumberConfig).domEventHandlers}));function lineNumbers(e={}){return[lineNumberConfig.of(e),gutters(),lineNumberGutter]}function maxLineNumber(e){let t=9;for(;t{let t=[],i=-1;for(var r of e.selection.ranges){r=e.doc.lineAt(r.head).from;r>i&&(i=r,t.push(activeLineGutterMarker.range(r)))}return RangeSet.of(t)});function highlightActiveLineGutter(){return activeLineGutterHighlighter}var WhitespaceDeco=new Map;function getWhitespaceDeco(e){let t=WhitespaceDeco.get(e);return t||WhitespaceDeco.set(e,t=Decoration.mark({attributes:\"\\t\"===e?{\"class\":\"cm-highlightTab\"}:{\"class\":\"cm-highlightSpace\",\"data-display\":e.replace(/ /g,\"·\")}})),t}function matcher(t){return ViewPlugin.define(e=>({decorations:t.createDeco(e),update(e){this.decorations=t.updateDeco(e,this.decorations)}}),{decorations:e=>e.decorations})}var whitespaceHighlighter=matcher(new MatchDecorator({regexp:/\\t| +/g,decoration:e=>getWhitespaceDeco(e[0]),boundary:/\\S/}));function highlightWhitespace(){return whitespaceHighlighter}var trailingHighlighter=matcher(new MatchDecorator({regexp:/\\s+$/g,decoration:Decoration.mark({\"class\":\"cm-trailingSpace\"}),boundary:/\\S/}));function highlightTrailingWhitespace(){return trailingHighlighter}function crelt(){var e,t=arguments[0],i=(\"string\"==typeof t&&(t=document.createElement(t)),1),r=arguments[1];if(r&&\"object\"==typeof r&&null==r.nodeType&&!Array.isArray(r)){for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(\"string\"==typeof(e=r[n])?t.setAttribute(n,e):null!=e&&(t[n]=e));i++}for(;ie.normalize(\"NFKD\"):e=>e,SearchCursor=class{constructor(e,t,i=0,r=e.length,n,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer=\"\",this.bufferPos=0,this.iter=e.iterRange(i,r),this.bufferStart=i,this.normalize=n?e=>n(basicNormalize(e)):basicNormalize,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return codePointAt(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){var i=this.peek();if(i<0)return this.done=!0,this;var r=fromCodePoint(i),n=this.bufferStart+this.bufferPos,o=(this.bufferPos+=codePointSize(i),this.normalize(r));for(let e=0,t=n;;e++){var s=o.charCodeAt(e),a=this.match(s,t);if(e==o.length-1){if(a)return this.value=a,this;break}t==n&&ethis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine=\"\":this.getLine(0)}next(){for(let r=this.matchPos-this.curLineStart;;){this.re.lastIndex=r;var e=this.matchPos<=this.to&&this.re.exec(this.curLine);if(e){var t=this.curLineStart+e.index,i=t+e[0].length;if(this.matchPos=toCharEnd(this.text,i+(t==i?1:0)),t==this.curLineStart+this.curLine.length&&this.nextLine(),(tthis.value.to)&&(!this.test||this.test(t,i,e)))return this.value={from:t,to:i,match:e},this;r=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length=i||n.to<=t)return r=new FlattenedDoc(t,e.sliceString(t,i)),flattened.set(e,r),r;if(n.from==t&&n.to==i)return n;let{text:o,from:s}=n;return s>t&&(o=e.sliceString(t,s)+o,s=t),n.to=this.to?this:this.text.lineAt(e)).to}next(){for(;;){var t=this.re.lastIndex=this.matchPos-this.flat.from;let e=this.re.exec(this.flat.text);if(e&&!e[0]&&e.index==t&&(this.re.lastIndex=1+t,e=this.re.exec(this.flat.text)),e){var t=this.flat.from+e.index,i=t+e[0].length;if((this.flat.to>=this.to||e.index+e[0].length<=this.flat.text.length-10)&&(!this.test||this.test(t,i,e)))return this.value={from:t,to:i,match:e},this.matchPos=toCharEnd(this.text,i+(t==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=FlattenedDoc.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}};function validRegExp(e){try{return new RegExp(e,baseFlags),!0}catch(t){return!1}}function toCharEnd(i,r){if(!(r>=i.length)){let e=i.lineAt(r),t;for(;r{27==e.keyCode?(e.preventDefault(),a.dispatch({effects:dialogEffect.of(!1)}),a.focus()):13==e.keyCode&&(e.preventDefault(),i())},onsubmit:e=>{e.preventDefault(),i()}},crelt(\"label\",a.state.phrase(\"Go to line\"),\": \",t),\" \",crelt(\"button\",{\"class\":\"cm-button\",type:\"submit\"},a.state.phrase(\"go\")))}}\"undefined\"!=typeof Symbol&&(RegExpCursor.prototype[Symbol.iterator]=MultilineRegExpCursor.prototype[Symbol.iterator]=function(){return this});var dialogEffect=StateEffect.define(),dialogField=StateField.define({create(){return!0},update(e,t){for(var i of t.effects)i.is(dialogEffect)&&(e=i.value);return e},provide:e=>showPanel.from(e,e=>e?createLineDialog:null)}),gotoLine=e=>{let t=getPanel(e,createLineDialog);var i;return t||(i=[dialogEffect.of(!0)],null==e.state.field(dialogField,!1)&&i.push(StateEffect.appendConfig.of([dialogField,baseTheme$12])),e.dispatch({effects:i}),t=getPanel(e,createLineDialog)),t&&t.dom.querySelector(\"input\").select(),!0},baseTheme$12=EditorView.baseTheme({\".cm-panel.cm-gotoLine\":{padding:\"2px 6px 4px\",\"& label\":{fontSize:\"80%\"}}}),defaultHighlightOptions={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},highlightConfig=Facet.define({combine(e){return combineConfig(e,defaultHighlightOptions,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function highlightSelectionMatches(e){var t=[defaultTheme,matchHighlighter];return e&&t.push(highlightConfig.of(e)),t}var matchDeco=Decoration.mark({\"class\":\"cm-selectionMatch\"}),mainMatchDeco=Decoration.mark({\"class\":\"cm-selectionMatch cm-selectionMatch-main\"});function insideWordBoundaries(e,t,i,r){return!(0!=i&&e(t.sliceDoc(i-1,i))==CharCategory.Word||r!=t.doc.length&&e(t.sliceDoc(r,r+1))==CharCategory.Word)}function insideWord(e,t,i,r){return e(t.sliceDoc(i,i+1))==CharCategory.Word&&e(t.sliceDoc(r-1,r))==CharCategory.Word}var matchHighlighter=ViewPlugin.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){var t=e.state.facet(highlightConfig),i=e[\"state\"],r=i.selection;if(1=n.to?l.push(mainMatchDeco.range(h,d)):(h>=n.to||d<=n.from)&&l.push(matchDeco.range(h,d)),l.length>t.maxMatches))return Decoration.none}return Decoration.set(l)}},{decorations:e=>e.decorations}),defaultTheme=EditorView.baseTheme({\".cm-selectionMatch\":{backgroundColor:\"#99ff7780\"},\".cm-searchMatch .cm-selectionMatch\":{backgroundColor:\"transparent\"}}),selectWord=({state:t,dispatch:e})=>{var i=t[\"selection\"],r=EditorSelection.create(i.ranges.map(e=>t.wordAt(e.head)||EditorSelection.cursor(e.head)),i.mainIndex);return!r.eq(i)&&(e(t.update({selection:r})),!0)};function findNextOccurrence(e,t){var{main:i,ranges:r}=e.selection,n=e.wordAt(i.head),o=n&&n.from==i.from&&n.to==i.to;for(let a=!1,l=new SearchCursor(e.doc,t,r[r.length-1].to);;)if(l.next(),l.done){if(a)return null;l=new SearchCursor(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),a=!0}else if(!a||!r.some(e=>e.from==l.value.from)){if(o){var s=e.wordAt(l.value.from);if(!s||s.from!=l.value.from||s.to!=l.value.to)continue}return l.value}}var selectNextOccurrence=({state:t,dispatch:e})=>{var i=t.selection[\"ranges\"];if(i.some(e=>e.from===e.to))return selectWord({state:t,dispatch:e});let r=t.sliceDoc(i[0].from,i[0].to);return!t.selection.ranges.some(e=>t.sliceDoc(e.from,e.to)!=r)&&!!(i=findNextOccurrence(t,r))&&(e(t.update({selection:t.selection.addRange(EditorSelection.range(i.from,i.to),!1),effects:EditorView.scrollIntoView(i.to)})),!0)},searchConfigFacet=Facet.define({combine(e){return combineConfig(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new SearchPanel(e),scrollToMatch:e=>EditorView.scrollIntoView(e)})}}),SearchQuery=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||\"\",this.valid=!!this.search&&(!this.regexp||validRegExp(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\\\([nrt\\\\])/g,(e,t)=>\"n\"==t?\"\\n\":\"r\"==t?\"\\r\":\"t\"==t?\"\\t\":\"\\\\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return new(this.regexp?RegExpQuery:StringQuery)(this)}getCursor(e,t=0,i){var r=e.doc?e:EditorState.create({doc:e});return null==i&&(i=r.doc.length),(this.regexp?regexpCursor:stringCursor)(this,r,t,i)}},QueryType2=class{constructor(e){this.spec=e}};function stringCursor(e,t,i,r){return new SearchCursor(t.doc,e.unquoted,i,r,e.caseSensitive?void 0:e=>e.toLowerCase(),e.wholeWord?stringWordTest(t.doc,t.charCategorizer(t.selection.main.head)):void 0)}function stringWordTest(n,o){return(e,t,i,r)=>((e!i[0].length||(r(charBefore(i.input,i.index))!=CharCategory.Word||r(charAfter(i.input,i.index))!=CharCategory.Word)&&(r(charAfter(i.input,i.index+i[0].length))!=CharCategory.Word||r(charBefore(i.input,i.index+i[0].length))!=CharCategory.Word)}var RegExpQuery=class extends QueryType2{nextMatch(e,t,i){let r=regexpCursor(this.spec,e,i,e.doc.length).next();return(r=r.done?regexpCursor(this.spec,e,0,t).next():r).done?null:r.value}prevMatchInRange(i,r,n){for(let s=1;;s++){var o=Math.max(r,n-1e4*s);let e=regexpCursor(this.spec,i,o,n),t=null;for(;!e.next().done;)t=e.value;if(t&&(o==r||t.from>o+10))return t;if(o==r)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(i){return this.spec.unquote(this.spec.replace).replace(/\\$([$&\\d+])/g,(e,t)=>\"$\"==t?\"$\":\"&\"==t?i.match[0]:\"0\"!=t&&+tshowPanel.from(e,e=>e.panel)}),SearchState=class{constructor(e,t){this.query=e,this.panel=t}},matchMark=Decoration.mark({\"class\":\"cm-searchMatch\"}),selectedMatchMark=Decoration.mark({\"class\":\"cm-searchMatch cm-searchMatch-selected\"}),searchHighlighter=ViewPlugin.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(searchState))}update(e){var t=e.state.field(searchState);(t!=e.startState.field(searchState)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:i,panel:e}){if(!e||!i.spec.valid)return Decoration.none;let r=this[\"view\"],n=new RangeSetBuilder;for(let o=0,s=r.visibleRanges,a=s.length;os[o+1].from-500;)t=s[++o].to;i.highlight(r.state,e,t,(t,i)=>{var e=r.state.selection.ranges.some(e=>e.from==t&&e.to==i);n.add(t,i,e?selectedMatchMark:matchMark)})}return n.finish()}},{decorations:e=>e.decorations});function searchCommand(i){return e=>{var t=e.state.field(searchState,!1);return t&&t.query.spec.valid?i(e,t):openSearchPanel(e)}}var findNext=searchCommand((e,{query:t})=>{var i,r,n=e.state.selection.main[\"to\"],n=t.nextMatch(e.state,n,n);return!!n&&(i=EditorSelection.single(n.from,n.to),r=e.state.facet(searchConfigFacet),e.dispatch({selection:i,effects:[announceMatch(e,n),r.scrollToMatch(i.main,e)],userEvent:\"select.search\"}),selectSearchInput(e),!0)}),findPrevious=searchCommand((e,{query:t})=>{var i,r=e[\"state\"],n=r.selection.main[\"from\"],r=t.prevMatch(r,n,n);return!!r&&(n=EditorSelection.single(r.from,r.to),i=e.state.facet(searchConfigFacet),e.dispatch({selection:n,effects:[announceMatch(e,r),i.scrollToMatch(n.main,e)],userEvent:\"select.search\"}),selectSearchInput(e),!0)}),selectMatches=searchCommand((e,{query:t})=>{var i=t.matchAll(e.state,1e3);return!(!i||!i.length||(e.dispatch({selection:EditorSelection.create(i.map(e=>EditorSelection.range(e.from,e.to))),userEvent:\"select.search.matches\"}),0))}),selectSelectionMatches=({state:e,dispatch:t})=>{var i=e.selection;if(1{var i=e[\"state\"],{from:r,to:n}=i.selection.main;if(i.readOnly)return!1;let o=t.nextMatch(i,r,r);if(!o)return!1;let s=[],a,l;var c=[];return o.from==r&&o.to==n&&(l=i.toText(t.getReplacement(o)),s.push({from:o.from,to:o.to,insert:l}),o=t.nextMatch(i,o.from,o.to),c.push(EditorView.announce.of(i.phrase(\"replaced match on line $\",i.doc.lineAt(r).number)+\".\"))),o&&(n=0==s.length||s[0].from>=o.to?0:o.to-o.from-l.length,a=EditorSelection.single(o.from-n,o.to-n),c.push(announceMatch(e,o)),c.push(i.facet(searchConfigFacet).scrollToMatch(a.main,e))),e.dispatch({changes:s,selection:a,effects:c,userEvent:\"input.replace\"}),!0}),replaceAll=searchCommand((e,{query:r})=>{var t,i;return!e.state.readOnly&&!!(t=r.matchAll(e.state,1e9).map(e=>{var{from:t,to:i}=e;return{from:t,to:i,insert:r.getReplacement(e)}})).length&&(i=e.state.phrase(\"replaced $ matches\",t.length)+\".\",e.dispatch({changes:t,effects:EditorView.announce.of(i),userEvent:\"input.replace.all\"}),!0)});function createSearchPanel(e){return e.state.facet(searchConfigFacet).createPanel(e)}function defaultQuery(e,t){var i,r,n=e.selection.main,n=n.empty||n.to>n.from+100?\"\":e.sliceDoc(n.from,n.to);return t&&!n?t:(r=e.facet(searchConfigFacet),new SearchQuery({search:(null!=(i=null==t?void 0:t.literal)?i:r.literal)?n:n.replace(/\\n/g,\"\\\\n\"),caseSensitive:null!=(i=null==t?void 0:t.caseSensitive)?i:r.caseSensitive,literal:null!=(n=null==t?void 0:t.literal)?n:r.literal,regexp:null!=(i=null==t?void 0:t.regexp)?i:r.regexp,wholeWord:null!=(n=null==t?void 0:t.wholeWord)?n:r.wholeWord}))}function getSearchInput(e){var t=getPanel(e,createSearchPanel);return t&&t.dom.querySelector(\"[main-field]\")}function selectSearchInput(e){var t=getSearchInput(e);t&&t==e.root.activeElement&&t.select()}var openSearchPanel=e=>{var t,i,r=e.state.field(searchState,!1);return r&&r.panel?(t=getSearchInput(e))&&t!=e.root.activeElement&&((i=defaultQuery(e.state,r.query.spec)).valid&&e.dispatch({effects:setSearchQuery.of(i)}),t.focus(),t.select()):e.dispatch({effects:[togglePanel.of(!0),r?setSearchQuery.of(defaultQuery(e.state,r.query.spec)):StateEffect.appendConfig.of(searchExtensions)]}),!0},closeSearchPanel=e=>{var t=e.state.field(searchState,!1);return!(!t||!t.panel||((t=getPanel(e,createSearchPanel))&&t.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:togglePanel.of(!1)}),0))},searchKeymap=[{key:\"Mod-f\",run:openSearchPanel,scope:\"editor search-panel\"},{key:\"F3\",run:findNext,shift:findPrevious,scope:\"editor search-panel\",preventDefault:!0},{key:\"Mod-g\",run:findNext,shift:findPrevious,scope:\"editor search-panel\",preventDefault:!0},{key:\"Escape\",run:closeSearchPanel,scope:\"editor search-panel\"},{key:\"Mod-Shift-l\",run:selectSelectionMatches},{key:\"Mod-Alt-g\",run:gotoLine},{key:\"Mod-d\",run:selectNextOccurrence,preventDefault:!0}],SearchPanel=class{constructor(e){this.view=e;var t=this.query=e.state.field(searchState).query.spec;function i(e,t,i){return crelt(\"button\",{\"class\":\"cm-button\",name:e,onclick:t,type:\"button\"},i)}this.commit=this.commit.bind(this),this.searchField=crelt(\"input\",{value:t.search,placeholder:phrase(e,\"Find\"),\"aria-label\":phrase(e,\"Find\"),\"class\":\"cm-textfield\",name:\"search\",form:\"\",\"main-field\":\"true\",onchange:this.commit,onkeyup:this.commit}),this.replaceField=crelt(\"input\",{value:t.replace,placeholder:phrase(e,\"Replace\"),\"aria-label\":phrase(e,\"Replace\"),\"class\":\"cm-textfield\",name:\"replace\",form:\"\",onchange:this.commit,onkeyup:this.commit}),this.caseField=crelt(\"input\",{type:\"checkbox\",name:\"case\",form:\"\",checked:t.caseSensitive,onchange:this.commit}),this.reField=crelt(\"input\",{type:\"checkbox\",name:\"re\",form:\"\",checked:t.regexp,onchange:this.commit}),this.wordField=crelt(\"input\",{type:\"checkbox\",name:\"word\",form:\"\",checked:t.wholeWord,onchange:this.commit}),this.dom=crelt(\"div\",{onkeydown:e=>this.keydown(e),\"class\":\"cm-search\"},[this.searchField,i(\"next\",()=>findNext(e),[phrase(e,\"next\")]),i(\"prev\",()=>findPrevious(e),[phrase(e,\"previous\")]),i(\"select\",()=>selectMatches(e),[phrase(e,\"all\")]),crelt(\"label\",null,[this.caseField,phrase(e,\"match case\")]),crelt(\"label\",null,[this.reField,phrase(e,\"regexp\")]),crelt(\"label\",null,[this.wordField,phrase(e,\"by word\")]),...e.state.readOnly?[]:[crelt(\"br\"),this.replaceField,i(\"replace\",()=>replaceNext(e),[phrase(e,\"replace\")]),i(\"replaceAll\",()=>replaceAll(e),[phrase(e,\"replace all\")])],crelt(\"button\",{name:\"close\",onclick:()=>closeSearchPanel(e),\"aria-label\":phrase(e,\"close\"),type:\"button\"},[\"×\"])])}commit(){var e=new SearchQuery({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:setSearchQuery.of(e)}))}keydown(e){runScopeHandlers(this.view,e,\"search-panel\")?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?findPrevious:findNext)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),replaceNext(this.view))}update(e){for(var t of e.transactions)for(var i of t.effects)i.is(setSearchQuery)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(searchConfigFacet).top}};function phrase(e,t){return e.state.phrase(t)}var AnnounceMargin=30,Break=/[\\s\\.,:;?!]/;function announceMatch(e,{from:t,to:i}){var r=e.state.doc.lineAt(t),n=e.state.doc.lineAt(i).to,o=Math.max(r.from,t-AnnounceMargin),s=Math.min(n,i+AnnounceMargin);let a=e.state.sliceDoc(o,s);if(o!=r.from)for(let e=0;ea.length-AnnounceMargin;e--)if(!Break.test(a[e-1])&&Break.test(a[e])){a=a.slice(0,e);break}return EditorView.announce.of(`${e.state.phrase(\"current match\")}. ${a} ${e.state.phrase(\"on line\")} ${r.number}.`)}var IterMode,baseTheme2=EditorView.baseTheme({\".cm-panel.cm-search\":{padding:\"2px 6px 4px\",position:\"relative\",\"& [name=close]\":{position:\"absolute\",top:\"0\",right:\"4px\",backgroundColor:\"inherit\",border:\"none\",font:\"inherit\",padding:0,margin:0},\"& input, & button, & label\":{margin:\".2em .6em .2em 0\"},\"& input[type=checkbox]\":{marginRight:\".2em\"},\"& label\":{fontSize:\"80%\",whiteSpace:\"pre\"}},\"&light .cm-searchMatch\":{backgroundColor:\"#ffff0054\"},\"&dark .cm-searchMatch\":{backgroundColor:\"#00ffff8a\"},\"&light .cm-searchMatch-selected\":{backgroundColor:\"#ff6a0054\"},\"&dark .cm-searchMatch-selected\":{backgroundColor:\"#ff00ff8a\"}}),searchExtensions=[searchState,Prec.low(searchHighlighter),baseTheme2],DefaultBufferLength=1024,nextPropID=0,Range2=class{constructor(e,t){this.from=e,this.to=t}},NodeProp=class{constructor(e={}){this.id=nextPropID++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error(\"This node type doesn't define a deserialize function\")})}add(i){if(this.perNode)throw new RangeError(\"Can't add per-node props to node types\");return\"function\"!=typeof i&&(i=NodeType.match(i)),e=>{var t=i(e);return void 0===t?null:[this,t]}}},MountedTree=(NodeProp.closedBy=new NodeProp({deserialize:e=>e.split(\" \")}),NodeProp.openedBy=new NodeProp({deserialize:e=>e.split(\" \")}),NodeProp.group=new NodeProp({deserialize:e=>e.split(\" \")}),NodeProp.isolate=new NodeProp({deserialize:e=>{if(e&&\"rtl\"!=e&&\"ltr\"!=e&&\"auto\"!=e)throw new RangeError(\"Invalid value for isolate: \"+e);return e||\"auto\"}}),NodeProp.contextHash=new NodeProp({perNode:!0}),NodeProp.lookAhead=new NodeProp({perNode:!0}),NodeProp.mounted=new NodeProp({perNode:!0}),class{constructor(e,t,i){this.tree=e,this.overlay=t,this.parser=i}static get(e){return e&&e.props&&e.props[NodeProp.mounted.id]}}),noProps=Object.create(null),NodeType=class{constructor(e,t,i,r=0){this.name=e,this.props=t,this.id=i,this.flags=r}static define(e){var t=e.props&&e.props.length?Object.create(null):noProps,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),r=new NodeType(e.name||\"\",t,e.id,i);if(e.props)for(var n of e.props)if(n=Array.isArray(n)?n:n(r)){if(n[0].perNode)throw new RangeError(\"Can't store a per-node prop on a node type\");t[n[0].id]=n[1]}return r}prop(e){return this.props[e.id]}get isTop(){return 0<(1&this.flags)}get isSkipped(){return 0<(2&this.flags)}get isError(){return 0<(4&this.flags)}get isAnonymous(){return 0<(8&this.flags)}is(e){var t;return\"string\"==typeof e?this.name==e||!!(t=this.prop(NodeProp.group))&&-1{for(let i=e.prop(NodeProp.group),r=-1;r<(i?i.length:0);r++){var t=n[r<0?e.name:i[r]];if(t)return t}}}},NodeSet=(NodeType.none=new NodeType(\"\",Object.create(null),0,8),class{constructor(e){this.types=e;for(let t=0;t=r&&(!s&&a.type.isAnonymous||!1!==t(a))){if(a.firstChild())continue;e=!0}for(;e&&i&&(s||!a.type.isAnonymous)&&i(a),!a.nextSibling();){if(!a.parent())return;e=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){var e=[];if(this.props)for(var t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:balanceRange(NodeType.none,this.children,this.positions,0,this.children.length,0,this.length,(e,t,i)=>new Tree(this.type,e,t,i,this.propValues),e.makeTree||((e,t,i)=>new Tree(NodeType.none,e,t,i)))}static build(e){return buildTree(e)}}),FlatBufferCursor=(Tree.empty=new Tree(NodeType.none,[],[],0),class{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new FlatBufferCursor(this.buffer,this.index)}}),TreeBuffer=class{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return NodeType.none}toString(){var e=[];for(let t=0;t=r:i.from>r)||(-1=s:o>s))return new TreeNode(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&0<=this.index?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&0<=this.index?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function getChildren(e,t,i,r){var n=e.cursor(),o=[];if(!n.firstChild())return o;if(null!=i)for(let e=!1;!e;)if(e=n.type.is(i),!n.nextSibling())return o;for(;;){if(null!=r&&n.type.is(r))return o;if(n.type.is(t)&&o.push(n.node),!n.nextSibling())return null==r?o:[]}}function matchNodeContext(e,t,i=t.length-1){for(let r=e.parent;0<=i;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(t[i]&&t[i]!=r.name)return!1;i--}}return!0}var BufferContext=class{constructor(e,t,i,r){this.parent=e,this.buffer=t,this.index=i,this.start=r}},BufferNode=class extends BaseNode{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){var r=this.context[\"buffer\"],r=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,i);return r<0?null:new BufferNode(this.context,this,r)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,i=0){var r;return i&IterMode.ExcludeBuffers||(r=this.context.buffer,(r=r.findChild(this.index+4,r.buffer[this.index+3],0i.from||r.to=t&&(s=new TreeNode(o.tree,o.overlay[0].from+a.from,-1,a),(n=n||[r]).push(resolveNode(s,t,i,!1)))}return n?iterStack(n):r}var TreeCursor=class{get name(){return this.type.name}constructor(t,e=0){if(this.mode=e,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,t instanceof TreeNode)this.yieldNode(t);else{this._tree=t.context.parent,this.buffer=t.context;for(let e=t._parent;e;e=e._parent)this.stack.unshift(e.index);this.bufferNode=t,this.yieldBuf(t.index)}}yieldNode(e){return!!e&&(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0)}yieldBuf(e,t){this.index=e;var{start:i,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=i+r.buffer[e+1],this.to=i+r.buffer[e+2],!0}\"yield\"(e){return!!e&&(e instanceof TreeNode?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,i){var r;return this.buffer?(r=this.buffer[\"buffer\"],!((r=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,i))<0)&&(this.stack.push(this.index),this.yieldBuf(r))):this[\"yield\"](this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,i=this.mode){return this.buffer?!(i&IterMode.ExcludeBuffers)&&this.enterChild(1,e,t):this[\"yield\"](this._tree.enter(e,t,i))}parent(){var e;return this.buffer?this.stack.length?this.yieldBuf(this.stack.pop()):(e=this.mode&IterMode.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent(),this.buffer=null,this.yieldNode(e)):this.yieldNode(this.mode&IterMode.IncludeAnonymous?this._tree._parent:this._tree.parent)}sibling(e){if(!this.buffer)return!!this._tree._parent&&this[\"yield\"](this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode));var t=this.buffer[\"buffer\"],i=this.stack.length-1;if(e<0){var r=i<0?0:this.stack[i]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{r=t.buffer[this.index+3];if(r<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(r)}return i<0&&this[\"yield\"](this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(i){let r,n,t=this[\"buffer\"];if(t){if(0=e:this.from>e)||(-1e instanceof TreeBuffer||!e.type.isAnonymous||hasChild(e))}function buildTree(e){let{buffer:t,nodeSet:R,maxBufferLength:L=DefaultBufferLength,reused:D=[],minRepeatType:B=R.types.length}=e,X=Array.isArray(t)?new FlatBufferCursor(t,t.length):t,W=R.types,I=0,V=0;function Y(i,e,t,r,n,o){for(var s,a,{id:l,start:c,end:h,size:d}=X,u=V;d<0;){if(X.next(),-1==d)return s=D[l],t.push(s),void r.push(c-i);if(-3==d)return void(I=l);if(-4==d)return void(V=l);throw new RangeError(\"Unrecognized record size: \"+d)}let p=W[l],f,g,m=c-i;if(h-c<=L&&(g=function(e,t){let i=X.fork(),r=0,n=0,o=0,s=i.end-L,a={size:0,start:0,skip:0};e:for(var l=i.pos-e;i.pos>l;){var c=i.size;if(i.id==t&&0<=c)a.size=r,a.start=n,a.skip=o,o+=4,r+=4,i.next();else{var h=i.pos-c;if(c<0||h=B?4:0;var d=i.start;for(i.next();i.pos>h;){if(i.size<0){if(-3!=i.size)break e;e+=4}else i.id>=B&&(e+=4);i.next()}n=d,r+=c,o+=e}}(t<0||r==e)&&(a.size=r,a.start=n,a.skip=o);return 4e;)t=function Z(t,i,r){let{id:n,start:o,end:s,size:a}=X;X.next();if(0<=a&&ne;)r=Z(t,i,r)}i[--r]=e,i[--r]=s-t,i[--r]=o-t,i[--r]=n}else-3==a?I=n:-4==a&&(V=n);return r}(g.start,O,t);f=new TreeBuffer(O,h-g.start,R),m=g.start-i}else{var v,y=X.pos-d,S=(X.next(),[]),w=[],k=l>=B?l:-1;let e=0,t=h;for(;X.pos>y;)if(0<=k&&X.id==k&&0<=X.size)X.end<=t-L&&(_(S,w,c,e,X.end,t,k,u),e=S.length,t=X.end),X.next();else if(2500x;){var{id:Q,start:T,end:$,size:A}=X;if(!(4{let r=0,n=e.length-1,o,s;if(0<=n&&(o=e[n])instanceof Tree){if(!n&&o.type==a&&o.length==i)return o;(s=o.prop(NodeProp.lookAhead))&&(r=t[n]+o.length+s)}return N(a,e,t,i,r)},v):N(p,S,w,h-c,u-h)}t.push(f),r.push(m)}function _(e,t,i,r,n,o,s,a){for(var l=[],c=[];e.length>r;)l.push(e.pop()),c.push(t.pop()+i-n);e.push(N(R.types[s],l,c,o-n,a-o)),t.push(n-i)}function N(e,t,i,r,n=0,o){var s;return I&&(s=[NodeProp.contextHash,I],o=o?[s].concat(o):[s]),25=p)break;i+=a}if(c==e+1){if(i>p){var l=r[e];m(l.children,l.positions,0,l.children.length,n[e]+s);continue}f.push(r[e])}else l=n[c-1]+r[c-1].length-t,f.push(balanceRange(h,r,n,e,c,t,l,null,u));g.push(t+s-d)}}(e,t,i,r,0),(o||u)(f,g,n)}var NodeWeakMap=class{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,i)}getBuffer(e,t){var i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof BufferNode?this.setBuffer(e.context.buffer,e.index,t):e instanceof TreeNode&&this.map.set(e.tree,t)}get(e){return e instanceof BufferNode?this.getBuffer(e.context.buffer,e.index):e instanceof TreeNode?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},TreeFragment=class{constructor(e,t,i,r,n=!1,o=!1){this.from=e,this.to=t,this.tree=i,this.offset=r,this.open=(n?1:0)|(o?2:0)}get openStart(){return 0<(1&this.open)}get openEnd(){return 0<(2&this.open)}static addTree(e,t=[],i=!1){var r,n=[new TreeFragment(0,e.length,e,0,!1,i)];for(r of t)r.to>e.length&&n.push(r);return n}static applyChanges(t,e,i=128){if(!e.length)return t;var r=[];let n=1,o=t.length?t[0]:null;for(let h=0,d=0,u=0;;h++){var s,a,l=h=i)for(;o&&o.from=e.from||c<=e.to||u)&&(s=Math.max(e.from,d)-u,a=Math.min(e.to,c)-u,e=a<=s?null:new TreeFragment(s,a,e.tree,e.offset+u,0c)break;o=nnew Range2(e.from,e.to)):[new Range2(0,0)]:[new Range2(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){for(var r=this.startParse(e,t,i);;){var n=r.advance();if(n)return n}}},StringInput=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function parseMixed(n){return(e,t,i,r)=>new MixedParse(e,n,t,i,r)}var InnerParse=class{constructor(e,t,i,r,n){this.parser=e,this.parse=t,this.overlay=i,this.target=r,this.from=n}};function checkRanges(e){if(!e.length||e.some(e=>e.from>=e.to))throw new RangeError(\"Invalid inner parse ranges given: \"+JSON.stringify(e))}var ActiveOverlay=class{constructor(e,t,i,r,n,o,s){this.parser=e,this.predicate=t,this.mounts=i,this.index=r,this.start=n,this.target=o,this.prev=s,this.depth=0,this.ranges=[]}},stoppedInner=new NodeProp({perNode:!0}),MixedParse=class{constructor(e,t,i,r,n){this.nest=t,this.input=i,this.fragments=r,this.ranges=n,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){var e=this.baseParse.advance();if(!e)return null;if(this.baseParse=null,this.baseTree=e,this.startInner(),null!=this.stoppedAt)for(var t of this.inner)t.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let e=this.baseTree;return e=null!=this.stoppedAt?new Tree(e.type,e.children,e.positions,e.length,e.propValues.concat([[stoppedInner,this.stoppedAt]])):e}var i,e=this.inner[this.innerDone],r=e.parse.advance();return r&&(this.innerDone++,(i=Object.assign(Object.create(null),e.target.props))[NodeProp.mounted.id]=new MountedTree(r,e.overlay,e.parser),e.target.props=i),null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)e=!1;else if(a.hasNode(h)){if(l){var d=l.mounts.find(e=>e.frag.from<=h.from&&e.frag.to>=h.to&&e.mount.overlay);if(d)for(var u of d.mount.overlay){let t=u.from+d.pos,i=u.to+d.pos;t>=h.from&&i<=h.to&&!l.ranges.some(e=>e.fromt)&&l.ranges.push({from:t,to:i})}}e=!1}else c&&(r=checkCover(c.ranges,h.from,h.to))?e=2!=r:!h.type.isAnonymous&&(i=this.nest(h,this.input))&&(h.fromnew Range2(e.from-h.from,e.to-h.from)):null,h.tree,(o.length?o[0]:h).from)),i.overlay?o.length&&(c={ranges:o,depth:0,prev:c}):e=!1)):l&&(t=l.predicate(h))&&(t=!0===t?new Range2(h.from,h.to):t).fromnew Range2(e.from-l.start,e.to-l.start)),l.target,s[0].from))),l=l.prev),c&&!--c.depth&&(c=c.prev)}}}};function checkCover(e,t,i){for(var r of e){if(r.from>=i)break;if(r.to>t)return r.from<=t&&r.to>=i?2:1}return 0}function sliceBuf(e,t,i,r,n,o){var s;t=e&&t.enter(i,1,IterMode.IgnoreOverlays|IterMode.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(t){if(this.moveTo(t.from),!this.done&&this.cursor.from+this.offset==t.from&&this.cursor.tree)for(let e=this.cursor.tree;;){if(e==t.tree)return!0;if(!(e.children.length&&0==e.positions[0]&&e.children[0]instanceof Tree))break;e=e.children[0]}return!1}},FragmentCursor=class{constructor(e){var t,i;this.fragments=e,this.curTo=0,this.fragI=0,e.length?(i=this.curFrag=e[0],this.curTo=null!=(t=i.tree.prop(stoppedInner))?t:i.to,this.inner=new StructureCursor(i.tree,-i.offset)):this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e,t;this.fragI++,this.fragI==this.fragments.length?this.curFrag=this.inner=null:(t=this.curFrag=this.fragments[this.fragI],this.curTo=null!=(e=t.tree.prop(stoppedInner))?e:t.to,this.inner=new StructureCursor(t.tree,-t.offset))}findMounts(e,i){var r,n=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let t=this.inner.cursor.node;t;t=t.parent){var o=null==(r=t.tree)?void 0:r.prop(NodeProp.mounted);if(o&&o.parser==i)for(let e=this.fragI;e=t.to)break;s.tree==this.curFrag.tree&&n.push({frag:s,pos:t.from-s.offset,mount:o})}}}return n}};function punchRanges(e,t){let i=null,r=t;for(let a=1,l=0;a=o)break;s.to<=n||(i||(r=i=t.slice()),s.fromo&&i.splice(l+1,0,new Range2(o,s.to))):s.to>o?i[l--]=new Range2(o,s.to):i.splice(l--,1))}return r}function findCoverChanges(e,t,i,r){let n=0,o=0,s=!1,a=!1,l=-1e9;for(var c=[];;){var h,d,u=n==e.length?1e9:s?e[n].to:e[n].from,p=o==t.length?1e9:a?t[o].to:t[o].from;if(s!=a&&(h=Math.max(l,i))<(d=Math.min(u,p,r))&&c.push(new Range2(h,d)),1e9==(l=Math.min(u,p)))break;u==l&&(s?(s=!1,n++):s=!0),p==l&&(a?(a=!1,o++):a=!0)}return c}function enterFragments(e,i){var r=[];for(let{pos:h,mount:d,frag:u}of e){var n=h+(d.overlay?d.overlay[0].from:0),t=n+d.tree.length,o=Math.max(u.from,n),s=Math.min(u.to,t);if(d.overlay){var a=findCoverChanges(i,d.overlay.map(e=>new Range2(e.from+h,e.to+h)),o,s);for(let e=0,t=o;;e++){var l=e==a.length,c=l?s:a[e].from;if(c>t&&r.push(new TreeFragment(t,c,d.tree,-n,u.from>=t||u.openStart,u.to<=c||u.openEnd)),l)break;t=a[e].to}}else r.push(new TreeFragment(o,s,d.tree,-n,u.from>=n||u.openStart,u.to<=t||u.openEnd))}return r}var nextTagID=0,Tag=class{constructor(e,t,i){this.set=e,this.base=t,this.modified=i,this.id=nextTagID++}static define(e){if(null!=e&&e.base)throw new Error(\"Can not derive from a modified tag\");var t=new Tag([],null,[]);if(t.set.push(t),e)for(var i of e.set)t.set.push(i);return t}static defineModifier(){let t=new Modifier;return e=>-1e.id-t.id))}},nextModifierID=0,Modifier=class{constructor(){this.instances=[],this.id=nextModifierID++}static get(t,i){if(!i.length)return t;var e=i[0].instances.find(e=>e.base==t&&sameArray2(i,e.modified));if(e)return e;var r,n=[],o=new Tag(n,t,i);for(r of i)r.instances.push(o);var s,a=powerSet(i);for(s of t.set)if(!s.modified.length)for(var l of a)n.push(Modifier.get(s,l));return o}};function sameArray2(e,i){return e.length==i.length&&e.every((e,t)=>e==i[t])}function powerSet(i){var r=[[]];for(let n=0;nt.length-e.length)}function styleTags(e){var t,o=Object.create(null);for(t in e){let n=e[t];Array.isArray(n)||(n=[n]);for(var s of t.split(\" \"))if(s){let e=[],t=2,i=s;for(let r=0;;){if(\"...\"==i&&0{let t=s;for(var i of e)for(var r of i.set){r=n[r.id];if(r){t=t?t+\" \"+r:r;break}}return t},scope:o}}function highlightTags(e,t){let i=null;for(var r of e){r=r.style(t);r&&(i=i?i+\" \"+r:r)}return i}function highlightTree(e,t,i,r=0,n=e.length){var o=new HighlightBuilder(r,Array.isArray(t)?t:[t],i);o.highlightRange(e.cursor(),r,n,\"\",o.highlighters),o.flush(n)}Rule.empty=new Rule([],2,null);var HighlightBuilder=class{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this[\"class\"]=\"\"}startSpan(e,t){t!=this[\"class\"]&&(this.flush(e),e>this.at&&(this.at=e),this[\"class\"]=t)}flush(e){e>this.at&&this[\"class\"]&&this.span(this.at,e,this[\"class\"])}highlightRange(n,o,s,a,l){let{type:t,from:c,to:h}=n;if(!(s<=c||h<=o)){t.isTop&&(l=this.highlighters.filter(e=>!e.scope||e.scope(t)));let r=a;var e=getStyleTags(n)||Rule.empty,i=highlightTags(l,e.tags);if(i&&(r&&(r+=\" \"),r+=i,1==e.mode)&&(a+=(a?\" \":\"\")+i),this.startSpan(Math.max(o,c),r),!e.opaque){let i=n.tree&&n.tree.prop(NodeProp.mounted);if(i&&i.overlay){var d=n.node.enter(i.overlay[0].from+c,1),u=this.highlighters.filter(e=>!e.scope||e.scope(i.tree.type)),p=n.firstChild();for(let e=0,t=c;;e++){var f=e=g))&&n.nextSibling(););if(!f||so&&(this.highlightRange(d.cursor(),Math.max(o,f.from+c),Math.min(s,t),\"\",u),this.startSpan(Math.min(s,t),r))}p&&n.parent()}else if(n.firstChild()){i&&(a=\"\");do{if(!(n.to<=o)){if(n.from>=s)break;this.highlightRange(n,o,s,a,l),this.startSpan(Math.min(s,n.to),r)}}while(n.nextSibling());n.parent()}}}}};function getStyleTags(e){let t=e.type.prop(ruleNodeProp);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}var _a,t=Tag.define,comment=t(),name=t(),typeName=t(name),propertyName=t(name),literal=t(),string=t(literal),number=t(literal),content=t(),heading=t(content),keyword=t(),operator=t(),punctuation=t(),bracket=t(punctuation),meta=t(),tags={comment:comment,lineComment:t(comment),blockComment:t(comment),docComment:t(comment),name:name,variableName:t(name),typeName:typeName,tagName:t(typeName),propertyName:propertyName,attributeName:t(propertyName),className:t(name),labelName:t(name),namespace:t(name),macroName:t(name),literal:literal,string:string,docString:t(string),character:t(string),attributeValue:t(string),number:number,integer:t(number),\"float\":t(number),bool:t(literal),regexp:t(literal),escape:t(literal),color:t(literal),url:t(literal),keyword:keyword,self:t(keyword),\"null\":t(keyword),atom:t(keyword),unit:t(keyword),modifier:t(keyword),operatorKeyword:t(keyword),controlKeyword:t(keyword),definitionKeyword:t(keyword),moduleKeyword:t(keyword),operator:operator,derefOperator:t(operator),arithmeticOperator:t(operator),logicOperator:t(operator),bitwiseOperator:t(operator),compareOperator:t(operator),updateOperator:t(operator),definitionOperator:t(operator),typeOperator:t(operator),controlOperator:t(operator),punctuation:punctuation,separator:t(punctuation),bracket:bracket,angleBracket:t(bracket),squareBracket:t(bracket),paren:t(bracket),brace:t(bracket),content:content,heading:heading,heading1:t(heading),heading2:t(heading),heading3:t(heading),heading4:t(heading),heading5:t(heading),heading6:t(heading),contentSeparator:t(content),list:t(content),quote:t(content),emphasis:t(content),strong:t(content),link:t(content),monospace:t(content),strikethrough:t(content),inserted:t(),deleted:t(),changed:t(),invalid:t(),meta:meta,documentMeta:t(meta),annotation:t(meta),processingInstruction:t(meta),definition:Tag.defineModifier(),constant:Tag.defineModifier(),\"function\":Tag.defineModifier(),standard:Tag.defineModifier(),local:Tag.defineModifier(),special:Tag.defineModifier()},classHighlighter=tagHighlighter([{tag:tags.link,\"class\":\"tok-link\"},{tag:tags.heading,\"class\":\"tok-heading\"},{tag:tags.emphasis,\"class\":\"tok-emphasis\"},{tag:tags.strong,\"class\":\"tok-strong\"},{tag:tags.keyword,\"class\":\"tok-keyword\"},{tag:tags.atom,\"class\":\"tok-atom\"},{tag:tags.bool,\"class\":\"tok-bool\"},{tag:tags.url,\"class\":\"tok-url\"},{tag:tags.labelName,\"class\":\"tok-labelName\"},{tag:tags.inserted,\"class\":\"tok-inserted\"},{tag:tags.deleted,\"class\":\"tok-deleted\"},{tag:tags.literal,\"class\":\"tok-literal\"},{tag:tags.string,\"class\":\"tok-string\"},{tag:tags.number,\"class\":\"tok-number\"},{tag:[tags.regexp,tags.escape,tags.special(tags.string)],\"class\":\"tok-string2\"},{tag:tags.variableName,\"class\":\"tok-variableName\"},{tag:tags.local(tags.variableName),\"class\":\"tok-variableName tok-local\"},{tag:tags.definition(tags.variableName),\"class\":\"tok-variableName tok-definition\"},{tag:tags.special(tags.variableName),\"class\":\"tok-variableName2\"},{tag:tags.definition(tags.propertyName),\"class\":\"tok-propertyName tok-definition\"},{tag:tags.typeName,\"class\":\"tok-typeName\"},{tag:tags.namespace,\"class\":\"tok-namespace\"},{tag:tags.className,\"class\":\"tok-className\"},{tag:tags.macroName,\"class\":\"tok-macroName\"},{tag:tags.propertyName,\"class\":\"tok-propertyName\"},{tag:tags.operator,\"class\":\"tok-operator\"},{tag:tags.comment,\"class\":\"tok-comment\"},{tag:tags.meta,\"class\":\"tok-meta\"},{tag:tags.invalid,\"class\":\"tok-invalid\"},{tag:tags.punctuation,\"class\":\"tok-punctuation\"}]),languageDataProp=new NodeProp;function defineLanguageFacet(t){return Facet.define({combine:t?e=>e.concat(t):void 0})}var sublanguageProp=new NodeProp,Language=class{constructor(e,t,i=[],r=\"\"){this.data=e,this.name=r,EditorState.prototype.hasOwnProperty(\"tree\")||Object.defineProperty(EditorState.prototype,\"tree\",{get(){return syntaxTree(this)}}),this.parser=t,this.extension=[language.of(this),EditorState.languageData.of((e,t,i)=>{var r=topNodeAt(e,t,i),n=r.type.prop(languageDataProp);if(!n)return[];var o=e.facet(n),n=r.type.prop(sublanguageProp);if(n){var s,a,l=r.resolve(t-r.from,i);for(s of n)if(s.test(l,e))return a=e.facet(s.facet),\"replace\"==s.type?a:a.concat(o)}return o})].concat(i)}isActiveAt(e,t,i=-1){return topNodeAt(e,t,i).type.prop(languageDataProp)==this.data}findRegions(e){var t=e.facet(language);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let a=[],l=(t,i)=>{if(t.prop(languageDataProp)==this.data)a.push({from:i,to:i+t.length});else{var r=t.prop(NodeProp.mounted);if(r){if(r.tree.prop(languageDataProp)==this.data){if(r.overlay)for(var n of r.overlay)a.push({from:n.from+i,to:n.to+i});else a.push({from:i,to:i+t.length});return}if(r.overlay){var o=a.length;if(l(r.tree,r.overlay[0].from+i),a.length>o)return}}for(let e=0;ee.isTop?t:void 0)]}),e.name)}configure(e,t){return new LRLanguage(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function syntaxTree(e){var t=e.field(Language.state,!1);return t?t.tree:Tree.empty}function ensureSyntaxTree(e,t,i=50){var r,n,o=null==(o=e.field(Language.state,!1))?void 0:o.context;return o?(r=o.viewport,o.updateViewport({from:0,to:t}),n=o.isDone(t)||o.work(i,t)?o.tree:null,o.updateViewport(r),n):null}var DocInput=class{constructor(e){this.doc=e,this.cursorPos=0,this.string=\"\",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){var i=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}},currentContext=null,ParseContext=class{constructor(e,t,i=[],r,n,o,s,a){this.parser=e,this.state=t,this.fragments=i,this.tree=r,this.treeLen=n,this.viewport=o,this.skipped=s,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new ParseContext(e,t,[],Tree.empty,0,i,[],null)}startParse(){return this.parser.startParse(new DocInput(this.state.doc),this.fragments)}work(i,r){return null!=r&&r>=this.state.doc.length&&(r=void 0),this.tree!=Tree.empty&&this.isDone(null!=r?r:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var e;if(\"number\"==typeof i){let e=Date.now()+i;i=()=>Date.now()>e}for(this.parse||(this.parse=this.startParse()),null!=r&&(null==this.parse.stoppedAt||this.parse.stoppedAt>r)&&r=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(TreeFragment.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){var t=currentContext;currentContext=this;try{return e()}finally{currentContext=t}}withoutTempSkipped(e){for(var t;t=this.tempSkipped.pop();)e=cutFragments(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:r,treeLen:o,viewport:s,skipped:a}=this;if(this.takeTree(),!e.empty){let n=[];if(e.iterChangedRanges((e,t,i,r)=>n.push({fromA:e,toA:t,fromB:i,toB:r})),i=TreeFragment.applyChanges(i,n),r=Tree.empty,o=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){a=[];for(var l of this.skipped){var c=e.mapPos(l.from,1),l=e.mapPos(l.to,-1);ce.from&&(this.fragments=cutFragments(this.fragments,i,r),this.skipped.splice(n--,1))}return!(this.skipped.length>=t||(this.reset(),0))}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(o){return new class extends Parser{createParse(e,t,i){let r=i[0].from,n=i[i.length-1].to;return{parsedPos:r,advance(){var e=currentContext;if(e){for(var t of i)e.tempSkipped.push(t);o&&(e.scheduleOn=e.scheduleOn?Promise.all([e.scheduleOn,o]):o)}return this.parsedPos=n,new Tree(NodeType.none,[],[],n-r)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);var t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return currentContext}};function cutFragments(e,t,i){return TreeFragment.applyChanges(e,[{fromA:t,toA:i,fromB:t,toB:i}])}var LanguageState=class{constructor(e){this.context=e,this.tree=e.tree}apply(e){var t,i;return e.docChanged||this.tree!=this.context.tree?(t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to),t.work(20,i)||t.takeTree(),new LanguageState(t)):this}static init(e){var t=Math.min(3e3,e.doc.length),i=ParseContext.create(e.facet(language).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new LanguageState(i)}},requestIdle=(Language.state=StateField.define({create:LanguageState.init,update(e,t){for(var i of t.effects)if(i.is(Language.setState))return i.value;return t.startState.facet(language)!=t.state.facet(language)?LanguageState.init(t.state):e.apply(t)}}),e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)}),isInputPending=(\"undefined\"!=typeof requestIdleCallback&&(requestIdle=e=>{let t=-1,i=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(i):cancelIdleCallback(t)}),\"undefined\"!=typeof navigator&&null!=(_a=navigator.scheduling)&&_a.isInputPending?()=>navigator.scheduling.isInputPending():null),parseWorker=ViewPlugin.fromClass(class pxa{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){var t=this.view.state.field(Language.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){var e,t;this.working||(e=this.view[\"state\"],(t=e.field(Language.state)).tree==t.context.tree&&t.context.isDone(e.doc.length))||(this.working=requestIdle(this.work))}work(t){this.working=null;var i=Date.now();if(this.chunkEndn+1e3,n=o.context.work(()=>isInputPending&&isInputPending()||Date.now()>e,n+(r?0:1e5));this.chunkBudget-=Date.now()-i,(n||this.chunkBudget<=0)&&(o.context.takeTree(),this.view.dispatch({effects:Language.setState.of(new LanguageState(o.context))})),0this.scheduleWork())[\"catch\"](e=>logException(this.view.state,e)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||0[Language.state,parseWorker,EditorView.contentAttributes.compute([i],e=>{var t=e.facet(i);return t&&t.name?{\"data-language\":t.name}:{}})]}),LanguageSupport=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},LanguageDescription=class{constructor(e,t,i,r,n,o=void 0){this.name=e,this.alias=t,this.extensions=i,this.filename=r,this.loadFunc=n,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:i}=e;if(!t){if(!i)throw new RangeError(\"Must pass either 'load' or 'support' to LanguageDescription.of\");t=()=>Promise.resolve(i)}return new LanguageDescription(e.name,(e.alias||[]).concat(e.name).map(e=>e.toLowerCase()),e.extensions||[],e.filename,t,i)}static matchFilename(e,t){for(var i of e)if(i.filename&&i.filename.test(t))return i;var r=/\\.([^.]+)$/.exec(t);if(r)for(var n of e)if(-1e==t))return r;if(i)for(var n of e)for(var o of n.alias){var s=t.indexOf(o);if(-1{if(!e.length)return\" \";let t=e[0];if(!t||/\\S/.test(t)||Array.from(t).some(e=>e!=t[0]))throw new Error(\"Invalid indent unit: \"+JSON.stringify(e[0]));return t}});function getIndentUnit(e){var t=e.facet(indentUnit);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function indentString(e,t){let i=\"\",r=e.tabSize,n=e.facet(indentUnit)[0];if(\"\\t\"==n){for(;r<=t;)i+=\"\\t\",t-=r;n=\" \"}for(let o=0;o=t?syntaxIndentation(e,r,t):null}var IndentContext=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=getIndentUnit(e)}lineAt(e,t=1){var i=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:n}=this.options;return null!=r&&r>=i.from&&r<=i.to?n&&r==e?{text:\"\",from:e}:(t<0?rdelimitedStrategy(e,!0,1,void 0,i&&!ignoreClosed(e)?t.from:void 0)}return null==e.parent?topIndent:null}function topIndent(){return 0}var TreeIndentContext=class extends IndentContext{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new TreeIndentContext(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(t){let i=this.state.doc.lineAt(t.from);for(;;){let e=t.resolve(i.from);for(;e.parent&&e.parent.from==e.from;)e=e.parent;if(isParent(e,t))break;i=this.state.doc.lineAt(e.from)}return this.lineIndent(i.from)}\"continue\"(){return indentFor(this.context.next,this.base,this.pos)}};function isParent(e,t){for(let i=t;i;i=i.parent)if(e==i)return!0;return!1}function bracketedAligned(e){var t=e.node,i=t.childAfter(t.from),r=t.lastChild;if(!i)return null;var n=e.options.simulateBreak,o=e.state.doc.lineAt(i.from),s=null==n||n<=o.from?o.to:Math.min(o.to,n);for(let l=i.to;;){var a=t.childAfter(l);if(!a||a==r)return null;if(!a.type.isSkipped)return a.fromdelimitedStrategy(e,i,r,t)}function delimitedStrategy(e,t,i,r,n){var o=e.textAfter,s=o.match(/^\\s*/)[0].length,o=r&&o.slice(s,s+r.length)==r||n==e.pos+s,s=t?bracketedAligned(e):null;return s?o?e.column(s.from):e.column(s.to):e.baseIndent+(o?0:e.unit*i)}var flatIndent=e=>e.baseIndent;function continuedIndent({except:i,units:r=1}={}){return e=>{var t=i&&i.test(e.textAfter);return e.baseIndent+(t?0:r*e.unit)}}var DontIndentBeyond=200;function indentOnInput(){return EditorState.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent(\"input.type\")&&!e.isUserEvent(\"input.complete\"))return e;var t=e.startState.languageDataAt(\"indentOnInput\",e.startState.selection.main.head);if(!t.length)return e;var i,r=e.newDoc,n=e.newSelection.main[\"head\"],o=r.lineAt(n);if(n>o.from+DontIndentBeyond)return e;let s=r.sliceString(o.from,n);if(!t.some(e=>e.test(s)))return e;let a=e[\"state\"],l=-1,c=[];for({head:i}of a.selection.ranges){var h,d,u,p=a.doc.lineAt(i);p.from!=l&&(l=p.from,null!=(h=getIndentation(a,p.from))&&(d=/^\\s*/.exec(p.text)[0])!=(u=indentString(a,h)))&&c.push({from:p.from,to:p.from+d.length,insert:u})}return c.length?[e,{changes:c,sequential:!0}]:e})}var foldService=Facet.define(),foldNodeProp=new NodeProp;function foldInside(e){var t=e.firstChild,i=e.lastChild;return t&&t.toi)){if(n&&o.from=t&&o.to>i&&(n=o)}}return n}function isUnfinished(e){var t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function foldable(e,t,i){for(var r of e.facet(foldService)){r=r(e,t,i);if(r)return r}return syntaxFolding(e,t,i)}function mapRange(e,t){var i=t.mapPos(e.from,1),r=t.mapPos(e.to,-1);return r<=i?void 0:{from:i,to:r}}var foldEffect=StateEffect.define({map:mapRange}),unfoldEffect=StateEffect.define({map:mapRange});function selectedLines(e){var t=[];for(let{head:i}of e.state.selection.ranges)t.some(e=>e.from<=i&&e.to>=i)||t.push(e.lineBlockAt(i));return t}var foldState=StateField.define({create(){return Decoration.none},update(e,t){e=e.map(t.changes);for(let r of t.effects){var i;r.is(foldEffect)&&!foldExists(e,r.value.from,r.value.to)?(i=t.state.facet(foldConfig)[\"preparePlaceholder\"],i=i?Decoration.replace({widget:new PreparedFoldWidget(i(t.state,r.value))}):foldWidget,e=e.update({add:[i.range(r.value.from,r.value.to)]})):r.is(unfoldEffect)&&(e=e.update({filter:(e,t)=>r.value.from!=e||r.value.to!=t,filterFrom:r.value.from,filterTo:r.value.to}))}if(t.selection){let i=!1,r=t.selection.main[\"head\"];e.between(r,r,(e,t)=>{er&&(i=!0)}),i&&(e=e.update({filterFrom:r,filterTo:r,filter:(e,t)=>t<=r||e>=r}))}return e},provide:e=>EditorView.decorations.from(e),toJSON(e,t){let i=[];return e.between(0,t.doc.length,(e,t)=>{i.push(e,t)}),i},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError(\"Invalid JSON for fold state\");var t=[];for(let n=0;n{(!n||n.from>e)&&(n={from:e,to:t})}),n}function foldExists(e,i,r){let n=!1;return e.between(i,i,(e,t)=>{e==i&&t==r&&(n=!0)}),n}function maybeEnable(e,t){return e.field(foldState,!1)?t:t.concat(StateEffect.appendConfig.of(codeFolding()))}var foldCode=e=>{for(var t of selectedLines(e)){t=foldable(e.state,t.from,t.to);if(t)return e.dispatch({effects:maybeEnable(e.state,[foldEffect.of(t),announceFold(e,t)])}),!0}return!1},unfoldCode=e=>{if(!e.state.field(foldState,!1))return!1;var t,i=[];for(t of selectedLines(e)){var r=findFold(e.state,t.from,t.to);r&&i.push(unfoldEffect.of(r),announceFold(e,r,!1))}return i.length&&e.dispatch({effects:i}),0{var t=e[\"state\"],i=[];for(let o=0;o{var t=e.state.field(foldState,!1);if(!t||!t.size)return!1;let i=[];return t.between(0,e.state.doc.length,(e,t)=>{i.push(unfoldEffect.of({from:e,to:t}))}),e.dispatch({effects:i}),!0},foldKeymap=[{key:\"Ctrl-Shift-[\",mac:\"Cmd-Alt-[\",run:foldCode},{key:\"Ctrl-Shift-]\",mac:\"Cmd-Alt-]\",run:unfoldCode},{key:\"Ctrl-Alt-[\",run:foldAll},{key:\"Ctrl-Alt-]\",run:unfoldAll}],defaultConfig={placeholderDOM:null,preparePlaceholder:null,placeholderText:\"…\"},foldConfig=Facet.define({combine(e){return combineConfig(e,defaultConfig)}});function codeFolding(e){var t=[foldState,baseTheme$13];return e&&t.push(foldConfig.of(e)),t}function widgetToDOM(i,e){var t,r=i[\"state\"],n=r.facet(foldConfig),o=e=>{var t=i.lineBlockAt(i.posAtDOM(e.target)),t=findFold(i.state,t.from,t.to);t&&i.dispatch({effects:unfoldEffect.of(t)}),e.preventDefault()};return n.placeholderDOM?n.placeholderDOM(i,o,e):((t=document.createElement(\"span\")).textContent=n.placeholderText,t.setAttribute(\"aria-label\",r.phrase(\"folded code\")),t.title=r.phrase(\"unfold\"),t.className=\"cm-foldPlaceholder\",t.onclick=o,t)}var foldWidget=Decoration.replace({widget:new class extends WidgetType{toDOM(e){return widgetToDOM(e,null)}}}),PreparedFoldWidget=class extends WidgetType{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return widgetToDOM(e,this.value)}},foldGutterDefaults={openText:\"⌄\",closedText:\"›\",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1},FoldMarker=class extends GutterMarker{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){var t;return this.config.markerDOM?this.config.markerDOM(this.open):((t=document.createElement(\"span\")).textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?\"Fold line\":\"Unfold line\"),t)}};function foldGutter(e={}){let t=Object.assign(Object.assign({},foldGutterDefaults),e),n=new FoldMarker(t,!0),o=new FoldMarker(t,!1),i=ViewPlugin.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(language)!=e.state.facet(language)||e.startState.field(foldState,!1)!=e.state.field(foldState,!1)||syntaxTree(e.startState)!=syntaxTree(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){var t,i=new RangeSetBuilder;for(t of e.viewportLineBlocks){var r=findFold(e.state,t.from,t.to)?o:foldable(e.state,t.from,t.to)?n:null;r&&i.add(t.from,t.from,r)}return i.finish()}}),s=t[\"domEventHandlers\"];return[i,gutter({\"class\":\"cm-foldGutter\",markers(e){var t;return(null==(t=e.plugin(i))?void 0:t.markers)||RangeSet.empty},initialSpacer(){return new FoldMarker(t,!1)},domEventHandlers:Object.assign(Object.assign({},s),{click:(e,t,i)=>{var r;return!((!s.click||!s.click(e,t,i))&&((r=findFold(e.state,t.from,t.to))?(e.dispatch({effects:unfoldEffect.of(r)}),0):!(r=foldable(e.state,t.from,t.to))||(e.dispatch({effects:foldEffect.of(r)}),0)))}})}),codeFolding()]}var baseTheme$13=EditorView.baseTheme({\".cm-foldPlaceholder\":{backgroundColor:\"#eee\",border:\"1px solid #ddd\",color:\"#888\",borderRadius:\".2em\",margin:\"0 1px\",padding:\"0 1px\",cursor:\"pointer\"},\".cm-foldGutter span\":{padding:\"0 1px\",cursor:\"pointer\"}}),HighlightStyle=class{constructor(e,t){this.specs=e;let i;function r(e){var t=StyleModule.newName();return(i=i||Object.create(null))[\".\"+t]=e,t}var n=\"string\"==typeof t.all?t.all:t.all?r(t.all):void 0;const o=t.scope;this.scope=o instanceof Language?e=>e.prop(languageDataProp)==o.data:o?e=>e==o:void 0,this.style=tagHighlighter(e.map(e=>({tag:e.tag,\"class\":e[\"class\"]||r(Object.assign({},e,{tag:null}))})),{all:n}).style,this.module=i?new StyleModule(i):null,this.themeType=t.themeType}static define(e,t){return new HighlightStyle(e,t||{})}},highlighterFacet=Facet.define(),fallbackHighlighter=Facet.define({combine(e){return e.length?[e[0]]:null}});function getHighlighters(e){var t=e.facet(highlighterFacet);return t.length?t:e.facet(fallbackHighlighter)}function syntaxHighlighting(t,e){let i=[treeHighlighter],r;return t instanceof HighlightStyle&&(t.module&&i.push(EditorView.styleModule.of(t.module)),r=t.themeType),null!=e&&e.fallback?i.push(fallbackHighlighter.of(t)):r?i.push(highlighterFacet.computeN([EditorView.darkTheme],e=>e.facet(EditorView.darkTheme)==(\"dark\"==r)?[t]:[])):i.push(highlighterFacet.of(t)),i}function highlightingFor(e,t,i){var r=getHighlighters(e);let n=null;if(r)for(var o of r)(!o.scope||i&&o.scope(i))&&(o=o.style(t))&&(n=n?n+\" \"+o:o);return n}var TreeHighlighter=class{constructor(e){this.markCache=Object.create(null),this.tree=syntaxTree(e.state),this.decorations=this.buildDeco(e,getHighlighters(e.state))}update(e){var t=syntaxTree(e.state),i=getHighlighters(e.state),r=i!=getHighlighters(e.startState);t.length{r.add(e,t,this.markCache[i]||(this.markCache[i]=Decoration.mark({\"class\":i})))},i,n);return r.finish()}},treeHighlighter=Prec.high(ViewPlugin.fromClass(TreeHighlighter,{decorations:e=>e.decorations})),defaultHighlightStyle=HighlightStyle.define([{tag:tags.meta,color:\"#404740\"},{tag:tags.link,textDecoration:\"underline\"},{tag:tags.heading,textDecoration:\"underline\",fontWeight:\"bold\"},{tag:tags.emphasis,fontStyle:\"italic\"},{tag:tags.strong,fontWeight:\"bold\"},{tag:tags.strikethrough,textDecoration:\"line-through\"},{tag:tags.keyword,color:\"#708\"},{tag:[tags.atom,tags.bool,tags.url,tags.contentSeparator,tags.labelName],color:\"#219\"},{tag:[tags.literal,tags.inserted],color:\"#164\"},{tag:[tags.string,tags.deleted],color:\"#a11\"},{tag:[tags.regexp,tags.escape,tags.special(tags.string)],color:\"#e40\"},{tag:tags.definition(tags.variableName),color:\"#00f\"},{tag:tags.local(tags.variableName),color:\"#30a\"},{tag:[tags.typeName,tags.namespace],color:\"#085\"},{tag:tags.className,color:\"#167\"},{tag:[tags.special(tags.variableName),tags.macroName],color:\"#256\"},{tag:tags.definition(tags.propertyName),color:\"#00c\"},{tag:tags.comment,color:\"#940\"},{tag:tags.invalid,color:\"#f00\"}]),baseTheme3=EditorView.baseTheme({\"&.cm-focused .cm-matchingBracket\":{backgroundColor:\"#328c8252\"},\"&.cm-focused .cm-nonmatchingBracket\":{backgroundColor:\"#bb555544\"}}),DefaultScanDist=1e4,DefaultBrackets=\"()[]{}\",bracketMatchingConfig=Facet.define({combine(e){return combineConfig(e,{afterCursor:!0,brackets:DefaultBrackets,maxScanDistance:DefaultScanDist,renderMatch:defaultRenderMatch})}}),matchingMark=Decoration.mark({\"class\":\"cm-matchingBracket\"}),nonmatchingMark=Decoration.mark({\"class\":\"cm-nonmatchingBracket\"});function defaultRenderMatch(e){var t=[],i=e.matched?matchingMark:nonmatchingMark;return t.push(i.range(e.start.from,e.start.to)),e.end&&t.push(i.range(e.end.from,e.end.to)),t}var bracketMatchingState=StateField.define({create(){return Decoration.none},update(e,t){if(!t.docChanged&&!t.selection)return e;let i=[];var r,n,o=t.state.facet(bracketMatchingConfig);for(r of t.state.selection.ranges)r.empty&&(n=matchBrackets(t.state,r.head,-1,o)||0EditorView.decorations.from(e)}),bracketMatchingUnique=[bracketMatchingState,baseTheme3];function bracketMatching(e={}){return[bracketMatchingConfig.of(e),bracketMatchingUnique]}var bracketMatchingHandle=new NodeProp;function matchingNodes(e,t,i){var r=e.prop(t<0?NodeProp.openedBy:NodeProp.closedBy);if(r)return r;if(1==e.name.length){r=i.indexOf(e.name);if(-1=c.from&&tc.from&&t<=c.to))return matchMarkedBrackets(e,t,i,h,c,l,o)}}return matchPlainBrackets(e,t,i,s,a.type,n,o)}function matchMarkedBrackets(e,t,i,r,n,o,s){var a,l=r.parent,c={from:n.from,to:n.to};let h=0,d=null==l?void 0:l.cursor();if(d&&(i<0?d.childBefore(r.from):d.childAfter(r.to)))do{if(i<0?d.to<=r.from:d.from>=r.to){if(0==h&&-1>1==l>>1};d--}}0=this.string.length}sol(){return 0==this.pos}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){for(var e=this.pos;/[\\s\\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){var t=this.string.indexOf(e,this.pos);if(-1i?e.toLowerCase():e)(this.string.substr(this.pos,e.length))==r(e)?(!1!==t&&(this.pos+=e.length),!0):null:(r=this.string.slice(this.pos).match(e))&&0e.id),(byTag[n]||(n=byTag[n]=NodeType.define({id:typeArray.length,name:r,props:[styleTags({[r]:o})]}),typeArray.push(n),n)).id):0}var marks={rtl:Decoration.mark({\"class\":\"cm-iso\",inclusive:!0,attributes:{dir:\"rtl\"},bidiIsolate:Direction.RTL}),ltr:Decoration.mark({\"class\":\"cm-iso\",inclusive:!0,attributes:{dir:\"ltr\"},bidiIsolate:Direction.LTR}),auto:Decoration.mark({\"class\":\"cm-iso\",inclusive:!0,attributes:{dir:\"auto\"},bidiIsolate:null})},CompletionContext=class{constructor(e,t,i){this.state=e,this.pos=t,this.explicit=i,this.abortListeners=[]}tokenBefore(e){let t=syntaxTree(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){var t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),t=t.text.slice(i-t.from,this.pos-t.from),r=t.search(ensureAnchor(e,!1));return r<0?null:{from:i+r,to:this.pos,text:t.slice(r)}}get aborted(){return null==this.abortListeners}addEventListener(e,t){\"abort\"==e&&this.abortListeners&&this.abortListeners.push(t)}};function toSet(e){let t=Object.keys(e).join(\"\");var i=/\\w/.test(t);return`[${i?\"\\\\w\":\"\"}${(t=i?t.replace(/\\w/g,\"\"):t).replace(/[^\\w\\s]/g,\"\\\\$&\")}]`}function prefixMatch(e){var t,i=Object.create(null),r=Object.create(null);for({label:t}of e){i[t[0]]=!0;for(let e=1;e\"string\"==typeof e?{label:e}:e),[r,n]=i.every(e=>/^\\w+$/.test(e.label))?[/\\w*$/,/\\w+$/]:prefixMatch(i);return e=>{var t=e.matchBefore(n);return t||e.explicit?{from:t?t.from:e.pos,options:i,validFor:r}:null}}function ifNotIn(i,r){return e=>{for(let t=syntaxTree(e.state).resolveInner(e.pos,-1);t;t=t.parent){if(-1e!=o&&r!=n&&t.sliceDoc(e.from+s,e.from+a)!=t.sliceDoc(r,n)?{range:e}:{changes:{from:e.from+s,to:n==o.from?e.to:e.from+a,insert:i},range:EditorSelection.cursor(e.from+s+i.length)})),{scrollIntoView:!0,userEvent:\"input.complete\"})}var SourceCache=new WeakMap;function asSource(e){if(!Array.isArray(e))return e;let t=SourceCache.get(e);return t||SourceCache.set(e,t=completeFromList(e)),t}var startCompletionEffect=StateEffect.define(),closeCompletionEffect=StateEffect.define(),FuzzyMatcher=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let n=0;n\"\",optionClass:()=>\"\",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:defaultPositionInfo,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(t,i)=>e=>joinClass(t(e),i(e)),optionClass:(t,i)=>e=>joinClass(t(e),i(e)),addToOptions:(e,t)=>e.concat(t)})}});function joinClass(e,t){return e?t?e+\" \"+t:e:t}function defaultPositionInfo(e,t,i,r,n,o){let s=e.textDirection==Direction.RTL,a=s,l=!1,c=\"top\",h,d;var u=t.left-n.left,p=n.right-t.right,f=r.right-r.left,g=r.bottom-r.top,u=(a&&ut.top?i.bottom-t.top:(c=\"bottom\",t.bottom-i.top)),(t.bottom-t.top)/o.offsetHeight),p=(t.right-t.left)/o.offsetWidth;return{style:`${c}: ${h/u}px; max-width: ${d/p}px`,\"class\":\"cm-completionInfo-\"+(l?s?\"left-narrow\":\"right-narrow\":a?\"left\":\"right\")}}function optionContent(e){var t=e.addToOptions.slice();return e.icons&&t.push({render(e){var t=document.createElement(\"div\");return t.classList.add(\"cm-completionIcon\"),e.type&&t.classList.add(...e.type.split(/\\s+/g).map(e=>\"cm-completionIcon-\"+e)),t.setAttribute(\"aria-hidden\",\"true\"),t},position:20}),t.push({render(e,t,i,r){var n=document.createElement(\"span\");n.className=\"cm-completionLabel\";let o=e.displayLabel||e.label,s=0;for(let h=0;hs&&n.appendChild(document.createTextNode(o.slice(s,a))),n.appendChild(document.createElement(\"span\")));c.appendChild(document.createTextNode(o.slice(a,l))),c.className=\"cm-completionMatchedText\",s=l}return se.position-t.position).map(e=>e.render)}function rangeAroundSelected(e,t,i){var r;return e<=i?{from:0,to:e}:(t=t<0?0:t)<=e>>1?{from:(r=Math.floor(t/i))*i,to:(r+1)*i}:{from:e-((r=Math.floor((e-t)/i))+1)*i,to:e-r*i}}var CompletionTooltip=class{constructor(n,o,e){this.view=n,this.stateField=o,this.applyCompletion=e,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass=\"\";var t=n.state.field(o),{options:i,selected:r}=t.open,s=n.state.facet(completionConfig);this.optionContent=optionContent(s),this.optionClass=s.optionClass,this.tooltipClass=s.tooltipClass,this.range=rangeAroundSelected(i.length,r,s.maxRenderedOptions),this.dom=document.createElement(\"div\"),this.dom.className=\"cm-tooltip-autocomplete\",this.updateTooltipClass(n.state),this.dom.addEventListener(\"mousedown\",e=>{var t=n.state.field(o).open[\"options\"];for(let i=e.target,r;i&&i!=this.dom;i=i.parentNode)if(\"LI\"==i.nodeName&&(r=/-(\\d+)$/.exec(i.id))&&+r[1]{var t=n.state.field(this.stateField,!1);t&&t.tooltip&&n.state.facet(completionConfig).closeOnBlur&&e.relatedTarget!=n.contentDOM&&n.dispatch({effects:closeCompletionEffect.of(null)})}),this.showOptions(i,t.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener(\"scroll\",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t,i,r,n=e.state.field(this.stateField),o=e.startState.field(this.stateField);this.updateTooltipClass(e.state),n!=o&&(({options:t,selected:i,disabled:r}=n.open),o.open&&o.open.options==t||(this.range=rangeAroundSelected(t.length,i,e.state.facet(completionConfig).maxRenderedOptions),this.showOptions(t,n.id)),this.updateSel(),r!=(null==(i=o.open)?void 0:i.disabled))&&this.dom.classList.toggle(\"cm-tooltip-autocomplete-disabled\",!!r)}updateTooltipClass(e){var t=this.tooltipClass(e);if(t!=this.currentClass){for(var i of this.currentClass.split(\" \"))i&&this.dom.classList.remove(i);for(var r of t.split(\" \"))r&&this.dom.classList.add(r);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let i=this.view.state.field(this.stateField),e=i.open;if((-1=this.range.to)&&(this.range=rangeAroundSelected(e.options.length,e.selected,this.view.state.facet(completionConfig).maxRenderedOptions),this.showOptions(e.options,i.id)),this.updateSelectedOption(e.selected)){this.destroyInfo();let t=e.options[e.selected][\"completion\"];var r=t[\"info\"];r&&(r=\"string\"==typeof r?document.createTextNode(r):r(t))&&(\"then\"in r?r.then(e=>{e&&this.view.state.field(this.stateField,!1)==i&&this.addInfoPane(e,t)})[\"catch\"](e=>logException(this.view.state,e,\"completion info\")):this.addInfoPane(r,t))}}addInfoPane(e,t){this.destroyInfo();var i,r,n=this.info=document.createElement(\"div\");n.className=\"cm-tooltip cm-completionInfo\",null!=e.nodeType?(n.appendChild(e),this.infoDestroy=null):(({dom:i,destroy:r}=e),n.appendChild(i),this.infoDestroy=r||null),this.dom.appendChild(n),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,r=this.range.from;i;i=i.nextSibling,r++)\"LI\"==i.nodeName&&i.id?r==e?i.hasAttribute(\"aria-selected\")||(i.setAttribute(\"aria-selected\",\"true\"),t=i):i.hasAttribute(\"aria-selected\")&&i.removeAttribute(\"aria-selected\"):r--;return t&&scrollIntoView2(this.list,t),t}measureInfo(){var e=this.dom.querySelector(\"[aria-selected]\");if(!e||!this.info)return null;var t,i=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),e=e.getBoundingClientRect();let n=this.space;return n||(t=this.dom.ownerDocument.defaultView||window,n={left:0,top:0,right:t.innerWidth,bottom:t.innerHeight}),e.top>Math.min(n.bottom,i.bottom)-10||e.bottomi.from||0==i.from)&&(n=o,\"string\"!=typeof c&&c.header?r.appendChild(c.header(c)):r.appendChild(document.createElement(\"completion-section\")).textContent=o),r.appendChild(document.createElement(\"li\"))),c=(h.id=t+\"-\"+u,h.setAttribute(\"role\",\"option\"),this.optionClass(a));c&&(h.className=c);for(s of this.optionContent){var d=s(a,this.view.state,this.view,l);d&&h.appendChild(d)}}return i.from&&r.classList.add(\"cm-completionListIncompleteTop\"),i.tonew CompletionTooltip(e,t,i)}function scrollIntoView2(e,t){var i=e.getBoundingClientRect(),r=t.getBoundingClientRect(),n=i.height/e.offsetHeight;r.topi.bottom&&(e.scrollTop+=(r.bottom-i.bottom)/n)}function score(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}function sortOptions(e,t){let r=[],n=null;var i,o,s=e=>{r.push(e);var i=e.completion[\"section\"];if(i){n=n||[];let t=\"string\"==typeof i?i:i.name;n.some(e=>e.name==t)||n.push(\"string\"==typeof i?{name:t}:i)}};for(i of e)if(i.hasResult()){var a=i.result.getMatch;if(!1===i.result.filter)for(var l of i.result.options)s(new Option(l,i.source,a?a(l):[],1e9-r.length));else{var c,h,d=new FuzzyMatcher(t.sliceDoc(i.from,i.to));for(c of i.result.options)d.match(c.label)&&(h=c.displayLabel?a?a(c,d.matched):[]:d.matched,s(new Option(c,i.source,h,d.score+(c.boost||0))))}}if(n){let e=Object.create(null),t=0;var u,p;for(u of n.sort((e,t)=>{var i;return(null!=(i=e.rank)?i:1e9)-(null!=(i=t.rank)?i:1e9)||(e.namet.score-e.score||O(e.completion,t.completion))){var v=o.completion;!m||m.label!=v.label||m.detail!=v.detail||null!=m.type&&null!=v.type&&m.type!=v.type||m.apply!=v.apply||m.boost!=v.boost?g.push(o):score(o.completion)>score(m)&&(g[g.length-1]=o),m=o.completion}return g}var CompletionDialog=class{constructor(e,t,i,r,n,o){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=r,this.selected=n,this.disabled=o}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new CompletionDialog(this.options,makeAttrs(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,r,n){var o=sortOptions(e,t);if(!o.length)return r&&e.some(e=>1==e.state)?new CompletionDialog(r.options,r.attrs,r.tooltip,r.timestamp,r.selected,!0):null;let s=t.facet(completionConfig).selectOnOpen?0:-1;if(r&&r.selected!=s&&-1!=r.selected){var a=r.options[r.selected].completion;for(let e=0;et.hasResult()?Math.min(e,t.from):e,1e8),create:createTooltip,above:n.aboveCursor},r?r.timestamp:Date.now(),s,!1)}map(e){return new CompletionDialog(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}},CompletionState=class{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new CompletionState(none2,\"cm-ac-\"+Math.floor(2e6*Math.random()).toString(36),null)}update(i){let e=i[\"state\"],r=e.facet(completionConfig);var t;let n=(r.override||e.languageDataAt(\"autocomplete\",cur(e)).map(asSource)).map(t=>{return(this.active.find(e=>e.source==t)||new ActiveSource(t,this.active.some(e=>0!=e.state)?1:0)).update(i,r)}),o=(n.length==this.active.length&&n.every((e,t)=>e==this.active[t])&&(n=this.active),this.open);o&&i.docChanged&&(o=o.map(i.changes)),i.selection||n.some(e=>e.hasResult()&&i.changes.touchesRange(e.from,e.to))||!sameResults(n,this.active)?o=CompletionDialog.build(n,e,this.id,o,r):o&&o.disabled&&!n.some(e=>1==e.state)&&(o=null),!o&&n.every(e=>1!=e.state)&&n.some(e=>e.hasResult())&&(n=n.map(e=>e.hasResult()?new ActiveSource(e.source,0):e));for(t of i.effects)t.is(setSelectedEffect)&&(o=o&&o.setSelected(t.value,this.id));return n==this.active&&o==this.open?this:new CompletionState(n,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:baseAttrs}};function sameResults(e,t){if(e==t)return!0;for(let n=0,o=0;;){for(;ne.map(t))}}),setSelectedEffect=StateEffect.define(),completionState=StateField.define({create(){return CompletionState.start()},update(e,t){return e.update(t)},provide:e=>[showTooltip.from(e,e=>e.tooltip),EditorView.contentAttributes.from(e,e=>e.attrs)]});function applyCompletion(e,t){var i=t.completion.apply||t.completion.label,r=e.state.field(completionState).active.find(e=>e.source==t.source);return r instanceof ActiveResult&&(\"string\"==typeof i?e.dispatch(Object.assign(Object.assign({},insertCompletionText(e.state,i,r.from,r.to)),{annotations:pickedCompletion.of(t.completion)})):i(e,t.completion,r.from,r.to),!0)}var createTooltip=completionTooltip(completionState,applyCompletion);function moveCompletionSelection(s,a=\"option\"){return e=>{var t=e.state.field(completionState,!1);if(!t||!t.open||t.open.disabled||Date.now()-t.open.timestamp=n&&(o=\"page\"==a?n-1:0),e.dispatch({effects:setSelectedEffect.of(o)}),!0}}var acceptCompletion=e=>{var t=e.state.field(completionState,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestamp{return!!e.state.field(completionState,!1)&&(e.dispatch({effects:startCompletionEffect.of(!0)}),!0)},closeCompletion=e=>{var t=e.state.field(completionState,!1);return!(!t||!t.active.some(e=>0!=e.state)||(e.dispatch({effects:closeCompletionEffect.of(null)}),0))},RunningQuery=class{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}},MaxUpdateCount=50,MinAbortTime=1e3,completionPlugin=ViewPlugin.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(var t of e.state.field(completionState).active)1==t.state&&this.startQuery(t)}update(t){var i=t.state.field(completionState);if(t.selectionSet||t.docChanged||t.startState.field(completionState)!=i){var r=t.transactions.some(e=>(e.selection||e.docChanged)&&!getUserEvent(e));for(let e=0;eMaxUpdateCount&&Date.now()-n.time>MinAbortTime){for(var o of n.context.abortListeners)try{o()}catch(l){logException(this.view.state,l)}n.context.abortListeners=null,this.running.splice(e--,1)}else n.updates.push(...t.transactions)}-1e.effects.some(e=>e.is(startCompletionEffect)))&&(this.pendingStart=!0);var s=this.pendingStart?50:t.state.facet(completionConfig).activateOnTypingDelay;if(this.debounceUpdate=i.active.some(t=>1==t.state&&!this.running.some(e=>e.active.source==t.source))?setTimeout(()=>this.startUpdate(),s):-1,0!=this.composing)for(var a of t.transactions)\"input\"==getUserEvent(a)?this.composing=2:2==this.composing&&a.selection&&(this.composing=3)}}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;var e=this.view[\"state\"];for(let t of e.field(completionState).active)1!=t.state||this.running.some(e=>e.active.source==t.source)||this.startQuery(t)}startQuery(e){var t=this.view[\"state\"],i=cur(t),t=new CompletionContext(t,i,e.explicitPos==i);let r=new RunningQuery(e,t);this.running.push(r),Promise.resolve(e.source(t)).then(e=>{r.context.aborted||(r.done=e||null,this.scheduleAccept())},e=>{this.view.dispatch({effects:closeCompletionEffect.of(null)}),logException(this.view.state,e)})}scheduleAccept(){this.running.every(e=>void 0!==e.done)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(completionConfig).updateSyncTime))}accept(){-1e.source==t.active.source);if(o&&1==o.state)if(null==t.done){let e=new ActiveSource(t.active.source,0);for(var s of t.updates)e=e.update(s,r);1!=e.state&&i.push(e)}else this.startQuery(o)}}i.length&&this.view.dispatch({effects:setActiveEffect.of(i)})}},{eventHandlers:{blur(e){var t=this.view.state.field(completionState,!1);t&&t.tooltip&&this.view.state.facet(completionConfig).closeOnBlur&&((t=t.open&&getTooltip(this.view,t.open.tooltip))&&t.dom.contains(e.relatedTarget)||setTimeout(()=>this.view.dispatch({effects:closeCompletionEffect.of(null)}),10))},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout(()=>this.view.dispatch({effects:startCompletionEffect.of(!1)}),20),this.composing=0}}}),baseTheme4=EditorView.baseTheme({\".cm-tooltip.cm-tooltip-autocomplete\":{\"& > ul\":{fontFamily:\"monospace\",whiteSpace:\"nowrap\",overflow:\"hidden auto\",maxWidth_fallback:\"700px\",maxWidth:\"min(700px, 95vw)\",minWidth:\"250px\",maxHeight:\"10em\",height:\"100%\",listStyle:\"none\",margin:0,padding:0,\"& > li, & > completion-section\":{padding:\"1px 3px\",lineHeight:1.2},\"& > li\":{overflowX:\"hidden\",textOverflow:\"ellipsis\",cursor:\"pointer\"},\"& > completion-section\":{display:\"list-item\",borderBottom:\"1px solid silver\",paddingLeft:\"0.5em\",opacity:.7}}},\"&light .cm-tooltip-autocomplete ul li[aria-selected]\":{background:\"#17c\",color:\"white\"},\"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]\":{background:\"#777\"},\"&dark .cm-tooltip-autocomplete ul li[aria-selected]\":{background:\"#347\",color:\"white\"},\"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]\":{background:\"#444\"},\".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after\":{content:'\"···\"',opacity:.5,display:\"block\",textAlign:\"center\"},\".cm-tooltip.cm-completionInfo\":{position:\"absolute\",padding:\"3px 9px\",width:\"max-content\",maxWidth:\"400px\",boxSizing:\"border-box\"},\".cm-completionInfo.cm-completionInfo-left\":{right:\"100%\"},\".cm-completionInfo.cm-completionInfo-right\":{left:\"100%\"},\".cm-completionInfo.cm-completionInfo-left-narrow\":{right:\"30px\"},\".cm-completionInfo.cm-completionInfo-right-narrow\":{left:\"30px\"},\"&light .cm-snippetField\":{backgroundColor:\"#00000022\"},\"&dark .cm-snippetField\":{backgroundColor:\"#ffffff22\"},\".cm-snippetFieldPosition\":{verticalAlign:\"text-top\",width:0,height:\"1.15em\",display:\"inline-block\",margin:\"0 -0.7px -.7em\",borderLeft:\"1.4px dotted #888\"},\".cm-completionMatchedText\":{textDecoration:\"underline\"},\".cm-completionDetail\":{marginLeft:\"0.5em\",fontStyle:\"italic\"},\".cm-completionIcon\":{fontSize:\"90%\",width:\".8em\",display:\"inline-block\",textAlign:\"center\",paddingRight:\".6em\",opacity:\"0.6\",boxSizing:\"content-box\"},\".cm-completionIcon-function, .cm-completionIcon-method\":{\"&:after\":{content:\"'ƒ'\"}},\".cm-completionIcon-class\":{\"&:after\":{content:\"'○'\"}},\".cm-completionIcon-interface\":{\"&:after\":{content:\"'◌'\"}},\".cm-completionIcon-variable\":{\"&:after\":{content:\"'𝑥'\"}},\".cm-completionIcon-constant\":{\"&:after\":{content:\"'𝐶'\"}},\".cm-completionIcon-type\":{\"&:after\":{content:\"'𝑡'\"}},\".cm-completionIcon-enum\":{\"&:after\":{content:\"'∪'\"}},\".cm-completionIcon-property\":{\"&:after\":{content:\"'□'\"}},\".cm-completionIcon-keyword\":{\"&:after\":{content:\"'🔑︎'\"}},\".cm-completionIcon-namespace\":{\"&:after\":{content:\"'▢'\"}},\".cm-completionIcon-text\":{\"&:after\":{content:\"'abc'\",fontSize:\"50%\",verticalAlign:\"middle\"}}}),FieldPos=class{constructor(e,t,i,r){this.field=e,this.line=t,this.from=i,this.to=r}},FieldRange=class{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){var t=e.mapPos(this.from,-1,MapMode.TrackDel),i=e.mapPos(this.to,1,MapMode.TrackDel);return null==t||null==i?null:new FieldRange(this.field,t,i)}},Snippet=class{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(r,n){let e=[],o=[n];var s,t=r.doc.lineAt(n),a=/^\\s*/.exec(t.text)[0];for(s of this.lines){if(e.length){let e=a,t=/^\\t*/.exec(s)[0].length;for(let i=0;inew FieldRange(e.field,o[e.line]+e.from,o[e.line]+e.to));return{text:e,ranges:t}}static parse(e){var n,o,t,s=[],a=[],l=[];for(o of e.split(/\\r\\n?|\\n/)){for(;n=/[#$]\\{(?:(\\d+)(?::([^}]*))?|([^}]*))\\}/.exec(o);){let t=n[1]?+n[1]:null,i=n[2]||n[3]||\"\",r=-1;for(let e=0;e=r&&c.field++}l.push(new FieldPos(r,a.length,n.index,n.index+i.length)),o=o.slice(0,n.index)+i+o.slice(n.index+n[0].length)}for(;t=/\\\\([{}])/.exec(o);){o=o.slice(0,t.index)+t[1]+o.slice(t.index+t[0].length);for(var i of l)i.line==a.length&&i.from>t.index&&(i.from--,i.to--)}a.push(o)}return new Snippet(a,l)}},fieldMarker=Decoration.widget({widget:new class extends WidgetType{toDOM(){var e=document.createElement(\"span\");return e.className=\"cm-snippetFieldPosition\",e}ignoreEvent(){return!1}}}),fieldRange=Decoration.mark({\"class\":\"cm-snippetField\"}),ActiveSnippet=class{constructor(e,t){this.ranges=e,this.active=t,this.deco=Decoration.set(e.map(e=>(e.from==e.to?fieldMarker:fieldRange).range(e.from,e.to)))}map(e){var t,i=[];for(t of this.ranges){var r=t.map(e);if(!r)return null;i.push(r)}return new ActiveSnippet(i,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(e=>e.field==this.active&&e.from<=t.from&&e.to>=t.to))}},setActive=StateEffect.define({map(e,t){return e&&e.map(t)}}),moveToField=StateEffect.define(),snippetState=StateField.define({create(){return null},update(e,t){for(var i of t.effects){if(i.is(setActive))return i.value;if(i.is(moveToField)&&e)return new ActiveSnippet(e.ranges,i.value)}return e=(e=e&&t.docChanged?e.map(t.changes):e)&&t.selection&&!e.selectionInsideField(t.selection)?null:e},provide:e=>EditorView.decorations.from(e,e=>e?e.deco:Decoration.none)});function fieldSelection(e,t){return EditorSelection.create(e.filter(e=>e.field==t).map(e=>EditorSelection.range(e.from,e.to)))}function snippet(e){let s=Snippet.parse(e);return(e,t,i,r)=>{var{text:n,ranges:o}=s.instantiate(e.state,i),n={changes:{from:i,to:r,insert:Text.of(n)},scrollIntoView:!0,annotations:t?[pickedCompletion.of(t),Transaction.userEvent.of(\"input.complete\")]:void 0};o.length&&(n.selection=fieldSelection(o,0)),o.some(e=>0{var i=e.field(snippetState,!1);if(!i||o<0&&0==i.active)return!1;let r=i.active+o,n=0e.field==r+o);return t(e.update({selection:fieldSelection(i.ranges,r),effects:setActive.of(n?null:new ActiveSnippet(i.ranges,r)),scrollIntoView:!0})),!0}}var clearSnippet=({state:e,dispatch:t})=>{return!!e.field(snippetState,!1)&&(t(e.update({effects:setActive.of(null)})),!0)},nextSnippetField=moveField(1),prevSnippetField=moveField(-1),defaultSnippetKeymap=[{key:\"Tab\",run:nextSnippetField,shift:prevSnippetField},{key:\"Escape\",run:clearSnippet}],snippetKeymap=Facet.define({combine(e){return e.length?e[0]:defaultSnippetKeymap}}),addSnippetKeymap=Prec.highest(keymap.compute([snippetKeymap],e=>e.facet(snippetKeymap)));function snippetCompletion(e,t){return Object.assign(Object.assign({},t),{apply:snippet(e)})}var snippetPointerHandler=EditorView.domEventHandlers({mousedown(e,t){let i=t.state.field(snippetState,!1),r;if(!i||null==(r=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let n=i.ranges.find(e=>e.from<=r&&e.to>=r);return!(!n||n.field==i.active||(t.dispatch({selection:fieldSelection(i.ranges,n.field),effects:setActive.of(i.ranges.some(e=>e.field>n.field)?new ActiveSnippet(i.ranges,n.field):null),scrollIntoView:!0}),0))}});function wordRE(e){var t=e.replace(/[\\]\\-\\\\]/g,\"\\\\$&\");try{return new RegExp(`[\\\\p{Alphabetic}\\\\p{Number}_${t}]+`,\"ug\")}catch(i){return new RegExp(`[w${t}]`,\"g\")}}function mapRE(e,t){return new RegExp(t(e.source),e.unicode?\"u\":\"\")}var wordCaches=Object.create(null);function wordCache(e){return wordCaches[e]||(wordCaches[e]=new WeakMap)}function storeWords(e,t,i,r,n){for(let a=e.iterLines(),l=0;!a.next().done;){var o,s=a[\"value\"];for(t.lastIndex=0;o=t.exec(s);)if(!r[o[0]]&&l+o.index!=n&&(i.push({type:\"text\",label:o[0]}),r[o[0]]=!0,2e3<=i.length))return;l+=s.length+1}}function collectWords(t,i,r,n,o){var e=1e3<=t.length,s=e&&i.get(t);if(s)return s;var a=[],l=Object.create(null);if(t.children){let e=0;for(var c of t.children){if(1e3<=c.length)for(var h of collectWords(c,i,r,n-e,o-e))l[h.label]||(l[h.label]=!0,a.push(h));else storeWords(c,r,a,l,o-e);e+=c.length+1}}else storeWords(t,r,a,l,o);return e&&a.length<2e3&&i.set(t,a),a}var completeAnyWord=e=>{var t=e.state.languageDataAt(\"wordChars\",e.pos).join(\"\"),i=wordRE(t),r=e.matchBefore(mapRE(i,e=>e+\"$\"));return r||e.explicit?{from:r=r?r.from:e.pos,options:collectWords(e.state.doc,wordCache(t),i,5e4,r),validFor:mapRE(i,e=>\"^\"+e)}:null},defaults2={brackets:[\"(\",\"[\",\"{\",\"'\",'\"'],before:\")]}:;>\",stringPrefixes:[]},closeBracketEffect=StateEffect.define({map(e,t){var i=t.mapPos(e,-1,MapMode.TrackAfter);return null==i?void 0:i}}),closedBracket=new class extends RangeValue{},bracketState=(closedBracket.startSide=1,closedBracket.endSide=-1,StateField.define({create(){return RangeSet.empty},update(e,i){if(e=e.map(i.changes),i.selection){let t=i.state.doc.lineAt(i.selection.main.head);e=e.update({filter:e=>e>=t.from&&e<=t.to})}for(var t of i.effects)t.is(closeBracketEffect)&&(e=e.update({add:[closedBracket.range(t.value,t.value+1)]}));return e}}));function closeBrackets(){return[inputHandler2,bracketState]}var definedClosing=\"()[]{}<>\";function closing(e){for(let t=0;t{var n;return!((android?e.composing:e.compositionStarted)||e.state.readOnly||(n=e.state.selection.main,2{if(r.readOnly)return!1;let n=config(r,r.selection.main.head).brackets||defaults2.brackets,o=null,t=r.changeByRange(e=>{if(e.empty){var t,i=prevChar(r.doc,e.head);for(t of n)if(t==i&&nextChar(r.doc,e.head)==closing(codePointAt(t,0)))return{changes:{from:e.head-t.length,to:e.head+t.length},range:EditorSelection.cursor(e.head-t.length)}}return{range:o=e}});return o||e(r.update(t,{scrollIntoView:!0,userEvent:\"delete.backward\"})),!o},closeBracketsKeymap=[{key:\"Backspace\",run:deleteBracketPair}];function insertBracket(e,t){var i,r=config(e,e.selection.main.head),n=r.brackets||defaults2.brackets;for(i of n){var o=closing(codePointAt(i,0));if(t==i)return o==i?handleSame(e,i,-1{e==t&&(i=!0)}),i}function nextChar(e,t){var i=e.sliceString(t,t+2);return i.slice(0,codePointSize(codePointAt(i,0)))}function prevChar(e,t){var i=e.sliceString(t-2,t);return codePointSize(codePointAt(i,0))==i.length?i:i.slice(1)}function handleOpen(i,r,n,o){let s=null,e=i.changeByRange(e=>{var t;return e.empty?!(t=nextChar(i.doc,e.head))||/\\s/.test(t)||-1e.empty&&nextChar(t.doc,e.head)==i?{changes:{from:e.head,to:e.head+i.length,insert:i},range:EditorSelection.cursor(e.head+i.length)}:r={range:e});return r?null:t.update(n,{scrollIntoView:!0,userEvent:\"input.type\"})}function handleSame(o,s,a,e){let l=e.stringPrefixes||defaults2.stringPrefixes,c=null,t=o.changeByRange(e=>{if(!e.empty)return{changes:[{insert:s,from:e.from},{insert:s,from:e.to}],effects:closeBracketEffect.of(e.to+s.length),range:EditorSelection.range(e.anchor+s.length,e.head+s.length)};let t=e.head,i=nextChar(o.doc,t),r;if(i==s){if(nodeStart(o,t))return{changes:{insert:s+s,from:t},effects:closeBracketEffect.of(t+s.length),range:EditorSelection.cursor(t+s.length)};var n;if(closedBracketAt(o,t))return{changes:{from:t,to:t+(n=a&&o.sliceDoc(t,t+3*s.length)==s+s+s?s+s+s:s).length,insert:n},range:EditorSelection.cursor(t+n.length)}}else{if(a&&o.sliceDoc(t-2*s.length,t)==s+s&&-1<(r=canStartStringAt(o,t-2*s.length,l))&&nodeStart(o,r))return{changes:{insert:s+s+s+s,from:t},effects:closeBracketEffect.of(t+s.length),range:EditorSelection.cursor(t+s.length)};if(o.charCategorizer(t)(i)!=CharCategory.Word&&-1Math.max(e,t.length),0);for(let l=0;l<5;l++){var s=t.sliceDoc(n.from,Math.min(n.to,n.from+i.length+o)),a=s.indexOf(i);if(!a||-1i.length+a;){if(t.sliceDoc(e.to-i.length,e.to)==i)return!1;e=e.firstChild}return!0}s=n.to==e&&n.parent;if(!s)break;n=s}return!1}function canStartStringAt(e,t,i){var r,n=e.charCategorizer(t);if(n(e.sliceDoc(t-1,t))!=CharCategory.Word)return t;for(r of i){var o=t-r.length;if(e.sliceDoc(o,t)==r&&n(e.sliceDoc(o-1,o))!=CharCategory.Word)return o}return-1}function autocompletion(e={}){return[completionState,completionConfig.of(e),completionPlugin,completionKeymapExt,baseTheme4]}var completionKeymap=[{key:\"Ctrl-Space\",run:startCompletion},{key:\"Escape\",run:closeCompletion},{key:\"ArrowDown\",run:moveCompletionSelection(!0)},{key:\"ArrowUp\",run:moveCompletionSelection(!1)},{key:\"PageDown\",run:moveCompletionSelection(!0,\"page\")},{key:\"PageUp\",run:moveCompletionSelection(!1,\"page\")},{key:\"Enter\",run:acceptCompletion}],completionKeymapExt=Prec.highest(keymap.computeN([completionConfig],e=>e.facet(completionConfig).defaultKeymap?[completionKeymap]:[]));function completionStatus(e){var t=e.field(completionState,!1);return t&&t.active.some(e=>1==e.state)?\"pending\":t&&t.active.some(e=>0!=e.state)?\"active\":null}function selectedCompletion(e){var t=null==(t=e.field(completionState,!1))?void 0:t.open;return t&&!t.disabled&&0<=t.selected?t.options[t.selected].completion:null}var toggleComment=e=>{var t=e[\"state\"],t=t.doc.lineAt(t.selection.main.from),t=getConfig(e.state,t.from);return t.line?toggleLineComment(e):!!t.block&&toggleBlockCommentByLine(e)};function command(r,n){return({state:e,dispatch:t})=>{var i;return!e.readOnly&&!!(i=r(n,e))&&(t(e.update(i)),!0)}}var toggleLineComment=command(changeLineComment,0),toggleBlockComment=command(changeBlockComment,0),toggleBlockCommentByLine=command((e,t)=>changeBlockComment(e,t,selectedLineRanges(t)),0);function getConfig(e,t){var i=e.languageDataAt(\"commentTokens\",t);return i.length?i[0]:{}}var SearchMargin=50;function findBlockComment(e,{open:t,close:i},r,n){var o=e.sliceDoc(r-SearchMargin,r),s=e.sliceDoc(n,n+SearchMargin),a=/\\s*$/.exec(o)[0].length,l=/^\\s*/.exec(s)[0].length,c=o.length-a;if(o.slice(c-t.length,c)==t&&s.slice(l,l+i.length)==i)return{open:{pos:r-a,margin:a&&1},close:{pos:n+l,margin:l&&1}};let h,d;n-r<=2*SearchMargin?h=d=e.sliceDoc(r,n):(h=e.sliceDoc(r,r+SearchMargin),d=e.sliceDoc(n-SearchMargin,n));c=/^\\s*/.exec(h)[0].length,o=/\\s*$/.exec(d)[0].length,s=d.length-o-i.length;return h.slice(c,c+t.length)==t&&d.slice(s,s+i.length)==i?{open:{pos:r+c+t.length,margin:/\\s/.test(h.charAt(c+t.length))?1:0},close:{pos:n-o-i.length,margin:/\\s/.test(d.charAt(s-1))?1:0}}:null}function selectedLineRanges(e){var t,i=[];for(t of e.selection.ranges){var r=e.doc.lineAt(t.from),n=t.to<=r.to?r:e.doc.lineAt(t.to),o=i.length-1;0<=o&&i[o].to>r.from?i[o].to=n.to:i.push({from:r.from+/^\\s*/.exec(r.text)[0].length,to:n.to})}return i}function changeBlockComment(e,r,t=r.selection.ranges){let n=t.map(e=>getConfig(r,e.from).block);if(n.every(e=>e)){let i=t.map((e,t)=>findBlockComment(r,n[t],e.from,e.to));if(2!=e&&!i.every(e=>e))return{changes:r.changes(t.map((e,t)=>i[t]?[]:[{from:e.from,insert:n[t].open+\" \"},{from:e.to,insert:\" \"+n[t].close}]))};if(1!=e&&i.some(e=>e)){var o,s,a,l=[];for(let e=0,t;ea&&(n==o||o>u.from)&&(a=u.from,h=(c=/^\\s*/.exec(u.text)[0].length)==u.length,d=u.text.slice(c,c+l.length)==l?c:-1,ce.comment<0&&(!e.empty||e.single))){var i,p,f,g,m,O=[];for({line:i,token:p,indent:f,empty:g,single:m}of s)!m&&g||O.push({from:i.from+f,insert:p+\" \"});var v=r.changes(O);return{changes:v,selection:r.selection.map(v,1)}}if(1!=e&&s.some(e=>0<=e.comment)){var y,S,w,k=[];for({line:y,comment:S,token:w}of s)if(0<=S){let e=y.from+S,t=e+w.length;\" \"==y.text[t-y.from]&&t++,k.push({from:e,to:t})}return{changes:k}}return null}var fromHistory=Annotation.define(),isolateHistory=Annotation.define(),invertedEffects=Facet.define(),historyConfig=Facet.define({combine(e){return combineConfig(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(i,r)=>(e,t)=>i(e,t)||r(e,t)})}}),historyField_=StateField.define({create(){return HistoryState.empty},update(t,i){var r=i.state.facet(historyConfig),n=i.annotation(fromHistory);if(n){var o=HistEvent.fromTransaction(i,n.selection),s=n.side;let e=0==s?t.undone:t.done;return e=o?updateBranch(e,e.length,r.minDepth,o):addSelection(e,i.startState.selection),new HistoryState(0==s?n.rest:e,0==s?e:n.rest)}var e,o=i.annotation(isolateHistory);return\"full\"!=o&&\"before\"!=o||(t=t.isolate()),!1===i.annotation(Transaction.addToHistory)?i.changes.empty?t:t.addMapping(i.changes.desc):(s=HistEvent.fromTransaction(i),n=i.annotation(Transaction.time),e=i.annotation(Transaction.userEvent),s?t=t.addChanges(s,n,e,r,i):i.selection&&(t=t.addSelection(i.startState.selection,n,e,r.newGroupDelay)),\"full\"!=o&&\"after\"!=o?t:t.isolate())},toJSON(e){return{done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}},fromJSON(e){return new HistoryState(e.done.map(HistEvent.fromJSON),e.undone.map(HistEvent.fromJSON))}});function history(e={}){return[historyField_,historyConfig.of(e),EditorView.domEventHandlers({beforeinput(e,t){var i=\"historyUndo\"==e.inputType?undo:\"historyRedo\"==e.inputType?redo:null;return!!i&&(e.preventDefault(),i(t))}})]}function cmd(r,n){return function({state:e,dispatch:t}){var i;return!(!n&&e.readOnly||!(i=e.field(historyField_,!1))||!(i=i.pop(r,e,n))||(t(i),0))}}var undo=cmd(0,!1),redo=cmd(1,!1),undoSelection=cmd(0,!0),redoSelection=cmd(1,!0),HistEvent=class{constructor(e,t,i,r,n){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=r,this.selectionsAfter=n}setSelAfter(e){return new HistEvent(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e;return{changes:null==(e=this.changes)?void 0:e.toJSON(),mapped:null==(e=this.mapped)?void 0:e.toJSON(),startSelection:null==(e=this.startSelection)?void 0:e.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(e){return new HistEvent(e.changes&&ChangeSet.fromJSON(e.changes),[],e.mapped&&ChangeDesc.fromJSON(e.mapped),e.startSelection&&EditorSelection.fromJSON(e.startSelection),e.selectionsAfter.map(EditorSelection.fromJSON))}static fromTransaction(e,t){let i=none3;for(var r of e.startState.facet(invertedEffects)){r=r(e);r.length&&(i=i.concat(r))}return!i.length&&e.changes.empty?null:new HistEvent(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,none3)}static selection(e){return new HistEvent(void 0,none3,void 0,void 0,e)}};function updateBranch(e,t,i,r){var n=e.slice(i+20a.push(e,t)),t.iterChangedRanges((e,t,i,r)=>{for(let s=0;se.empty!=i.ranges[t].empty).length}function conc(e,t){return e.length?t.length?e.concat(t):e:t}var none3=[],MaxSelectionsPerEvent=200;function addSelection(e,t){var i,r;return e.length?(r=(i=e[e.length-1]).selectionsAfter.slice(Math.max(0,i.selectionsAfter.length-MaxSelectionsPerEvent))).length&&r[r.length-1].eq(t)?e:(r.push(t),updateBranch(e,e.length-1,1e9,i.setSelAfter(r))):[HistEvent.selection([t])]}function popSelection(e){var t=e[e.length-1],i=e.slice();return i[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),i}function addMappingToBranch(e,t){if(!e.length)return e;let i=e.length,r=none3;for(;i;){var n,o=mapEvent(e[i-1],t,r);if(o.changes&&!o.changes.empty||o.effects.length)return(n=e.slice(0,i))[i-1]=o,n;t=o.mapped,i--,r=o.selectionsAfter}return r.length?[HistEvent.selection(r)]:none3}function mapEvent(e,t,i){var r,n,o,s=conc(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):none3,i);return e.changes?(r=e.changes.map(t),n=t.mapDesc(e.changes,!0),o=e.mapped?e.mapped.composeDesc(n):n,new HistEvent(r,StateEffect.mapEffects(e.effects,t),o,e.startSelection.map(n),s)):HistEvent.selection(s)}var joinableUserEvent=/^(input\\.type|delete)($|\\.)/,HistoryState=class{constructor(e,t,i=0,r=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new HistoryState(this.done,this.undone):this}addChanges(e,t,i,r,n){let o=this.done,s=o[o.length-1];return o=s&&s.changes&&!s.changes.empty&&e.changes&&(!i||joinableUserEvent.test(i))&&(!s.selectionsAfter.length&&t-this.prevTimee.empty?t.moveByChar(e,i):rangeEnd(e,i))}function ltrAtCursor(e){return e.textDirectionAt(e.state.selection.main.head)==Direction.LTR}var cursorCharLeft=e=>cursorByChar(e,!ltrAtCursor(e)),cursorCharRight=e=>cursorByChar(e,ltrAtCursor(e)),cursorCharBackward=e=>cursorByChar(e,!1);function cursorByGroup(t,i){return moveSel(t,e=>e.empty?t.moveByGroup(e,i):rangeEnd(e,i))}var cursorGroupLeft=e=>cursorByGroup(e,!ltrAtCursor(e)),cursorGroupRight=e=>cursorByGroup(e,ltrAtCursor(e)),segmenter=\"undefined\"!=typeof Intl&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:\"word\"}):null;function interestingNode(e,t,i){var r;return!!t.type.prop(i)||(r=t.to-t.from)&&(2moveSel(t,e=>moveBySyntax(t.state,e,!ltrAtCursor(t))),cursorSyntaxRight=t=>moveSel(t,e=>moveBySyntax(t.state,e,ltrAtCursor(t)));function cursorByLine(i,r){return moveSel(i,e=>{var t;return e.empty?(t=i.moveVertically(e,r)).head!=e.head?t:i.moveToLineBoundary(e,r):rangeEnd(e,r)})}var cursorLineUp=e=>cursorByLine(e,!1),cursorLineDown=e=>cursorByLine(e,!0);function pageInfo(e){var t=e.scrollDOM.clientHeighte.empty?t.moveVertically(e,i,r.height):rangeEnd(e,i));if(a.eq(s.selection))return!1;let l;return r.selfScroll&&(e=t.coordsAtPos(s.selection.main.head),n=(o=t.scrollDOM.getBoundingClientRect()).top+r.marginTop,o=o.bottom-r.marginBottom,e)&&e.top>n&&e.bottomcursorByPage(e,!1),cursorPageDown=e=>cursorByPage(e,!0);function moveByLineBoundary(e,t,i){let r=e.lineBlockAt(t.head),n=e.moveToLineBoundary(t,i);var o;return n.head==t.head&&n.head!=(i?r.to:r.from)&&(n=e.moveToLineBoundary(t,i,!1)),n=!i&&n.head==r.from&&r.length&&(o=/^\\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length)&&t.head!=r.from+o?EditorSelection.cursor(r.from+o):n}var cursorLineBoundaryForward=t=>moveSel(t,e=>moveByLineBoundary(t,e,!0)),cursorLineBoundaryBackward=t=>moveSel(t,e=>moveByLineBoundary(t,e,!1)),cursorLineBoundaryLeft=t=>moveSel(t,e=>moveByLineBoundary(t,e,!ltrAtCursor(t))),cursorLineBoundaryRight=t=>moveSel(t,e=>moveByLineBoundary(t,e,ltrAtCursor(t))),cursorLineStart=t=>moveSel(t,e=>EditorSelection.cursor(t.lineBlockAt(e.head).from,1)),cursorLineEnd=t=>moveSel(t,e=>EditorSelection.cursor(t.lineBlockAt(e.head).to,-1));function toMatchingBracket(i,e,r){let n=!1,t=updateSel(i.selection,e=>{var t=matchBrackets(i,e.head,-1)||matchBrackets(i,e.head,1)||0toMatchingBracket(e,t,!1);function extendSel(e,i){var t=updateSel(e.state.selection,e=>{var t=i(e);return EditorSelection.range(e.anchor,t.head,t.goalColumn,t.bidiLevel||void 0)});return!t.eq(e.state.selection)&&(e.dispatch(setSel(e.state,t)),!0)}function selectByChar(t,i){return extendSel(t,e=>t.moveByChar(e,i))}var selectCharLeft=e=>selectByChar(e,!ltrAtCursor(e)),selectCharRight=e=>selectByChar(e,ltrAtCursor(e));function selectByGroup(t,i){return extendSel(t,e=>t.moveByGroup(e,i))}var selectGroupLeft=e=>selectByGroup(e,!ltrAtCursor(e)),selectGroupRight=e=>selectByGroup(e,ltrAtCursor(e)),selectSyntaxLeft=t=>extendSel(t,e=>moveBySyntax(t.state,e,!ltrAtCursor(t))),selectSyntaxRight=t=>extendSel(t,e=>moveBySyntax(t.state,e,ltrAtCursor(t)));function selectByLine(t,i){return extendSel(t,e=>t.moveVertically(e,i))}var selectLineUp=e=>selectByLine(e,!1),selectLineDown=e=>selectByLine(e,!0);function selectByPage(t,i){return extendSel(t,e=>t.moveVertically(e,i,pageInfo(t).height))}var selectPageUp=e=>selectByPage(e,!1),selectPageDown=e=>selectByPage(e,!0),selectLineBoundaryForward=t=>extendSel(t,e=>moveByLineBoundary(t,e,!0)),selectLineBoundaryBackward=t=>extendSel(t,e=>moveByLineBoundary(t,e,!1)),selectLineBoundaryLeft=t=>extendSel(t,e=>moveByLineBoundary(t,e,!ltrAtCursor(t))),selectLineBoundaryRight=t=>extendSel(t,e=>moveByLineBoundary(t,e,ltrAtCursor(t))),selectLineStart=t=>extendSel(t,e=>EditorSelection.cursor(t.lineBlockAt(e.head).from)),selectLineEnd=t=>extendSel(t,e=>EditorSelection.cursor(t.lineBlockAt(e.head).to)),cursorDocStart=({state:e,dispatch:t})=>(t(setSel(e,{anchor:0})),!0),cursorDocEnd=({state:e,dispatch:t})=>(t(setSel(e,{anchor:e.doc.length})),!0),selectDocStart=({state:e,dispatch:t})=>(t(setSel(e,{anchor:e.selection.main.anchor,head:0})),!0),selectDocEnd=({state:e,dispatch:t})=>(t(setSel(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),selectAll=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:\"select\"})),!0),selectLine=({state:i,dispatch:e})=>{var t=selectedLineBlocks(i).map(({from:e,to:t})=>EditorSelection.range(e,Math.min(t+1,i.doc.length)));return e(i.update({selection:EditorSelection.create(t),userEvent:\"select\"})),!0},selectParentSyntax=({state:n,dispatch:e})=>{var t=updateSel(n.selection,e=>{var t;for(let r=syntaxTree(n).resolveStack(e.from,1);r;r=r.next){var i=r[\"node\"];if((i.from=e.to||i.to>e.to&&i.from<=e.from)&&null!=(t=i.parent)&&t.parent)return EditorSelection.range(i.to,i.from)}return e});return e(setSel(n,t)),!0},simplifySelection=({state:e,dispatch:t})=>{let i=e.selection,r=null;return 1{let{from:i,to:r}=t;if(i==r){let e=o(t);ei&&(s=\"delete.forward\",e=skipAtomic(n,e,!0)),i=Math.min(i,e),r=Math.max(r,e)}else i=skipAtomic(n,i,!1),r=skipAtomic(n,r,!0);return i==r?{range:t}:{changes:{from:i,to:r},range:EditorSelection.cursor(i,ie(t)))e.between(i,i,(e,t)=>{edeleteBy(a,e=>{let t=e.from,i=a[\"state\"],r=i.doc.lineAt(t),n,o;if(!l&&t>r.from&&tdeleteByChar(e,!1),deleteCharForward=e=>deleteByChar(e,!0),deleteByGroup=(c,h)=>deleteBy(c,e=>{let t=e.head,i=c[\"state\"],r=i.doc.lineAt(t);var n=i.charCategorizer(t);for(let l=null;;){if(t==(h?r.to:r.from)){t==e.head&&r.number!=(h?i.doc.lines:1)&&(t+=h?1:-1);break}var o=findClusterBreak(r.text,t-r.from,h)+r.from,s=r.text.slice(Math.min(t,o)-r.from,Math.max(t,o)-r.from),a=n(s);if(null!=l&&a!=l)break;\" \"==s&&t==e.head||(l=a),t=o}return t}),deleteGroupBackward=e=>deleteByGroup(e,!1),deleteGroupForward=e=>deleteByGroup(e,!0),deleteToLineEnd=i=>deleteBy(i,e=>{var t=i.lineBlockAt(e.head).to;return e.headdeleteBy(i,e=>{var t=i.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),deleteLineBoundaryForward=i=>deleteBy(i,e=>{var t=i.moveToLineBoundary(e,!0).head;return e.head{var i;return!e.readOnly&&(i=e.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:Text.of([\"\",\"\"])},range:EditorSelection.cursor(e.from)})),t(e.update(i,{scrollIntoView:!0,userEvent:\"input\"})),!0)},transposeChars=({state:n,dispatch:e})=>{var t;return!n.readOnly&&!(t=n.changeByRange(e=>{var t,i,r;return e.empty&&0!=e.from&&e.from!=n.doc.length?{changes:{from:i=(t=e.from)==(r=n.doc.lineAt(t)).from?t-1:findClusterBreak(r.text,t-r.from,!1)+r.from,to:r=t==r.to?t+1:findClusterBreak(r.text,t-r.from,!0)+r.from,insert:n.doc.slice(t,r).append(n.doc.slice(i,t))},range:EditorSelection.cursor(r)}:{range:e}})).changes.empty&&(e(n.update(t,{scrollIntoView:!0,userEvent:\"move.character\"})),!0)};function selectedLineBlocks(i){let r=[],n=-1;for(var o of i.selection.ranges){let e=i.doc.lineAt(o.from),t=i.doc.lineAt(o.to);var s;o.empty||o.to!=t.from||(t=i.doc.lineAt(o.to-1)),n>=e.number?((s=r[r.length-1]).to=t.to,s.ranges.push(o)):r.push({from:e.from,to:t.to,ranges:[o]}),n=t.number+1}return r}function moveLine(e,t,i){if(e.readOnly)return!1;var r,n=[],o=[];for(r of selectedLineBlocks(e))if(i?r.to!=e.doc.length:0!=r.from){var s=e.doc.lineAt(i?r.to+1:r.from-1),a=s.length+1;if(i){n.push({from:r.to,to:s.to},{from:r.from,insert:s.text+e.lineBreak});for(var l of r.ranges)o.push(EditorSelection.range(Math.min(e.doc.length,l.anchor+a),Math.min(e.doc.length,l.head+a)))}else{n.push({from:s.from,to:r.from},{from:r.to,insert:e.lineBreak+s.text});for(var c of r.ranges)o.push(EditorSelection.range(c.anchor-a,c.head-a))}}return!!n.length&&(t(e.update({changes:n,scrollIntoView:!0,selection:EditorSelection.create(o,e.selection.mainIndex),userEvent:\"move.line\"})),!0)}var moveLineUp=({state:e,dispatch:t})=>moveLine(e,t,!1),moveLineDown=({state:e,dispatch:t})=>moveLine(e,t,!0);function copyLine(e,t,i){if(e.readOnly)return!1;var r,n=[];for(r of selectedLineBlocks(e))n.push(i?{from:r.from,insert:e.doc.slice(r.from,r.to)+e.lineBreak}:{from:r.to,insert:e.lineBreak+e.doc.slice(r.from,r.to)});return t(e.update({changes:n,scrollIntoView:!0,userEvent:\"input.copyline\"})),!0}var copyLineUp=({state:e,dispatch:t})=>copyLine(e,t,!1),copyLineDown=({state:e,dispatch:t})=>copyLine(e,t,!0),deleteLine=t=>{if(t.state.readOnly)return!1;let i=t[\"state\"],e=i.changes(selectedLineBlocks(i).map(({from:e,to:t})=>(0t.moveVertically(e,!0)).map(e);return t.dispatch({changes:e,selection:r,scrollIntoView:!0,userEvent:\"delete.line\"}),!0};function isBetweenBrackets(e,t){if(/\\(\\)|\\[\\]|\\{\\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};var i=syntaxTree(e).resolveInner(t);let r=i.childBefore(t),n=i.childAfter(t),o;return r&&n&&r.to<=t&&n.from>=t&&(o=r.type.prop(NodeProp.closedBy))&&-1{var t;return!l.readOnly&&(t=l.changeByRange(e=>{let{from:t,to:i}=e,r=l.doc.lineAt(t);var n=!c&&t==i&&isBetweenBrackets(l,t),o=(c&&(t=i=(i<=r.to?r:l.doc.lineAt(i)).to),new IndentContext(l,{simulateBreak:t,simulateDoubleBreak:!!n}));let s=getIndentation(o,t);for(null==s&&(s=countColumn(/^\\s*/.exec(l.doc.lineAt(t).text)[0],l.tabSize));ir.from&&t{var t=[];for(let n=e.from;n<=e.to;){var i=o.doc.lineAt(n);i.number>a&&(e.empty||e.to>i.from)&&(s(i,t,e),a=i.number),n=i.to+1}var r=o.changes(t);return{changes:t,range:EditorSelection.range(r.mapPos(e.anchor,1),r.mapPos(e.head,1))}})}var indentSelection=({state:s,dispatch:e})=>{if(s.readOnly)return!1;let a=Object.create(null),l=new IndentContext(s,{overrideIndentation:e=>{var t=a[e];return null==t?-1:t}});var t=changeBySelectedLine(s,(e,t,i)=>{let r=getIndentation(l,e.from);var n,o;null!=r&&(/\\S/.test(e.text)||(r=0),(n=/^\\s*/.exec(e.text)[0])!=(o=indentString(s,r))||i.from!i.readOnly&&(e(i.update(changeBySelectedLine(i,(e,t)=>{t.push({from:e.from,insert:i.facet(indentUnit)})}),{userEvent:\"input.indent\"})),!0),indentLess=({state:s,dispatch:e})=>!s.readOnly&&(e(s.update(changeBySelectedLine(s,(i,r)=>{var n=/^\\s*/.exec(i.text)[0];if(n){let e=countColumn(n,s.tabSize),t=0;for(var o=indentString(s,Math.max(0,e-getIndentUnit(s)));t({mac:e.key,run:e.run,shift:e.shift}))),defaultKeymap=[{key:\"Alt-ArrowLeft\",mac:\"Ctrl-ArrowLeft\",run:cursorSyntaxLeft,shift:selectSyntaxLeft},{key:\"Alt-ArrowRight\",mac:\"Ctrl-ArrowRight\",run:cursorSyntaxRight,shift:selectSyntaxRight},{key:\"Alt-ArrowUp\",run:moveLineUp},{key:\"Shift-Alt-ArrowUp\",run:copyLineUp},{key:\"Alt-ArrowDown\",run:moveLineDown},{key:\"Shift-Alt-ArrowDown\",run:copyLineDown},{key:\"Escape\",run:simplifySelection},{key:\"Mod-Enter\",run:insertBlankLine},{key:\"Alt-l\",mac:\"Ctrl-l\",run:selectLine},{key:\"Mod-i\",run:selectParentSyntax,preventDefault:!0},{key:\"Mod-[\",run:indentLess},{key:\"Mod-]\",run:indentMore},{key:\"Mod-Alt-\\\\\",run:indentSelection},{key:\"Shift-Mod-k\",run:deleteLine},{key:\"Shift-Mod-\\\\\",run:cursorMatchingBracket},{key:\"Mod-/\",run:toggleComment},{key:\"Alt-A\",run:toggleBlockComment}].concat(standardKeymap),indentWithTab={key:\"Tab\",run:indentMore,shift:indentLess},Stack=class{constructor(e,t,i,r,n,o,s,a,l,c=0,h){this.p=e,this.stack=t,this.state=i,this.reducePos=r,this.pos=n,this.score=o,this.buffer=s,this.bufferBase=a,this.curContext=l,this.lookAhead=c,this.parent=h}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@`+this.pos+(this.score?\"!\"+this.score:\"\")}static start(e,t,i=0){var r=e.parser.context;return new Stack(e,[],t,i,i,0,[],0,r?new StackContext(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t=e>>19,i=65535&e,r=this.p[\"parser\"],n=r.dynamicPrecedence(i);if(n&&(this.score+=n),0==t)this.pushState(r.getGoto(this.state,i,!0),this.reducePos),io;)this.stack.pop();this.reduceContext(i,n)}}storeNode(t,i,r,n=4,e=!1){if(0==t&&(!this.stack.length||this.stack[this.stack.length-1]=i)return void(e.buffer[t-2]=r)}}if(e&&this.pos!=r){let e=this.buffer.length;if(0r;)this.buffer[e]=this.buffer[e-4],this.buffer[e+1]=this.buffer[e-3],this.buffer[e+2]=this.buffer[e-2],this.buffer[e+3]=this.buffer[e-1],e-=4,4this.pos||t<=o.maxNode)&&(this.pos=r,o.stateFlag(n,1)||(this.reducePos=r)),this.pushState(n,i),this.shiftContext(t,i),t<=o.maxNode&&this.buffer.push(t,i,r,4)):(this.pos=r,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,r,4))}apply(e,t,i,r){65536&e?this.reduce(e):this.shift(e,t,i,r)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);var r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(i,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;0e.reducePos;)t-=4;for(var i=e.buffer.slice(t),r=e.bufferBase+t;e&&r==e.bufferBase;)e=e.parent;return new Stack(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){var i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(var t=new SimulatedStack(this);;){var i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==i)return!1;if(0==(65536&i))return!0;t.reduce(i)}}recoverByInsert(i){if(300<=this.stack.length)return[];let r=this.p.parser.nextStates(this.state);if(81&t&&e==i)||n.push(r[e],i)}r=n}var e=[];for(let s=0;s>19,r=65535&t,i=this.stack.length-3*i;if(i<0||e.getGoto(this.stack[i],r,!1)<0){i=this.findForcedReduction();if(null==i)return!1;t=i}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let o=this.p[\"parser\"],t=[],s=(e,n)=>{if(!t.includes(e))return t.push(e),o.allActions(e,e=>{if(!(393216&e))if(65536&e){var t=(e>>19)-n;if(1this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),0>19,i=(0==i?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(i-1),this.start.p.parser.getGoto(this.stack[this.base-3],t,!0));this.state=i}},StackBufferCursor=class{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new StackBufferCursor(e,t,t-e.bufferBase)}maybeNext(){var e=this.stack.parent;null!=e&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new StackBufferCursor(this.stack,this.pos,this.index)}};function decodeArray(n,e=Uint16Array){if(\"string\"!=typeof n)return n;let t=null;for(let o=0,i=0;oi.to:n>=i.to;){if(r==this.ranges.length-1)return null;var s=this.ranges[++r];n+=s.from-i.to,i=s}return n}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,i,r;if(0<=t&&t=this.chunk2Pos&&it.to&&(this.chunk2=this.chunk2.slice(0,t.to-i)),r=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),r}acceptToken(e,t=0){var i=t?this.resolveOffset(t,-1):this.pos;if(null==i||i=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0)}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk=\"\",this.next=-1}reset(e,t){if(t?((this.token=t).start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=nullToken,this.pos!=e){if((this.pos=e)==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i=\"\";for(var r of this.ranges){if(r.from>=t)break;r.to>e&&(i+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return i}},TokenGroup=class{constructor(e,t){this.data=e,this.id=t}token(e,t){var i=t.p[\"parser\"];readToken(this.data,e,t,this.id,i.data,i.tokenPrecTable)}},LocalTokenGroup=(TokenGroup.prototype.contextual=TokenGroup.prototype.fallback=TokenGroup.prototype.extend=!1,class{constructor(e,t,i){this.precTable=t,this.elseToken=i,this.data=\"string\"==typeof e?decodeArray(e):e}token(e,t){let i=e.pos,r=0;for(;;){var n=e.next<0,o=e.resolveOffset(1,1);if(readToken(this.data,e,t,0,this.data,this.precTable),-1t&&65535==n[d+3*i-3])){for(;t>1,f=d+p+(p<<1),g=n[f],m=n[f+1]||65536;if(et)&&!r.type.isError)return i<0?Math.max(0,Math.min(r.to-1,t-25)):Math.min(e.length,Math.max(r.from+1,t+25));if(i<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return i<0?0:e.length}}var FragmentCursor2=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){var e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?cutAt(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?cutAt(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e=Math.max(this.safeFrom,e)&&(this.trees.push(n),this.start.push(r),this.index.push(0))}else this.index[t]++,this.nextStart=r+n.length}}}},TokenCache=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(e=>new CachedToken)}getActions(e){let t=0,i=null;var r=e.p[\"parser\"],n=r[\"tokenizers\"],o=r.stateSlot(e.state,3),s=e.curContext?e.curContext.hash:0;let a=0;for(let d=0;dc.end+25&&(a=Math.max(c.lookAhead,a)),0!=c.value)){var h=t;if(-1h))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),i||e.pos!=this.stream.end||((i=new CachedToken).value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){var t,i,r;return this.mainToken||(({pos:i,p:r}=e),(t=new CachedToken).start=i,t.end=Math.min(i+1,r.stream.end),t.value=i==r.stream.end?r.parser.eofTerm:0,t)}updateCachedToken(t,e,i){var r=this.stream.clipPos(i.pos);if(e.token(this.stream.reset(r,t),i),-1>1)){0==(1&o)?t.value=o>>1:t.extended=o>>1;break}}}else t.value=0,t.end=this.stream.clipPos(r+1)}putAction(e,t,i,r){for(let n=0;n4*e.bufferLength?new FragmentCursor2(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos;var i=this.stacks=[];let r,n;if(300=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let u=0;ut)i.push(s);else{if(this.advanceStack(s,i,e))continue;r||(r=[],n=[]),r.push(s);var a=this.tokens.getMainToken(s);n.push(a.value,a.end)}break}if(!i.length){var l=r&&findFinished(r);if(l)return verbose&&console.log(\"Finish with \"+this.stackID(l)),this.stackToTree(l);if(this.parser.strict)throw verbose&&r&&console.log(\"Stuck with token \"+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):\"none\")),new SyntaxError(\"No parse at \"+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){l=null!=this.stoppedAt&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,n,i);if(l)return verbose&&console.log(\"Force-finish \"+this.stackID(l)),this.stackToTree(l.forceAll())}if(this.recovering){var c=1==this.recovering?1:3*this.recovering;if(i.length>c)for(i.sort((e,t)=>t.score-e.score);i.length>c;)i.pop();i.some(e=>e.reducePos>t)&&this.recovering--}else if(1 \":\"\";if(null!=this.stoppedAt&&r>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){var s=t.curContext&&t.curContext.tracker.strict,a=s?t.curContext.hash:0;for(let e=this.fragments.nodeAt(r);e;){var l=this.parser.nodeSet.types[e.type.id]==e.type?n.getGoto(t.state,e.type.id):-1;if(-1r?e:i).push(g)}return!1}advanceFully(e,t){for(var i=e.pos;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return pushStackDedup(e,t),!0}}runRecovery(s,a,l){let c=null,h=!1;for(let p=0;p \":\"\";if(e.deadEnd){if(h)continue;if(h=!0,e.restart(),verbose&&console.log(u+this.stackID(e)+\" (restarted)\"),this.advanceFully(e,l))continue}let r=e.split(),n=u;for(let o=0;r.forceReduce()&&o<10;o++){if(verbose&&console.log(n+this.stackID(r)+\" (via force-reduce)\"),this.advanceFully(r,l))break;verbose&&(n=this.stackID(r)+\" -> \")}for(d of e.recoverByInsert(t))verbose&&console.log(u+this.stackID(d)+\" (via recover-insert)\"),this.advanceFully(d,l);this.stream.end>e.pos?(i==e.pos&&(i++,t=0),e.recoverByDelete(t,i),verbose&&console.log(u+this.stackID(e)+` (via recover-delete ${this.parser.getName(t)})`),pushStackDedup(e,l)):(!c||c.scoree,ContextTracker=class{constructor(e){this.start=e.start,this.shift=e.shift||id,this.reduce=e.reduce||id,this.reuse=e.reuse||id,this.hash=e.hash||(()=>0),this.strict=!1!==e.strict}},LRParser=class extends Parser{constructor(i){if(super(),this.wrappers=[],14!=i.version)throw new RangeError(`Parser version (${i.version}) doesn't match runtime version (14)`);var e=i.nodeNames.split(\" \");this.minRepeatTerm=e.length;for(let c=0;ci.topRules[e][1]),n=[];for(let h=0;hNodeType.define({name:t>=this.minRepeatTerm?void 0:e,id:t,props:n[t],top:-1\"number\"==typeof e?new TokenGroup(t,e):e),this.topRules=i.topRules,this.dialects=i.dialects||{},this.dynamicPrecedences=i.dynamicPrecedences||null,this.tokenPrecTable=i.tokenPrec,this.termNames=i.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,i){let r=new Parse(this,e,t,i);for(var n of this.wrappers)r=n(r,e,t,i);return r}getGoto(e,t,i=!1){var r=this[\"goto\"];if(t>=r[0])return-1;for(let l=r[t+1];;){var n=r[l++],o=1&n,s=r[l++];if(o&&i)return s;for(var a=l+(n>>1);le==t||null)}allActions(e,t){var i=this.stateSlot(e,4);let r=i?t(i):void 0;for(let n=this.stateSlot(e,1);null==r;n+=3){if(65535==this.data[n]){if(1!=this.data[n+1])break;n=pair(this.data,n+2)}r=t(pair(this.data,n+1))}return r}nextStates(e){var t=[];for(let r=this.stateSlot(e,1);;r+=3){if(65535==this.data[r]){if(1!=this.data[r+1])break;r=pair(this.data,r+2)}if(0==(1&this.data[r+2])){let i=this.data[r+1];t.some((e,t)=>1&t&&e==i)||t.push(this.data[r],i)}}return t}configure(r){let n=Object.assign(Object.create(LRParser.prototype),this);if(r.props&&(n.nodeSet=this.nodeSet.extend(...r.props)),r.top){var e=this.topRules[r.top];if(!e)throw new RangeError(\"Invalid top rule name \"+r.top);n.top=e}return r.tokenizers&&(n.tokenizers=this.tokenizers.map(t=>{var e=r.tokenizers.find(e=>e.from==t);return e?e.to:t})),r.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((t,e)=>{var i=r.specializers.find(e=>e.from==t.external);return i?(i=Object.assign(Object.assign({},t),{external:i.to}),n.specializers[e]=getSpecializer(i),i):t})),r.contextTracker&&(n.context=r.contextTracker),r.dialect&&(n.dialect=this.parseDialect(r.dialect)),null!=r.strict&&(n.strict=r.strict),r.wrap&&(n.wrappers=n.wrappers.concat(r.wrap)),null!=r.bufferLength&&(n.bufferLength=r.bufferLength),n}hasWrappers(){return 0!1);if(e)for(var t of e.split(\" \")){t=i.indexOf(t);0<=t&&(r[t]=!0)}let n=null;for(let o=0;or)&&i.p.parser.stateFlag(i.state,2)&&(!t||t.scorer.external(e,t)<<1|i}return r.get}var parser=LRParser.deserialize({version:14,states:\"nQVQPOOOOQO'#Cn'#CnOOQO'#Cj'#CjQVQPOOOOQO-E6h-E6h\",stateData:\"}~OaOS~OQPORPOSPOTPOUPOVPOWPOXPOYPOZPO[PO]PO~O\",\"goto\":\"ncPPPPPPPPPPPPPPdPPPjQRORSRTQOR\",nodeNames:\"⚠ Program Identifier Heading Delete Bold UnderLine Italic List Blockquote LineComment Definition Keyword Image\",maxTerm:18,skippedNodes:[0],repeatNodeCount:1,tokenData:\"Hg~RaXY!WYZ!W]^!Wpq!Wqr!ist#vwx$q!P!Q&b!]!^(R!^!_(j!`!a@Z!b!cAR!}#OBr#R#SCb#Y#ZER#o#pEw#r#sFv~!]Sa~XY!WYZ!W]^!Wpq!W~!lZX^#_pq#_qr!i#y#z#_$f$g#_#BY#BZ#_$IS$I_#_$I|$JO#_$JT$JU#_$KV$KW#_&FU&FV#_~#dSR~OY#_Z;'S#_;'S;=`#p<%lO#_~#sP;=`<%l#_~#yZX^$lpq$lst#v#y#z$l$f$g$l#BY#BZ$l$IS$I_$l$I|$JO$l$JT$JU$l$KV$KW$l&FU&FV$l~$qOW~~$tPwx$w~$zUOY$wZw$wwx%^x;'S$w;'S;=`&[<%lO$w~%aUOY$wZw$wwx%sx;'S$w;'S;=`&[<%lO$w~%xUT~OY$wZw$wwx%sx;'S$w;'S;=`&[<%lO$w~&_P;=`<%l$w~&eP!P!Q&h~&kUOY&hZ!P&h!P!Q&}!Q;'S&h;'S;=`'{<%lO&h~'QUOY&hZ!P&h!P!Q'd!Q;'S&h;'S;=`'{<%lO&h~'iUV~OY&hZ!P&h!P!Q'd!Q;'S&h;'S;=`'{<%lO&h~(OP;=`<%l&h~(WSZ~OY(RZ;'S(R;'S;=`(d<%lO(R~(gP;=`<%l(R~(mTqr(|tu+`uv/a!P!Q9_!^!_:|~)PP}!O)S~)VP}!O)Y~)]UOY)YZ})Y}!O)o!O;'S)Y;'S;=`+Y<%lO)Y~)rUOY)YZ})Y}!O*U!O;'S)Y;'S;=`+Y<%lO)Y~*XWOY)YZ})Y}!O*U!O!`)Y!`!a*q!a;'S)Y;'S;=`+Y<%lO)Y~*vUY~OY)YZ})Y}!O)o!O;'S)Y;'S;=`+Y<%lO)Y~+]P;=`<%l)Y~+cS#`#a+o#g#h._#h#i.q#j#k.}~+rP#]#^+u~+xQ#b#c,O#g#h,a~,RP#_#`,U~,XP!`!a,[~,aO[~~,dP#h#i,g~,jQpq,[}!O,p~,sQ#X#Y,y#h#i-c~,|P#a#b-P~-SP#d#e-V~-YP#h#i-]~-`P#m#n,U~-fP#X#Y-i~-lP#a#b-o~-rP#d#e-u~-xP#`#a-{~.OP#T#U.R~.UP#h#i.X~.[P#X#Y,U~.bP#X#Y.e~.hP#h#i.k~.nPpq,[~.tP#X#Y.w~.zP#l#m.e~/QP#T#U/T~/WP#f#g/Z~/^P#g#h.k~/dPpq/g~/jWOY0SZu0Suv0iv#X0S#X#Y1s#Y;'S0S;'S;=`1m<%lO0S~0VUOY0SZu0Suv0iv;'S0S;'S;=`1m<%lO0S~0lWOY0SZu0Suv0iv!`0S!`!a1U!a;'S0S;'S;=`1m<%lO0S~1ZU[~OY0SZu0Suv0iv;'S0S;'S;=`1m<%lO0S~1pP;=`<%l0S~1vYOY0SZu0Suv0iv#`0S#`#a2f#a#b0S#b#c8V#c;'S0S;'S;=`1m<%lO0S~2iWOY0SZu0Suv0iv#g0S#g#h3R#h;'S0S;'S;=`1m<%lO0S~3UWOY0SZu0Suv0iv#X0S#X#Y3n#Y;'S0S;'S;=`1m<%lO0S~3qmOX0SXY0SYZ5lZ^0S^p0Spq0Squ0Suv0iv#]0S#]#^5r#^#y0S#y#z0S#z$f0S$f$g0S$g#BY0S#BY#BZ0S#BZ$IS0S$IS$I_0S$I_$I|0S$I|$JO0S$JO$JT0S$JT$JU0S$JU$KV0S$KV$KW0S$KW&FU0S&FU&FV0S&FV;'S0S;'S;=`1m<%lO0S~5oPuv,U~5uWOY0SZu0Suv0iv#Y0S#Y#Z6_#Z;'S0S;'S;=`1m<%lO0S~6bkOX0SXY0SYZ5lZ^0S^p0Spq0Squ0Suv0iv#y0S#y#z0S#z$f0S$f$g0S$g#BY0S#BY#BZ0S#BZ$IS0S$IS$I_0S$I_$I|0S$I|$JO0S$JO$JT0S$JT$JU0S$JU$KV0S$KV$KW0S$KW&FU0S&FU&FV0S&FV;'S0S;'S;=`1m<%lO0S~8YWOY0SZu0Suv0iv#W0S#W#X8r#X;'S0S;'S;=`1m<%lO0S~8uWOY0SZu0Suv0iv#]0S#]#^5r#^;'S0S;'S;=`1m<%lO0S~9bPtu9e~9hR#`#a9q#g#h:^#j#k:j~9tP#]#^9w~9zP#g#h9}~:QP#h#i:T~:WQ}!O,p!`!a,[~:aP#X#Y:d~:gP#h#i,U~:mP#T#U:p~:sP#f#g:v~:yP#g#h,U~;PYOY:|Z!`:|!`!a;o!a#P:|#P#Q=V#Q#q:|#q#r>m#r;'S:|;'S;=`@T<%lO:|~;rYOY:|Z!`:|!`!am#r;'S:|;'S;=`@T<%lO:|~m#r;'S:|;'S;=`@T<%lO:|~=YYOY:|Z!`:|!`!a;o!a#P:|#P#Q=x#Q#q:|#q#r>m#r;'S:|;'S;=`@T<%lO:|~=}Y]~OY:|Z!`:|!`!a;o!a#P:|#P#Q=x#Q#q:|#q#r>m#r;'S:|;'S;=`@T<%lO:|~>pYOY:|Z!`:|!`!a;o!a#P:|#P#Q=V#Q#q:|#q#r?`#r;'S:|;'S;=`@T<%lO:|~?eY]~OY:|Z!`:|!`!a;o!a#P:|#P#Q=V#Q#q:|#q#r?`#r;'S:|;'S;=`@T<%lO:|~@WP;=`<%l:|~@^YX^@|pq@|#y#z@|$f$g@|#BY#BZ@|$IS$I_@|$I|$JO@|$JT$JU@|$KV$KW@|&FU&FV@|~AROX~~AUP!b!cAX~A[UOYAXZ!bAX!b!cAn!c;'SAX;'S;=`Bl<%lOAX~AqUOYAXZ!bAX!b!cBT!c;'SAX;'S;=`Bl<%lOAX~BYUQ~OYAXZ!bAX!b!cBT!c;'SAX;'S;=`Bl<%lOAX~BoP;=`<%lAX~BuQ!}#O:|#]#^B{~COP#a#bCR~CUP#Z#[CX~C[Qpq:|!}#O:|~CeP#R#SCh~CkUOYChZ#RCh#R#SC}#S;'SCh;'S;=`D{<%lOCh~DQUOYChZ#RCh#R#SDd#S;'SCh;'S;=`D{<%lOCh~DiUU~OYChZ#RCh#R#SDd#S;'SCh;'S;=`D{<%lOCh~EOP;=`<%lCh~EUP#]#^EX~E[P#`#aE_~EbP#h#iEe~EhP#X#YEk~EnP#f#gEq~EtP!_!`,[~EzP#o#pE}~FQ[OY:|Z!`:|!`!a;o!a#P:|#P#Q=V#Q#o:|#o#p:|#p#q:|#q#r>m#r;'S:|;'S;=`@T<%lO:|~FyP#r#sF|~GPUOYF|Z#rF|#r#sGc#s;'SF|;'S;=`Ha<%lOF|~GfUOYF|Z#rF|#r#sGx#s;'SF|;'S;=`Ha<%lOF|~G}US~OYF|Z#rF|#r#sGx#s;'SF|;'S;=`Ha<%lOF|~HdP;=`<%lF|\",tokenizers:[0],topRules:{Program:[0,1]},tokenPrec:0}),tiddlywikiLanguage=LRLanguage.define({parser:parser.configure({props:[indentNodeProp.add({Application:delimitedIndent({closing:\")\",align:!1})}),foldNodeProp.add({Application:foldInside}),styleTags({Keyword:tags.keyword,Image:tags.strong,Heading:tags.heading,Delete:tags.strikethrough,Bold:tags.strong,Underline:tags.strong,Identifier:tags.strong,Italic:tags.emphasis,List:tags.number,Blockquote:tags.quote,LineComment:tags.blockComment,Definition:tags.strong})]}),languageData:{commentTokens:{block:{open:\"\\x3c!--\",close:\"--\\x3e\"}}}});function tiddlywiki(){return new LanguageSupport(tiddlywikiLanguage,[])}function isNumeric(e){return/^\\d+$/.test(e)}var configBaseTitle=\"$:/config/codemirror-6/\";function getConfig2(e){var t=null==(t=$tw.wiki.getTiddlerText(configBaseTitle+e))?void 0:t.trim();return\"yes\"===t||\"no\"!==t&&(isNumeric(t)?Number(t):t)}var tiddlers={foldByIndent:{caption:{zh:\"按缩进折叠\",en:\"Fold By Indent\"}},removeOutline:{caption:{en:\"remove editor outline\",zh:\"移除编辑器边框\"}},disableCM6:{caption:{en:\"@depreacted: use simeple editor(Need Restart, Experimental, Not Recommended)\",zh:\"@弃用 使用简单编辑器 (需要重启,实验性,不建议使用)\"}},vimJK:{caption:{zh:\"vim 键盘映射 JK(你知道我在说什么.)\",en:\"vim keyboard mapping JK(You know what I'm saying.)\"}},matchText:{caption:{zh:\"匹配文本\",en:\"Match Text\"}},commentComplete:{caption:{zh:\"注释中开启补全\",en:\"Comment Complete\"},description:{zh:\"注释中开启补全\",en:\"Comment Complete\"}},footer:{caption:{zh:\"页脚\",en:\"Footer\"},icon:\"📝\",description:{zh:\"显示代码片段来源\",en:\"Show snippets footer\"}},debug:{caption:{zh:\"调试\",en:\"Debug\"},icon:\"🐞\",description:{zh:\"在控制台上显示 codemirror6 的日志\",en:\"Sebug for codemirror on console\"}},activateOnTyping:{caption:{zh:\"打字激活\",en:\"Activate on Typing\"},text:\"yes\",icon:\"🚀\",description:{zh:\"启用打字激活弹出补全框,关闭后,可以 ctrl+space 手动触发\",en:\"Enable activation on typing for enhanced functionality.\"}},inlineSuggestion:{caption:{zh:\"内联建议(实验性)\",en:\"Inline Suggestion (Experimental)\"},icon:\"🔍\",description:{zh:\"内联建议的实验性功能。\",en:\"Experimental feature for inline suggestions.\"}},tiddlerPreview:{caption:{zh:\"Tiddler 预览\",en:\"Tiddler Preview\"},icon:\"📑\",description:{zh:\"启用 tiddlers 的预览。\",en:\"Enable preview for tiddlers.\"}},snippetPreview:{caption:{zh:\"代码片段预览\",en:\"Snippet Preview\"},icon:\"📝\",description:{zh:\"启用代码片段的预览。\",en:\"Enable preview for code snippets.\"}},linkPreview:{caption:{zh:\"链接预览\",en:\"Link Preview\"},icon:\"🔗\",description:{zh:\"启用超链接的预览。\",en:\"Enable preview for hyperlinks.\"}},fontsize:{caption:{zh:\"字体大小\",en:\"Font Size\"},text:\"16px\",icon:\"📏\",description:{zh:\"设置字体大小以提高可读性。\",en:\"Set the font size for better readability.\"}},wordCount:{caption:{zh:\"启用字数统计\",en:\"Enable Word Count\"},icon:\"📊\",description:{zh:\"显示内容的字数统计。\",en:\"Display the word count for the content.\"}},whitespace:{caption:{zh:\"高亮空格\",en:\"Highlight Whitespace\"},icon:\"🔍\",description:{zh:\"启用空格的高亮显示。\",en:\"Enable highlighting of whitespace.\"}},highlightTrailingWhitespace:{caption:{zh:\"高亮尾随空格\",en:\"Highlight Trailing Whitespace\"},icon:\"🔍\",description:{zh:\"启用尾随空格的高亮显示。\",en:\"Enable highlighting of trailing whitespace.\"}},enableSystemTiddlersCompletion:{caption:{zh:\"启用系统 Tiddlers 完成\",en:\"Enable System Tiddlers Completion\"},icon:\"🔄\",description:{zh:\"启用系统 Tiddlers 的自动完成。\",en:\"Enable completion for system tiddlers.\"}},closeOnBlur:{caption:{zh:\"失焦关闭\",en:\"Close on Blur\"},text:\"yes\",icon:\"🔒\",description:{zh:\"失焦时自动关闭。\",en:\"Automatically close on blur.\"}},foldGutter:{caption:{zh:\"折叠\",en:\"Fold Gutter\"},icon:\"📂\",description:{zh:\"为代码启用折叠。\",en:\"Enable folding gutter for code.\"}},translate:{caption:{zh:\"翻译\",en:\"Translate\"},icon:\"🌐\",description:{zh:\"启用翻译\",en:\"Enable translation.\"}},rtl:{caption:{zh:\"RTL\",en:\"RTL\"},icon:\"↔️\",description:{zh:\"启用从右到左的文本方向。\",en:\"Enable Right-to-Left text direction.\"}},\"cursor-thickness\":{caption:{zh:\"光标厚度\",en:\"Cursor Thickness\"},text:\"1px\",icon:\"🚸\",description:{zh:\"设置光标的宽度\",en:\"Set the thickness of the cursor.\"}},onedark:{caption:{zh:\"启用 One Dark 主题\",en:\"Enable One Dark Theme\"},text:\"yes\",icon:\"🌒\",description:{zh:\"启用 One Dark 主题。\",en:\"Enable the One Dark theme.\"}},\"clickable-icon\":{caption:{zh:\"可点击图标\",en:\"Clickable Icon\"},text:\"🐟\",icon:\"🖱️\",description:{zh:\"设置一个可点击的图标。\",en:\"Set a clickable icon.\"}},clickable:{caption:{zh:\"可点击\",en:\"Clickable\"},icon:\"🖱️\",description:{zh:\"启用可点击性。\",en:\"Enable clickability.\"}},customPlaceholder:{caption:{zh:\"自定义占位符\",en:\"Custom Placeholder\"},icon:\"🖊️\",description:{zh:\"设置自定义占位符。\",en:\"Set a custom placeholder.\"}},placeholder:{caption:{zh:\"占位符\",en:\"Placeholder\"},text:\"✨ Write something ✒️ ...\",icon:\"✏️️\",description:{zh:\"设置默认的占位符文本。\",en:\"Set the default placeholder text.\"}},cursorBlinkRate:{caption:{zh:\"光标闪烁速率\",en:\"Cursor Blink Rate\"},text:1e3,icon:\"⚡\",description:{zh:\"设置光标闪烁的速率(以毫秒为单位),设置为 0 禁用闪烁\",en:\"Set the rate at which the cursor blinks (in milliseconds).\"}},minLength:{caption:{zh:\"最小长度\",en:\"Min Length\"},text:1,icon:\"📏\",description:{zh:\"设置自动补全最小长度。1 为立刻触发\",en:\"Set the minimum length for input.\"}},delimiter:{caption:{zh:\"分隔符\",en:\"Delimiter\"},text:\"/\",icon:\"🔍\",description:{zh:\"设置某些操作的分隔符。\",en:\"Set the delimiter for certain operations.\"}},minimap:{caption:{zh:\"小地图\",en:\"Minimap\"},icon:\"🗺️\",description:{zh:\"启用导航的小地图。\",en:\"Enable a minimap for navigation.\"}},minimapAudoHide:{caption:{zh:\"小地图自动隐藏\",en:\"Minimap autohide\"},icon:\"🗺️\",description:{zh:\"自动隐藏小地图\",en:\"Automatically hide minimap\"}},closeBrackets:{caption:{zh:\"自动关闭括号\",en:\"Close Brackets\"},text:\"yes\",icon:\"🔄\",description:{zh:\"自动关闭括号。\",en:\"Automatically close brackets.\"}},selectOnOpen:{caption:{zh:\"自动选择补全项\",en:\"Select on Open\"},text:\"yes\",icon:\"🔄\",description:{zh:\"自动选择补全项\",en:\"Automatically select on open.\"}},autocompleteIcons:{caption:{zh:\"自动完成图标\",en:\"Autocomplete Icons\"},text:\"yes\",icon:\"🎨\",description:{zh:\"在自动完成建议中启用图标。\",en:\"Enable icons in autocomplete suggestions.\"}},maxRenderedOptions:{caption:{zh:\"最大渲染选项\",en:\"Max Rendered Options\"},text:20,icon:\"🔍\",description:{zh:\"设置自动完成中渲染的选项的最大数量。\",en:\"Set the maximum number of rendered options in autocomplete.\"}},spellcheck:{caption:{zh:\"拼写检查\",en:\"Spellcheck\"},icon:\"📝\",description:{zh:\"启用拼写检查。\",en:\"Enable spellchecking.\"}},autocorrect:{caption:{zh:\"自动纠正\",en:\"Autocorrect\"},icon:\"🔄\",description:{zh:\"启用自动纠正。\",en:\"Enable autocorrection.\"}},indentWithTab:{caption:{zh:\"制表符缩进\",en:\"Indent with Tab\"},text:\"yes\",icon:\"🔄\",description:{zh:\"使用制表符进行缩进,而不是空格。\",en:\"Indent with tab instead of spaces.\"}},bracketMatching:{caption:{zh:\"括号匹配\",en:\"Bracket Matching\"},text:\"yes\",icon:\"🔄\",description:{zh:\"启用括号匹配。\",en:\"Enable matching of brackets.\"}},vimmode:{caption:{zh:\"Vim 模式\",en:\"Vim Mode\"},icon:\"🎮\",description:{zh:\"启用文本编辑的 Vim 模式。\",en:\"Enable Vim mode for text editing.\"}},completeAnyWord:{caption:{zh:\"完成任意单词\",en:\"Complete Any Word\"},icon:\"🔄\",description:{zh:\"启用对任意单词的完成。\",en:\"Enable completion for any word.\"}},lineNumbers:{caption:{zh:\"行号\",en:\"Line Numbers\"},text:\"yes\",icon:\"🔢\",description:{zh:\"显示行号以便更好地导航代码。\",en:\"Show line numbers for better code navigation.\"}},highlightActiveLine:{caption:{zh:\"高亮活动行\",en:\"Highlight Active Line\"},text:\"yes\",icon:\"🔍\",description:{zh:\"高亮活动行以便更好地可见。\",en:\"Highlight the active line for better visibility.\"}},tabSize:{caption:{zh:\"制表符大小\",en:\"Tab Size\"},text:2,icon:\"🔍\",description:{zh:\"设置制表符的大小。\",en:\"Set the size of tabs.\"}}},cm6={},options=Object.keys(tiddlers),config_default=(options.forEach(e=>{cm6[e]=()=>getConfig2(e)}),cm6),modes={tiddlywiki:\"text/vnd.tiddlywiki\",markdown:[\"text/markdown\",\"text/x-markdown\"],json:\"application/json\",javascript:\"application/javascript\",css:\"text/css\",plain:\"text/plain\",html:\"text/html\",mermaid:\"text/vnd.tiddlywiki.mermaid\"},triggerType={link:\"[[\",embed:\"{{\",macro:\"<<\",img:\"[img[\",widget:\"<$\",emoji:\":\",tag:\"#\",filetype:\"//\",command:\"@#\",md:\":::\",mermaid:\"``\"},triggerType_default=triggerType;function capitalize(e){return e.replace(/^\\w/,e=>e.toUpperCase())}var menuItems=[\"snippets\",\"images\",\"emojis\",\"widgets\",\"tiddlers\",\"macros\",\"tags\",\"filetypes\",\"commands\",\"md\",\"mermaid\"],menu={};function imageSnippets(){return $tw.wiki.filterTiddlers(\"[!is[system]is[image]] [all[tiddlers+shadows]tag[$:/tags/Image]]\").map(s=>({label:triggerType_default.img+s,displayLabel:s,type:\"cm-image\",section:menu.images,boost:s.startsWith(\"$\")?0:1,info:()=>{var e=document.createElement(\"div\"),t=(e.className=\"cm-image-preview\",$tw.wiki.renderTiddler(\"text/html\",s));return e.innerHTML=t,e},apply:(e,t,i,r)=>{var n=e.state.doc;let o=i;e.state.selection.main.head+triggerType_default.img.length/2<=n.length?o=o+s.length+triggerType_default.img.length+2:o+=(s+triggerType_default.img).length,e.dispatch({changes:{from:i,to:r,insert:triggerType_default.img+s},selection:{anchor:o,head:o}})}}))}function renderTid(e,t=!1){if(!config_default.tiddlerPreview())return config_default.debug()&&console.warn(\"tiddlerPreview is false\"),null;if(!e)return console.info(\"title not exist\"),null;if(\"false\"===(null==(r=$tw.wiki.getTiddler(e))?void 0:r.fields.render))return config_default.debug()&&console.warn(e,\" disabling render\"),null;if(!$tw.wiki.getTiddlerText(e))return(r=document.createElement(\"div\")).innerHTML=e,r;var i,r=document.createElement(\"div\");let n=`<$transclude $tiddler='${e}' $mode='block' />`;t&&(n+=`\n
Snippet Tiddler Is: ${e}
`);try{if(!(i=$tw.wiki.renderText(\"text/html\",\"text/vnd.tiddlywiki\",n)))return null;r.innerHTML=i,r.className=\"cm-image-preview\"}catch(o){}return r}menuItems.forEach(e=>{menu[e]=`(${capitalize(e)})`});var usersnippets=[{title:\"codeblock\",text:\"```${1:lang}\\n${2:code}\\n```\",desc:\"\"},{title:\"date\",text:\"\"+(new Date).toLocaleDateString(),desc:\"Current date\"},{title:\"$:/snippets/oeyoews/time\",text:\"\"+(new Date).toLocaleString(),desc:\"insert current time\"},{title:\"lorem\",text:\"ipsum dolor s it amet, consectetur adipi sicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercita tion ullamco laboris nisi ut aliquip ex ea com modo consequat. Duis aute irure dolor in repreh enderit in voluptate velit esse cillum dolore eu fugiat nulla pari atur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",desc:\"lorem\"},{title:\"link\",desc:\"insert markdown link\",text:\"[#{1:link}](#{2:url})#{3}\"}],words=[\"tiddlywiki\",\"GitHub\",\"TiddlyWiki5\"];function userSnippets(){const t=$tw.wiki.filterTiddlers(\"[all[shadows+tiddlers]tag[$:/tags/TextEditor/Snippet]] [prefix[$:/snippets/]] [all[shadows+tiddlers]tag[$:/tags/KaTeX/Snippet]] -[is[draft]]\").map(e=>{var{caption:t,text:i=\"\"}=null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields;return{vanillaTitle:e,title:e.split(\"/\").pop(),text:i.trim(),caption:t}});var e=$tw.modules.types.snippets;return e&&(e=Object.getOwnPropertyNames(e))&&($tw.utils.isArray(e)?e.forEach(e=>{t.push(...require(e))}):t.push(...require(e))),t.push(...usersnippets),t.filter(e=>e.title&&e.text).map(e=>{var t;return snippetCompletion(e.text,{label:config_default.delimiter()+(e.caption||e.title),displayLabel:e.caption||e.title,type:\"cm-snippet\",boost:$tw.wiki.isSystemTiddler(e.vanillaTitle)||$tw.wiki.isShadowTiddler(e.vanillaTitle)||null!=(t=e.caption)&&t.startsWith(\"{\")?-99:99,info:config_default.snippetPreview()?()=>renderTid(e.vanillaTitle||e.title,config_default.footer()):\"\",section:menu.snippets})})}function widgetSnippets(){var e=$tw.modules.titles;return e?Object.entries(e).filter(([,{moduleType:e,exports:t}])=>\"widget\"===e&&t&&0Object.keys(e)[0]).map(e=>snippetCompletion(triggerType_default.widget+e+\" #{0}/>#{1}\",{label:triggerType_default.widget+e,displayLabel:e,type:\"cm-widget\",section:menu.widgets})):[]}function getAllTiddlers(a=triggerType_default.link){var e=config_default.enableSystemTiddlersCompletion()?\"[all[tiddlers+shadows]!has[draft.of]!prefix[$:/status]!preifx[$:/temp]!prefix[$:/state]!tag[$:/tags/TextEditor/Snippet]!prefix[$:/language]!prefix[$:/config/Server/]!prefix[Draft of]]\":\"[!is[system]!has[draft.of]]\";return $tw.wiki.filterTiddlers(e).map(s=>({label:a+s,displayLabel:35renderTid(s),apply:(e,t,i,r)=>{var n=e.state.doc;let o=i;e.state.selection.main.head+a.length<=n.length?o=o+s.length+2*a.length:o+=(s+a).length,e.dispatch({changes:{from:i,to:r,insert:a+s},selection:{anchor:o,head:o}})}}))}function macroSnippets(){return Object.entries($tw.macros).map(([,{name:e,params:t}])=>{var i=0>`:`<<${e}>>#{1}`,r=0e.name).join(\", \"):\"no parameters\";return snippetCompletion(i,{label:triggerType_default.macro+e,displayLabel:e,type:\"cm-macro\",info:r,section:menu.macros})})}function wordsSnippets(){return words.map(e=>({label:e,displayLabel:e,type:\"cm-word\"}))}function emojiSnippets(){var e=$tw.modules.types[\"emoji-snippets\"];const t=[];return e&&(e=Object.getOwnPropertyNames(e))&&($tw.utils.isArray(e)?e.forEach(e=>{t.push(...require(e))}):t.push(...require(e))),t.map(n=>({label:triggerType_default.emoji+n.title,displayLabel:n.title,detail:n.text,type:\"cm-emoji\",section:menu.emojis,apply:(e,t,i,r)=>{e.dispatch({changes:{from:i,to:r,insert:n.text}})}}))}function tagSnippets(s){return $tw.wiki.filterTiddlers(\"[all[tags]]\").map(e=>({title:e})).map(o=>({label:triggerType_default.tag+o.title,displayLabel:o.title,type:\"cm-tag\",section:menu.tags,boost:o.title.startsWith(\"$\")?0:1,apply:(e,t,i,r)=>{e.dispatch({changes:{from:i,to:r,insert:\"\"}});var n=null==(n=null==(n=$tw.wiki.getTiddler(s.editTitle))?void 0:n.fields)?void 0:n.tags;null!=n&&n.includes(o.title)||$tw.wiki.setText(s.editTitle,\"tags\",\"\",n?n.join(\" \")+(\" \"+o.title):\" \"+o.title,{suppressTimestamp:!1})}}))}function filetypeSnippets(o){return $tw.wiki.filterTiddlers(\"[all[tiddlers+shadows]prefix[$:/language/Docs/Types/]]\").map(e=>({title:e.split(\"/\").pop().replace(\"vnd.\",\"\").replace(\"x-tiddlywiki\",\"tiddlywiki2\"),text:e.replace(\"$:/language/Docs/Types/\",\"\")})).map(n=>({label:triggerType_default.filetype+n.title,displayLabel:capitalize(n.title),type:\"keyword\",section:menu.filetypes,boost:\"text/markdown\"===n.text||\"text/vnd.tiddlywiki\"===n.text?1:0,apply:(e,t,i,r)=>{e.dispatch({changes:{from:i,to:r,insert:\"\"}}),$tw.wiki.setText(o.editTitle,\"type\",\"\",n.text,{suppressTimestamp:!1})}}))}function commandSnippets(a){const e=$tw.wiki.getTiddlerText(\"$:/config/codemirror6/language\");return[{title:\"use-simple-editor\",description:{zh:\"使用普通编辑器\",en:\"use simple editor\"}},{title:\"report-cm6-bug\",description:{zh:\"提交 Codemirror6 插件 BUG\",en:\"Report Codemirror6 Bug\"}},{title:\"view-source-code\",description:{zh:\"查看插件源码\",en:\"View Source Code\"}},{title:\"view-online-cm6-example\",description:{zh:\"在线查看 Codemirror6 示例\",en:\"view online cm6 example\"}},{title:\"add-new-snippets\",description:{zh:\"添加新的 模板片段(WIP)\",en:\"Add New Snippet(WIP)\"}},{title:\"update-codemirror6-plugin\",description:{zh:\"更新 Codemirror6 插件\",en:\"update codemirror6 plugin\"}},{title:\"setupCM6\",description:{zh:\"设置\",en:\"Setup Codemirror6\"}},{title:\"toggleMode\",description:{zh:\"编辑器键盘映射模式\",en:\"Editor keymap mode\"}},{title:\"toggleFullscreen\",description:{zh:\"编辑器全屏\",en:\"Editor FullScreen\"}},{title:\"toggleTiddlywikiFullscreen\",description:{zh:\"太微全屏\",en:\"Tiddlywiki FullScreen\"}}].map(s=>({label:triggerType_default.command+s.title,displayLabel:\"zh\"===e?s.description.zh:capitalize(s.description.en),type:\"cm-settings\",section:menu.commands,apply:(e,t,i,r)=>{switch(e.dispatch({changes:{from:i,to:r,insert:\"\"}}),!0){case\"use-simple-editor\"===s.title:var n=a.editType||\"text/vnd.tiddlywiki\",o=\"$:/config/EditorTypeMappings/\";config_default.debug()&&(new $tw.Story).navigateTiddler(o+n),$tw.wiki.setText(o+n,\"text\",\"\",\"text\",{suppressTimestamp:!0});break;case\"toggleMode\"===s.title:o=config_default.vimmode()?\"no\":\"yes\";$tw.wiki.setText(configBaseTitle+\"vimmode\",\"text\",\"\",o,{suppressTimestamp:!0});break;case\"setupCM6\"===s.title:$tw.modal.display(\"$:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/ControlPanel/settings\");break;case\"update-codemirror6-plugin\"===s.title:$tw.wiki.setText(\"$:/state/addplugins/tab-1342078386\",\"text\",\"\",\"$:/Library/Codemirror6\"),$tw.modal.display(\"$:/core/ui/ControlPanel/Modals/AddPlugins\");break;case\"toggleFullscreen\"===s.title:n=\"$:/state/codemirror-6/fullscreen/\"+a.editTitle,o=$tw.wiki.getTiddlerText(n);$tw.wiki.setText(n,\"text\",\"\",\"yes\"===o?\"no\":\"yes\");break;case\"report-cm6-bug\"===s.title:$tw.rootWidget.dispatchEvent({type:\"tm-open-external-window\",param:\"https://github.com/oeyoews/tiddlywiki-codemirror6/issues/new\"});break;case\"view-online-cm6-example\"===s.title:$tw.rootWidget.dispatchEvent({type:\"tm-open-external-window\",param:\"https://tiddlywiki-codemirror6.vercel.app/#%24%3A%2Fplugins%2Foeyoews%2Ftiddlywiki-codemirror-6\"});break;case\"add-new-snippets\"===s.title:$tw.rootWidget.dispatchEvent({type:\"tm-modal\",param:\"AddSnippets\"});break;case\"toggleTiddlywikiFullscreen\"===s.title:$tw.rootWidget.dispatchEvent({type:\"tm-full-screen\"});break;case\"view-source-code\"===s.title:$tw.rootWidget.dispatchEvent({type:\"tm-open-external-window\",param:\"https://github.com/oeyoews/tiddlywiki-codemirror6\"})}}}))}function mdSnippets(){return[\"note\",\"info\",\"todo\",\"important\",\"tip\",\"success\",\"question\",\"warning\",\"caution\",\"fail\",\"danger\",\"error\",\"bug\",\"example\",\"snippet\",\"abstract\",\"summary\",\"quote\",\"cite\",\"see-also\"].map(e=>({title:e})).map(e=>snippetCompletion(\"\"+triggerType_default.md+e.title+`\n#{text}\n`+triggerType_default.md,{label:triggerType_default.md+e.title,displayLabel:e.title,type:\"keyword\",section:menu.md}))}function mermaidSnippets(e){return e.editType!==modes.mermaid?[]:[\"flowchart\",\"graph\",\"sequenceDiagram\",\"classDiagram\",\"stateDiagram-v2\",\"erDiagram\",\"journey\",\"gantt\",\"pie\",\"requirementDiagram\",\"gitGraph\",\"C4Context\",\"timeline\",\"zenuml\",\"xychart-beta\"].map(e=>({title:e})).map(e=>snippetCompletion(e.title+`\n#{1}`,{label:triggerType_default.mermaid+e.title,displayLabel:e.title,type:\"keyword\",section:menu.mermaid}))}var sources_default={imageSnippets:imageSnippets,userSnippets:userSnippets,widgetSnippets:widgetSnippets,linkSnippets:getAllTiddlers,macroSnippets:macroSnippets,embedSnippets:()=>getAllTiddlers(triggerType_default.embed),wordsSnippets:wordsSnippets,emojiSnippets:emojiSnippets,tagSnippets:tagSnippets,filetypeSnippets:filetypeSnippets,commandSnippets:commandSnippets,mdSnippets:mdSnippets,mermaidSnippets:mermaidSnippets},isTrigger=(e,t)=>e.startsWith(t),completions_default=(o,t)=>e=>{var i=t.cm;if(!i.composing){i=syntaxTree(e.state).resolveInner(e.pos);if(config_default.commentComplete()||\"LineComment\"!==i.name&&\"CommentBlock\"!==i.name){var i=e.state.selection.main.head,r=e.state.doc;let t=i;for(;0config_default.matchText()?t:[],validFor:/^[\\w$]*$/}}}}},scriptText=54,StartCloseScriptTag=1,styleText=55,StartCloseStyleTag=2,textareaText=56,StartCloseTextareaTag=3,EndTag=4,SelfClosingEndTag=5,StartTag=6,StartScriptTag=7,StartStyleTag=8,StartTextareaTag=9,StartSelfClosingTag=10,StartCloseTag=11,NoMatchStartCloseTag=12,MismatchedStartCloseTag=13,missingCloseTag=57,IncompleteCloseTag=14,commentContent$1=58,Element=20,TagName=22,Attribute=23,AttributeName=24,AttributeValue=26,UnquotedAttributeValue=27,ScriptText=28,StyleText=31,TextareaText=34,OpenTag=36,CloseTag=37,Dialect_noMatch=0,Dialect_selfClosing=1,selfClosers={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},closeOnOpen={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function nameChar(e){return 45==e||46==e||58==e||65<=e&&e<=90||95==e||97<=e&&e<=122||161<=e}function isSpace(e){return 9==e||10==e||13==e||32==e}var cachedName=null,cachedInput=null,cachedPos=0;function tagNameAfter(e,t){var i=e.pos+t;if(cachedPos==i&&cachedInput==e)return cachedName;let r=e.peek(t);for(;isSpace(r);)r=e.peek(++t);let n=\"\";for(;nameChar(r);)n+=String.fromCharCode(r),r=e.peek(++t);return cachedInput=e,cachedPos=i,cachedName=n?n.toLowerCase():r==question||r==bang?void 0:null}var lessThan=60,greaterThan=62,slash=47,question=63,bang=33,dash=45;function ElementContext(e,t){this.name=e,this.parent=t,this.hash=t?t.hash:0;for(let i=0;i{if(t.next!=lessThan)t.next<0&&i.context&&t.acceptToken(missingCloseTag);else{t.advance();var r=t.next==slash,n=(r&&t.advance(),tagNameAfter(t,0));if(void 0!==n){if(!n)return t.acceptToken(r?IncompleteCloseTag:StartTag);var o=i.context?i.context.name:null;if(!r)return\"script\"==n?t.acceptToken(StartScriptTag):\"style\"==n?t.acceptToken(StartStyleTag):\"textarea\"==n?t.acceptToken(StartTextareaTag):selfClosers.hasOwnProperty(n)?t.acceptToken(StartSelfClosingTag):void(o&&closeOnOpen[o]&&closeOnOpen[o][n]?t.acceptToken(missingCloseTag,-1):t.acceptToken(StartTag));if(n==o)return t.acceptToken(StartCloseTag);if(o&&implicitlyClosed[o])return t.acceptToken(missingCloseTag,-2);if(i.dialectEnabled(Dialect_noMatch))return t.acceptToken(NoMatchStartCloseTag);for(let e=i.context;e;e=e.parent)if(e.name==n)return;t.acceptToken(MismatchedStartCloseTag)}}},{contextual:!0}),commentContent=new ExternalTokenizer(e=>{for(let t=0,i=0;;i++){if(e.next<0){i&&e.acceptToken(commentContent$1);break}if(e.next==dash)t++;else{if(e.next==greaterThan&&2<=t){3<=i&&e.acceptToken(commentContent$1,-2);break}t=0}e.advance()}});function inForeignElement(e){for(;e;e=e.parent)if(\"svg\"==e.name||\"math\"==e.name)return!0;return!1}var endTag=new ExternalTokenizer((e,t)=>{var i;e.next==slash&&e.peek(1)==greaterThan?(i=t.dialectEnabled(Dialect_selfClosing)||inForeignElement(t.context),e.acceptToken(i?SelfClosingEndTag:EndTag,2)):e.next==greaterThan&&e.acceptToken(EndTag,1)});function contentTokenizer(n,o,s){let a=2+n.length;return new ExternalTokenizer(e=>{for(let t=0,i=0,r=0;;r++){if(e.next<0){r&&e.acceptToken(o);break}if(0==t&&e.next==lessThan||1==t&&e.next==slash||2<=t&&ti?e.acceptToken(o,-i):e.acceptToken(s,-(i-2));break}if((10==e.next||13==e.next)&&r){e.acceptToken(o,1);break}t=i=0}else i++;e.advance()}})}var scriptTokens=contentTokenizer(\"script\",scriptText,StartCloseScriptTag),styleTokens=contentTokenizer(\"style\",styleText,StartCloseStyleTag),textareaTokens=contentTokenizer(\"textarea\",textareaText,StartCloseTextareaTag),htmlHighlighting=styleTags({\"Text RawText\":tags.content,\"StartTag StartCloseTag SelfClosingEndTag EndTag\":tags.angleBracket,TagName:tags.tagName,\"MismatchedCloseTag/TagName\":[tags.tagName,tags.invalid],AttributeName:tags.attributeName,\"AttributeValue UnquotedAttributeValue\":tags.attributeValue,Is:tags.definitionOperator,\"EntityReference CharacterReference\":tags.character,Comment:tags.blockComment,ProcessingInst:tags.processingInstruction,DoctypeDecl:tags.documentMeta}),parser2=LRParser.deserialize({version:14,states:\",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z\",stateData:\"+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~\",\"goto\":\"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp\",nodeNames:\"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl\",maxTerm:67,context:elementContext,nodeProps:[[\"closedBy\",-10,1,2,3,7,8,9,10,11,12,13,\"EndTag\",6,\"EndTag SelfClosingEndTag\",-4,21,30,33,36,\"CloseTag\"],[\"openedBy\",4,\"StartTag StartCloseTag\",5,\"StartTag\",-4,29,32,35,37,\"OpenTag\"],[\"group\",-9,14,17,18,19,20,39,40,41,42,\"Entity\",16,\"Entity TextContent\",-3,28,31,34,\"TextContent Entity\"],[\"isolate\",-11,21,29,30,32,33,35,36,37,38,41,42,\"ltr\",-3,26,27,39,\"\"]],propSources:[htmlHighlighting],skippedNodes:[0],repeatNodeCount:9,tokenData:\"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{var e=n.type.id;if(e==ScriptText)return maybeNest(n,o,h);if(e==StyleText)return maybeNest(n,o,d);if(e==TextareaText)return maybeNest(n,o,u);if(e==Element&&p.length){let e=n.node,t=e.firstChild,i=t&&findTagName(t,o),r;if(i)for(var s of p)if(s.tag==i&&(!s.attrs||s.attrs(r=r||getAttrs2(e,o)))){var a=e.lastChild,a=a.type.id==CloseTag?a.from:e.to;if(a>t.to)return{parser:s.parser,overlay:[{from:t.to,to:a}]}}}if(f&&e==Attribute){var t=n.node;if(e=t.firstChild){e=f[o.read(e.from,e.to)];if(e)for(var i of e)if(!i.tagName||i.tagName==findTagName(t.parent,o)){var r=t.lastChild;if(r.type.id==AttributeValue){var l=r.from+1,c=r.lastChild,c=r.to-(c&&c.isError?0:1);if(l{for(let r=!1,n=0,o=0;;o++){var i=e[\"next\"];if(isAlpha(i)||i==dash2||i==underscore||r&&isDigit(i))!r&&(i!=dash2||0{var t;space.includes(e.peek(-1))&&(t=e[\"next\"],isAlpha(t)||t==underscore||t==hash||t==period||t==bracketL||t==colon&&isAlpha(e.peek(1))||t==dash2||t==ampersand)&&e.acceptToken(descendantOp)}),unitToken=new ExternalTokenizer(e=>{if(!space.includes(e.peek(-1))){var t=e[\"next\"];if(t==percent&&(e.advance(),e.acceptToken(Unit)),isAlpha(t)){for(;e.advance(),isAlpha(e.next););e.acceptToken(Unit)}}}),cssHighlighting=styleTags({\"AtKeyword import charset namespace keyframes media supports\":tags.definitionKeyword,\"from to selector\":tags.keyword,NamespaceName:tags.namespace,KeyframeName:tags.labelName,KeyframeRangeName:tags.operatorKeyword,TagName:tags.tagName,ClassName:tags.className,PseudoClassName:tags.constant(tags.className),IdName:tags.labelName,\"FeatureName PropertyName\":tags.propertyName,AttributeName:tags.attributeName,NumberLiteral:tags.number,KeywordQuery:tags.keyword,UnaryQueryOp:tags.operatorKeyword,\"CallTag ValueName\":tags.atom,VariableName:tags.variableName,Callee:tags.operatorKeyword,Unit:tags.unit,\"UniversalSelector NestingSelector\":tags.definitionOperator,MatchOp:tags.compareOperator,\"ChildOp SiblingOp, LogicOp\":tags.logicOperator,BinOp:tags.arithmeticOperator,Important:tags.modifier,Comment:tags.blockComment,ColorLiteral:tags.color,\"ParenthesizedContent StringLiteral\":tags.string,\":\":tags.punctuation,\"PseudoOp #\":tags.derefOperator,\"; ,\":tags.separator,\"( )\":tags.paren,\"[ ]\":tags.squareBracket,\"{ }\":tags.brace}),spec_callee={__proto__:null,lang:32,\"nth-child\":32,\"nth-last-child\":32,\"nth-of-type\":32,\"nth-last-of-type\":32,dir:32,\"host-context\":32,url:60,\"url-prefix\":60,domain:60,regexp:60,selector:138},spec_AtKeyword={__proto__:null,\"@import\":118,\"@media\":142,\"@charset\":146,\"@namespace\":150,\"@keyframes\":156,\"@supports\":168},spec_identifier={__proto__:null,not:132,only:132},parser3=LRParser.deserialize({version:14,states:\":^QYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DTO$vQ[O'#DWOOQP'#Em'#EmO${QdO'#DgO%jQ[O'#DtO${QdO'#DvO%{Q[O'#DxO&WQ[O'#D{O&`Q[O'#ERO&nQ[O'#ETOOQS'#El'#ElOOQS'#EW'#EWQYQ[OOO&uQXO'#CdO'jQWO'#DcO'oQWO'#EsO'zQ[O'#EsQOQWOOP(UO#tO'#C_POOO)C@[)C@[OOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(aQ[O'#E[O({QWO,58{O)TQ[O,59SO$qQ[O,59oO$vQ[O,59rO(aQ[O,59uO(aQ[O,59wO(aQ[O,59xO)`Q[O'#DbOOQS,58{,58{OOQP'#Ck'#CkOOQO'#DR'#DROOQP,59S,59SO)gQWO,59SO)lQWO,59SOOQP'#DV'#DVOOQP,59o,59oOOQO'#DX'#DXO)qQ`O,59rOOQS'#Cp'#CpO${QdO'#CqO)yQvO'#CsO+ZQtO,5:ROOQO'#Cx'#CxO)lQWO'#CwO+oQWO'#CyO+tQ[O'#DOOOQS'#Ep'#EpOOQO'#Dj'#DjO+|Q[O'#DqO,[QWO'#EtO&`Q[O'#DoO,jQWO'#DrOOQO'#Eu'#EuO)OQWO,5:`O,oQpO,5:bOOQS'#Dz'#DzO,wQWO,5:dO,|Q[O,5:dOOQO'#D}'#D}O-UQWO,5:gO-ZQWO,5:mO-cQWO,5:oOOQS-E8U-E8UO${QdO,59}O-kQ[O'#E^O-xQWO,5;_O-xQWO,5;_POOO'#EV'#EVP.TO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.zQXO,5:vOOQO-E8Y-E8YOOQS1G.g1G.gOOQP1G.n1G.nO)gQWO1G.nO)lQWO1G.nOOQP1G/Z1G/ZO/XQ`O1G/^O/rQXO1G/aO0YQXO1G/cO0pQXO1G/dO1WQWO,59|O1]Q[O'#DSO1dQdO'#CoOOQP1G/^1G/^O${QdO1G/^O1kQpO,59]OOQS,59_,59_O${QdO,59aO1sQWO1G/mOOQS,59c,59cO1xQ!bO,59eOOQS'#DP'#DPOOQS'#EY'#EYO2QQ[O,59jOOQS,59j,59jO2YQWO'#DjO2eQWO,5:VO2jQWO,5:]O&`Q[O,5:XO&`Q[O'#E_O2rQWO,5;`O2}QWO,5:ZO(aQ[O,5:^OOQS1G/z1G/zOOQS1G/|1G/|OOQS1G0O1G0OO3`QWO1G0OO3eQdO'#EOOOQS1G0R1G0ROOQS1G0X1G0XOOQS1G0Z1G0ZO3pQtO1G/iOOQO,5:x,5:xO4WQ[O,5:xOOQO-E8[-E8[O4eQWO1G0yPOOO-E8T-E8TPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$x7+$xO${QdO7+$xOOQS1G/h1G/hO4pQXO'#ErO4wQWO,59nO4|QtO'#EXO5tQdO'#EoO6OQWO,59ZO6TQpO7+$xOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%X7+%XO6]QWO1G/POOQS-E8W-E8WOOQS1G/U1G/UO${QdO1G/qOOQO1G/w1G/wOOQO1G/s1G/sO6bQWO,5:yOOQO-E8]-E8]O6pQXO1G/xOOQS7+%j7+%jO6wQYO'#CsOOQO'#EQ'#EQO7SQ`O'#EPOOQO'#EP'#EPO7_QWO'#E`O7gQdO,5:jOOQS,5:j,5:jO7rQtO'#E]O${QdO'#E]O8sQdO7+%TOOQO7+%T7+%TOOQO1G0d1G0dO9WQpO<OAN>OO:xQdO,5:uOOQO-E8X-E8XOOQO<T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#e[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l[[o`#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSt^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#bQOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#[~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!Y^Oy%^z;'S%^;'S;=`%o<%lO%^dCoS|SOy%^z;'S%^;'S;=`%o<%lO%^bDQU!OQOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS!OQo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[![Qo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^nFfSq^Oy%^z;'S%^;'S;=`%o<%lO%^nFwSp^Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!bQo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!TUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!S^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!RQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}\",tokenizers:[descendant,unitToken,identifiers,1,2,3,4,new LocalTokenGroup(\"m~RRYZ[z{a~~g~aO#^~~dP!P!Qg~lO#_~~\",28,105)],topRules:{StyleSheet:[0,4],Styles:[1,86]},specialized:[{term:100,get:e=>spec_callee[e]||-1},{term:58,get:e=>spec_AtKeyword[e]||-1},{term:101,get:e=>spec_identifier[e]||-1}],tokenPrec:1200}),_properties=null;function properties(){if(!_properties&&\"object\"==typeof document&&document.body){var e,t=document.body[\"style\"],i=[],r=new Set;for(e in t)\"cssText\"!=e&&\"cssFloat\"!=e&&\"string\"==typeof t[e]&&(/[A-Z]/.test(e)&&(e=e.replace(/[A-Z]/g,e=>\"-\"+e.toLowerCase())),r.has(e)||(i.push(e),r.add(e)));_properties=i.sort().map(e=>({type:\"property\",label:e}))}return _properties||[]}var pseudoClasses=[\"active\",\"after\",\"any-link\",\"autofill\",\"backdrop\",\"before\",\"checked\",\"cue\",\"default\",\"defined\",\"disabled\",\"empty\",\"enabled\",\"file-selector-button\",\"first\",\"first-child\",\"first-letter\",\"first-line\",\"first-of-type\",\"focus\",\"focus-visible\",\"focus-within\",\"fullscreen\",\"has\",\"host\",\"host-context\",\"hover\",\"in-range\",\"indeterminate\",\"invalid\",\"is\",\"lang\",\"last-child\",\"last-of-type\",\"left\",\"link\",\"marker\",\"modal\",\"not\",\"nth-child\",\"nth-last-child\",\"nth-last-of-type\",\"nth-of-type\",\"only-child\",\"only-of-type\",\"optional\",\"out-of-range\",\"part\",\"placeholder\",\"placeholder-shown\",\"read-only\",\"read-write\",\"required\",\"right\",\"root\",\"scope\",\"selection\",\"slotted\",\"target\",\"target-text\",\"valid\",\"visited\",\"where\"].map(e=>({type:\"class\",label:e})),values=[\"above\",\"absolute\",\"activeborder\",\"additive\",\"activecaption\",\"after-white-space\",\"ahead\",\"alias\",\"all\",\"all-scroll\",\"alphabetic\",\"alternate\",\"always\",\"antialiased\",\"appworkspace\",\"asterisks\",\"attr\",\"auto\",\"auto-flow\",\"avoid\",\"avoid-column\",\"avoid-page\",\"avoid-region\",\"axis-pan\",\"background\",\"backwards\",\"baseline\",\"below\",\"bidi-override\",\"blink\",\"block\",\"block-axis\",\"bold\",\"bolder\",\"border\",\"border-box\",\"both\",\"bottom\",\"break\",\"break-all\",\"break-word\",\"bullets\",\"button\",\"button-bevel\",\"buttonface\",\"buttonhighlight\",\"buttonshadow\",\"buttontext\",\"calc\",\"capitalize\",\"caps-lock-indicator\",\"caption\",\"captiontext\",\"caret\",\"cell\",\"center\",\"checkbox\",\"circle\",\"cjk-decimal\",\"clear\",\"clip\",\"close-quote\",\"col-resize\",\"collapse\",\"color\",\"color-burn\",\"color-dodge\",\"column\",\"column-reverse\",\"compact\",\"condensed\",\"contain\",\"content\",\"contents\",\"content-box\",\"context-menu\",\"continuous\",\"copy\",\"counter\",\"counters\",\"cover\",\"crop\",\"cross\",\"crosshair\",\"currentcolor\",\"cursive\",\"cyclic\",\"darken\",\"dashed\",\"decimal\",\"decimal-leading-zero\",\"default\",\"default-button\",\"dense\",\"destination-atop\",\"destination-in\",\"destination-out\",\"destination-over\",\"difference\",\"disc\",\"discard\",\"disclosure-closed\",\"disclosure-open\",\"document\",\"dot-dash\",\"dot-dot-dash\",\"dotted\",\"double\",\"down\",\"e-resize\",\"ease\",\"ease-in\",\"ease-in-out\",\"ease-out\",\"element\",\"ellipse\",\"ellipsis\",\"embed\",\"end\",\"ethiopic-abegede-gez\",\"ethiopic-halehame-aa-er\",\"ethiopic-halehame-gez\",\"ew-resize\",\"exclusion\",\"expanded\",\"extends\",\"extra-condensed\",\"extra-expanded\",\"fantasy\",\"fast\",\"fill\",\"fill-box\",\"fixed\",\"flat\",\"flex\",\"flex-end\",\"flex-start\",\"footnotes\",\"forwards\",\"from\",\"geometricPrecision\",\"graytext\",\"grid\",\"groove\",\"hand\",\"hard-light\",\"help\",\"hidden\",\"hide\",\"higher\",\"highlight\",\"highlighttext\",\"horizontal\",\"hsl\",\"hsla\",\"hue\",\"icon\",\"ignore\",\"inactiveborder\",\"inactivecaption\",\"inactivecaptiontext\",\"infinite\",\"infobackground\",\"infotext\",\"inherit\",\"initial\",\"inline\",\"inline-axis\",\"inline-block\",\"inline-flex\",\"inline-grid\",\"inline-table\",\"inset\",\"inside\",\"intrinsic\",\"invert\",\"italic\",\"justify\",\"keep-all\",\"landscape\",\"large\",\"larger\",\"left\",\"level\",\"lighter\",\"lighten\",\"line-through\",\"linear\",\"linear-gradient\",\"lines\",\"list-item\",\"listbox\",\"listitem\",\"local\",\"logical\",\"loud\",\"lower\",\"lower-hexadecimal\",\"lower-latin\",\"lower-norwegian\",\"lowercase\",\"ltr\",\"luminosity\",\"manipulation\",\"match\",\"matrix\",\"matrix3d\",\"medium\",\"menu\",\"menutext\",\"message-box\",\"middle\",\"min-intrinsic\",\"mix\",\"monospace\",\"move\",\"multiple\",\"multiple_mask_images\",\"multiply\",\"n-resize\",\"narrower\",\"ne-resize\",\"nesw-resize\",\"no-close-quote\",\"no-drop\",\"no-open-quote\",\"no-repeat\",\"none\",\"normal\",\"not-allowed\",\"nowrap\",\"ns-resize\",\"numbers\",\"numeric\",\"nw-resize\",\"nwse-resize\",\"oblique\",\"opacity\",\"open-quote\",\"optimizeLegibility\",\"optimizeSpeed\",\"outset\",\"outside\",\"outside-shape\",\"overlay\",\"overline\",\"padding\",\"padding-box\",\"painted\",\"page\",\"paused\",\"perspective\",\"pinch-zoom\",\"plus-darker\",\"plus-lighter\",\"pointer\",\"polygon\",\"portrait\",\"pre\",\"pre-line\",\"pre-wrap\",\"preserve-3d\",\"progress\",\"push-button\",\"radial-gradient\",\"radio\",\"read-only\",\"read-write\",\"read-write-plaintext-only\",\"rectangle\",\"region\",\"relative\",\"repeat\",\"repeating-linear-gradient\",\"repeating-radial-gradient\",\"repeat-x\",\"repeat-y\",\"reset\",\"reverse\",\"rgb\",\"rgba\",\"ridge\",\"right\",\"rotate\",\"rotate3d\",\"rotateX\",\"rotateY\",\"rotateZ\",\"round\",\"row\",\"row-resize\",\"row-reverse\",\"rtl\",\"run-in\",\"running\",\"s-resize\",\"sans-serif\",\"saturation\",\"scale\",\"scale3d\",\"scaleX\",\"scaleY\",\"scaleZ\",\"screen\",\"scroll\",\"scrollbar\",\"scroll-position\",\"se-resize\",\"self-start\",\"self-end\",\"semi-condensed\",\"semi-expanded\",\"separate\",\"serif\",\"show\",\"single\",\"skew\",\"skewX\",\"skewY\",\"skip-white-space\",\"slide\",\"slider-horizontal\",\"slider-vertical\",\"sliderthumb-horizontal\",\"sliderthumb-vertical\",\"slow\",\"small\",\"small-caps\",\"small-caption\",\"smaller\",\"soft-light\",\"solid\",\"source-atop\",\"source-in\",\"source-out\",\"source-over\",\"space\",\"space-around\",\"space-between\",\"space-evenly\",\"spell-out\",\"square\",\"start\",\"static\",\"status-bar\",\"stretch\",\"stroke\",\"stroke-box\",\"sub\",\"subpixel-antialiased\",\"svg_masks\",\"super\",\"sw-resize\",\"symbolic\",\"symbols\",\"system-ui\",\"table\",\"table-caption\",\"table-cell\",\"table-column\",\"table-column-group\",\"table-footer-group\",\"table-header-group\",\"table-row\",\"table-row-group\",\"text\",\"text-bottom\",\"text-top\",\"textarea\",\"textfield\",\"thick\",\"thin\",\"threeddarkshadow\",\"threedface\",\"threedhighlight\",\"threedlightshadow\",\"threedshadow\",\"to\",\"top\",\"transform\",\"translate\",\"translate3d\",\"translateX\",\"translateY\",\"translateZ\",\"transparent\",\"ultra-condensed\",\"ultra-expanded\",\"underline\",\"unidirectional-pan\",\"unset\",\"up\",\"upper-latin\",\"uppercase\",\"url\",\"var\",\"vertical\",\"vertical-text\",\"view-box\",\"visible\",\"visibleFill\",\"visiblePainted\",\"visibleStroke\",\"visual\",\"w-resize\",\"wait\",\"wave\",\"wider\",\"window\",\"windowframe\",\"windowtext\",\"words\",\"wrap\",\"wrap-reverse\",\"x-large\",\"x-small\",\"xor\",\"xx-large\",\"xx-small\"].map(e=>({type:\"keyword\",label:e})).concat([\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"black\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"grey\",\"green\",\"greenyellow\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"rebeccapurple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"].map(e=>({type:\"constant\",label:e}))),tags2=[\"a\",\"abbr\",\"address\",\"article\",\"aside\",\"b\",\"bdi\",\"bdo\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"figcaption\",\"figure\",\"footer\",\"form\",\"header\",\"hgroup\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"label\",\"legend\",\"li\",\"main\",\"meter\",\"nav\",\"ol\",\"output\",\"p\",\"pre\",\"ruby\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"tr\",\"u\",\"ul\"].map(e=>({type:\"type\",label:e})),identifier2=/^(\\w[\\w-]*|-\\w[\\w-]*|)$/,variable=/^-(-[\\w-]*)?$/;function isVarArg(e,t){var i;return\"ArgList\"==(e=\"(\"!=e.name&&!e.type.isError?e:e.parent||e).name&&\"Callee\"==(null==(i=null==(i=e.parent)?void 0:i.firstChild)?void 0:i.name)&&\"var\"==t.sliceString(i.from,i.to)}var VariablesByNode=new NodeWeakMap,declSelector=[\"Declaration\"];function astTop(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function variableNames(n,e,o){if(4096{var t;o(e)&&e.matchContext(declSelector)&&\":\"==(null==(t=e.node.nextSibling)?void 0:t.name)&&(t=n.sliceString(e.from,e.to),r.has(t)||(r.add(t),i.push({label:t,type:\"variable\"})))}),i}}var defineCSSCompletionSource=s=>e=>{var{state:t,pos:i}=e,r=syntaxTree(t).resolveInner(i,-1),n=r.type.isError&&r.from==r.to-1&&\"-\"==t.doc.sliceString(r.from,r.to);if(\"PropertyName\"==r.name||(n||\"TagName\"==r.name)&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:properties(),validFor:identifier2};if(\"ValueName\"==r.name)return{from:r.from,options:values,validFor:identifier2};if(\"PseudoClassName\"==r.name)return{from:r.from,options:pseudoClasses,validFor:identifier2};if(s(r)||(e.explicit||n)&&isVarArg(r,t.doc))return{from:s(r)||n?r.from:i,options:variableNames(t.doc,astTop(r),s),validFor:variable};if(\"TagName\"!=r.name)return e.explicit?(t=(n=r.resolve(i)).childBefore(i))&&\":\"==t.name&&\"PseudoClassSelector\"==n.name?{from:i,options:pseudoClasses,validFor:identifier2}:t&&\":\"==t.name&&\"Declaration\"==n.name||\"ArgList\"==n.name?{from:i,options:values,validFor:identifier2}:\"Block\"==n.name||\"Styles\"==n.name?{from:i,options:properties(),validFor:identifier2}:null:null;for(let o=r[\"parent\"];o;o=o.parent)if(\"Block\"==o.name)return{from:r.from,options:properties(),validFor:identifier2};return{from:r.from,options:tags2,validFor:identifier2}},cssCompletionSource=defineCSSCompletionSource(e=>\"VariableName\"==e.name),cssLanguage=LRLanguage.define({name:\"css\",parser:parser3.configure({props:[indentNodeProp.add({Declaration:continuedIndent()}),foldNodeProp.add({\"Block KeyframeList\":foldInside})]}),languageData:{commentTokens:{block:{open:\"/*\",close:\"*/\"}},indentOnInput:/^\\s*\\}$/,wordChars:\"-\"}});function css(){return new LanguageSupport(cssLanguage,cssLanguage.data.of({autocomplete:cssCompletionSource}))}var noSemi=309,incdec=1,incdecPrefix=2,JSXStartTag=3,insertSemi=310,spaces=312,newline2=313,LineComment=4,BlockComment=5,Dialect_jsx=0,space2=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],braceR=125,semicolon=59,slash2=47,star=42,plus=43,minus=45,lt=60,comma=44,trackNewline=new ContextTracker({start:!1,shift(e,t){return t==LineComment||t==BlockComment||t==spaces?e:t==newline2},strict:!1}),insertSemicolon=new ExternalTokenizer((e,t)=>{var i=e[\"next\"];i!=braceR&&-1!=i&&!t.context||e.acceptToken(insertSemi)},{contextual:!0,fallback:!0}),noSemicolon=new ExternalTokenizer((e,t)=>{var i,r=e[\"next\"];-1{var i=e[\"next\"];i!=plus&&i!=minus||(e.advance(),i==e.next&&(e.advance(),i=!t.context&&t.canShift(incdec),e.acceptToken(i?incdec:incdecPrefix)))},{contextual:!0});function identifierChar(e,t){return 65<=e&&e<=90||97<=e&&e<=122||95==e||192<=e||!t&&48<=e&&e<=57}var jsx=new ExternalTokenizer((i,e)=>{if(i.next==lt&&e.dialectEnabled(Dialect_jsx)&&(i.advance(),i.next!=slash2)){let t=0;for(;-1RQWO'#CdO>cQWO'#H[O>kQWO'#HbO>kQWO'#HdO`Q^O'#HfO>kQWO'#HhO>kQWO'#HkO>pQWO'#HqO>uQ07iO'#HwO%[Q^O'#HyO?QQ07iO'#H{O?]Q07iO'#H}O9kQ07hO'#IPO?hQ08SO'#ChO@jQ`O'#DiQOQWOOO%[Q^O'#EPOAQQWO'#ESO:RQ7[O'#EjOA]QWO'#EjOAhQpO'#FbOOQU'#Cf'#CfOOQ07`'#Dn'#DnOOQ07`'#Jm'#JmO%[Q^O'#JmOOQO'#Jq'#JqOOQO'#Ib'#IbOBhQ`O'#EcOOQ07`'#Eb'#EbOCdQ07pO'#EcOCnQ`O'#EVOOQO'#Jp'#JpODSQ`O'#JqOEaQ`O'#EVOCnQ`O'#EcPEnO!0LbO'#CaPOOO)CDu)CDuOOOO'#IX'#IXOEyO!bO,59TOOQ07b,59T,59TOOOO'#IY'#IYOFXO#tO,59TO%[Q^O'#D`OOOO'#I['#I[OFgO?MpO,59xOOQ07b,59x,59xOFuQ^O'#I]OGYQWO'#JkOI[QrO'#JkO+}Q^O'#JkOIcQWO,5:OOIyQWO'#ElOJWQWO'#JyOJcQWO'#JxOJcQWO'#JxOJkQWO,5;YOJpQWO'#JwOOQ07f,5:Z,5:ZOJwQ^O,5:ZOLxQ08SO,5:eOMiQWO,5:mONSQ07hO'#JvONZQWO'#JuO9ZQWO'#JuONoQWO'#JuONwQWO,5;XON|QWO'#JuO!#UQrO'#JjOOQ07b'#Ch'#ChO%[Q^O'#ERO!#tQpO,5:rOOQO'#Jr'#JrOOQO-EmOOQU'#J`'#J`OOQU,5>n,5>nOOQU-EpQWO'#HQO9aQWO'#HSO!CgQWO'#HSO:RQ7[O'#HUO!ClQWO'#HUOOQU,5=j,5=jO!CqQWO'#HVO!DSQWO'#CnO!DXQWO,59OO!DcQWO,59OO!FhQ^O,59OOOQU,59O,59OO!FxQ07hO,59OO%[Q^O,59OO!ITQ^O'#H^OOQU'#H_'#H_OOQU'#H`'#H`O`Q^O,5=vO!IkQWO,5=vO`Q^O,5=|O`Q^O,5>OO!IpQWO,5>QO`Q^O,5>SO!IuQWO,5>VO!IzQ^O,5>]OOQU,5>c,5>cO%[Q^O,5>cO9kQ07hO,5>eOOQU,5>g,5>gO!NUQWO,5>gOOQU,5>i,5>iO!NUQWO,5>iOOQU,5>k,5>kO!NZQ`O'#D[O%[Q^O'#JmO!NxQ`O'#JmO# gQ`O'#DjO# xQ`O'#DjO#$ZQ^O'#DjO#$bQWO'#JlO#$jQWO,5:TO#$oQWO'#EpO#$}QWO'#JzO#%VQWO,5;ZO#%[Q`O'#DjO#%iQ`O'#EUOOQ07b,5:n,5:nO%[Q^O,5:nO#%pQWO,5:nO>pQWO,5;UO!@}Q`O,5;UO!AVQ7[O,5;UO:RQ7[O,5;UO#%xQWO,5@XO#%}Q$ISO,5:rOOQO-E<`-E<`O#'TQ07pO,5:}OCnQ`O,5:qO#'_Q`O,5:qOCnQ`O,5:}O!@rQ07hO,5:qOOQ07`'#Ef'#EfOOQO,5:},5:}O%[Q^O,5:}O#'lQ07hO,5:}O#'wQ07hO,5:}O!@}Q`O,5:qOOQO,5;T,5;TO#(VQ07hO,5:}POOO'#IV'#IVP#(kO!0LbO,58{POOO,58{,58{OOOO-EwO+}Q^O,5>wOOQO,5>},5>}O#)VQ^O'#I]OOQO-EjQ08SO1G0{O#>wQ08SO1G0{O#@uQ08SO1G0{O#CuQ(CYO'#ChO#EsQ(CYO1G1^O#EzQ(CYO'#JjO!,lQWO1G1dO#F[Q08SO,5?TOOQ07`-EkQWO1G3lO$2dQ^O1G3nO$6hQ^O'#HmOOQU1G3q1G3qO$6uQWO'#HsO>pQWO'#HuOOQU1G3w1G3wO$6}Q^O1G3wO9kQ07hO1G3}OOQU1G4P1G4POOQ07`'#GY'#GYO9kQ07hO1G4RO9kQ07hO1G4TO$;UQWO,5@XO!*fQ^O,5;[O9ZQWO,5;[O>pQWO,5:UO!*fQ^O,5:UO!@}Q`O,5:UO$;ZQ(CYO,5:UOOQO,5;[,5;[O$;eQ`O'#I^O$;{QWO,5@WOOQ07b1G/o1G/oO$pQWO1G0pO!@}Q`O1G0pO!AVQ7[O1G0pOOQ07`1G5s1G5sO!@rQ07hO1G0]OOQO1G0i1G0iO%[Q^O1G0iO$PQrO1G4cOOQO1G4i1G4iO%[Q^O,5>wO$>ZQWO1G5qO$>cQWO1G6OO$>kQrO1G6PO9ZQWO,5>}O$>uQ08SO1G5|O%[Q^O1G5|O$?VQ07hO1G5|O$?hQWO1G5{O$?hQWO1G5{O9ZQWO1G5{O$?pQWO,5?QO9ZQWO,5?QOOQO,5?Q,5?QO$@UQWO,5?QO$'ZQWO,5?QOOQO-EXOOQU,5>X,5>XO%[Q^O'#HnO%7dQWO'#HpOOQU,5>_,5>_O9ZQWO,5>_OOQU,5>a,5>aOOQU7+)c7+)cOOQU7+)i7+)iOOQU7+)m7+)mOOQU7+)o7+)oO%7iQ`O1G5sO%7}Q(CYO1G0vO%8XQWO1G0vOOQO1G/p1G/pO%8dQ(CYO1G/pO>pQWO1G/pO!*fQ^O'#DjOOQO,5>x,5>xOOQO-E<[-E<[OOQO,5?O,5?OOOQO-EpQWO7+&[O!@}Q`O7+&[OOQO7+%w7+%wO$=mQ08SO7+&TOOQO7+&T7+&TO%[Q^O7+&TO%8nQ07hO7+&TO!@rQ07hO7+%wO!@}Q`O7+%wO%8yQ07hO7+&TO%9XQ08SO7++hO%[Q^O7++hO%9iQWO7++gO%9iQWO7++gOOQO1G4l1G4lO9ZQWO1G4lO%9qQWO1G4lOOQO7+%|7+%|O#%sQWO<zQ08SO1G2ZO%A]Q08SO1G2mO%ChQ08SO1G2oO%EsQ7[O,5>yOOQO-E<]-E<]O%E}QrO,5>zO%[Q^O,5>zOOQO-E<^-E<^O%FXQWO1G5uOOQ07b<YOOQU,5>[,5>[O&5oQWO1G3yO9ZQWO7+&bO!*fQ^O7+&bOOQO7+%[7+%[O&5tQ(CYO1G6PO>pQWO7+%[OOQ07b<pQWO<pQWO7+)eO'&sQWO<}AN>}O%[Q^OAN?ZOOQO<qQ(CYOG26}O!*fQ^O'#DyO1PQWO'#EWO'@gQrO'#JiO!*fQ^O'#DqO'@nQ^O'#D}O'@uQrO'#ChO'C]QrO'#ChO!*fQ^O'#EPO'CmQ^O,5;VO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O'#IiO'EpQWO,5a#@O#@^#@d#Ax#BW#Cr#DQ#DW#D^#Dd#Dn#Dt#Dz#EU#Eh#EnPPPPPPPPPP#EtPPPPPPP#Fi#Ip#KP#KW#K`PPPP$!d$%Z$+r$+u$+x$,q$,t$,w$-O$-WPP$-^$-b$.Y$/X$/]$/qPP$/u$/{$0PP$0S$0W$0Z$1P$1h$2P$2T$2W$2Z$2a$2d$2h$2lR!{RoqOXst!Z#c%j&m&o&p&r,h,m1w1zY!uQ'Z-Y1[5]Q%pvQ%xyQ&P|Q&e!VS'R!e-QQ'a!iS'g!r!xS*c$|*hQ+f%yQ+s&RQ,X&_Q-W'YQ-b'bQ-j'hQ/|*jQ1f,YR;Y:g%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S,e,h,m-^-f-t-z.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3Z5Y5d5t5u5x6]7w7|8]8gS#p]:d!r)[$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q*u%ZQ+k%{Q,Z&bQ,b&jQ.c;QQ0h+^Q0l+`Q0w+lQ1n,`Q2{.[Q4v0rQ5k1gQ6i3PQ6u;RQ7h4wR8m6j&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]t!nQ!r!u!x!y'R'Y'Z'g'h'i-Q-W-Y-j1[5]5_$v$si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r < TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem\",maxTerm:371,context:trackNewline,nodeProps:[[\"isolate\",-8,4,5,13,33,35,48,50,52,\"\"],[\"group\",-26,8,16,18,65,201,205,209,210,212,215,218,228,230,236,238,240,242,245,251,257,259,261,263,265,267,268,\"Statement\",-32,12,13,28,31,32,38,48,51,52,54,59,67,75,79,81,83,84,106,107,116,117,134,137,139,140,141,142,144,145,164,165,167,\"Expression\",-23,27,29,33,37,39,41,168,170,172,173,175,176,177,179,180,181,183,184,185,195,197,199,200,\"Type\",-3,87,99,105,\"ClassItem\"],[\"openedBy\",22,\"<\",34,\"InterpolationStart\",53,\"[\",57,\"{\",72,\"(\",157,\"JSXStartCloseTag\"],[\"closedBy\",23,\">\",36,\"InterpolationEnd\",47,\"]\",58,\"}\",73,\")\",162,\"JSXEndTag\"]],propSources:[jsHighlight],skippedNodes:[0,4,5,271],repeatNodeCount:37,tokenData:\"$Fj(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#8g!R![#:v![!]#Gv!]!^#IS!^!_#J^!_!`#Ns!`!a$#_!a!b$(l!b!c$,k!c!}Er!}#O$-u#O#P$/P#P#Q$4h#Q#R$5r#R#SEr#S#T$7P#T#o$8Z#o#p$q#r#s$?}#s$f%Z$f$g+g$g#BYEr#BY#BZ$AX#BZ$ISEr$IS$I_$AX$I_$I|Er$I|$I}$Dd$I}$JO$Dd$JO$JTEr$JT$JU$AX$JU$KVEr$KV$KW$AX$KW&FUEr&FU&FV$AX&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AX?HUOEr(n%d_$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$f&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$f&j(R!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(R!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$f&j(OpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(OpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Op(R!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$f&j(Op(R!b't(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST(P#S$f&j'u(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$f&j(Op(R!b'u(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$f&j!o$Ip(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#t$Id$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#t$Id$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/|3l_'}$(n$f&j(R!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$f&j(R!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$f&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$a`$f&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$a``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$a`$f&j(R!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(R!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$a`(R!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k#%|:hh$f&j(Op(R!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXVS$f&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSVSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWVS(R!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]VS$f&j(OpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWVS(OpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYVS(Op(R!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%lQ^$f&j!USOY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@Y!_!}!=y!}#O!Bw#O#P!Dj#P#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!?Ta$f&j!USO!^&c!_#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&cS!@_X!USOY!@YZ!P!@Y!P!Q!@z!Q!}!@Y!}#O!Ac#O#P!Bb#P;'S!@Y;'S;=`!Bq<%lO!@YS!APU!US#Z#[!@z#]#^!@z#a#b!@z#g#h!@z#i#j!@z#m#n!@zS!AfVOY!AcZ#O!Ac#O#P!A{#P#Q!@Y#Q;'S!Ac;'S;=`!B[<%lO!AcS!BOSOY!AcZ;'S!Ac;'S;=`!B[<%lO!AcS!B_P;=`<%l!AcS!BeSOY!@YZ;'S!@Y;'S;=`!Bq<%lO!@YS!BtP;=`<%l!@Y&n!B|[$f&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#O!Bw#O#P!Cr#P#Q!=y#Q#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!CwX$f&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!DgP;=`<%l!Bw&n!DoX$f&jOY!=yYZ&cZ!^!=y!^!_!@Y!_#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!E_P;=`<%l!=y(Q!Eki$f&j(R!b!USOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!Eb#[#]&}#]#^!Eb#^#a&}#a#b!Eb#b#g&}#g#h!Eb#h#i&}#i#j!Eb#j#m&}#m#n!Eb#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!GaZ(R!b!USOY!GYZw!GYwx!@Yx!P!GY!P!Q!HS!Q!}!GY!}#O!Ic#O#P!Bb#P;'S!GY;'S;=`!JZ<%lO!GY!f!HZb(R!b!USOY'}Zw'}x#O'}#P#Z'}#Z#[!HS#[#]'}#]#^!HS#^#a'}#a#b!HS#b#g'}#g#h!HS#h#i'}#i#j!HS#j#m'}#m#n!HS#n;'S'};'S;=`(f<%lO'}!f!IhX(R!bOY!IcZw!Icwx!Acx#O!Ic#O#P!A{#P#Q!GY#Q;'S!Ic;'S;=`!JT<%lO!Ic!f!JWP;=`<%l!Ic!f!J^P;=`<%l!GY(Q!Jh^$f&j(R!bOY!JaYZ&cZw!Jawx!Bwx!^!Ja!^!_!Ic!_#O!Ja#O#P!Cr#P#Q!Q#V#X%Z#X#Y!4|#Y#b%Z#b#c#Zd$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#?tf$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#b%Z#b#c#spec_identifier2[e]||-1},{term:334,get:e=>spec_word[e]||-1},{term:70,get:e=>spec_LessThan[e]||-1}],tokenPrec:14638}),snippets=[snippetCompletion(\"function ${name}(${params}) {\\n\\t${}\\n}\",{label:\"function\",detail:\"definition\",type:\"keyword\"}),snippetCompletion(\"for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\\n\\t${}\\n}\",{label:\"for\",detail:\"loop\",type:\"keyword\"}),snippetCompletion(\"for (let ${name} of ${collection}) {\\n\\t${}\\n}\",{label:\"for\",detail:\"of loop\",type:\"keyword\"}),snippetCompletion(\"do {\\n\\t${}\\n} while (${})\",{label:\"do\",detail:\"loop\",type:\"keyword\"}),snippetCompletion(\"while (${}) {\\n\\t${}\\n}\",{label:\"while\",detail:\"loop\",type:\"keyword\"}),snippetCompletion(\"try {\\n\\t${}\\n} catch (${error}) {\\n\\t${}\\n}\",{label:\"try\",detail:\"/ catch block\",type:\"keyword\"}),snippetCompletion(\"if (${}) {\\n\\t${}\\n}\",{label:\"if\",detail:\"block\",type:\"keyword\"}),snippetCompletion(\"if (${}) {\\n\\t${}\\n} else {\\n\\t${}\\n}\",{label:\"if\",detail:\"/ else block\",type:\"keyword\"}),snippetCompletion(\"class ${name} {\\n\\tconstructor(${params}) {\\n\\t\\t${}\\n\\t}\\n}\",{label:\"class\",detail:\"definition\",type:\"keyword\"}),snippetCompletion('import {${names}} from \"${module}\"\\n${}',{label:\"import\",detail:\"named\",type:\"keyword\"}),snippetCompletion('import ${name} from \"${module}\"\\n${}',{label:\"import\",detail:\"default\",type:\"keyword\"})],typescriptSnippets=snippets.concat([snippetCompletion(\"interface ${name} {\\n\\t${}\\n}\",{label:\"interface\",detail:\"definition\",type:\"keyword\"}),snippetCompletion(\"type ${name} = ${type}\",{label:\"type\",detail:\"definition\",type:\"keyword\"}),snippetCompletion(\"enum ${name} {\\n\\t${}\\n}\",{label:\"enum\",detail:\"definition\",type:\"keyword\"})]),cache=new NodeWeakMap,ScopeNodes=new Set([\"Script\",\"Block\",\"FunctionExpression\",\"FunctionDeclaration\",\"ArrowFunction\",\"MethodDeclaration\",\"ForStatement\"]);function defID(r){return(e,t)=>{var i=e.node.getChild(\"VariableDefinition\");return i&&t(i,r),!0}}var functionContext=[\"FunctionDeclaration\"],gatherCompletions={FunctionDeclaration:defID(\"function\"),ClassDeclaration:defID(\"class\"),ClassExpression:()=>!0,EnumDeclaration:defID(\"constant\"),TypeAliasDeclaration:defID(\"type\"),NamespaceDeclaration:defID(\"namespace\"),VariableDefinition(e,t){e.matchContext(functionContext)||t(e,\"variable\")},TypeDefinition(e,t){t(e,\"type\")},__proto__:null};function getScope(r,e){var t=cache.get(e);if(t)return t;let n=[],o=!0;function s(e,t){var i=r.sliceString(e.from,e.to);n.push({label:i,type:t})}return e.cursor(IterMode.IncludeAnonymous).iterate(e=>{if(o)o=!1;else if(e.name){var t=gatherCompletions[e.name];if(t&&t(e,s)||ScopeNodes.has(e.name))return!1}else if(8192{var t=e.textAfter,i=/^\\s*\\}/.test(t),t=/^\\s*(case|default)\\b/.test(t);return e.baseIndent+(i?0:t?1:2)*e.unit},Block:delimitedIndent({closing:\"}\"}),ArrowFunction:e=>e.baseIndent+e.unit,\"TemplateString BlockComment\":()=>null,\"Statement Property\":continuedIndent({except:/^{/}),JSXElement(e){var t=/^\\s*<\\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){var t=/\\s*\\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},\"JSXOpenTag JSXSelfClosingTag\"(e){return e.column(e.node.from)+e.unit}}),foldNodeProp.add({\"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType\":foldInside,BlockComment(e){return{from:e.from+2,to:e.to-2}}})]}),languageData:{closeBrackets:{brackets:[\"(\",\"[\",\"{\",\"'\",'\"',\"`\"]},commentTokens:{line:\"//\",block:{open:\"/*\",close:\"*/\"}},indentOnInput:/^\\s*(?:case |default:|\\{|\\}|<\\/)$/,wordChars:\"$\"}}),jsxSublanguage={test:e=>/^JSX/.test(e.name),facet:defineLanguageFacet({commentTokens:{block:{open:\"{/*\",close:\"*/}\"}}})},typescriptLanguage=javascriptLanguage.configure({dialect:\"ts\"},\"typescript\"),jsxLanguage=javascriptLanguage.configure({dialect:\"jsx\",props:[sublanguageProp.add(e=>e.isTop?[jsxSublanguage]:void 0)]}),tsxLanguage=javascriptLanguage.configure({dialect:\"jsx ts\",props:[sublanguageProp.add(e=>e.isTop?[jsxSublanguage]:void 0)]},\"typescript\"),kwCompletion=e=>({label:e,type:\"keyword\"}),keywords=\"break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield\".split(\" \").map(kwCompletion),typescriptKeywords=keywords.concat([\"declare\",\"implements\",\"private\",\"protected\",\"public\"].map(kwCompletion));function javascript(e={}){var t=e.jsx?e.typescript?tsxLanguage:jsxLanguage:e.typescript?typescriptLanguage:javascriptLanguage,i=e.typescript?typescriptSnippets.concat(typescriptKeywords):snippets.concat(keywords);return new LanguageSupport(t,[javascriptLanguage.data.of({autocomplete:ifNotIn(dontComplete,completeFromList(i))}),javascriptLanguage.data.of({autocomplete:localCompletionSource}),e.jsx?autoCloseTags:[]])}function findOpenTag(e){for(;;){if(\"JSXOpenTag\"==e.name||\"JSXSelfClosingTag\"==e.name||\"JSXFragmentTag\"==e.name)return e;if(\"JSXEscape\"==e.name||!e.parent)return null;e=e.parent}}function elementName(e,t,i=e.length){for(let r=null==t?void 0:t.firstChild;r;r=r.nextSibling)if(\"JSXIdentifier\"==r.name||\"JSXBuiltin\"==r.name||\"JSXNamespacedName\"==r.name||\"JSXMemberExpression\"==r.name)return e.sliceString(r.from,Math.min(r.to,i));return\"\"}var android2=\"object\"==typeof navigator&&/Android\\b/.test(navigator.userAgent),autoCloseTags=EditorView.inputHandler.of((e,t,i,s,r)=>{if((android2?e.composing:e.compositionStarted)||e.state.readOnly||t!=i||\">\"!=s&&\"/\"!=s||!javascriptLanguage.isActiveAt(e.state,t,-1))return!1;let n=r(),a=n[\"state\"];var o=a.changeByRange(e=>{let t=e[\"head\"],i=syntaxTree(a).resolveInner(t-1,-1),r;if(\"JSXStartTag\"==i.name&&(i=i.parent),!(a.doc.sliceString(t-1,t)!=s||\"JSXAttributeValue\"==i.name&&i.to>t)){if(\">\"==s&&\"JSXFragmentTag\"==i.name)return{range:e,changes:{from:t,insert:\"\"}};if(\"/\"==s&&\"JSXStartCloseTag\"==i.name){var n=i.parent,o=n.parent;if(o&&n.from==t-2&&((r=elementName(a.doc,o.firstChild,t))||\"JSXFragmentTag\"==(null==(n=o.firstChild)?void 0:n.name)))return o=r+\">\",{range:EditorSelection.cursor(t+o.length,-1),changes:{from:t,insert:o}}}else if(\">\"==s){n=findOpenTag(i);if(n&&!/^\\/?>|^<\\//.test(a.doc.sliceString(t,t+2))&&(r=elementName(a.doc,n,t)))return{range:e,changes:{from:t,insert:``}}}}return{range:e}});return!o.changes.empty&&(e.dispatch([n,a.update(o,{userEvent:\"input.complete\",scrollIntoView:!0})]),!0)}),Targets=[\"_blank\",\"_self\",\"_top\",\"_parent\"],Charsets=[\"ascii\",\"utf-8\",\"utf-16\",\"latin1\",\"latin1\"],Methods=[\"get\",\"post\",\"put\",\"delete\"],Encs=[\"application/x-www-form-urlencoded\",\"multipart/form-data\",\"text/plain\"],Bool=[\"true\",\"false\"],S={},Tags={a:{attrs:{href:null,ping:null,type:null,media:null,target:Targets,hreflang:null}},abbr:S,address:S,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:[\"default\",\"rect\",\"circle\",\"poly\"]}},article:S,aside:S,audio:{attrs:{src:null,mediagroup:null,crossorigin:[\"anonymous\",\"use-credentials\"],preload:[\"none\",\"metadata\",\"auto\"],autoplay:[\"autoplay\"],loop:[\"loop\"],controls:[\"controls\"]}},b:S,base:{attrs:{href:null,target:Targets}},bdi:S,bdo:S,blockquote:{attrs:{cite:null}},body:S,br:S,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:[\"autofocus\"],disabled:[\"autofocus\"],formenctype:Encs,formmethod:Methods,formnovalidate:[\"novalidate\"],formtarget:Targets,type:[\"submit\",\"reset\",\"button\"]}},canvas:{attrs:{width:null,height:null}},caption:S,center:S,cite:S,code:S,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:[\"command\",\"checkbox\",\"radio\"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:[\"disabled\"],checked:[\"checked\"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:[\"disabled\"],multiple:[\"multiple\"]}},datalist:{attrs:{data:null}},dd:S,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:[\"open\"]}},dfn:S,div:S,dl:S,dt:S,em:S,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:[\"disabled\"],form:null,name:null}},figcaption:S,figure:S,footer:S,form:{attrs:{action:null,name:null,\"accept-charset\":Charsets,autocomplete:[\"on\",\"off\"],enctype:Encs,method:Methods,novalidate:[\"novalidate\"],target:Targets}},h1:S,h2:S,h3:S,h4:S,h5:S,h6:S,head:{children:[\"title\",\"base\",\"link\",\"style\",\"meta\",\"script\",\"noscript\",\"command\"]},header:S,hgroup:S,hr:S,html:{attrs:{manifest:null}},i:S,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:[\"allow-top-navigation\",\"allow-same-origin\",\"allow-forms\",\"allow-scripts\"],seamless:[\"seamless\"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:[\"anonymous\",\"use-credentials\"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:[\"audio/*\",\"video/*\",\"image/*\"],autocomplete:[\"on\",\"off\"],autofocus:[\"autofocus\"],checked:[\"checked\"],disabled:[\"disabled\"],formenctype:Encs,formmethod:Methods,formnovalidate:[\"novalidate\"],formtarget:Targets,multiple:[\"multiple\"],readonly:[\"readonly\"],required:[\"required\"],type:[\"hidden\",\"text\",\"search\",\"tel\",\"url\",\"email\",\"password\",\"datetime\",\"date\",\"month\",\"week\",\"time\",\"datetime-local\",\"number\",\"range\",\"color\",\"checkbox\",\"radio\",\"file\",\"submit\",\"image\",\"reset\",\"button\"]}},ins:{attrs:{cite:null,datetime:null}},kbd:S,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:[\"autofocus\"],disabled:[\"disabled\"],keytype:[\"RSA\"]}},label:{attrs:{\"for\":null,form:null}},legend:S,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:[\"all\",\"16x16\",\"16x16 32x32\",\"16x16 32x32 64x64\"]}},map:{attrs:{name:null}},mark:S,menu:{attrs:{label:null,type:[\"list\",\"context\",\"toolbar\"]}},meta:{attrs:{content:null,charset:Charsets,name:[\"viewport\",\"application-name\",\"author\",\"description\",\"generator\",\"keywords\"],\"http-equiv\":[\"content-language\",\"content-type\",\"default-style\",\"refresh\"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:S,noscript:S,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:[\"typemustmatch\"]}},ol:{attrs:{reversed:[\"reversed\"],start:null,type:[\"1\",\"a\",\"A\",\"i\",\"I\"]},children:[\"li\",\"script\",\"template\",\"ul\",\"ol\"]},optgroup:{attrs:{disabled:[\"disabled\"],label:null}},option:{attrs:{disabled:[\"disabled\"],label:null,selected:[\"selected\"],value:null}},output:{attrs:{\"for\":null,form:null,name:null}},p:S,param:{attrs:{name:null,value:null}},pre:S,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:S,rt:S,ruby:S,samp:S,script:{attrs:{type:[\"text/javascript\"],src:null,\"async\":[\"async\"],defer:[\"defer\"],charset:Charsets}},section:S,select:{attrs:{form:null,name:null,size:null,autofocus:[\"autofocus\"],disabled:[\"disabled\"],multiple:[\"multiple\"]}},slot:{attrs:{name:null}},small:S,source:{attrs:{src:null,type:null,media:null}},span:S,strong:S,style:{attrs:{type:[\"text/css\"],media:null,scoped:null}},sub:S,summary:S,sup:S,table:S,tbody:S,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:S,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:[\"autofocus\"],disabled:[\"disabled\"],readonly:[\"readonly\"],required:[\"required\"],wrap:[\"soft\",\"hard\"]}},tfoot:S,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:[\"row\",\"col\",\"rowgroup\",\"colgroup\"]}},thead:S,time:{attrs:{datetime:null}},title:S,tr:S,track:{attrs:{src:null,label:null,\"default\":null,kind:[\"subtitles\",\"captions\",\"descriptions\",\"chapters\",\"metadata\"],srclang:null}},ul:{children:[\"li\",\"script\",\"template\",\"ul\",\"ol\"]},\"var\":S,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:[\"anonymous\",\"use-credentials\"],preload:[\"auto\",\"metadata\",\"none\"],autoplay:[\"autoplay\"],mediagroup:[\"movie\"],muted:[\"muted\"],controls:[\"controls\"]}},wbr:S},GlobalAttrs={accesskey:null,\"class\":null,contenteditable:Bool,contextmenu:null,dir:[\"ltr\",\"rtl\",\"auto\"],draggable:[\"true\",\"false\",\"auto\"],dropzone:[\"copy\",\"move\",\"link\",\"string:\",\"file:\"],hidden:[\"hidden\"],id:null,inert:[\"inert\"],itemid:null,itemprop:null,itemref:null,itemscope:[\"itemscope\"],itemtype:null,lang:[\"ar\",\"bn\",\"de\",\"en-GB\",\"en-US\",\"es\",\"fr\",\"hi\",\"id\",\"ja\",\"pa\",\"pt\",\"ru\",\"tr\",\"zh\"],spellcheck:Bool,autocorrect:Bool,autocapitalize:Bool,style:null,tabindex:null,title:null,translate:[\"yes\",\"no\"],rel:[\"stylesheet\",\"alternate\",\"author\",\"bookmark\",\"help\",\"license\",\"next\",\"nofollow\",\"noreferrer\",\"prefetch\",\"prev\",\"search\",\"tag\"],role:\"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer\".split(\" \"),\"aria-activedescendant\":null,\"aria-atomic\":Bool,\"aria-autocomplete\":[\"inline\",\"list\",\"both\",\"none\"],\"aria-busy\":Bool,\"aria-checked\":[\"true\",\"false\",\"mixed\",\"undefined\"],\"aria-controls\":null,\"aria-describedby\":null,\"aria-disabled\":Bool,\"aria-dropeffect\":null,\"aria-expanded\":[\"true\",\"false\",\"undefined\"],\"aria-flowto\":null,\"aria-grabbed\":[\"true\",\"false\",\"undefined\"],\"aria-haspopup\":Bool,\"aria-hidden\":Bool,\"aria-invalid\":[\"true\",\"false\",\"grammar\",\"spelling\"],\"aria-label\":null,\"aria-labelledby\":null,\"aria-level\":null,\"aria-live\":[\"off\",\"polite\",\"assertive\"],\"aria-multiline\":Bool,\"aria-multiselectable\":Bool,\"aria-owns\":null,\"aria-posinset\":null,\"aria-pressed\":[\"true\",\"false\",\"mixed\",\"undefined\"],\"aria-readonly\":Bool,\"aria-relevant\":null,\"aria-required\":Bool,\"aria-selected\":[\"true\",\"false\",\"undefined\"],\"aria-setsize\":null,\"aria-sort\":[\"ascending\",\"descending\",\"none\",\"other\"],\"aria-valuemax\":null,\"aria-valuemin\":null,\"aria-valuenow\":null,\"aria-valuetext\":null},eventAttributes=\"beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload\".split(\" \").map(e=>\"on\"+e);for(let $60 of eventAttributes)GlobalAttrs[$60]=null;var Schema=class{constructor(e,t){this.tags=Object.assign(Object.assign({},Tags),e),this.globalAttrs=Object.assign(Object.assign({},GlobalAttrs),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};function elementName2(e,t,i=e.length){var r;return t&&(r=(r=t.firstChild)&&r.getChild(\"TagName\"))?e.sliceString(r.from,Math.min(r.to,i)):\"\"}function findParentElement(e,t=!1){for(;e;e=e.parent)if(\"Element\"==e.name){if(!t)return e;t=!1}return null}function allowedChildren(e,t,i){var r=i.tags[elementName2(e,findParentElement(t))];return(null==r?void 0:r.children)||i.allTags}function openTags(e,t){var i=[];for(let n=findParentElement(t);n&&!n.type.isTop;n=findParentElement(n.parent)){var r=elementName2(e,n);if(r&&\"CloseTag\"==n.lastChild.name)break;r&&i.indexOf(r)<0&&(\"EndTag\"==t.name||t.from>=n.firstChild.to)&&i.push(r)}return i}Schema[\"default\"]=new Schema;var identifier3=/^[:\\-\\.\\w\\u00b7-\\uffff]*$/;function completeTag(e,t,i,r,n){let o=/\\s*>/.test(e.sliceDoc(n,n+5))?\"\":\">\";var s=findParentElement(i,!0);return{from:r,to:n,options:allowedChildren(e.doc,s,t).map(e=>({label:e,type:\"type\"})).concat(openTags(e.doc,i).map((e,t)=>({label:\"/\"+e,apply:\"/\"+e+o,type:\"type\",boost:99-t}))),validFor:/^\\/?[:\\-\\.\\w\\u00b7-\\uffff]*$/}}function completeCloseTag(e,t,i,r){let n=/\\s*>/.test(e.sliceDoc(r,r+5))?\"\":\">\";return{from:i,to:r,options:openTags(e.doc,t).map((e,t)=>({label:e,apply:e+n,type:\"type\",boost:99-t})),validFor:identifier3}}function completeStartTag(e,t,i,r){let n=[],o=0;for(var s of allowedChildren(e.doc,i,t))n.push({label:\"<\"+s,type:\"type\"});for(var a of openTags(e.doc,i))n.push({label:\"\",type:\"type\",boost:99-o++});return{from:r,to:r,options:n,validFor:/^<\\/?[:\\-\\.\\w\\u00b7-\\uffff]*$/}}function completeAttrName(e,t,i,r,n){var o=findParentElement(i),o=o?t.tags[elementName2(e.doc,o)]:null,s=o&&o.attrs?Object.keys(o.attrs):[];return{from:r,to:n,options:(o&&!1===o.globalAttrs?s:s.length?s.concat(t.globalAttrNames):t.globalAttrNames).map(e=>({label:e,type:\"property\"})),validFor:identifier3}}function completeAttrValue(n,e,t,o,s){var i=null==(i=t.parent)?void 0:i.getChild(\"AttributeName\");let a=[],l=void 0;if(i){var c,i=n.sliceDoc(i.from,i.to);let r=e.globalAttrs[i];if(r||(c=(c=findParentElement(t))?e.tags[elementName2(n.doc,c)]:null,r=(null==c?void 0:c.attrs)&&c.attrs[i]),r){let e=n.sliceDoc(o,s).toLowerCase(),t='\"',i='\"';/^['\"]/.test(e)?(l='\"'==e[0]?/^[^\"]*$/:/^[^']*$/,t=\"\",i=n.sliceDoc(s,s+1)==e[0]?\"\":e[0],e=e.slice(1),o++):l=/^[^\\s<>='\"]*$/;for(var h of r)a.push({label:h,apply:t+h+i,type:\"constant\"})}}return{from:o,to:s,options:a,validFor:l}}function htmlCompletionFor(e,t){let{state:i,pos:r}=t,n=syntaxTree(i).resolveInner(r,-1),o=n.resolve(r);for(let a=r,l;o==n&&(l=n.childBefore(a));){var s=l.lastChild;if(!s||!s.type.isError||s.fromhtmlCompletionFor(r,e)}var jsonParser=javascriptLanguage.parser.configure({top:\"SingleExpression\"}),defaultNesting=[{tag:\"script\",attrs:e=>\"text/typescript\"==e.type||\"ts\"==e.lang,parser:typescriptLanguage.parser},{tag:\"script\",attrs:e=>\"text/babel\"==e.type||\"text/jsx\"==e.type,parser:jsxLanguage.parser},{tag:\"script\",attrs:e=>\"text/typescript-jsx\"==e.type,parser:tsxLanguage.parser},{tag:\"script\",attrs(e){return/^(importmap|speculationrules|application\\/(.+\\+)?json)$/i.test(e.type)},parser:jsonParser},{tag:\"script\",attrs(e){return!e.type||/^(?:text|application)\\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type)},parser:javascriptLanguage.parser},{tag:\"style\",attrs(e){return(!e.lang||\"css\"==e.lang)&&(!e.type||/^(text\\/)?(x-)?(stylesheet|css)$/i.test(e.type))},parser:cssLanguage.parser}],defaultAttrs=[{name:\"style\",parser:cssLanguage.parser.configure({top:\"Styles\"})}].concat(eventAttributes.map(e=>({name:e,parser:javascriptLanguage.parser}))),htmlPlain=LRLanguage.define({name:\"html\",parser:parser2.configure({props:[indentNodeProp.add({Element(e){var t=/^(\\s*)(<\\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e[\"continue\"]():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},\"OpenTag CloseTag SelfClosingTag\"(e){return e.column(e.node.from)+e.unit},Document(e){if(e.pos+/\\s*/.exec(e.textAfter)[0].lengthe.getChild(\"TagName\")})]}),languageData:{commentTokens:{block:{open:\"\\x3c!--\",close:\"--\\x3e\"}},indentOnInput:/^\\s*<\\/\\w+\\W$/,wordChars:\"-._\"}}),htmlLanguage=htmlPlain.configure({wrap:configureNesting(defaultNesting,defaultAttrs)});function html(e={}){let t=\"\",i;!1===e.matchClosingTags&&(t=\"noMatch\"),!0===e.selfClosingTags&&(t=(t?t+\" \":\"\")+\"selfClosing\");var r=(i=e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length?configureNesting((e.nestedLanguages||[]).concat(defaultNesting),(e.nestedAttributes||[]).concat(defaultAttrs)):i)?htmlPlain.configure({wrap:i,dialect:t}):t?htmlLanguage.configure({dialect:t}):htmlLanguage;return new LanguageSupport(r,[htmlLanguage.data.of({autocomplete:htmlCompletionSourceWith(e)}),!1!==e.autoCloseTags?autoCloseTags2:[],javascript().support,css().support])}var selfClosers2=new Set(\"area base br col command embed frame hr img input keygen link meta param source track wbr menuitem\".split(\" \")),autoCloseTags2=EditorView.inputHandler.of((e,t,i,s,r)=>{if(e.composing||e.state.readOnly||t!=i||\">\"!=s&&\"/\"!=s||!htmlLanguage.isActiveAt(e.state,t,-1))return!1;let n=r(),a=n[\"state\"];var o=a.changeByRange(e=>{var t=a.doc.sliceString(e.from-1,e.to)==s;let i=e[\"head\"],r=syntaxTree(a).resolveInner(i-1,-1),n;if(\"TagName\"!=r.name&&\"StartTag\"!=r.name||(r=r.parent),t&&\">\"==s&&\"OpenTag\"==r.name){if(\"CloseTag\"!=(null==(o=null==(o=r.parent)?void 0:o.lastChild)?void 0:o.name)&&(n=elementName2(a.doc,r.parent,i))&&!selfClosers2.has(n))return{range:e,changes:{from:i,to:i+(\">\"===a.doc.sliceString(i,i+1)?1:0),insert:``}}}else if(t&&\"/\"==s&&\"IncompleteCloseTag\"==r.name){var o=r.parent;if(r.from==i-2&&\"CloseTag\"!=(null==(t=o.lastChild)?void 0:t.name)&&(n=elementName2(a.doc,o,i))&&!selfClosers2.has(n))return t=i+(\">\"===a.doc.sliceString(i,i+1)?1:0),o=n+\">\",{range:EditorSelection.cursor(i+o.length,-1),changes:{from:i,to:t,insert:o}}}return{range:e}});return!o.changes.empty&&(e.dispatch([n,a.update(o,{userEvent:\"input.complete\",scrollIntoView:!0})]),!0)}),jsonHighlighting=styleTags({String:tags.string,Number:tags.number,\"True False\":tags.bool,PropertyName:tags.propertyName,Null:tags[\"null\"],\",\":tags.separator,\"[ ]\":tags.squareBracket,\"{ }\":tags.brace}),parser5=LRParser.deserialize({version:14,states:\"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#CjOOQO'#Cp'#CpQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CrOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59U,59UO!iQPO,59UOVQPO,59QOqQPO'#CkO!nQPO,59^OOQO1G.k1G.kOVQPO'#ClO!vQPO,59aOOQO1G.p1G.pOOQO1G.l1G.lOOQO,59V,59VOOQO-E6i-E6iOOQO,59W,59WOOQO-E6j-E6j\",stateData:\"#O~OcOS~OQSORSOSSOTSOWQO]ROePO~OVXOeUO~O[[O~PVOg^O~Oh_OVfX~OVaO~OhbO[iX~O[dO~Oh_OVfa~OhbO[ia~O\",\"goto\":\"!kjPPPPPPkPPkqwPPk{!RPPP!XP!ePP!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R\",nodeNames:\"⚠ JsonText True False Null Number String } { Object Property PropertyName ] [ Array\",maxTerm:25,nodeProps:[[\"isolate\",-2,6,11,\"\"],[\"openedBy\",7,\"{\",12,\"[\"],[\"closedBy\",8,\"}\",13,\"]\"]],propSources:[jsonHighlighting],skippedNodes:[0],repeatNodeCount:2,tokenData:\"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oc~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Oe~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zOh~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yOg~~'OO]~~'TO[~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~\",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),jsonLanguage=LRLanguage.define({name:\"json\",parser:parser5.configure({props:[indentNodeProp.add({Object:continuedIndent({except:/^\\s*\\}/}),Array:continuedIndent({except:/^\\s*\\]/})}),foldNodeProp.add({\"Object Array\":foldInside})]}),languageData:{closeBrackets:{brackets:[\"[\",\"{\",'\"']},indentOnInput:/^\\s*[\\}\\]]$/}});function json(){return new LanguageSupport(jsonLanguage)}var Type,CompositeBlock=class{static create(e,t,i,r,n){return new CompositeBlock(e,t,i,r+(r<<8)+e+(t<<4)|0,n,[],[])}constructor(e,t,i,r,n,o,s){this.type=e,this.value=t,this.from=i,this.hash=r,this.end=n,this.children=o,this.positions=s,this.hashProp=[[NodeProp.contextHash,r]]}addChild(e,t){e.prop(NodeProp.contextHash)!=this.hash&&(e=new Tree(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){var i=this.children.length-1;return 0<=i&&(t=Math.max(t,this.positions[i]+this.children[i].length+this.from)),new Tree(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(e,t,i)=>new Tree(NodeType.none,e,t,i,this.hashProp)})}},LeafBlock=(!function(e){e[e.Document=1]=\"Document\",e[e.CodeBlock=2]=\"CodeBlock\",e[e.FencedCode=3]=\"FencedCode\",e[e.Blockquote=4]=\"Blockquote\",e[e.HorizontalRule=5]=\"HorizontalRule\",e[e.BulletList=6]=\"BulletList\",e[e.OrderedList=7]=\"OrderedList\",e[e.ListItem=8]=\"ListItem\",e[e.ATXHeading1=9]=\"ATXHeading1\",e[e.ATXHeading2=10]=\"ATXHeading2\",e[e.ATXHeading3=11]=\"ATXHeading3\",e[e.ATXHeading4=12]=\"ATXHeading4\",e[e.ATXHeading5=13]=\"ATXHeading5\",e[e.ATXHeading6=14]=\"ATXHeading6\",e[e.SetextHeading1=15]=\"SetextHeading1\",e[e.SetextHeading2=16]=\"SetextHeading2\",e[e.HTMLBlock=17]=\"HTMLBlock\",e[e.LinkReference=18]=\"LinkReference\",e[e.Paragraph=19]=\"Paragraph\",e[e.CommentBlock=20]=\"CommentBlock\",e[e.ProcessingInstructionBlock=21]=\"ProcessingInstructionBlock\",e[e.Escape=22]=\"Escape\",e[e.Entity=23]=\"Entity\",e[e.HardBreak=24]=\"HardBreak\",e[e.Emphasis=25]=\"Emphasis\",e[e.StrongEmphasis=26]=\"StrongEmphasis\",e[e.Link=27]=\"Link\",e[e.Image=28]=\"Image\",e[e.InlineCode=29]=\"InlineCode\",e[e.HTMLTag=30]=\"HTMLTag\",e[e.Comment=31]=\"Comment\",e[e.ProcessingInstruction=32]=\"ProcessingInstruction\",e[e.Autolink=33]=\"Autolink\",e[e.HeaderMark=34]=\"HeaderMark\",e[e.QuoteMark=35]=\"QuoteMark\",e[e.ListMark=36]=\"ListMark\",e[e.LinkMark=37]=\"LinkMark\",e[e.EmphasisMark=38]=\"EmphasisMark\",e[e.CodeMark=39]=\"CodeMark\",e[e.CodeText=40]=\"CodeText\",e[e.CodeInfo=41]=\"CodeInfo\",e[e.LinkTitle=42]=\"LinkTitle\",e[e.LinkLabel=43]=\"LinkLabel\",e[e.URL=44]=\"URL\"}(Type=Type||{}),class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}}),Line2=class{constructor(){this.text=\"\",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){var e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return skipSpace(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,i=0){for(let r=t;r=t.stack[i.depth+1].value+i.baseIndent||!(i.indent>=i.baseIndent+4)&&0<(r=(e.type==Type.OrderedList?isOrderedList:isBulletList)(i,t,!1))&&(e.type!=Type.BulletList||isHorizontalRule(i,t,!1)<0)&&i.text.charCodeAt(i.pos+r-1)==e.value}var DefaultSkipMarkup={[Type.Blockquote](e,t,i){return 62==i.next&&(i.markers.push(elt(Type.QuoteMark,t.lineStart+i.pos,t.lineStart+i.pos+1)),i.moveBase(i.pos+(space3(i.text.charCodeAt(i.pos+1))?2:1)),e.end=t.lineStart+i.text.length,!0)},[Type.ListItem](e,t,i){return!(i.indente.pos+9||46!=n&&41!=n||re.pos+1||49!=e.next)?-1:r+1-e.pos}function isAtxHeading(e){if(35!=e.next)return-1;let t=e.pos+1;for(;t=e.baseIndent+4)return-1;let t=e.pos+1;for(;t/,ProcessingEnd=/\\?>/,HTMLBlockStyle=[[/^<(?:script|pre|style)(?:\\s|>|$)/i,/<\\/(?:script|pre|style)>/i],[/^\\s*/i.exec(r))?e.append(elt(Type.Comment,i,i+1+n[0].length)):(n=/^\\?[^]*?\\?>/.exec(r))?e.append(elt(Type.ProcessingInstruction,i,i+1+n[0].length)):(n=/^(?:![A-Z][^]*?>|!\\[CDATA\\[[^]*?\\]\\]>|\\/\\s*[a-zA-Z][\\w-]*\\s*>|\\s*[a-zA-Z][\\w-]*(\\s+[a-zA-Z:_][\\w-.:]*(?:\\s*=\\s*(?:[^\\s\"'=<>`]+|'[^']*'|\"[^\"]*\"))?)*\\s*(\\/\\s*)?>)/.exec(r))?e.append(elt(Type.HTMLTag,i,i+1+n[0].length)):-1)},Emphasis(e,t,i){if(95!=t&&42!=t)return-1;let r=i+1;for(;e[\"char\"](r)==t;)r++;var n=e.slice(i-1,i),o=e.slice(r,r+1),s=Punctuation.test(n),a=Punctuation.test(o),n=/\\s|^$/.test(n),o=/\\s|^$/.test(o),l=!o&&(!a||n||s),n=!n&&(!s||o||a);return e.append(new InlineDelimiter(95==t?EmphasisUnderscore:EmphasisAsterisk,i,r,(l&&(42==t||!n||s)?1:0)|(n&&(42==t||!l||a)?2:0)))},HardBreak(t,e,i){if(92==e&&10==t[\"char\"](i+1))return t.append(elt(Type.HardBreak,i,i+2));if(32==e){let e=i+1;for(;32==t[\"char\"](e);)e++;if(10==t[\"char\"](e)&&e>=i+2)return t.append(elt(Type.HardBreak,i,e+1))}return-1},Link(e,t,i){return 91==t?e.append(new InlineDelimiter(LinkStart,i,i+1,1)):-1},Image(e,t,i){return 33==t&&91==e[\"char\"](i+1)?e.append(new InlineDelimiter(ImageStart,i,i+2,1)):-1},LinkEnd(i,e,r){if(93==e)for(let t=i.parts.length-1;0<=t;t--){var n=i.parts[t];if(n instanceof InlineDelimiter&&(n.type==LinkStart||n.type==ImageStart)){if(!n.side||i.skipSpace(n.to)==r&&!/[(\\[]/.test(i.slice(r+1,r+2)))return i.parts[t]=null,-1;var o=i.takeContent(t),o=i.parts[t]=finishLink(i,o,n.type==LinkStart?Type.Link:Type.Image,n.from,r+1);if(n.type==LinkStart)for(let e=0;en?elt(Type.URL,n+o,t+o):t==r.length&&null}}function parseLinkTitle(e,t,i){var r=e.charCodeAt(t);if(39!=r&&34!=r&&40!=r)return!1;var n=40==r?41:r;for(let s=t+1,a=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,i,r,n){return this.append(new InlineDelimiter(e,t,i,(r?1:0)|(n?2:0)))}addElement(e){return this.append(e)}resolveMarkers(e){for(let u=e;u=e;s--){var t=this.parts[s];if(t instanceof InlineDelimiter&&1&t.side&&t.type==a.type&&!(l&&(1&a.side||2&t.side)&&(t.to-t.from+c)%3==0&&((t.to-t.from)%3||c%3))){o=t;break}}if(o){let e=a.type.resolve,t=[],i=o.from,r=a.to;l&&(h=Math.min(2,o.to-o.from,c),i=o.to-h,r=a.from+h,e=1==h?\"Emphasis\":\"StrongEmphasis\"),o.type.mark&&t.push(this.elt(o.type.mark,i,o.to));for(let n=s+1;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let e=this.fragment.to;for(;0=r)return this.fragment.from<=t;if(!i.childAfter(r))return!1}}matches(e){var t=this.cursor.tree;return t&&t.prop(NodeProp.contextHash)==e}takeNodes(e){var t=this.cursor,i=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0);let n=e.absoluteLineStart,o=n,s=e.block.children.length,a=o,l=s;for(;;){if(t.to-i>r){if(t.type.isAnonymous&&t.firstChild())continue;break}var c,h=toRelative(t.from-i,e.ranges);if(t.to-i<=e.ranges[e.rangeI].to?e.addNode(t.tree,h):(c=new Tree(e.parser.nodeSet.types[Type.Paragraph],[],[],0,e.block.hashProp),e.reusePlaceholders.set(c,t.tree),e.addNode(c,h)),t.type.is(\"Block\")&&(NotLast.indexOf(t.type.id)<0?(o=t.to-i,s=e.block.children.length):(o=a,s=l,a=t.to-i,l=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>s;)e.block.children.pop(),e.block.positions.pop();return o-n}};function toRelative(e,t){let i=e;for(let o=1;oDefaultBlockParsers[e]),Object.keys(DefaultBlockParsers).map(e=>DefaultLeafBlocks[e]),Object.keys(DefaultBlockParsers),DefaultEndLeaf,DefaultSkipMarkup,Object.keys(DefaultInline).map(e=>DefaultInline[e]),Object.keys(DefaultInline),[]);function leftOverSpace(e,t,i){var r=[];for(let o=e.firstChild,s=t;;o=o.nextSibling){var n=o?o.from:i;if(n>s&&r.push({from:s,to:n}),!o)break;s=o.to}return r}function parseCode(e){let{codeParser:n,htmlParser:o}=e;return{wrap:parseMixed((t,i)=>{var r=t.type.id;if(!n||r!=Type.CodeBlock&&r!=Type.FencedCode){if(o&&(r==Type.HTMLBlock||r==Type.HTMLTag))return{parser:o,overlay:leftOverSpace(t.node,t.from,t.to)}}else{let e=\"\";r==Type.FencedCode&&(r=t.node.getChild(Type.CodeInfo))&&(e=i.read(r.from,r.to));r=n(e);if(r)return{parser:r,overlay:e=>e.type.id==Type.CodeText}}return null})}}var StrikethroughDelim={resolve:\"Strikethrough\",mark:\"StrikethroughMark\"},Strikethrough={defineNodes:[{name:\"Strikethrough\",style:{\"Strikethrough/...\":tags.strikethrough}},{name:\"StrikethroughMark\",style:tags.processingInstruction}],parseInline:[{name:\"Strikethrough\",parse(e,t,i){var r,n,o,s;return 126!=t||126!=e[\"char\"](i+1)||126==e[\"char\"](i+2)?-1:(o=e.slice(i-1,i),s=e.slice(i+2,i+3),r=/\\s|^$/.test(o),n=/\\s|^$/.test(s),o=Punctuation.test(o),s=Punctuation.test(s),e.addDelimiter(StrikethroughDelim,i,i+2,!n&&(!s||r||o),!r&&(!o||n||s)))},after:\"Emphasis\"}]};function parseRow(e,t,i=0,r,n=0){let o=0,s=!0,a=-1,l=-1,c=!1;var h=()=>{r.push(e.elt(\"TableCell\",n+a,n+l,e.parser.parseInline(t.slice(a,l),n+a)))};for(let u=i;ue instanceof TableParser)||!hasPipe(t.text,t.basePos))&&(r=e.scanLine(e.absoluteLineEnd+1).text,delimiterLine.test(r))&&parseRow(e,t.text,t.basePos)==parseRow(e,r,t.basePos)},before:\"SetextHeading\"}]},TaskParser=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt(\"Task\",t.start,t.start+t.content.length,[e.elt(\"TaskMarker\",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},TaskList={defineNodes:[{name:\"Task\",block:!0,style:tags.list},{name:\"TaskMarker\",style:tags.atom}],parseBlock:[{name:\"TaskList\",leaf(e,t){return/^\\[[ xX]\\][ \\t]/.test(t.content)&&\"ListItem\"==e.parentType().name?new TaskParser:null},after:\"SetextHeading\"}]},autolinkRE=/(www\\.)|(https?:\\/\\/)|([\\w.+-]+@)|(mailto:|xmpp:)/gy,urlRE=/[\\w-]+(\\.[\\w-]+)+(\\/[^\\s<]*)?/gy,lastTwoDomainWords=/[\\w-]+\\.[\\w-]+($|\\/)/,emailRE=/[\\w.+-]+@[\\w-]+(\\.[\\w.-]+)+/gy,xmppResourceRE=/\\/[a-zA-Z\\d@.]+/gy;function count(e,t,i,r){let n=0;for(let o=t;ocount(i,r,n,\"(\"))n--;else{if(\";\"!=e||!(t=/&(?:#\\d+|#x[a-f\\d]+|\\w+);$/.exec(i.slice(r,n))))break;n=r+t.index}}return n}function autolinkEmailEnd(e,t){emailRE.lastIndex=t;var i,r=emailRE.exec(e);return!r||\"_\"==(i=r[0][r[0].length-1])||\"-\"==i?-1:t+r[0].length-(\".\"==i?1:0)}var Autolink={parseInline:[{name:\"Autolink\",parse(e,t,i){var r=i-e.offset;autolinkRE.lastIndex=r;let n=autolinkRE.exec(e.text),o=-1;return!n||(n[1]||n[2]?o=autolinkURLEnd(e.text,r+n[0].length):n[3]?o=autolinkEmailEnd(e.text,r):-1<(o=autolinkEmailEnd(e.text,r+n[0].length))&&\"xmpp:\"==n[0]&&(xmppResourceRE.lastIndex=o,n=xmppResourceRE.exec(e.text))&&(o=n.index+n[0].length),o<0)?-1:(e.addElement(e.elt(\"URL\",i,o+e.offset)),o+e.offset)}}]},GFM=[Table,TaskList,Strikethrough,Autolink];function parseSubSuper(o,s,a){return(t,e,i)=>{if(e==o&&t[\"char\"](i+1)!=o){var r=[t.elt(a,i,i+1)];for(let e=i+1;e!e.is(\"Block\")||e.is(\"Document\")||null!=isHeading(e)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),headingProp.add(isHeading),indentNodeProp.add({Document:()=>null}),languageDataProp.add({Document:data})]});function isHeading(e){var t=/^(?:ATX|Setext)Heading(\\d)$/.exec(e.name);return t?+t[1]:void 0}function findSectionEnd(e,t){let i=e;for(;;){var r,n=i.nextSibling;if(!n||null!=(r=isHeading(n.type))&&r<=t)break;i=n}return i.to}var headerIndent=foldService.of((e,t,i)=>{for(let n=syntaxTree(e).resolveInner(i,-1);n&&!(n.from({from:t.doc.lineAt(e.from).to,to:e.to})})]}]),markdownLanguage=mkLang(extended);function getCodeParser(i,e){return t=>{if(t&&i){let e=null;if(t=/\\S*/.exec(t)[0],(e=\"function\"==typeof i?i(t):LanguageDescription.matchLanguageName(i,t,!0))instanceof LanguageDescription)return e.support?e.support.language.parser:ParseContext.getSkippingParser(e.load());if(e)return e.parser}return e?e.parser:null}}var Context=class{constructor(e,t,i,r,n,o,s){this.node=e,this.from=t,this.to=i,this.spaceBefore=r,this.spaceAfter=n,this.type=o,this.item=s}blank(e,t=!0){let i=this.spaceBefore+(\"Blockquote\"==this.node.name?\">\":\"\");if(null!=e){for(;i.length( ?)/.exec(s.text.slice(a))))o.push(new Context(r,a,a+n[0].length,\"\",n[1],\">\",null));else if(\"ListItem\"==r.name&&\"OrderedList\"==r.parent.name&&(n=/^( *)\\d+([.)])( *)/.exec(s.text.slice(a)))){let e=n[3],t=n[0].length;4<=e.length&&(e=e.slice(0,e.length-4),t-=4),o.push(new Context(r.parent,a,a+t,n[1],e,n[2],r))}else if(\"ListItem\"==r.name&&\"BulletList\"==r.parent.name&&(n=/^( *)([-+*])( {1,4}\\[[ xX]\\])?( +)/.exec(s.text.slice(a)))){let e=n[4],t=n[0].length,i=(4{let u=syntaxTree(d),p=d[\"doc\"],f=null,t=d.changeByRange(e=>{if(!e.empty||!markdownLanguage.isActiveAt(d,e.from))return f={range:e};for(var i=e.from,r=p.lineAt(i),n=getContext(u.resolveInner(i,-1),p);n.length&&n[n.length-1].from>i-r.from;)n.pop();if(!n.length)return f={range:e};var o=n[n.length-1];if(o.to-o.spaceAfter.length>i-r.from)return f={range:e};var t=i>=o.to-o.spaceAfter.length&&!/\\S/.test(r.text.slice(o.to));if(o.item&&t){var s=o.node.firstChild,a=o.node.getChild(\"ListItem\",\"ListItem\");if(s.to>=i||a&&a.to]/.test(p.lineAt(r.from-1).text)){var s=1\\s*$/.exec(a.text);if(s&&s.index==o.from)return t=d.changes([{from:a.from+s.index,to:a.to},{from:r.from+o.from,to:r.to}]),{range:e.map(t),changes:t}}var s=[],l=(\"OrderedList\"==o.node.name&&renumberList(o.item,p,s),o.item&&o.item.from]*/.exec(r.text)[0].length>=o.to)for(let e=0,t=n.length-1;e<=t;e++)c+=e!=t||l?n[e].blank(er.from&&/\\s/.test(r.text.charAt(h-r.from-1));)h--;return c=normalizeIndent(c,d),nonTightList(o.node,d.doc)&&(c=blankLine(n,d,r)+d.lineBreak+c),s.push({from:h,to:i,insert:d.lineBreak+c}),{range:EditorSelection.cursor(h+c.length+1),changes:s}});return!f&&(e(d.update(t,{scrollIntoView:!0,userEvent:\"input\"})),!0)};function isMark(e){return\"QuoteMark\"==e.name||\"ListMark\"==e.name}function nonTightList(e,t){var i,r,n;return(\"OrderedList\"==e.name||\"BulletList\"==e.name)&&(i=e.firstChild,!!(r=e.getChild(\"ListItem\",\"ListItem\")))&&(i=t.lineAt(i.to),r=t.lineAt(r.from),n=/^[\\s>]*$/.test(i.text),i.number+(n?0:1){let s=syntaxTree(o),a=null,t=o.changeByRange(e=>{var t=e.from,i=o[\"doc\"];if(e.empty&&markdownLanguage.isActiveAt(o,e.from)){var r=i.lineAt(t),i=getContext(contextNodeForDelete(s,t),i);if(i.length){var i=i[i.length-1],n=i.to-i.spaceAfter.length+(i.spaceAfter?1:0);if(t-r.from>n&&!/\\S/.test(r.text.slice(n,t-r.from)))return{range:EditorSelection.cursor(r.from+n),changes:{from:r.from+n,to:t}};if(t-r.from==n&&(!i.item||r.from<=i.item.from||!/\\S/.test(r.text.slice(0,i.to)))){n=r.from+i.from;if(i.item&&i.node.from{let n;var o={autocomplete:completions_default(i,r)};switch(e){case modes.tiddlywiki:case modes.mermaid:t.push(tiddlywiki({base:tiddlywikiLanguage})),n=tiddlywikiLanguage.data.of(o);break;case modes.markdown[0]:case modes.markdown[1]:t.push(markdown({base:markdownLanguage,completeHTMLTags:!0,codeLanguages:e=>{switch(e){case\"javascript\":case\"js\":case\"ts\":case\"typescript\":case\"tsx\":case\"jsx\":return javascriptLanguage;case\"css\":return cssLanguage;case\"html\":return htmlLanguage;case\"json\":return jsonLanguage;case\"markdown\":case\"md\":return markdownLanguage;case\"tiddlywiki\":case\"tw\":case\"wiki\":return tiddlywikiLanguage}}})),n=markdownLanguage.data.of(o);break;case modes.html:t.push(html({selfClosingTags:!0}));break;case modes.javascript:t.push(javascript());break;case modes.json:t.push(json());break;case modes.css:t.push(css())}n&&t.push(Prec.high(n))},mode_default=dynamicmode,SelectedDiagnostic=class{constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}},LintState=class{constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let r=e;var n=i.facet(lintConfig).markerFilter,n=(n&&(r=n(r)),Decoration.set(r.map(e=>e.from==e.to||e.from==e.to-1&&i.doc.lineAt(e.from).to==e.from?Decoration.widget({widget:new DiagnosticWidget(e),diagnostic:e}).range(e.from):Decoration.mark({attributes:{\"class\":\"cm-lintRange cm-lintRange-\"+e.severity+(e.markClass?\" \"+e.markClass:\"\")},diagnostic:e}).range(e.from,e.to)),!0));return new LintState(n,t,findDiagnostic(n))}};function findDiagnostic(e,r=null,t=0){let n=null;return e.between(t,1e9,(e,t,{spec:i})=>{if(!r||i.diagnostic==r)return n=new SelectedDiagnostic(e,t,i.diagnostic),!1}),n}var setDiagnosticsEffect=StateEffect.define(),togglePanel2=StateEffect.define(),movePanelSelection=StateEffect.define(),lintState=StateField.define({create(){return new LintState(Decoration.none,null,null)},update(i,r){if(r.docChanged){let e=i.diagnostics.map(r.changes),t=null;var n;i.selected&&(n=r.changes.mapPos(i.selected.from,1),t=findDiagnostic(e,i.selected.diagnostic,n)||findDiagnostic(e,null,n)),i=new LintState(e,i.panel,t)}for(var e of r.effects)e.is(setDiagnosticsEffect)?i=LintState.init(e.value,i.panel,r.state):e.is(togglePanel2)?i=new LintState(i.diagnostics,e.value?LintPanel.open:null,i.selected):e.is(movePanelSelection)&&(i=new LintState(i.diagnostics,i.panel,e.value));return i},provide:e=>[showPanel.from(e,e=>e.panel),EditorView.decorations.from(e,e=>e.diagnostics)]});function diagnosticCount(e){var t=e.field(lintState,!1);return t?t.diagnostics.size:0}var closeLintPanel=e=>{var t=e.state.field(lintState,!1);return!(!t||!t.panel||(e.dispatch({effects:togglePanel2.of(!1)}),0))},lintConfig=Facet.define({combine(e){return Object.assign({sources:e.map(e=>e.source)},combineConfig(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null},{needsRefresh:(t,i)=>t?i?e=>t(e)||i(e):t:i}))}});function assignKeys(e){var i=[];if(e)e:for(var{name:r}of e){for(let e=0;ee.toLowerCase()==t.toLowerCase())){i.push(t);continue e}}i.push(\"\")}return i}function renderDiagnostic(a,l,e){var t;let c=e?assignKeys(l.actions):[];return crelt(\"li\",{\"class\":\"cm-diagnostic cm-diagnostic-\"+l.severity},crelt(\"span\",{\"class\":\"cm-diagnosticText\"},l.renderMessage?l.renderMessage():l.message),null==(t=l.actions)?void 0:t.map((i,e)=>{let r=!1,t=e=>{var t;e.preventDefault(),!r&&(r=!0,t=findDiagnostic(a.state.field(lintState).diagnostics,l))&&i.apply(a,t.from,t.to)};var n=i[\"name\"],o=c[e]?n.indexOf(c[e]):-1,s=o<0?n:[n.slice(0,o),crelt(\"u\",n.slice(o,o+1)),n.slice(o+1)];return crelt(\"button\",{type:\"button\",\"class\":\"cm-diagnosticAction\",onclick:t,onmousedown:t,\"aria-label\":` Action: ${n}${o<0?\"\":` (access key \"${c[e]})\"`}.`},s)}),l.source&&crelt(\"div\",{\"class\":\"cm-diagnosticSource\"},l.source))}var DiagnosticWidget=class extends WidgetType{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return crelt(\"span\",{\"class\":\"cm-lintPoint cm-lintPoint-\"+this.diagnostic.severity})}},PanelItem=class{constructor(e,t){this.diagnostic=t,this.id=\"item_\"+Math.floor(4294967295*Math.random()).toString(16),this.dom=renderDiagnostic(e,t,!0),this.dom.id=this.id,this.dom.setAttribute(\"role\",\"option\")}},LintPanel=class{constructor(o){this.view=o,this.items=[];this.list=crelt(\"ul\",{tabIndex:0,role:\"listbox\",\"aria-label\":this.view.state.phrase(\"Diagnostics\"),onkeydown:t=>{if(27==t.keyCode)closeLintPanel(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(65<=t.keyCode&&t.keyCode<=90&&0<=this.selectedIndex))return;var i,r=this.items[this.selectedIndex][\"diagnostic\"],n=assignKeys(r.actions);for(let e=0;e{for(let t=0;tcloseLintPanel(this.view)},\"×\")),this.update()}get selectedIndex(){var t=this.view.state.field(lintState).selected;if(t)for(let e=0;e{let r=-1,n;for(let o=a;oa&&(this.items.splice(a,r-a),l=!0)),s&&n.diagnostic==s.diagnostic?n.dom.hasAttribute(\"aria-selected\")||(n.dom.setAttribute(\"aria-selected\",\"true\"),c=n):n.dom.hasAttribute(\"aria-selected\")&&n.dom.removeAttribute(\"aria-selected\"),a++});a({sel:c.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{var i=t.height/this.list.offsetHeight;e.topt.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/i)}})):this.selectedIndex<0&&this.list.removeAttribute(\"aria-activedescendant\"),l&&this.sync()}sync(){let t=this.list.firstChild;function e(){var e=t;t=e.nextSibling,e.remove()}for(var i of this.items)if(i.dom.parentNode==this.list){for(;t!=i.dom;)e();t=i.dom.nextSibling}else this.list.insertBefore(i.dom,t);for(;t;)e()}moveSelection(e){var t;this.selectedIndex<0||(t=findDiagnostic(this.view.state.field(lintState).diagnostics,this.items[e].diagnostic))&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:movePanelSelection.of(t)})}static open(e){return new LintPanel(e)}};function forEachDiagnostic(e,t){var i=e.field(lintState,!1);if(i&&i.diagnostics.size)for(var r=RangeSet.iter([i.diagnostics]);r.value;r.next())t(r.value.spec.diagnostic,r.from,r.to)}var __rest=function(e,t){var i={};for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var r=0,n=Object.getOwnPropertySymbols(e);r{var t,i,r,n,o=[];for(t of e)t&&(({create:i,gutters:r}=t),n=__rest(t,[\"create\",\"gutters\"]),o.push(Object.assign(Object.assign({},n),{enabled:!0,gutters:r?r.filter(e=>0=Math.round(o-s),l&&a||l&&e.clientYi||(a=((o=this.view.scrollDOM.scrollHeight)-(s=this.view.scrollDOM.clientHeight))/SCALE,l=s-s/SCALE,c=r+t,this.view.scrollDOM.scrollTop=Math.max((o-s)*(c/l),c*SCALE),h=Math.min(Math.max(0,c),Math.min(l,a)),this.dom.style.top=h+\"px\")):this._dragStartY=e.clientY)}destroy(){this.remove()}},{eventHandlers:{scroll(){requestAnimationFrame(()=>this.computeTop())}}}),Overlay=[Theme$1,OverlayView],LineBasedState=class{constructor(e){this.map=new Map,this.view=e}get(e){return this.map.get(e)}set(e,t){this.map.set(e,t)}};function computeLinesState(e){if(!e.facet(Config).enabled)return[];var t=[],i=e.doc.iterLines(),r=foldedRanges(e).iter();let n=0;for(i.next();!i.done;){for(var o=i.value,s=n,o=s+o.length;r.value&&r.tocomputeLinesState(e),update:(e,t)=>foldsChanged([t])||t.docChanged?computeLinesState(t.state):e});function foldsChanged(e){return e.find(e=>e.effects.find(e=>e.is(foldEffect)||e.is(unfoldEffect)))}var DiagnosticState=class extends LineBasedState{constructor(e){super(e),this.count=void 0}shouldUpdate(e){if(!e.state.facet(Config).enabled)return!1;if(e.docChanged)return!0;for(const t of e.transactions)for(const i of t.effects)if(i.is(setDiagnosticsEffect))return!0;return!!foldsChanged(e.transactions)||void 0===this.count}update(e){if(this.shouldUpdate(e)){this.map.clear();const l=e.state.field(LinesState);this.count=diagnosticCount(e.state),forEachDiagnostic(e.state,(e,t,i)=>{var r=this.findLine(t,l),n=this.findLine(i,l);let o=e.severity;for(let a=r;a<=n;a++){var s=this.get(a);s&&(o=[o,s].sort(this.sort.bind(this)).slice(0,1)[0]),this.set(a,o)}})}}drawLine(e,t){var{context:i,lineHeight:r,offsetX:n,offsetY:o}=e,s=this.get(t);s&&(i.globalAlpha=.65,i.beginPath(),i.rect(n,o,i.canvas.width-n,r),i.fillStyle=this.color(s),i.fill())}findLine(r,e){return e.findIndex(e=>{var t=e.slice(0,1)[0],i=e.slice(-1)[0];return!(!t||!i)&&t.from<=r&&r<=i.to})+1}color(e){return\"error\"===e?\"#d11\":\"warning\"===e?\"orange\":\"#999\"}sort(e,t){return this.score(t)-this.score(e)}score(e){switch(e){case\"error\":return 3;case\"warning\":return 2;default:return 1}}};function diagnostics(e){return new DiagnosticState(e)}var SelectionState=class extends LineBasedState{constructor(e){super(e),this.getDrawInfo(),this._themeClasses=e.dom.classList.value}shouldUpdate(e){return!(!e.state.facet(Config).enabled||!e.docChanged&&!e.selectionSet&&this._themeClasses===this.view.dom.classList.value&&!foldsChanged(e.transactions))}update(e){if(this.shouldUpdate(e)){this.map.clear(),this._themeClasses!==this.view.dom.classList.value&&(this._drawInfo=void 0,this._themeClasses=this.view.dom.classList.value);var i,r,n=e.state.selection[\"ranges\"];let t=0;for([i,r]of e.state.field(LinesState).entries()){var o,s=[];let e=0;for(const c of r){do{if(!(t>=n.length||c.toc.to},l=s.slice(-1)[0];if(l&&l.to===a.from){let e=a[\"to\"];c.folded&&a[\"extends\"]?e=a.from+1:c.folded&&!a[\"extends\"]&&(e=l.to),s[s.length-1]=Object.assign(Object.assign({},l),{to:e,\"extends\":a[\"extends\"]})}else c.folded||s.push(a);if(a[\"extends\"])break}t++}}while(t=n[t].from);e+=c.folded?1:c.to-c.from}0!==s.length&&(o=i+1,this.map.set(o,s))}}}drawLine(e,t){var{context:i,lineHeight:r,charWidth:n,offsetX:o,offsetY:s}=e,a=this.get(t);if(a)for(const d of a){var l=o+d.from*n,c=(d.to-d.from)*n,h=i.canvas.width-l;d[\"extends\"]&&(i.globalAlpha=.65,i.beginPath(),i.rect(l,s,h,r),i.fillStyle=this.getDrawInfo().backgroundColor,i.fill()),i.globalAlpha=1,i.beginPath(),i.rect(l,s,c,r),i.fillStyle=this.getDrawInfo().backgroundColor,i.fill()}}getDrawInfo(){var e,t;return this._drawInfo||((e=document.createElement(\"span\")).setAttribute(\"class\",\"cm-selectionBackground\"),this.view.dom.appendChild(e),t={backgroundColor:window.getComputedStyle(e).backgroundColor},this._drawInfo=t,this.view.dom.removeChild(e),t)}};function selections(e){return new SelectionState(e)}var TextState=class extends LineBasedState{constructor(e){super(e),this._fontInfoMap=new Map,this._themeClasses=new Set(e.dom.classList.values()),e.state.facet(Config).enabled&&this.updateImpl(e.state)}shouldUpdate(e){return!!e.docChanged||e.state.facet(Config)!==e.startState.facet(Config)||!!this.themeChanged()||!!foldsChanged(e.transactions)}update(e){this.shouldUpdate(e)&&(this._highlightingCallbackId&&(\"undefined\"!=typeof window.requestIdleCallback?cancelIdleCallback:clearTimeout)(this._highlightingCallbackId),this.updateImpl(e.state,e.changes))}updateImpl(t,e){this.map.clear(),this._displayText=t.facet(Config).displayText,this.themeChanged()&&this._fontInfoMap.clear();let i=void 0;if(this._previousTree&&e){var r=TreeFragment.addTree(this._previousTree);const u=[];e.iterChangedRanges((e,t,i,r)=>u.push({fromA:e,toA:t,fromB:i,toB:r})),i=TreeFragment.applyChanges(r,u)}var n,o,s,a,r=t.doc.toString(),l=null==(l=t.facet(language))?void 0:l.parser;const c=l?l.parse(r,i):void 0,h=(this._previousTree=c,{style:e=>highlightingFor(t,e)});let d=[];c&&(r=t.doc.lineAt(this.view.viewport.from).number,l=t.doc.lineAt(this.view.viewport.to).number,n=r/(t.doc.lines-(o=l-r)),({SizeRatio:s,PixelMultiplier:a}=Scale),o=n*(n=o*s*a),s=Math.max(1,Math.floor(r-o)),a=Math.min(l+Math.floor(n-o),t.doc.lines),highlightTree(c,h,(e,t,i)=>{d.push({from:e,to:t,tags:i})},t.doc.line(s).from,t.doc.line(a).to)),this.updateMapImpl(t,d),d=[];r=()=>{c&&(highlightTree(c,h,(e,t,i)=>{d.push({from:e,to:t,tags:i})}),this.updateMapImpl(t,d),this._highlightingCallbackId=void 0)};this._highlightingCallbackId=(\"undefined\"!=typeof window.requestIdleCallback?requestIdleCallback:setTimeout)(r)}updateMapImpl(e,t){this.map.clear();var i,r,n=e.doc.toString(),o=t.values();let s=o.next();for([i,r]of e.field(LinesState).entries()){var a=[];for(const p of r)if(p.from!==p.to)if(p.folded)a.push({text:\"…\",tags:\"\"});else{let e=p.from;for(;!s.done&&s.value.frome&&a.push({text:n.slice(e,l),tags:\"\"});var l=Math.max(l,p.from),d=Math.min(c,p.to);if(a.push({text:n.slice(l,d),tags:h}),(e=d)t.canvas.width)break;h+e>t.canvas.width&&(e=t.canvas.width-h);var d=2/Scale.SizeRatio,d=r-d;t.fillStyle=l.color,t.globalAlpha=.65,t.beginPath(),t.rect(h,o,e,d),t.fill()}n+=u.text.length*i}}}}getFontInfo(e){var t,i,r=this._fontInfoMap.get(e);return r||(r=crelt(\"span\",{\"class\":e}),t=crelt(\"div\",{\"class\":\"cm-line\",style:\"display: none\"},r),this.view.contentDOM.appendChild(t),r=window.getComputedStyle(r),i=parseFloat(r.lineHeight)/Scale.SizeRatio,r={color:r.color,font:`${r.fontStyle} ${r.fontWeight} ${i}px `+r.fontFamily,lineHeight:i},this._fontInfoMap.set(e,r),this.view.contentDOM.removeChild(t),r)}themeChanged(){var e=this._themeClasses;const t=new Set(this.view.dom.classList.values());if(this._themeClasses=t,!e)return!0;if(e[\"delete\"](\"cm-focused\"),t[\"delete\"](\"cm-focused\"),e.size!==t.size)return!0;let i=!0;return e.forEach(e=>{t.has(e)||(i=!1)}),!i}};function text(e){return new TextState(e)}var GUTTER_WIDTH=4;function drawLineGutter(e,t,i){var r=e[i];r&&(t.context.fillStyle=r,t.context.globalAlpha=1,t.context.beginPath(),t.context.rect(t.offsetX,t.offsetY,GUTTER_WIDTH,t.lineHeight),t.context.fill())}var Theme=EditorView.theme({\"&\":{height:\"100%\",overflowY:\"auto\"},\"& .cm-minimap-gutter\":{borderRight:0,flexShrink:0,left:\"unset\",position:\"sticky\",right:0,top:0},\"& .cm-minimap-autohide\":{opacity:0,transition:\"opacity 0.3s\"},\"& .cm-minimap-autohide:hover\":{opacity:1},\"& .cm-minimap-inner\":{height:\"100%\",position:\"absolute\",right:0,top:0,overflowY:\"hidden\",\"& canvas\":{display:\"block\"}},\"& .cm-minimap-box-shadow\":{boxShadow:\"12px 0px 20px 5px #6c6c6c\"}}),WIDTH_RATIO=6,minimapClass=ViewPlugin.fromClass(class{constructor(e){this.view=e,this.text=text(e),this.selection=selections(e),this.diagnostic=diagnostics(e),e.state.facet(showMinimap)&&this.create(e)}create(e){var t=e.state.facet(showMinimap);if(!t)throw Error(\"Expected nonnull\");this.inner=crelt(\"div\",{\"class\":\"cm-minimap-inner\"}),this.canvas=crelt(\"canvas\"),this.dom=t.create(e).dom,this.dom.classList.add(\"cm-gutters\"),this.dom.classList.add(\"cm-minimap-gutter\"),this.inner.appendChild(this.canvas),this.dom.appendChild(this.inner),this.view.scrollDOM.insertBefore(this.dom,this.view.contentDOM.nextSibling);for(const i in this.view.state.facet(Config).eventHandlers){const r=this.view.state.facet(Config).eventHandlers[i];r&&this.dom.addEventListener(i,e=>r(e,this.view))}t.autohide&&this.dom.classList.add(\"cm-minimap-autohide\")}remove(){this.dom&&this.dom.remove()}update(e){var t=e.startState.facet(showMinimap),i=e.state.facet(showMinimap);t&&!i?this.remove():(!t&&i&&this.create(e.view),i&&(this.text.update(e),this.selection.update(e),this.diagnostic.update(e),this.render()))}getWidth(){var e=this.view.dom.clientWidth;return e<=Scale.MaxWidth*WIDTH_RATIO?(e=e/(Scale.MaxWidth*WIDTH_RATIO),Scale.MaxWidth*e):Scale.MaxWidth}render(){if(this.dom&&this.canvas&&this.inner){this.text.beforeDraw(),this.updateBoxShadow(),this.dom.style.width=this.getWidth()+\"px\",this.canvas.style.maxWidth=this.getWidth()+\"px\",this.canvas.width=this.getWidth()*Scale.PixelMultiplier;var e=this.view.dom.getBoundingClientRect().height,n=(this.inner.style.minHeight=e+\"px\",this.canvas.height=e*Scale.PixelMultiplier,this.canvas.style.height=e+\"px\",this.canvas.getContext(\"2d\"));if(n){n.clearRect(0,0,this.canvas.width,this.canvas.height);var{charWidth:o,lineHeight:s}=this.text.measure(n);let{startIndex:e,endIndex:t,offsetY:i}=this.canvasStartAndEndIndex(n,s);var a=this.view.state.facet(Config).gutters;for(let r=e;r=l.length)break;var c={offsetX:0,offsetY:i,context:n,lineHeight:s,charWidth:o};if(a.length){c.offsetX+=2;for(var h of a)drawLineGutter(h,c,r+1),c.offsetX+=GUTTER_WIDTH;c.offsetX+=2}this.text.drawLine(c,r+1),this.selection.drawLine(c,r+1),this.diagnostic.drawLine(c,r+1),i+=s}n.restore()}}}canvasStartAndEndIndex(e,t){var{top:i,bottom:r}=this.view.documentPadding,n=(i/=Scale.SizeRatio,r/=Scale.SizeRatio,e.canvas.height),{clientHeight:o,scrollHeight:s,scrollTop:a}=this.view.scrollDOM;let l=a/(s-o);isNaN(l)&&(l=0);a=this.view.state.field(LinesState).length,s=Math.max(0,l*(i+r+a*t-n)),o=Math.max(0,i-s),r=Math.round(Math.max(0,s-i)/t);return{startIndex:r,endIndex:r+Math.round((n-o)/t),offsetY:o}}updateBoxShadow(){var e,t,i;this.canvas&&(({clientWidth:e,scrollWidth:t,scrollLeft:i}=this.view.scrollDOM),e+ithis.render())}},provide:i=>EditorView.scrollMargins.of(e=>{var t=null==(t=e.plugin(i))?void 0:t.getWidth();return t?{right:t}:null})}),showMinimap=Facet.define({combine:e=>{var t;return null!=(t=e.find(e=>null!==e))?t:null},enables:t=>[[Config.compute([t],e=>e.facet(t)),Theme,LinesState,minimapClass,Overlay]]});function miniMapExt(e){const t=e=>{var t=document.createElement(\"div\");return t.style.cssText=\"background-color: transparent !important;\",{dom:t}};config_default.minimap()&&e.push(showMinimap.compute([\"doc\"],e=>({create:t,showOverlay:\"mouse-over\",autohide:config_default.minimapAudoHide()})))}function initVim(Q){var T=Q.Pos;function r(e,t){var i,r=e.state.vim;return r&&!r.insertMode&&(i=r.sel.head)?r.visualBlock&&t.head.line!=i.line?void 0:t.from()!=t.anchor||t.empty()||t.head.line!=i.line||t.head.ch==i.ch?t.head:new T(t.head.line,t.head.ch-1):t.head}function $(e,t,i){var r;return t.line===i.line&&t.ch>=i.ch-1&&55296<=(r=e.getLine(t.line).charCodeAt(t.ch))&&r<=55551&&(i.ch+=1),{start:t,end:i}}var u=[{keys:\"\",type:\"keyToKey\",toKeys:\"h\"},{keys:\"\",type:\"keyToKey\",toKeys:\"l\"},{keys:\"\",type:\"keyToKey\",toKeys:\"k\"},{keys:\"\",type:\"keyToKey\",toKeys:\"j\"},{keys:\"g\",type:\"keyToKey\",toKeys:\"gk\"},{keys:\"g\",type:\"keyToKey\",toKeys:\"gj\"},{keys:\"\",type:\"keyToKey\",toKeys:\"l\"},{keys:\"\",type:\"keyToKey\",toKeys:\"h\"},{keys:\"\",type:\"keyToKey\",toKeys:\"x\"},{keys:\"\",type:\"keyToKey\",toKeys:\"W\"},{keys:\"\",type:\"keyToKey\",toKeys:\"B\"},{keys:\"\",type:\"keyToKey\",toKeys:\"w\"},{keys:\"\",type:\"keyToKey\",toKeys:\"b\"},{keys:\"\",type:\"keyToKey\",toKeys:\"j\"},{keys:\"\",type:\"keyToKey\",toKeys:\"k\"},{keys:\"\",type:\"keyToKey\",toKeys:\"\"},{keys:\"\",type:\"keyToKey\",toKeys:\"\"},{keys:\"\",type:\"keyToKey\",toKeys:\"\",context:\"insert\"},{keys:\"\",type:\"keyToKey\",toKeys:\"\",context:\"insert\"},{keys:\"\",type:\"keyToKey\",toKeys:\"\"},{keys:\"\",type:\"keyToKey\",toKeys:\"\",context:\"insert\"},{keys:\"s\",type:\"keyToKey\",toKeys:\"cl\",context:\"normal\"},{keys:\"s\",type:\"keyToKey\",toKeys:\"c\",context:\"visual\"},{keys:\"S\",type:\"keyToKey\",toKeys:\"cc\",context:\"normal\"},{keys:\"S\",type:\"keyToKey\",toKeys:\"VdO\",context:\"visual\"},{keys:\"\",type:\"keyToKey\",toKeys:\"0\"},{keys:\"\",type:\"keyToKey\",toKeys:\"$\"},{keys:\"\",type:\"keyToKey\",toKeys:\"\"},{keys:\"\",type:\"keyToKey\",toKeys:\"\"},{keys:\"\",type:\"keyToKey\",toKeys:\"j^\",context:\"normal\"},{keys:\"\",type:\"keyToKey\",toKeys:\"i\",context:\"normal\"},{keys:\"\",type:\"action\",action:\"toggleOverwrite\",context:\"insert\"},{keys:\"H\",type:\"motion\",motion:\"moveToTopLine\",motionArgs:{linewise:!0,toJumplist:!0}},{keys:\"M\",type:\"motion\",motion:\"moveToMiddleLine\",motionArgs:{linewise:!0,toJumplist:!0}},{keys:\"L\",type:\"motion\",motion:\"moveToBottomLine\",motionArgs:{linewise:!0,toJumplist:!0}},{keys:\"h\",type:\"motion\",motion:\"moveByCharacters\",motionArgs:{forward:!1}},{keys:\"l\",type:\"motion\",motion:\"moveByCharacters\",motionArgs:{forward:!0}},{keys:\"j\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!0,linewise:!0}},{keys:\"k\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!1,linewise:!0}},{keys:\"gj\",type:\"motion\",motion:\"moveByDisplayLines\",motionArgs:{forward:!0}},{keys:\"gk\",type:\"motion\",motion:\"moveByDisplayLines\",motionArgs:{forward:!1}},{keys:\"w\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!0,wordEnd:!1}},{keys:\"W\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:\"e\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:\"E\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:\"b\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!1}},{keys:\"B\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:\"ge\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:\"gE\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:\"{\",type:\"motion\",motion:\"moveByParagraph\",motionArgs:{forward:!1,toJumplist:!0}},{keys:\"}\",type:\"motion\",motion:\"moveByParagraph\",motionArgs:{forward:!0,toJumplist:!0}},{keys:\"(\",type:\"motion\",motion:\"moveBySentence\",motionArgs:{forward:!1}},{keys:\")\",type:\"motion\",motion:\"moveBySentence\",motionArgs:{forward:!0}},{keys:\"\",type:\"motion\",motion:\"moveByPage\",motionArgs:{forward:!0}},{keys:\"\",type:\"motion\",motion:\"moveByPage\",motionArgs:{forward:!1}},{keys:\"\",type:\"motion\",motion:\"moveByScroll\",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:\"\",type:\"motion\",motion:\"moveByScroll\",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:\"gg\",type:\"motion\",motion:\"moveToLineOrEdgeOfDocument\",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:\"G\",type:\"motion\",motion:\"moveToLineOrEdgeOfDocument\",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:\"g$\",type:\"motion\",motion:\"moveToEndOfDisplayLine\"},{keys:\"g^\",type:\"motion\",motion:\"moveToStartOfDisplayLine\"},{keys:\"g0\",type:\"motion\",motion:\"moveToStartOfDisplayLine\"},{keys:\"0\",type:\"motion\",motion:\"moveToStartOfLine\"},{keys:\"^\",type:\"motion\",motion:\"moveToFirstNonWhiteSpaceCharacter\"},{keys:\"+\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!0,toFirstChar:!0}},{keys:\"-\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!1,toFirstChar:!0}},{keys:\"_\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:\"$\",type:\"motion\",motion:\"moveToEol\",motionArgs:{inclusive:!0}},{keys:\"%\",type:\"motion\",motion:\"moveToMatchedSymbol\",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:\"f\",type:\"motion\",motion:\"moveToCharacter\",motionArgs:{forward:!0,inclusive:!0}},{keys:\"F\",type:\"motion\",motion:\"moveToCharacter\",motionArgs:{forward:!1}},{keys:\"t\",type:\"motion\",motion:\"moveTillCharacter\",motionArgs:{forward:!0,inclusive:!0}},{keys:\"T\",type:\"motion\",motion:\"moveTillCharacter\",motionArgs:{forward:!1}},{keys:\";\",type:\"motion\",motion:\"repeatLastCharacterSearch\",motionArgs:{forward:!0}},{keys:\",\",type:\"motion\",motion:\"repeatLastCharacterSearch\",motionArgs:{forward:!1}},{keys:\"'\",type:\"motion\",motion:\"goToMark\",motionArgs:{toJumplist:!0,linewise:!0}},{keys:\"`\",type:\"motion\",motion:\"goToMark\",motionArgs:{toJumplist:!0}},{keys:\"]`\",type:\"motion\",motion:\"jumpToMark\",motionArgs:{forward:!0}},{keys:\"[`\",type:\"motion\",motion:\"jumpToMark\",motionArgs:{forward:!1}},{keys:\"]'\",type:\"motion\",motion:\"jumpToMark\",motionArgs:{forward:!0,linewise:!0}},{keys:\"['\",type:\"motion\",motion:\"jumpToMark\",motionArgs:{forward:!1,linewise:!0}},{keys:\"]p\",type:\"action\",action:\"paste\",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:\"[p\",type:\"action\",action:\"paste\",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:\"]\",type:\"motion\",motion:\"moveToSymbol\",motionArgs:{forward:!0,toJumplist:!0}},{keys:\"[\",type:\"motion\",motion:\"moveToSymbol\",motionArgs:{forward:!1,toJumplist:!0}},{keys:\"|\",type:\"motion\",motion:\"moveToColumn\"},{keys:\"o\",type:\"motion\",motion:\"moveToOtherHighlightedEnd\",context:\"visual\"},{keys:\"O\",type:\"motion\",motion:\"moveToOtherHighlightedEnd\",motionArgs:{sameLine:!0},context:\"visual\"},{keys:\"d\",type:\"operator\",operator:\"delete\"},{keys:\"y\",type:\"operator\",operator:\"yank\"},{keys:\"c\",type:\"operator\",operator:\"change\"},{keys:\"=\",type:\"operator\",operator:\"indentAuto\"},{keys:\">\",type:\"operator\",operator:\"indent\",operatorArgs:{indentRight:!0}},{keys:\"<\",type:\"operator\",operator:\"indent\",operatorArgs:{indentRight:!1}},{keys:\"g~\",type:\"operator\",operator:\"changeCase\"},{keys:\"gu\",type:\"operator\",operator:\"changeCase\",operatorArgs:{toLower:!0},isEdit:!0},{keys:\"gU\",type:\"operator\",operator:\"changeCase\",operatorArgs:{toLower:!1},isEdit:!0},{keys:\"n\",type:\"motion\",motion:\"findNext\",motionArgs:{forward:!0,toJumplist:!0}},{keys:\"N\",type:\"motion\",motion:\"findNext\",motionArgs:{forward:!1,toJumplist:!0}},{keys:\"gn\",type:\"motion\",motion:\"findAndSelectNextInclusive\",motionArgs:{forward:!0}},{keys:\"gN\",type:\"motion\",motion:\"findAndSelectNextInclusive\",motionArgs:{forward:!1}},{keys:\"gq\",type:\"operator\",operator:\"hardWrap\"},{keys:\"gw\",type:\"operator\",operator:\"hardWrap\",operatorArgs:{keepCursor:!0}},{keys:\"x\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveByCharacters\",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:\"X\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveByCharacters\",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:\"D\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveToEol\",motionArgs:{inclusive:!0},context:\"normal\"},{keys:\"D\",type:\"operator\",operator:\"delete\",operatorArgs:{linewise:!0},context:\"visual\"},{keys:\"Y\",type:\"operatorMotion\",operator:\"yank\",motion:\"expandToLine\",motionArgs:{linewise:!0},context:\"normal\"},{keys:\"Y\",type:\"operator\",operator:\"yank\",operatorArgs:{linewise:!0},context:\"visual\"},{keys:\"C\",type:\"operatorMotion\",operator:\"change\",motion:\"moveToEol\",motionArgs:{inclusive:!0},context:\"normal\"},{keys:\"C\",type:\"operator\",operator:\"change\",operatorArgs:{linewise:!0},context:\"visual\"},{keys:\"~\",type:\"operatorMotion\",operator:\"changeCase\",motion:\"moveByCharacters\",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:\"normal\"},{keys:\"~\",type:\"operator\",operator:\"changeCase\",context:\"visual\"},{keys:\"\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveToStartOfLine\",context:\"insert\"},{keys:\"\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!1},context:\"insert\"},{keys:\"\",type:\"idle\",context:\"normal\"},{keys:\"\",type:\"action\",action:\"jumpListWalk\",actionArgs:{forward:!0}},{keys:\"\",type:\"action\",action:\"jumpListWalk\",actionArgs:{forward:!1}},{keys:\"\",type:\"action\",action:\"scroll\",actionArgs:{forward:!0,linewise:!0}},{keys:\"\",type:\"action\",action:\"scroll\",actionArgs:{forward:!1,linewise:!0}},{keys:\"a\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"charAfter\"},context:\"normal\"},{keys:\"A\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"eol\"},context:\"normal\"},{keys:\"A\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"endOfSelectedArea\"},context:\"visual\"},{keys:\"i\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"inplace\"},context:\"normal\"},{keys:\"gi\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"lastEdit\"},context:\"normal\"},{keys:\"I\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"firstNonBlank\"},context:\"normal\"},{keys:\"gI\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"bol\"},context:\"normal\"},{keys:\"I\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"startOfSelectedArea\"},context:\"visual\"},{keys:\"o\",type:\"action\",action:\"newLineAndEnterInsertMode\",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:\"normal\"},{keys:\"O\",type:\"action\",action:\"newLineAndEnterInsertMode\",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:\"normal\"},{keys:\"v\",type:\"action\",action:\"toggleVisualMode\"},{keys:\"V\",type:\"action\",action:\"toggleVisualMode\",actionArgs:{linewise:!0}},{keys:\"\",type:\"action\",action:\"toggleVisualMode\",actionArgs:{blockwise:!0}},{keys:\"\",type:\"action\",action:\"toggleVisualMode\",actionArgs:{blockwise:!0}},{keys:\"gv\",type:\"action\",action:\"reselectLastSelection\"},{keys:\"J\",type:\"action\",action:\"joinLines\",isEdit:!0},{keys:\"gJ\",type:\"action\",action:\"joinLines\",actionArgs:{keepSpaces:!0},isEdit:!0},{keys:\"p\",type:\"action\",action:\"paste\",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:\"P\",type:\"action\",action:\"paste\",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:\"r\",type:\"action\",action:\"replace\",isEdit:!0},{keys:\"@\",type:\"action\",action:\"replayMacro\"},{keys:\"q\",type:\"action\",action:\"enterMacroRecordMode\"},{keys:\"R\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{replace:!0},context:\"normal\"},{keys:\"R\",type:\"operator\",operator:\"change\",operatorArgs:{linewise:!0,fullLine:!0},context:\"visual\",exitVisualBlock:!0},{keys:\"u\",type:\"action\",action:\"undo\",context:\"normal\"},{keys:\"u\",type:\"operator\",operator:\"changeCase\",operatorArgs:{toLower:!0},context:\"visual\",isEdit:!0},{keys:\"U\",type:\"operator\",operator:\"changeCase\",operatorArgs:{toLower:!1},context:\"visual\",isEdit:!0},{keys:\"\",type:\"action\",action:\"redo\"},{keys:\"m\",type:\"action\",action:\"setMark\"},{keys:'\"',type:\"action\",action:\"setRegister\"},{keys:\"\",type:\"action\",action:\"insertRegister\",context:\"insert\",isEdit:!0},{keys:\"\",type:\"action\",action:\"oneNormalCommand\",context:\"insert\"},{keys:\"zz\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"center\"}},{keys:\"z.\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"center\"},motion:\"moveToFirstNonWhiteSpaceCharacter\"},{keys:\"zt\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"top\"}},{keys:\"z\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"top\"},motion:\"moveToFirstNonWhiteSpaceCharacter\"},{keys:\"zb\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"bottom\"}},{keys:\"z-\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"bottom\"},motion:\"moveToFirstNonWhiteSpaceCharacter\"},{keys:\".\",type:\"action\",action:\"repeatLastEdit\"},{keys:\"\",type:\"action\",action:\"incrementNumberToken\",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:\"\",type:\"action\",action:\"incrementNumberToken\",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:\"\",type:\"action\",action:\"indent\",actionArgs:{indentRight:!0},context:\"insert\"},{keys:\"\",type:\"action\",action:\"indent\",actionArgs:{indentRight:!1},context:\"insert\"},{keys:\"a\",type:\"motion\",motion:\"textObjectManipulation\"},{keys:\"i\",type:\"motion\",motion:\"textObjectManipulation\",motionArgs:{textObjectInner:!0}},{keys:\"/\",type:\"search\",searchArgs:{forward:!0,querySrc:\"prompt\",toJumplist:!0}},{keys:\"?\",type:\"search\",searchArgs:{forward:!1,querySrc:\"prompt\",toJumplist:!0}},{keys:\"*\",type:\"search\",searchArgs:{forward:!0,querySrc:\"wordUnderCursor\",wholeWordOnly:!0,toJumplist:!0}},{keys:\"#\",type:\"search\",searchArgs:{forward:!1,querySrc:\"wordUnderCursor\",wholeWordOnly:!0,toJumplist:!0}},{keys:\"g*\",type:\"search\",searchArgs:{forward:!0,querySrc:\"wordUnderCursor\",toJumplist:!0}},{keys:\"g#\",type:\"search\",searchArgs:{forward:!1,querySrc:\"wordUnderCursor\",toJumplist:!0}},{keys:\":\",type:\"ex\"}],d=u.length,n=[{name:\"colorscheme\",shortName:\"colo\"},{name:\"map\"},{name:\"imap\",shortName:\"im\"},{name:\"nmap\",shortName:\"nm\"},{name:\"vmap\",shortName:\"vm\"},{name:\"omap\",shortName:\"om\"},{name:\"noremap\",shortName:\"no\"},{name:\"nnoremap\",shortName:\"nn\"},{name:\"vnoremap\",shortName:\"vn\"},{name:\"inoremap\",shortName:\"ino\"},{name:\"onoremap\",shortName:\"ono\"},{name:\"unmap\"},{name:\"mapclear\",shortName:\"mapc\"},{name:\"nmapclear\",shortName:\"nmapc\"},{name:\"vmapclear\",shortName:\"vmapc\"},{name:\"imapclear\",shortName:\"imapc\"},{name:\"omapclear\",shortName:\"omapc\"},{name:\"write\",shortName:\"w\"},{name:\"undo\",shortName:\"u\"},{name:\"redo\",shortName:\"red\"},{name:\"set\",shortName:\"se\"},{name:\"setlocal\",shortName:\"setl\"},{name:\"setglobal\",shortName:\"setg\"},{name:\"sort\",shortName:\"sor\"},{name:\"substitute\",shortName:\"s\",possiblyAsync:!0},{name:\"startinsert\",shortName:\"start\"},{name:\"nohlsearch\",shortName:\"noh\"},{name:\"yank\",shortName:\"y\"},{name:\"delmarks\",shortName:\"delm\"},{name:\"registers\",shortName:\"reg\",excludeFromCommandHistory:!0},{name:\"vglobal\",shortName:\"v\"},{name:\"delete\",shortName:\"d\"},{name:\"join\",shortName:\"j\"},{name:\"normal\",shortName:\"norm\"},{name:\"global\",shortName:\"g\"}];function o(e){e.setOption(\"disableInput\",!0),e.setOption(\"showCursorWhenSelecting\",!1),Q.signal(e,\"vim-mode-change\",{mode:\"normal\"}),e.on(\"cursorActivity\",st),de(e),Q.on(e.getInputField(),\"paste\",x(e))}function s(e){e.setOption(\"disableInput\",!1),e.off(\"cursorActivity\",st),Q.off(e.getInputField(),\"paste\",x(e)),e.state.vim=null,Ge&&clearTimeout(Ge)}function t(e,t){this==Q.keyMap.vim&&(e.options.$customCursor=null,Q.rmClass(e.getWrapperElement(),\"cm-fat-cursor\")),t&&t.attach==i||s(e)}function i(e,t){this==Q.keyMap.vim&&(e.curOp&&(e.curOp.selectionChanged=!0),e.options.$customCursor=r,Q.addClass(e.getWrapperElement(),\"cm-fat-cursor\")),t&&t.attach==i||o(e)}function a(e,t){var i,r;if(t)return this[e]||!!(i=function(e){if(\"'\"==e.charAt(0))return e.charAt(1);var t=e.split(/-(?!$)/),i=t[t.length-1];{if(1==t.length&&1==t[0].length)return!1;if(2==t.length&&\"Shift\"==t[0]&&1==i.length)return!1}for(var r=!1,n=0;n\"}(e))&&(\"function\"==typeof(r=O.findKey(t,i))&&Q.signal(t,\"vim-keypress\",i),r)}Q.defineOption(\"vimMode\",!1,function(e,t,i){t&&\"vim\"!=e.getOption(\"keyMap\")?e.setOption(\"keyMap\",\"vim\"):!t&&i!=Q.Init&&/^vim/.test(e.getOption(\"keyMap\"))&&e.setOption(\"keyMap\",\"default\")});var w={Shift:\"S\",Ctrl:\"C\",Alt:\"A\",Cmd:\"D\",Mod:\"A\",CapsLock:\"\"},k={Enter:\"CR\",Backspace:\"BS\",Delete:\"Del\",Insert:\"Ins\"},b={};function x(e){var t=e.state.vim;return t.onPasteFn||(t.onPasteFn=function(){t.insertMode||(e.setCursor(v(e.getCursor(),0,1)),h.enterInsertMode(e,{},t))}),t.onPasteFn}\"Left|Right|Up|Down|End|Home\".split(\"|\").concat(Object.keys(k)).forEach(function(e){b[(k[e]||\"\").toLowerCase()]=b[e.toLowerCase()]=e});var C=/[\\d]/,U=[Q.isWordChar,function(e){return e&&!Q.isWordChar(e)&&!/\\s/.test(e)}],G=[function(e){return/\\S/.test(e)}];function H(e,t){for(var i=[],r=e;r\"]),re=[].concat(J,ee,te,[\"-\",'\"',\".\",\":\",\"_\",\"/\",\"+\"]);try{K=new RegExp(\"^[\\\\p{Lu}]$\",\"u\")}catch(_){K=/^[A-Z]$/}function ne(e,t){return t>=e.firstLine()&&t<=e.lastLine()}function oe(e){return/^[a-z]$/.test(e)}function p(e){return K.test(e)}function A(e){return/^\\s*$/.test(e)}function f(e){return-1!=\".?!\".indexOf(e)}function se(e,t){for(var i=0;i\"!=s||e.insertMode||e.visualMode||!i||\"\"!=e.status?t||!i||o.inVirtualSelectionMode?l=O.handleKey(o,s,a):(c=pt(e),h=e.inputState.changeQueueList||[],o.operation(function(){o.curOp.isVimOp=!0;var n=0;o.forEachSelection(function(){o.state.vim.inputState.changeQueue=h[n];var e=X(i=o.getCursor(\"head\"),r=o.getCursor(\"anchor\"))?0:-1,t=X(i,r)?-1:0,i=v(i,0,e),r=v(r,0,t);o.state.vim.sel.head=i,o.state.vim.sel.anchor=r,l=O.handleKey(o,s,a),o.virtualSelection&&(h[n]=o.state.vim.inputState.changeQueue,o.state.vim=pt(c)),n++}),o.curOp.cursorActivity&&!l&&(o.curOp.cursorActivity=!1),(o.state.vim=e).inputState.changeQueueList=h,e.inputState.changeQueue=null},!0)):Z(o)}!l||e.visualMode||e.insert||e.visualMode==o.somethingSelected()||at(o,e);return l},findKey:function(l,c,r){var t,h=de(l);function n(){var e,t,i=E.macroModeState;if(i.isRecording){if(\"q\"==c)return i.exitMacroRecordMode(),Z(l),1;\"mapping\"!=r&&(t=c,!(e=i).isPlaying)&&(i=e.latestRegister,i=E.registerController.getRegister(i))&&i.pushText(t)}}function d(){if(\"\"==c){if(h.visualMode)N(l);else{if(!h.insertMode)return;S(l)}return Z(l),1}}return!1===(t=(h.insertMode?function(){if(d())return!0;h.inputState.keyBuffer.push(c);var e=h.inputState.keyBuffer.join(\"\"),t=1==c.length,e=m.matchCommand(e,u,h.inputState,\"insert\"),i=h.inputState.changeQueue;if(\"none\"==e.type)return Z(l),!1;if(\"partial\"==e.type){if(g&&window.clearTimeout(g),g=t&&window.setTimeout(function(){h.insertMode&&h.inputState.keyBuffer.length&&Z(l)},M(\"insertModeEscKeysTimeout\")),t){var r=l.listSelections();(i=i&&i.removed.length==r.length?i:h.inputState.changeQueue=new Oe).inserted+=c;for(var n=0;n|./gi;n=s.exec(t);){var a=n[0],l=o.insertMode;if(!O.handleKey(e,a,\"mapping\")&&l&&o.insertMode){if(\"<\"==a[0]){var c=a.toLowerCase().slice(1,-1);if(\"lt\"==(c=c.split(\"-\").pop()||\"\"))a=\"<\";else if(\"space\"==c)a=\" \";else if(\"cr\"==c)a=\"\\n\";else{if(b.hasOwnProperty(c)){dt(e,a=b[c]);continue}a=a[0],s.lastIndex=n.index+1}}e.replaceSelection(a)}}}finally{pe.pop(),fe=!!pe.length&&r}}function me(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null,this.changeQueue=null}function Z(e,t){e.state.vim.inputState=new me,Q.signal(e,\"vim-command-done\",t)}function Oe(){this.removed=[],this.inserted=\"\"}function c(e,t,i){this.clear(),this.keyBuffer=[e||\"\"],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!t,this.blockwise=!!i}function ve(e){this.registers=e,this.unnamedRegister=e['\"']=new c,e[\".\"]=new c,e[\":\"]=new c,e[\"/\"]=new c,e[\"+\"]=new c}function ye(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}me.prototype.pushRepeatDigit=function(e){this.operator?this.motionRepeat=this.motionRepeat.concat(e):this.prefixRepeat=this.prefixRepeat.concat(e)},me.prototype.getRepeat=function(){var e=0;return(0=i.length?(this.iterator=i.length,this.initialPrefix):n<0?e:void 0},pushInput:function(e){var t=this.historyBuffer.indexOf(e);-1\"==t.slice(-11)?(i=t.length-11,r=e.slice(0,i),n=t.slice(0,i),r==n&&e.length>i?\"full\":0==n.indexOf(r)&&\"partial\"):e==t?\"full\":0==t.indexOf(e)&&\"partial\"}}(e,l.keys))||(\"partial\"==n&&o.push(l),\"full\"==n&&s.push(l))}return{partial:o.length&&o,full:s.length&&s}}(e,t,r,i);if(!n.full&&!n.partial)return{type:\"none\"};if(!n.full&&n.partial)return{type:\"partial\"};for(var o=0;o\"==a.keys.slice(-11)){var l=function(e){var t=/^.*(<[^>]+>)$/.exec(e),i=t?t[1]:e.slice(-1);if(1\":i=\"\\n\";break;case\"\":i=\" \";break;default:i=\"\"}return i}(e);if(!l||1\",onKeyDown:r,selectValueOnOpen:!1}):Fe(o,{onClose:i,prefix:\":\",onKeyDown:r})},evalInput:function(e,t){var i,r,n=t.inputState,o=n.motion,s=n.motionArgs||{},a=n.operator,l=n.operatorArgs||{},c=n.registerName,h=t.sel,d=D(t.visualMode?L(e,h.head):e.getCursor(\"head\")),u=D(t.visualMode?L(e,h.anchor):e.getCursor(\"anchor\")),p=D(d),u=D(u);if(a&&this.recordLastEdit(t,n),0<(i=void 0!==n.repeatOverride?n.repeatOverride:n.getRepeat())&&s.explicitRepeat?s.repeatIsExplicit=!0:(s.noRepeat||!s.explicitRepeat&&0===i)&&(s.repeatIsExplicit=!(i=1)),n.selectedCharacter&&(s.selectedCharacter=l.selectedCharacter=n.selectedCharacter),s.repeat=i,Z(e),o){var f,n=R[o](e,d,s,t,n);if(t.lastMotion=R[o],!n)return;s.toJumplist&&((f=(o=E.jumpList).cachedCursor)?(Me(e,f,n),delete o.cachedCursor):Me(e,d,n)),f=(f=n instanceof Array?(r=n[0],n[1]):n)||D(d),t.visualMode?(t.visualBlock&&f.ch===Infinity||(f=L(e,f,p)),r=r&&L(e,r),h.anchor=r=r||u,h.head=f,Y(e),q(e,t,\"<\",X(r,f)?r:f),q(e,t,\">\",X(r,f)?f:r)):a||(f=L(e,f,p),e.setCursor(f.line,f.ch))}if(a){if(l.lastSel?(r=u,o=l.lastSel,n=Math.abs(o.head.line-o.anchor.line),d=Math.abs(o.head.ch-o.anchor.ch),f=o.visualLine?new T(u.line+n,u.ch):o.visualBlock?new T(u.line+n,u.ch+d):o.head.line==o.anchor.line?new T(u.line,u.ch+d):new T(u.line+n,u.ch),t.visualMode=!0,t.visualLine=o.visualLine,t.visualBlock=o.visualBlock,h=t.sel={anchor:r,head:f},Y(e)):t.visualMode&&(l.lastSel={anchor:D(h.anchor),head:D(h.head),visualBlock:t.visualBlock,visualLine:t.visualLine}),t.visualMode){var g=W(h.head,h.anchor),m=I(h.head,h.anchor),O=t.visualLine||l.linewise,v=t.visualBlock?\"block\":O?\"line\":\"char\",y=$e(e,{anchor:(Q=$(e,g,m)).start,head:Q.end},v);if(O){var S=y.ranges;if(\"block\"==v)for(var w=0;wa:s.line=t.line.length?(t.ln+=t.dir,ne(e,t.ln)?(t.line=e.getLine(t.ln),t.pos=0\"===o?/[(){}[\\]<>]/:/[(){}[\\]]/,e.findMatchingBracket(new T(n,o),{bracketRegex:i}).to):r},moveToStartOfLine:function(e,t){return new T(t.line,0)},moveToLineOrEdgeOfDocument:function(e,t,i){var r=i.forward?e.lastLine():e.firstLine();return i.repeatIsExplicit&&(r=i.repeat-e.getOption(\"firstLineNumber\")),new T(r,P(e.getLine(r)))},moveToStartOfDisplayLine:function(e){return e.execCommand(\"goLineLeft\"),e.getCursor()},moveToEndOfDisplayLine:function(e){e.execCommand(\"goLineRight\");var t=e.getCursor();return\"before\"==t.sticky&&t.ch--,t},textObjectManipulation:function(e,t,i,r){var n,o,s=i.selectedCharacter,a=(\"b\"==s?s=\"(\":\"B\"==s&&(s=\"{\"),!i.textObjectInner);if({\"(\":\")\",\")\":\"(\",\"{\":\"}\",\"}\":\"{\",\"[\":\"]\",\"]\":\"[\",\"<\":\">\",\">\":\"<\"}[s]){var l,c,h=!0;(c=Ie(e,t,s,a))||(l=e.getSearchCursor(new RegExp(\"\\\\\"+s,\"g\"),t)).find()&&(c=Ie(e,l.from(),s,a))}else if({\"'\":!0,'\"':!0,\"`\":!0}[s])h=!0,c=function(e,t,i,r){var n,o,s,a,l=D(t),c=e.getLine(l.line).split(\"\"),h=c.indexOf(i);{var d;l.cho.line)&&(s=new T(s.line-1,Number.MAX_VALUE)),e.replaceRange(\"\",o,s),o);E.registerController.pushText(t.registerName,\"change\",r,t.linewise,1s.top?(o.line+=(n-s.top)/r,o.line=Math.ceil(o.line),e.setCursor(o),s=e.charCoords(o,\"local\"),e.scrollTo(null,s.top)):e.scrollTo(null,n):(a=n+e.getScrollInfo().clientHeight)|<\\w+>|./.exec(m),f=g[0],m=m.substring(g.index+f.length),O.handleKey(s,f,\"macro\"),a.insertMode&&(g=h.insertModeChanges[u++].changes,E.macroModeState.lastInsertModeChanges.changes=g,ut(s,g,1),S(s))}l.isPlaying=!1}},enterMacroRecordMode:function(e,t){var i=E.macroModeState,r=t.selectedCharacter;E.registerController.isValidRegister(r)&&i.enterMacroRecordMode(e,r)},toggleOverwrite:function(e){e.state.overwrite?(e.toggleOverwrite(!1),e.setOption(\"keyMap\",\"vim-insert\"),Q.signal(e,\"vim-mode-change\",{mode:\"insert\"})):(e.toggleOverwrite(!0),e.setOption(\"keyMap\",\"vim-replace\"),Q.signal(e,\"vim-mode-change\",{mode:\"replace\"}))},enterInsertMode:function(e,t,i){if(!e.getOption(\"readOnly\")){i.insertMode=!0,i.insertModeRepeat=t&&t.repeat||1;var r=t?t.insertAt:null,n=i.sel,o=t.head||e.getCursor(\"head\"),s=e.listSelections().length;if(\"eol\"==r)o=new T(o.line,V(e,o.line));else if(\"bol\"==r)o=new T(o.line,0);else if(\"charAfter\"==r)o=$(e,o,v(o,0,1)).end;else if(\"firstNonBlank\"==r)o=$(e,o,R.moveToFirstNonWhiteSpaceCharacter(e,o)).end;else if(\"startOfSelectedArea\"==r){if(!i.visualMode)return;i.visualBlock?(o=new T(Math.min(n.head.line,n.anchor.line),Math.min(n.head.ch,n.anchor.ch)),s=Math.abs(n.head.line-n.anchor.line)+1):o=n.head.line=n.anchor.line?v(n.head,0,1):new T(n.anchor.line,0)}else if(\"inplace\"==r){if(i.visualMode)return}else\"lastEdit\"==r&&(o=it(e)||o);e.setOption(\"disableInput\",!1),t&&t.replace?(e.toggleOverwrite(!0),e.setOption(\"keyMap\",\"vim-replace\"),Q.signal(e,\"vim-mode-change\",{mode:\"replace\"})):(e.toggleOverwrite(!1),e.setOption(\"keyMap\",\"vim-insert\"),Q.signal(e,\"vim-mode-change\",{mode:\"insert\"})),E.macroModeState.isPlaying||(e.on(\"change\",ot),i.insertEnd&&i.insertEnd.clear(),i.insertEnd=e.setBookmark(o,{insertLeft:!0}),Q.on(e.getInputField(),\"keydown\",ct)),i.visualMode&&N(e),Qe(e,o,s)}},toggleVisualMode:function(e,t,i){var r,n=t.repeat,o=e.getCursor();i.visualMode?(i.visualLine^t.linewise||i.visualBlock^t.blockwise?(i.visualLine=!!t.linewise,i.visualBlock=!!t.blockwise,Q.signal(e,\"vim-mode-change\",{mode:\"visual\",subMode:i.visualLine?\"linewise\":i.visualBlock?\"blockwise\":\"\"}),Y):N)(e):(i.visualMode=!0,i.visualLine=!!t.linewise,i.visualBlock=!!t.blockwise,r=$(e,o,n=L(e,new T(o.line,o.ch+n-1))),i.sel={anchor:r.start,head:r.end},Q.signal(e,\"vim-mode-change\",{mode:\"visual\",subMode:i.visualLine?\"linewise\":i.visualBlock?\"blockwise\":\"\"}),Y(e),q(e,i,\"<\",W(o,n)),q(e,i,\">\",I(o,n)))},reselectLastSelection:function(e,t,i){var r,n,o=i.lastSelection;i.visualMode&&Te(e,i),o&&(r=o.anchorMark.find(),n=o.headMark.find(),r)&&n&&(i.sel={anchor:r,head:n},i.visualMode=!0,i.visualLine=o.visualLine,i.visualBlock=o.visualBlock,Y(e),q(e,i,\"<\",W(r,n)),q(e,i,\">\",I(r,n)),Q.signal(e,\"vim-mode-change\",{mode:\"visual\",subMode:i.visualLine?\"linewise\":i.visualBlock?\"blockwise\":\"\"}))},joinLines:function(e,t,i){i.visualMode?(n=e.getCursor(\"anchor\"),X(r=e.getCursor(\"head\"),n)&&(h=r,r=n,n=h),r.ch=V(e,r.line)-1):(h=Math.max(t.repeat,2),n=e.getCursor(),r=L(e,new T(n.line+h-1,Infinity)));for(var r,n,o=0,s=n.line;s{this.continuePaste(t,i,r,e,n)}):(e=n.toString(),this.continuePaste(t,i,r,e,n))},continuePaste:function(r,e,t,i,n){var o=D(r.getCursor());if(i){e.matchIndent&&(s=r.getOption(\"tabSize\"),a=function(e){var t=e.split(\"\\t\").length-1,i=e.split(\" \").length-1;return t*s+i},O=r.getLine(r.getCursor().line),l=a(O.match(/^\\s*/)[0]),O=i.replace(/\\n$/,\"\"),v=i!==O,c=a(i.match(/^\\s*/)[0]),i=O.replace(/^\\s*/gm,function(e){var t,i=l+(a(e)-c);return i<0?\"\":r.getOption(\"indentWithTabs\")?(t=Math.floor(i/s),Array(t+1).join(\"\\t\")):Array(i+1).join(\" \")}),i+=v?\"\\n\":\"\"),1r.lastLine()&&r.replaceRange(\"\\n\",new T(C,0)),V(r,C)a.length&&(l=a.length),new T(o.line,l)),l=$(e,o,a),o=l.start;a=l.end,\"\\n\"==n?(i.visualMode||e.replaceRange(\"\",o,a),(Q.commands.newlineAndIndentContinueComment||Q.commands.newlineAndIndent)(e)):(l=(l=(l=e.getRange(o,a)).replace(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g,n)).replace(/[^\\n]/g,n),i.visualBlock?(r=new Array(e.getOption(\"tabSize\")+1).join(\" \"),l=(l=(l=e.getSelection()).replace(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g,n)).replace(/\\t/g,r).replace(/[^\\n]/g,n).split(\"\\n\"),e.replaceSelections(l)):e.replaceRange(l,o,a),i.visualMode?(o=X(s[0].anchor,s[0].head)?s[0].anchor:s[0].head,e.setCursor(o),N(e,!1)):e.setCursor(v(a,0,-1)))},incrementNumberToken:function(e,t){for(var i,r,n,o,s,a,l,c=e.getCursor(),h=e.getLine(c.line),d=/(-?)(?:(0x)([\\da-f]+)|(0b|0|)(\\d+))/gi;null!==(i=d.exec(h))&&(n=(r=i.index)+i[0].length,!(c.chs?-1:o))&&(s-=2),new T(n,s)}function ke(e){var t,i={};for(t in e)e.hasOwnProperty(t)&&(i[t]=e[t]);return i}function v(e,t,i){return\"object\"==typeof t&&(i=t.ch,t=t.line),new T(e.line+t,e.ch+i)}function be(t,i,r){return function(){for(var e=0;ed&&(n.line=d),n.ch=V(e,n.line)),{ranges:[{anchor:o,head:n}],primary:0};if(\"block\"==i){for(var s=Math.min(o.line,n.line),a=o.ch,l=Math.max(o.line,n.line),c=n.ch,h=(a=c.length){if(!o)return null;p--,a=Le(e,l,!0,r,!0);break}r?f=G[0]:(f=U[0])(c.charAt(p))||(f=U[1])}for(var g=p,m=p;f(c.charAt(m))&&0<=m;)m--;if(m++,a)g=a.to,u=a.line,(h=e.getLine(u))||0!=g||g++;else for(;f(c.charAt(g))&&g=e.line.length?e.line=null:e.pos+=e.dir}for(var n={ln:t.line,pos:t.ch};0]/,\">\":/[<>]/}[i],a={\"(\":\"(\",\")\":\"(\",\"[\":\"[\",\"]\":\"[\",\"{\":\"{\",\"}\":\"{\",\"<\":\"<\",\">\":\"<\"}[i],a=e.getLine(o.line).charAt(o.ch)===a?1:0;return n=e.scanForBracket(new T(o.line,o.ch+a),-1,void 0,{bracketRegex:s}),o=e.scanForBracket(new T(o.line,o.ch+a),1,void 0,{bracketRegex:s}),n&&o?(n=n.pos,o=o.pos,(n.line==o.line&&n.ch>o.ch||n.line>o.line)&&(a=n,n=o,o=a),r?o.ch+=1:n.ch+=1,{start:n,end:o}):null}function Ve(){}function j(e){var t=e.state.vim;return t.searchState_||(t.searchState_=new Ve)}function Ye(e,t){var i=_e(e,t)||[];if(!i.length)return[];var r=[];if(0===i[0]){for(var n=0;n\"))?void 0:r.line):i.selectionLine=e.getCursor().line:(i.selectionLine=i.line,i.selectionLineEnd=i.lineEnd);var r=t.match(/^(\\w+|!!|@@|[!#&*<=>@~])/);return i.commandName=r?r[1]:t.match(/.*/)[0],i},parseLineSpec_:function(e,t){var i=t.match(/^(\\d+)/);if(i)return parseInt(i[1],10)-1;switch(t.next()){case\".\":return this.parseLineSpecOffset_(t,e.getCursor().line);case\"$\":return this.parseLineSpecOffset_(t,e.lastLine());case\"'\":var r=t.next(),r=tt(e,e.state.vim,r);if(r)return this.parseLineSpecOffset_(t,r.line);throw new Error(\"Mark not set\");case\"-\":case\"+\":return t.backUp(1),this.parseLineSpecOffset_(t,e.getCursor().line);default:return void t.backUp(1)}},parseLineSpecOffset_:function(e,t){var i,r=e.match(/^([+-])?(\\d+)/);return r&&(i=parseInt(r[2],10),\"-\"==r[1]?t-=i:t+=i),t},parseCommandArgs_:function(e,t,i){var r;e.eol()||(t.argString=e.match(/.*/)[0],r=i.argDelimiter||/\\s+/,(r=Ce(t.argString).split(r)).length&&r[0]&&(t.args=r))},matchCommand_:function(e){for(var t=e.length;0\",I(o,n))):t.insertMode||(t.lastHPos=e.getCursor().ch)}function lt(e){this.keyName=e}function ct(e){var t=E.macroModeState.lastInsertModeChanges,i=Q.keyName(e);!i||-1==i.indexOf(\"Delete\")&&-1==i.indexOf(\"Backspace\")||Q.lookupKey(i,\"vim-insert\",function(){return t.maybeReset&&(t.changes=[],t.maybeReset=!1),t.changes.push(new lt(i)),!0})}function ht(i,r,e,t){var n=E.macroModeState,o=(n.isPlaying=!0,!!r.lastEditActionCommand),s=r.inputState;function a(){o?m.processAction(i,r,r.lastEditActionCommand):m.evalInput(i,r)}function l(e){var t;0e.lines&&(r=e.lines,i=Number.MAX_VALUE),e.line(r));return Math.min(r.from+Math.max(0,i),r.to)}function posFromIndex(e,t){var i=e.lineAt(t);return{line:i.number-1,ch:t-i.from}}var Pos=class{constructor(e,t){this.line=e,this.ch=t}};function on(e,t,i){var r;e.addEventListener?e.addEventListener(t,i,!1):(r=e._handlers||(e._handlers={}))[t]=(r[t]||[]).concat(i)}function off(e,t,i){var r,n,o;e.removeEventListener?e.removeEventListener(t,i,!1):(n=(r=e._handlers)&&r[t])&&-1<(o=n.indexOf(i))&&(r[t]=n.slice(0,o).concat(n.slice(o+1)))}function signal(e,t,...i){var r,n=null==(r=e._handlers)?void 0:r[t];if(n)for(var o=0;o({anchor:posFromIndex(t,e.anchor),head:posFromIndex(t,e.head)}))}setSelections(e,t){var i=this.cm6.state.doc,r=e.map(e=>EditorSelection.range(indexFromPos(i,e.anchor),indexFromPos(i,e.head)));this.cm6.dispatch({selection:EditorSelection.create(r,t)})}setSelection(e,t,i){var r=this.cm6.state.doc,r=[EditorSelection.range(indexFromPos(r,e),indexFromPos(r,t))];this.cm6.dispatch({selection:EditorSelection.create(r,0)}),i&&\"*mouse\"==i.origin&&this.onBeforeEndOperation()}getLine(e){var t=this.cm6.state.doc;return e<0||e>=t.lines?\"\":this.cm6.state.doc.line(e+1).text}getLineHandle(e){return this.$lineHandleChanges||(this.$lineHandleChanges=[]),{row:e,index:this.indexFromPos(new Pos(e,0))}}getLineNumber(e){var t=this.$lineHandleChanges;if(!t)return null;for(var i=e.index,r=0;r({from:e.from,to:e.to,insert:i[t]||\"\"}))})}getSelection(){return this.getSelections().join(\"\\n\")}getSelections(){var t=this.cm6;return t.state.selection.ranges.map(e=>t.state.sliceDoc(e.from,e.to))}somethingSelected(){return this.cm6.state.selection.ranges.some(e=>!e.empty)}getInputField(){return this.cm6.contentDOM}clipPos(e){var t=this.cm6.state.doc,i=e.ch,r=e.line+1,t=(r<1&&(r=1,i=0),r>t.lines&&(r=t.lines,i=Number.MAX_VALUE),t.line(r)),i=Math.min(Math.max(0,i),t.to-t.from);return new Pos(r-1,i)}getValue(){return this.cm6.state.doc.toString()}setValue(e){var t=this.cm6;return t.dispatch({changes:{from:0,to:t.state.doc.length,insert:e},selection:EditorSelection.range(0,0)})}focus(){return this.cm6.focus()}blur(){return this.cm6.contentDOM.blur()}defaultTextHeight(){return this.cm6.defaultLineHeight}findMatchingBracket(e){var t=this.cm6.state,i=indexFromPos(t.doc,e),r=matchBrackets(t,i+1,-1);return r&&r.end||(r=matchBrackets(t,i,1))&&r.end?{to:posFromIndex(t.doc,r.end.from)}:{to:void 0}}scanForBracket(e,t,i,r){return scanForBracket(this,e,t,i,r)}indentLine(e,t){t?this.indentMore():this.indentLess()}indentMore(){indentMore(this.cm6)}indentLess(){indentLess(this.cm6)}execCommand(e){var t,i;\"indentAuto\"==e?CodeMirror.commands.indentAuto(this):\"goLineLeft\"==e?cursorLineBoundaryBackward(this.cm6):\"goLineRight\"==e?(cursorLineBoundaryForward(this.cm6),(i=(t=this.cm6.state).selection.main.head)o+10))return t;if(o==i)return null}}(0,n?n.from==n.to?n.to-1:n.from:s):(t=n?n.from==n.to?n.to+1:n.to:s,e=t,t=a.cm6.state.doc,e>t.length||(t=c(t,e).next()).done?null:t.value),o=n&&{from:posFromIndex(i,n.from),to:posFromIndex(i,n.to),match:n.match},n&&n.match},from:function(){return null==o?void 0:o.from},to:function(){return null==o?void 0:o.to},replace:function(e){n&&(dispatchChange(a,{changes:{from:n.from,to:n.to,insert:e}}),n.to=n.from+e.length,o)&&(o.to=posFromIndex(a.cm6.state.doc,n.to))}}}findPosV(e,t,i,r){var n=this[\"cm6\"],o=n.state.doc,s=\"page\"==i?n.dom.clientHeight:0,a=indexFromPos(o,e);let l=EditorSelection.range(a,a,r);var c=Math.round(Math.abs(t));for(let h=0;he.map(t.changes)));var s=this.curOp=this.curOp||{};t.changes.iterChanges((e,t,i,r,n)=>{(null==s.$changeStart||s.$changeStart>i)&&(s.$changeStart=i),this.$lastChangeEndOffset=r;var o={text:n.toJSON()};s.lastChange?s.lastChange.next=s.lastChange=o:s.lastChange=s.change=o},!0),s.changeHandlers||(s.changeHandlers=this._handlers.change&&this._handlers.change.slice())}onSelectionChange(){var e=this.curOp=this.curOp||{};e.cursorActivityHandlers||(e.cursorActivityHandlers=this._handlers.cursorActivity&&this._handlers.cursorActivity.slice()),this.curOp.cursorActivity=!0}operation(e){this.curOp||(this.curOp={$d:0}),this.curOp.$d++;try{var t=e()}finally{this.curOp&&(this.curOp.$d--,this.curOp.$d||this.onBeforeEndOperation())}return t}onBeforeEndOperation(){var e=this.curOp,t=!1;e&&(e.change&&signalTo(e.changeHandlers,this,e.change),e&&e.cursorActivity&&(signalTo(e.cursorActivityHandlers,this,null),e.isVimOp)&&(t=!0),this.curOp=null),t&&this.scrollIntoView()}moveH(e,t){var i;\"char\"==t&&(i=this.getCursor(),this.setCursor(i.line,i.ch+e))}setOption(e,t){switch(e){case\"keyMap\":this.state.keyMap=t;break;case\"textwidth\":this.state.textwidth=t}}getOption(e){switch(e){case\"firstLineNumber\":return 1;case\"tabSize\":return this.cm6.state.tabSize||4;case\"readonly\":return this.cm6.state.readOnly;case\"indentWithTabs\":return\"\\t\"==this.cm6.state.facet(indentUnit);case\"indentUnit\":return this.cm6.state.facet(indentUnit).length||2;case\"textwidth\":return this.state.textwidth;case\"keyMap\":return this.state.keyMap||\"vim\"}}toggleOverwrite(e){this.state.overwrite=e}getTokenTypeAt(e){var t=this.indexFromPos(e),i=ensureSyntaxTree(this.cm6.state,t),t=null==i?void 0:i.resolve(t),t=(null==(i=null==t?void 0:t.type)?void 0:i.name)||\"\";return/comment/i.test(t)?\"comment\":/string/i.test(t)?\"string\":\"\"}overWriteSelection(e){var i=this.cm6.state.doc,t=this.cm6.state.selection,r=t.ranges.map(e=>{if(e.empty){var t=e.todispatchChange(t,e)})},indentAuto:function(e){indentSelection(e.cm6)}},CodeMirror.defineOption=function(e,t,i){},CodeMirror.isWordChar=function(e){return wordChar2.test(e)},CodeMirror.keys=keys2,CodeMirror.keyMap={},CodeMirror.addClass=function(){},CodeMirror.rmClass=function(){},CodeMirror.e_preventDefault=function(e){e.preventDefault()},CodeMirror.e_stop=function(e){var t;null!=(t=null==e?void 0:e.stopPropagation)&&t.call(e),null!=(t=null==e?void 0:e.preventDefault)&&t.call(e)},CodeMirror.keyName=function(e){var t,i=e.key;if(!ignoredKeys[i])return 1==(i=1<(i=\" \"==(i=\"Escape\"==i?\"Esc\":i)?\"Space\":i).length?i.replace(/Numpad|Arrow/,\"\"):i).length&&(i=i.toUpperCase()),t=\"\",e.ctrlKey&&(t+=\"Ctrl-\"),e.altKey&&(t+=\"Alt-\"),(t||1\":t},CodeMirror.lookupKey=function lookupKey(e,t,i){var r=CodeMirror.keys[e];r&&i(r)},CodeMirror.on=on,CodeMirror.off=off,CodeMirror.signal=signal,CodeMirror.findMatchingTag=findMatchingTag,CodeMirror.findEnclosingTag=findEnclosingTag;var matching={\"(\":\")>\",\")\":\"(<\",\"[\":\"]>\",\"]\":\"[<\",\"{\":\"}>\",\"}\":\"{<\",\"<\":\">>\",\">\":\"<<\"};function bracketRegex(e){return e&&e.bracketRegex||/[(){}[\\]]/}function scanForBracket(e,t,i,r,n){for(var o=n&&n.maxScanLineLength||1e4,s=n&&n.maxScanLines||1e3,a=[],l=bracketRegex(n),c=0o))for(h==t.line&&(u=t.ch-(i<0?1:0));u!=p;u+=i){var f=d.charAt(u);if(l.test(f)){var g=matching[f];if(g&&\">\"==g.charAt(1)==0i?((h=u(d,i,5))&&(s=/^\\s*/.exec(d)[0],e.replaceRange(\"\\n\"+s,new Pos(n,h.start),new Pos(n,h.end))),o++):r&&/\\S/.test(d)&&n!=o&&(s=e.getLine(n+1))&&/\\S/.test(s)&&((h=u(c=(a=d.replace(/\\s+$/,\"\"))+\" \"+(l=s.replace(/^\\s+/,\"\")),i,5))&&h.start>a.length||c.lengthi?{start:n.index,end:n.index+n[2].length}:r&&r[2]?{start:o=t+r[2].length,end:o+r[3].length}:void 0}}var getDrawSelectionConfig2=getDrawSelectionConfig||function(){let e={cursorBlinkRate:1200};return function(){return e}}(),Piece=class{constructor(e,t,i,r,n,o,s,a,l,c){this.left=e,this.top=t,this.height=i,this.fontFamily=r,this.fontSize=n,this.fontWeight=o,this.color=s,this.className=a,this.letter=l,this.partial=c}draw(){var e=document.createElement(\"div\");return e.className=this.className,this.adjust(e),e}adjust(e){e.style.left=this.left+\"px\",e.style.top=this.top+\"px\",e.style.height=this.height+\"px\",e.style.lineHeight=this.height+\"px\",e.style.fontFamily=this.fontFamily,e.style.fontSize=this.fontSize,e.style.fontWeight=this.fontWeight,e.style.color=this.partial?\"transparent\":this.color,e.className=this.className,e.textContent=this.letter}eq(e){return this.left==e.left&&this.top==e.top&&this.height==e.height&&this.fontFamily==e.fontFamily&&this.fontSize==e.fontSize&&this.fontWeight==e.fontWeight&&this.color==e.color&&this.className==e.className&&this.letter==e.letter}},BlockCursorPlugin=class{constructor(e,t){this.view=e,this.rangePieces=[],this.cursors=[],this.cm=t,this.measureReq={read:this.readPos.bind(this),write:this.drawSel.bind(this)},this.cursorLayer=e.scrollDOM.appendChild(document.createElement(\"div\")),this.cursorLayer.className=\"cm-cursorLayer cm-vimCursorLayer\",this.cursorLayer.setAttribute(\"aria-hidden\",\"true\"),e.requestMeasure(this.measureReq),this.setBlinkRate()}setBlinkRate(){var e=getDrawSelectionConfig2(this.cm.cm6.state).cursorBlinkRate;this.cursorLayer.style.animationDuration=e+\"ms\"}update(e){(e.selectionSet||e.geometryChanged||e.viewportChanged)&&(this.view.requestMeasure(this.measureReq),this.cursorLayer.style.animationName=\"cm-blink\"==this.cursorLayer.style.animationName?\"cm-blink2\":\"cm-blink\"),configChanged2(e)&&this.setBlinkRate()}scheduleRedraw(){this.view.requestMeasure(this.measureReq)}readPos(){var e,t=this.view[\"state\"],i=[];for(e of t.selection.ranges){var r=e==t.selection.main,r=measureCursor(this.cm,this.view,e,r);r&&i.push(r)}return{cursors:i}}drawSel({cursors:e}){if(e.length!=this.cursors.length||e.some((e,t)=>!e.eq(this.cursors[t]))){let i=this.cursorLayer.children;if(i.length!==e.length){this.cursorLayer.textContent=\"\";for(const t of e)this.cursorLayer.appendChild(t.draw())}else e.forEach((e,t)=>e.adjust(i[t]));this.cursors=e}}destroy(){this.cursorLayer.remove()}};function configChanged2(e){return getDrawSelectionConfig2(e.startState)!=getDrawSelectionConfig2(e.state)}var themeSpec2={\".cm-vimMode .cm-line\":{\"& ::selection\":{backgroundColor:\"transparent !important\"},\"&::selection\":{backgroundColor:\"transparent !important\"},caretColor:\"transparent !important\"},\".cm-fat-cursor\":{position:\"absolute\",background:\"#ff9696\",border:\"none\",whiteSpace:\"pre\"},\"&:not(.cm-focused) .cm-fat-cursor\":{background:\"none\",outline:\"solid 1px #ff9696\",color:\"transparent !important\"}},hideNativeSelection2=Prec.highest(EditorView.theme(themeSpec2));function getBase2(e){var t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==Direction.LTR?t.left:t.right-e.scrollDOM.clientWidth)-e.scrollDOM.scrollLeft,top:t.top-e.scrollDOM.scrollTop}}function measureCursor(e,n,t,o){let s=t.head,i=!1,a=1;var l=e.state.vim;if(l&&(!l.insertMode||e.state.overwrite)){if(i=!0,l.visualBlock&&!o)return null;t.anchor{t.state.vim&&(t.state.vim.status=\"\"),this.blockCursor.scheduleRedraw(),this.updateStatus()}),this.cm.on(\"vim-mode-change\",e=>{t.state.vim.mode=e.mode,e.subMode&&(t.state.vim.mode+=\" block\"),t.state.vim.status=\"\",this.blockCursor.scheduleRedraw(),this.updateClass(),this.updateStatus()}),this.cm.on(\"dialog\",()=>{this.cm.state.statusbar?this.updateStatus():e.dispatch({effects:showVimPanel.of(!!this.cm.state.dialog)})}),this.dom=document.createElement(\"span\"),this.dom.style.cssText=\"position: absolute; right: 10px; top: 1px\",this.statusButton=document.createElement(\"span\"),this.statusButton.onclick=e=>{Vim.handleKey(this.cm,\"\",\"user\"),this.cm.focus()},this.statusButton.style.cssText=\"cursor: pointer\"}update(e){var t;if((e.viewportChanged||e.docChanged)&&this.query&&this.highlight(this.query),e.docChanged&&this.cm.onChange(e),e.selectionSet&&this.cm.onSelectionChange(),e.viewportChanged,this.cm.curOp&&!this.cm.curOp.isVimOp&&this.cm.onBeforeEndOperation(),e.transactions)for(var i of e.transactions)for(var r of i.effects)r.is(setSearchQuery)&&((null==(t=r.value)?void 0:t.forVim)?(t=r.value.create(),this.highlight(t)):this.highlight(null));this.blockCursor.update(e)}updateClass(){var e=this.cm.state;!e.vim||e.vim.insertMode&&!e.overwrite?this.view.scrollDOM.classList.remove(\"cm-vimMode\"):this.view.scrollDOM.classList.add(\"cm-vimMode\")}updateStatus(){var e,t=this.cm.state.statusbar,i=this.cm.state.vim;t&&i&&((e=this.cm.state.dialog)?e.parentElement!=t&&(t.textContent=\"\",t.appendChild(e)):(t.textContent=\"\",e=(i.mode||\"normal\").toUpperCase(),i.insertModeReturn&&(e+=\"(C-O)\"),this.statusButton.textContent=`--${e}--`,t.appendChild(this.statusButton)),this.dom.textContent=i.status,t.appendChild(this.dom))}destroy(){Vim.leaveVimMode(this.cm),this.updateClass(),this.blockCursor.destroy(),delete this.view.cm}highlight(i){if(!(this.query=i))return this.decorations=Decoration.none;var r=this[\"view\"];let n=new RangeSetBuilder;for(let o=0,s=r.visibleRanges,a=s.length;os[o+1].from-2*HighlightMargin;)t=s[++o].to;i.highlight(r.state,e,t,(e,t)=>{n.add(e,t,matchMark2)})}return this.decorations=n.finish()}handleKey(i,e){var r=CodeMirror.vimKey(i),n=this.cm;if(r){let t=n.state.vim;if(t){\"\"!=r||t.insertMode||t.visualMode||!this.query||(o=t.searchState_)&&(n.removeOverlay(o.getOverlay()),o.setOverlay(null));var o=\"\"===r&&!CodeMirror.isMac;if(o&&n.somethingSelected())return this.waitForCopy=!0;t.status=(t.status||\"\")+r;let e=Vim.multiSelectHandleKey(n,r,\"user\");return t=n.state.vim,!e&&t.insertMode&&n.state.overwrite&&(i.key&&1==i.key.length&&!/\\n/.test(i.key)?(e=!0,n.overWriteSelection(i.key)):\"Backspace\"==i.key&&(e=!0,CodeMirror.commands.cursorCharLeft(n))),e&&(CodeMirror.signal(this.cm,\"vim-keypress\",r),i.preventDefault(),i.stopPropagation(),this.blockCursor.scheduleRedraw()),this.updateStatus(),!!e}}}},{eventHandlers:{copy:function(e,t){this.waitForCopy&&(this.waitForCopy=!1,Promise.resolve().then(()=>{var e=this.cm,t=e.state.vim;t&&(t.insertMode?e.setSelection(e.getCursor(),e.getCursor()):e.operation(()=>{e.curOp&&(e.curOp.isVimOp=!0),Vim.handleKey(e,\"\",\"user\")}))}))},compositionstart:function(e,t){this.useNextTextInput=!0},keypress:function(e,t){\"Dead\"==this.lastKeydown&&this.handleKey(e,t)},keydown:function(e,t){this.lastKeydown=e.key,\"Unidentified\"==this.lastKeydown||\"Process\"==this.lastKeydown||\"Dead\"==this.lastKeydown?this.useNextTextInput=!0:(this.useNextTextInput=!1,this.handleKey(e,t))}},provide:()=>[EditorView.inputHandler.of((e,t,i,r)=>{var n=getCM(e);if(n){var o=null==(o=n.state)?void 0:o.vim,s=n.state.vimPlugin;if(o&&!o.insertMode&&(null==(o=n.curOp)||!o.isVimOp)){if(\"\\0\\0\"===r)return!0;if(1==r.length&&s.useNextTextInput)return s.handleKey({key:r,preventDefault:()=>{},stopPropagation:()=>{}}),forceEndComposition(e),!0}}return!1})],decorations:e=>e.decorations});function forceEndComposition(e){var t=e.scrollDOM.parentElement;if(t){if(FIREFOX_LINUX)e.contentDOM.textContent=\"\\0\\0\";else{var i=e.scrollDOM.nextSibling,r=window.getSelection(),n=r&&{anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset};e.scrollDOM.remove(),t.insertBefore(e.scrollDOM,i);try{n&&r&&(r.setPosition(n.anchorNode,n.anchorOffset),n.focusNode)&&r.extend(n.focusNode,n.focusOffset)}catch(o){console.error(o)}e.focus()}e.contentDOM.dispatchEvent(new CustomEvent(\"compositionend\"))}}var matchMark2=Decoration.mark({\"class\":\"cm-searchMatch\"}),showVimPanel=StateEffect.define(),vimPanelState=StateField.define({create:()=>!1,update(e,t){for(var i of t.effects)i.is(showVimPanel)&&(e=i.value);return e},provide:e=>showPanel.from(e,e=>e?createVimPanel:null)});function createVimPanel(e){var t=document.createElement(\"div\"),i=(t.className=\"cm-vim-panel\",e.cm);return i.state.dialog&&t.appendChild(i.state.dialog),{top:!1,dom:t}}function statusPanel(e){var t=document.createElement(\"div\"),i=(t.className=\"cm-vim-panel\",e.cm);return i.state.statusbar=t,i.state.vimPlugin.updateStatus(),{dom:t}}function vim(e={}){return[vimStyle,vimPlugin,hideNativeSelection2,e.status?showPanel.of(statusPanel):vimPanelState]}function getCM(e){return e.cm||null}function setVimKeymap(e){config_default.vimJK()&&Vim.map(\"jk\",\"\",\"insert\"),Vim.map(\"H\",\"0\",\"normal\"),Vim.map(\"L\",\"$\",\"normal\"),Vim.defineEx(\"write\",\"w\",()=>{})}function _extends(){return(_extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var{theme:t,settings:i={},styles:r=[]}=e,n={\".cm-gutters\":{}},o={},o=(i.background&&(o.backgroundColor=i.background),i.backgroundImage&&(o.backgroundImage=i.backgroundImage),i.foreground&&(o.color=i.foreground),(i.background||i.foreground)&&(n[\"&\"]=o),i.fontFamily&&(n[\"&.cm-editor .cm-scroller\"]={fontFamily:i.fontFamily}),i.gutterBackground&&(n[\".cm-gutters\"].backgroundColor=i.gutterBackground),i.gutterForeground&&(n[\".cm-gutters\"].color=i.gutterForeground),i.gutterBorder&&(n[\".cm-gutters\"].borderRightColor=i.gutterBorder),i.caret&&(n[\".cm-content\"]={caretColor:i.caret},n[\".cm-cursor, .cm-dropCursor\"]={borderLeftColor:i.caret}),{});return i.gutterActiveForeground&&(o.color=i.gutterActiveForeground),i.lineHighlight&&(n[\".cm-activeLine\"]={backgroundColor:i.lineHighlight},o.backgroundColor=i.lineHighlight),n[\".cm-activeLineGutter\"]=o,i.selection&&(n[\"&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection\"]={background:i.selection+\" !important\"}),i.selectionMatch&&(n[\"& .cm-selectionMatch\"]={backgroundColor:i.selectionMatch}),[EditorView.theme(n,{dark:\"dark\"===t}),syntaxHighlighting(HighlightStyle.define(r))]},defaultSettingsGithubLight={background:\"#fff\",foreground:\"#24292e\",selection:\"#BBDFFF\",selectionMatch:\"#BBDFFF\",gutterBackground:\"#fff\",gutterForeground:\"#6e7781\"},githubLightInit=e=>{var{theme:t=\"light\",settings:i={},styles:r=[]}=e||{};return createTheme({theme:t,settings:_extends({},defaultSettingsGithubLight,i),styles:[{tag:[tags.standard(tags.tagName),tags.tagName],color:\"#116329\"},{tag:[tags.comment,tags.bracket],color:\"#6a737d\"},{tag:[tags.className,tags.propertyName],color:\"#6f42c1\"},{tag:[tags.variableName,tags.attributeName,tags.number,tags.operator],color:\"#005cc5\"},{tag:[tags.keyword,tags.typeName,tags.typeOperator,tags.typeName],color:\"#d73a49\"},{tag:[tags.string,tags.meta,tags.regexp],color:\"#032f62\"},{tag:[tags.name,tags.quote],color:\"#22863a\"},{tag:[tags.heading,tags.strong],color:\"#24292e\",fontWeight:\"bold\"},{tag:[tags.emphasis],color:\"#24292e\",fontStyle:\"italic\"},{tag:[tags.deleted],color:\"#b31d28\",backgroundColor:\"ffeef0\"},{tag:[tags.atom,tags.bool,tags.special(tags.variableName)],color:\"#e36209\"},{tag:[tags.url,tags.escape,tags.regexp,tags.link],color:\"#032f62\"},{tag:tags.link,textDecoration:\"underline\"},{tag:tags.strikethrough,textDecoration:\"line-through\"},{tag:tags.invalid,color:\"#cb2431\"},...r]})},githubLight=githubLightInit(),defaultSettingsGithubDark={background:\"#0d1117\",foreground:\"#c9d1d9\",caret:\"#c9d1d9\",selection:\"#003d73\",selectionMatch:\"#003d73\",lineHighlight:\"#36334280\"},githubDarkInit=e=>{var{theme:t=\"dark\",settings:i={},styles:r=[]}=e||{};return createTheme({theme:t,settings:_extends({},defaultSettingsGithubDark,i),styles:[{tag:[tags.standard(tags.tagName),tags.tagName],color:\"#7ee787\"},{tag:[tags.comment,tags.bracket],color:\"#8b949e\"},{tag:[tags.className,tags.propertyName],color:\"#d2a8ff\"},{tag:[tags.variableName,tags.attributeName,tags.number,tags.operator],color:\"#79c0ff\"},{tag:[tags.keyword,tags.typeName,tags.typeOperator,tags.typeName],color:\"#ff7b72\"},{tag:[tags.string,tags.meta,tags.regexp],color:\"#a5d6ff\"},{tag:[tags.name,tags.quote],color:\"#7ee787\"},{tag:[tags.heading,tags.strong],color:\"#d2a8ff\",fontWeight:\"bold\"},{tag:[tags.emphasis],color:\"#d2a8ff\",fontStyle:\"italic\"},{tag:[tags.deleted],color:\"#ffdcd7\",backgroundColor:\"ffeef0\"},{tag:[tags.atom,tags.bool,tags.special(tags.variableName)],color:\"#ffab70\"},{tag:tags.link,textDecoration:\"underline\"},{tag:tags.strikethrough,textDecoration:\"line-through\"},{tag:tags.invalid,color:\"#f97583\"},...r]})},githubDark=githubDarkInit(),countLeadingSpaces=e=>{let t=0;for(let i=0;i/^[ \\t]*$/.test(e),foldByIndent=()=>foldService.of((e,t,i)=>{var r=e.doc.lineAt(t),n=e.doc.lines,o=countLeadingSpaces(r.text),s=t;let a=i,l=r;for(;l.number .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection\":{backgroundColor:selection},\".cm-panels\":{backgroundColor:darkBackground,color:ivory},\".cm-panels.cm-panels-top\":{borderBottom:\"2px solid black\"},\".cm-panels.cm-panels-bottom\":{borderTop:\"2px solid black\"},\".cm-searchMatch\":{backgroundColor:\"#72a1ff59\",outline:\"1px solid #457dff\"},\".cm-searchMatch.cm-searchMatch-selected\":{backgroundColor:\"#6199ff2f\"},\".cm-activeLine\":{backgroundColor:\"#6699ff0b\"},\".cm-selectionMatch\":{backgroundColor:\"#aafe661a\"},\"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket\":{backgroundColor:\"#bad0f847\"},\".cm-gutters\":{backgroundColor:background,color:stone,border:\"none\"},\".cm-activeLineGutter\":{backgroundColor:highlightBackground},\".cm-foldPlaceholder\":{backgroundColor:\"transparent\",border:\"none\",color:\"#ddd\"},\".cm-tooltip\":{border:\"none\",backgroundColor:tooltipBackground},\".cm-tooltip .cm-tooltip-arrow:before\":{borderTopColor:\"transparent\",borderBottomColor:\"transparent\"},\".cm-tooltip .cm-tooltip-arrow:after\":{borderTopColor:tooltipBackground,borderBottomColor:tooltipBackground},\".cm-tooltip-autocomplete\":{\"& > ul > li[aria-selected]\":{backgroundColor:highlightBackground,color:ivory}}},{dark:!0}),oneDarkHighlightStyle=HighlightStyle.define([{tag:tags.keyword,color:violet},{tag:[tags.name,tags.deleted,tags.character,tags.propertyName,tags.macroName],color:coral},{tag:[tags[\"function\"](tags.variableName),tags.labelName],color:malibu},{tag:[tags.color,tags.constant(tags.name),tags.standard(tags.name)],color:whiskey},{tag:[tags.definition(tags.name),tags.separator],color:ivory},{tag:[tags.typeName,tags.className,tags.number,tags.changed,tags.annotation,tags.modifier,tags.self,tags.namespace],color:chalky},{tag:[tags.operator,tags.operatorKeyword,tags.url,tags.escape,tags.regexp,tags.link,tags.special(tags.string)],color:cyan},{tag:[tags.meta,tags.comment],color:stone},{tag:tags.strong,fontWeight:\"bold\"},{tag:tags.emphasis,fontStyle:\"italic\"},{tag:tags.strikethrough,textDecoration:\"line-through\"},{tag:tags.link,color:stone,textDecoration:\"underline\"},{tag:tags.heading,fontWeight:\"bold\",color:coral},{tag:[tags.atom,tags.bool,tags.special(tags.variableName)],color:whiskey},{tag:[tags.processingInstruction,tags.string,tags.inserted],color:sage},{tag:tags.invalid,color:invalid}]),oneDark=[oneDarkTheme,syntaxHighlighting(oneDarkHighlightStyle)];function countWords(e){let i=0,r=e.iter();for(;!r.next().done;){let e=!1;for(let t=0;t({from:i.mapPos(e),to:i.mapPos(t)})}),underlineMark=Decoration.mark({\"class\":\"cm-underline\"}),underlineField=StateField.define({create(){return Decoration.none},update(e,t){e=e.map(t.changes);for(var i of t.effects)i.is(addUnderline)&&(e=e.update({add:[underlineMark.range(i.value.from,i.value.to)]}));return e},provide:e=>EditorView.decorations.from(e)}),underlineTheme=EditorView.baseTheme({\".cm-underline\":{background:\"mediumpurple\",padding:\"0 2px\",borderRadius:\"4px\",color:\"black\"}});function underlineSelection(e){var t=e.state.selection.ranges.filter(e=>!e.empty).map(({from:e,to:t})=>addUnderline.of({from:e,to:t}));return!!t.length&&(e.state.field(underlineField,!1)||t.push(StateEffect.appendConfig.of([underlineField,underlineTheme])),e.dispatch({effects:t}),!0)}var userKeymap=[{key:\"Mod-h\",preventDefault:!0,run:underlineSelection},{key:\"Ctrl-alt-r\",preventDefault:!0,scope:\"editor\",stopPropagation:!0,run:cursorSyntaxRight},{key:\"Ctrl-alt-l\",preventDefault:!0,scope:\"editor\",stopPropagation:!0,run:cursorSyntaxLeft},{key:\"Ctrl-i\",scope:\"editor\",run:acceptCompletion},{key:\"Ctrl-j\",scope:\"editor\",run:moveCompletionSelection(!0)},{key:\"Ctrl-k\",scope:\"editor\",preventDefault:!0,run:moveCompletionSelection(!1)},{key:\"Tab\",run:acceptCompletion,shift:nextSnippetField},{key:\"Ctrl-Space\",scope:\"editor\",preventDefault:!0,run:startCompletion}],cmkeymaps=keymap.of([...closeBracketsKeymap,...searchKeymap,...historyKeymap,...foldKeymap,...completionKeymap,...userKeymap]),wordHover=hoverTooltip((e,t,i)=>{var r,{from:n,to:o,text:s}=e.state.doc.lineAt(t);let a=t,l=t;for(;a>n&&\"[\"!==s[a-n-1];)a--;for(;l{let t=!1;e.ctrlKey&&!t?(h.style.cursor=\"pointer\",t=!0):e.ctrlKey||(h.style.cursor=\"text\",t=!1)}),h.addEventListener(\"click\",e=>{e.preventDefault(),e.ctrlKey&&(new $tw.Story).navigateTiddler(c)})}catch(d){return null}return{pos:a,end:l,strictSide:!0,above:!0,create(e){return{dom:h}}}},{hideOnChange:!0,hoverTime:300}),linkpreviewStyle=EditorView.baseTheme({\".cm-link-preview\":{boxShadow:\"0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08)\",overflow:\"auto\",maxWidth:\"400px\",maxHeight:\"400px\",padding:\"6px\",borderRadius:\"8px\",zIndex:\"1001 !important\"},\".cm-tooltip\":{border:\"none !important\"}}),linkHoverPreview=[wordHover,linkpreviewStyle];function createViewPlugin(t){return ViewPlugin.fromClass(class{constructor(e){this.decorations=t.createDeco(e)}update(e){(e.docChanged||e.viewportChanged)&&(this.decorations=t.updateDeco(e,this.decorations))}},{decorations:e=>e.decorations})}var pathStr='',HyperLink=class extends WidgetType{constructor(e){super(),this.state=e}eq(e){return this.state.url===e.state.url&&this.state.at===e.state.at}toDOM(){var e=document.createElement(\"a\");return e.href=this.state.url,e.title=String(this.state.url).replace(/^https?:\\/\\//,\"\"),e.target=\"_blank\",e.innerHTML=pathStr,e.className=\"cm-hyper-link-icon\",e.rel=\"nofollow\",e}},defaultRegexp=/\\b((?:https?|ftp):\\/\\/[^\\s/$.?#].[^\\s]*)\\b/gi,linkDecorator=new MatchDecorator({regexp:defaultRegexp,decorate:(e,t,i,r,n)=>{var o=r[0],s=i,a=i,o=new HyperLink({at:s,url:o});e(s,a,Decoration.widget({widget:o,side:1}))}}),hyperLinkStyle=EditorView.baseTheme({\".cm-hyper-link-icon\":{display:\"inline-block\",verticalAlign:\"middle\",marginLeft:\"0.2ch\"},\".cm-hyper-link-icon svg\":{},\".cm-hyper-link-underline\":{textDecoration:\"underline\"}}),linkExt=[createViewPlugin(linkDecorator),hyperLinkStyle],CustomLink=class extends WidgetType{constructor(e){super(),this.state=e}eq(e){return this.state.content===e.state.content&&this.state.at===e.state.at}toDOM(){var e=document.createElement(\"a\");const t=this.state.title;return e.textContent=config_default[\"clickable-icon\"]()||\" 🔗\",e.className=\"cm-link\",e.style.cursor=\"pointer\",e.style.userSelect=\"none\",e.title=t,e.onclick=e=>{e.preventDefault(),e.ctrlKey&&(new $tw.Story).navigateTiddler(t)},e}},customLinkDecorator=new MatchDecorator({regexp:/(?:\\[\\[([\\s\\S]*?)\\]\\]|\\{\\{([\\s\\S]*?)\\}\\})/g,decorate:(e,t,i,r,n)=>{var o=r[1]||r[2];if($tw.wiki.tiddlerExists(o)){const s=i,a=i;o=new CustomLink({at:s,title:o});e(s,a,Decoration.widget({widget:o,side:1})),EditorView.atomicRanges.of(e=>({from:s,end:a}))}}}),tidExt=createViewPlugin(customLinkDecorator),HyperLink2=class extends WidgetType{constructor(e){super(),this.state=e}eq(e){return this.state.url===e.state.url&&this.state.at===e.state.at}toDOM(){var e=document.createElement(\"span\");const t=this.state.title;return e.title=t,e.innerHTML=\" 🖼️\",e.style.cursor=\"pointer\",e.onclick=e=>{e.preventDefault(),e.ctrlKey&&(new $tw.Story).navigateTiddler(t)},e}},linkDecorator2=new MatchDecorator({regexp:/\\[img\\[([a-z0-9\\._/~%\\-\\+&\\#\\?!=\\(\\)@]*)\\]\\]/gi,decorate:(e,t,i,r,n)=>{var o,s,a=r[1];$tw.wiki.tiddlerExists(a)&&(s=o=i,a=new HyperLink2({at:o,title:a}),e(o,s,Decoration.widget({widget:a,side:0})))}}),imgExt=createViewPlugin(linkDecorator2),removeOutlineExt_default=EditorView.theme({\"&.cm-focused\":{outline:\"none\"}}),rainbowBracketsPlugin=ViewPlugin.fromClass(class{constructor(e){this.decorations=this.getBracketDecorations(e)}update(e){(e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.getBracketDecorations(e.view))}getBracketDecorations(e){for(var t=e.state[\"doc\"],i=[],r=/\\[\\[([\\s\\S]*?)\\]\\]/g;s=r.exec(t.toString());){var[n,o]=s,s=s.index,n=s+n.length;void 0!==o&&$tw.wiki.tiddlerExists(o)&&i.push(Decoration.mark({\"class\":\"rainbow-bracket-text\"}).range(s+2,n-2))}return Decoration.set(i)}},{decorations:e=>e.decorations});function rainbowBracketsWithText(){return[rainbowBracketsPlugin,EditorView.baseTheme({\".rainbow-bracket-text\":{textDecoration:\"underline\",cursor:\"pointer\"}})]}function updateExtensions(e,t){var i=null==(i=$tw.wiki.getTiddler($tw.wiki.getTiddlerText(\"$:/palette\")))?void 0:i.fields,i=\"dark\"===(null==i?void 0:i[\"color-scheme\"]);config_default.onedark()&&i&&e.push(oneDark)||e.push(githubLight),config_default.removeOutline()&&e.push(removeOutlineExt_default),null!=(i=null==t?void 0:t.editTitle)&&i.startsWith(\"Draft of \")&&(config_default.linkPreview()&&e.push(linkHoverPreview),config_default.wordCount()&&e.push(wordCountExt()),config_default.lineNumbers()&&e.push(lineNumbers()),config_default.clickable()&&e.push(linkExt,tidExt,imgExt),e.push(rainbowBracketsWithText()),config_default.vimmode()&&(setVimKeymap(t),e.push(Prec.high(vim()))),e.push(keymap.of([...defaultKeymap])),config_default.lineNumbers()&&config_default.foldGutter()&&e.push(foldGutter()),config_default.highlightActiveLine()&&e.push(highlightActiveLineGutter(),highlightActiveLine()),e.push(placeholder(config_default.customPlaceholder()?config_default.placeholder():t.editPlaceholder)),config_default.completeAnyWord())&&e.push(EditorState.languageData.of(()=>[{autocomplete:completeAnyWord}])),e.push(Prec.high(cmkeymaps)),config_default.indentWithTab()&&e.push(keymap.of([indentWithTab])),config_default.foldByIndent()&&e.push(foldByIndent()),config_default.highlightTrailingWhitespace()&&e.push(highlightTrailingWhitespace()),config_default.whitespace()&&e.push(highlightWhitespace()),config_default.closeBrackets()&&e.push(closeBrackets()),config_default.bracketMatching()&&e.push(bracketMatching())}var operationTypes=[\"excise\",\"focus-editor\",\"insert-text\",\"make-link\",\"prefix-lines\",\"redo\",\"replace-all\",\"replace-selection\",\"save-selection\",\"search\",\"undo\",\"wrap-lines\",\"wrap-selection\"];function debouncePromise(n,o,s=void 0){let a=()=>{};return(...r)=>(a(),new Promise((e,t)=>{const i=setTimeout(()=>e(n(...r)),o);a=()=>{clearTimeout(i),void 0!==s&&t(s)}}))}var InlineSuggestionState=StateField.define({create(){return{suggestion:null}},update(e,t){var i=t.effects.find(e=>e.is(InlineSuggestionEffect));return t.state.doc&&i&&t.state.doc==i.value.doc?{suggestion:i.value.text}:{suggestion:null}}}),InlineSuggestionEffect=StateEffect.define();function inlineSuggestionDecoration(e,t){var i=e.state.selection.main.head,r=[],n=Decoration.widget({widget:new InlineSuggestionWidget(t),side:1});return r.push(n.range(i)),Decoration.set(r)}var InlineSuggestionWidget=class extends WidgetType{constructor(e){super(),this.suggestion=e}toDOM(){var e=document.createElement(\"span\");return e.style.opacity=\"0.4\",e.className=\"cm-inline-suggestion\",e.textContent=this.suggestion,e}},fetchSuggestion=r=>ViewPlugin.fromClass(class{async update(e){var t,i=e.state.doc;e.docChanged&&(t=await r(e.state),e.view.dispatch({effects:InlineSuggestionEffect.of({text:t,doc:i})}))}}),renderInlineSuggestionPlugin=ViewPlugin.fromClass(class z9b{constructor(){this.decorations=Decoration.none}update(e){var t=null==(t=e.state.field(InlineSuggestionState))?void 0:t.suggestion;this.decorations=t?inlineSuggestionDecoration(e.view,t):Decoration.none}},{decorations:e=>e.decorations}),inlineSuggestionKeymap=Prec.high(keymap.of([{key:\"Tab\",run:e=>{var t=null==(t=e.state.field(InlineSuggestionState))?void 0:t.suggestion;return!!t&&(e.dispatch({...insertCompletionText2(e.state,t,e.state.selection.main.head,e.state.selection.main.head)}),!0)}}]));function insertCompletionText2(i,r,n,o){return{...i.changeByRange(e=>{var t;return e==i.selection.main?{changes:{from:n,to:o,insert:r},range:EditorSelection.cursor(n+r.length)}:(t=o-n,!e.empty||t&&i.sliceDoc(e.from-t,e.from)!=i.sliceDoc(n,o)?{range:e}:{changes:{from:e.from-t,to:e.from,insert:r},range:EditorSelection.cursor(e.from-t+r.length)})}),userEvent:\"input.complete\"}}function inlineSuggestion(e){var{delay:t=500}=e,t=debouncePromise(e.fetchFn,t);return[InlineSuggestionState,fetchSuggestion(t),renderInlineSuggestionPlugin]}function inlineSuggestionExt(e){config_default.inlineSuggestion()&&e.cme.push(inlineSuggestion({fetchFn:()=>{var t=e.cm.state,i=\"active\"===completionStatus(t);if(i){var r=t.selection.main.head,n=t.doc;let e=r;for(;0autocompletion({aboveCursor:!1,tooltipClass:e=>\"cm-autocomplete-tooltip\",optionClass:e=>\"cm-autocomplete-option\",selectOnOpen:config_default.selectOnOpen(),icons:config_default.autocompleteIcons(),closeOnBlur:config_default.closeOnBlur(),activateOnTyping:config_default.activateOnTyping(),updateSyncTime:100,interactionDelay:75,maxRenderedOptions:config_default.maxRenderedOptions(),defaultKeymap:!0});function getVisibleLines(e,t=e.state){var i,r,n=new Set;for({from:i,to:r}of e.visibleRanges){let e=i;for(;e<=r;){var o=t.doc.lineAt(e);n.has(o)||n.add(o),e=o.to+1}}return n}function getCurrentLine(e){var t=e.selection.main.head;return e.doc.lineAt(t)}function numColumns(t,i){let r=0;e:for(let e=0;e=t.level&&\"codeOnly\"!==this.markerType?this.set(e,0,i.level):i.empty&&0===i.level&&0!==t.level?this.set(e,0,0):t.level>i.level?this.set(e,0,i.level+1):this.set(e,0,t.level))}closestNonEmpty(e,t){let i=e.number+t;for(;-1===t?1<=i:i<=this.state.doc.lines;){if(this.has(i)){var r=this.get(i);if(!r.empty)return r}var n,o,r=this.state.doc.line(i);if(r.text.trim().length)return n=numColumns(r.text,this.state.tabSize),o=Math.floor(n/this.unitWidth),this.set(r,n,o);i+=t}var s=this.state.doc.line(-1===t?1:this.state.doc.lines);return this.set(s,0,0)}findAndSetActiveLines(){var e=getCurrentLine(this.state);if(this.has(e)){let i=this.get(e);if(this.has(i.line.number+1)&&(e=this.get(i.line.number+1)).level>i.level&&(i=e),0!==(i=this.has(i.line.number-1)&&(e=this.get(i.line.number-1)).level>i.level?e:i).level){i.active=i.level;let e,t;for(e=i.line.number;1e.decorations})]}var tabSizePlugin=()=>{return(new Compartment).of(EditorState.tabSize.of(config_default.tabSize()))},tab_size_default=tabSizePlugin;function fontSizeExt_default(){return EditorView.theme({\"&.cm-editor\":{fontSize:config_default.fontsize()}})}function generateColors(){return[\"red\",\"orange\",\"green\",\"blue\",\"indigo\",\"violet\"]}var rainbowBracketsPlugin2=ViewPlugin.fromClass(class{constructor(e){this.decorations=this.getBracketDecorations(e)}update(e){(e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.getBracketDecorations(e.view))}getBracketDecorations(e){var t=e.state[\"doc\"],i=[],r=[],n=generateColors();for(let a=0;ae.from-t.from||e.startSide-t.startSide),Decoration.set(i)}getMatchingBracket(e){switch(e){case\")\":return\"(\";case\"]\":return\"[\";case\"}\":return\"{\";default:return null}}},{decorations:e=>e.decorations});function rainbowBrackets(){return[rainbowBracketsPlugin2,EditorView.baseTheme({\".rainbow-bracket-red\":{color:\"red\"},\".rainbow-bracket-red > span\":{color:\"red\"},\".rainbow-bracket-orange\":{color:\"orange\"},\".rainbow-bracket-orange > span\":{color:\"orange\"},\".rainbow-bracket-yellow > span\":{color:\"yellow\"},\".rainbow-bracket-green\":{color:\"green\"},\".rainbow-bracket-green > span\":{color:\"green\"},\".rainbow-bracket-blue\":{color:\"blue\"},\".rainbow-bracket-blue > span\":{color:\"blue\"},\".rainbow-bracket-indigo\":{color:\"indigo\"},\".rainbow-bracket-indigo > span\":{color:\"indigo\"},\".rainbow-bracket-violet\":{color:\"violet\"},\".rainbow-bracket-violet > span\":{color:\"violet\"}})]}function cme(r){var e;return[indentationMarkers({thickness:2,hideFirstIndent:!1,markerType:\"codeOnly\"}),dropCursor(),tab_size_default(),fontSizeExt_default(),indentUnit.of(\"\\t\"),Prec.high(EditorView.domEventHandlers({drop(e,t){return r.dragCancel=!1,r.handleDropEvent(e,t)},dragstart(e,t){return!(r.dragCancel=!0)},dragenter(e,t){var i;return r.dragCancel=!0,!(!r.widget.isFileDropEnabled||!($tw.utils.dragEventContainsFiles(e)||null!=(i=e.dataTransfer)&&i.files.length)||(e.preventDefault(),0))},dragover(e,t){var i;return r.dragCancel=!0,!(!r.widget.isFileDropEnabled||!($tw.utils.dragEventContainsFiles(e)||null!=(i=e.dataTransfer)&&i.files.length)||(e.preventDefault(),0))},dragleave(e,t){return r.dragCancel=!1,!!r.widget.isFileDropEnabled&&(e.preventDefault(),!0)},dragend(e,t){return r.dragCancel=!0,r.widget.isFileDropEnabled,!1},paste(e){return r.widget.isFileDropEnabled?(e.twEditor=!0,r.widget.handlePasteEvent.call(r.widget,e)):!(e.twEditor=!0)},keydown(e,t){return r.handleKeydownEvent(e,t)},focus(e,t){return r.widget.editCancelPopups&&$tw.popup.cancel(0),!1},blur(){return!1}})),tooltips({parent:null==(e=r.domNode.ownerDocument)?void 0:e.body}),history(),drawSelection({cursorBlinkRate:config_default.cursorBlinkRate()}),EditorState.allowMultipleSelections.of(!0),indentOnInput(),syntaxHighlighting(defaultHighlightStyle,{fallback:!0}),autocomplete_default(),rectangularSelection(),crosshairCursor(),highlightSelectionMatches(),rainbowBrackets(),EditorView.lineWrapping,EditorView.contentAttributes.of({tabindex:r.widget.editTabIndex||\"\"}),EditorView.contentAttributes.of({spellcheck:config_default.spellcheck()}),EditorView.contentAttributes.of({autocorrect:config_default.autocorrect()}),EditorView.contentAttributes.of({translate:\"yes\"===$tw.wiki.getTiddlerText(\"$:/state/codemirror-6/translate/\"+r.widget.editTitle)?\"yes\":\"no\"}),EditorView.perLineTextDirection.of(!0),EditorView.updateListener.of(e=>{var t=r.cm;t.composing||e.docChanged&&(t=t.state.doc.toString(),r.widget.saveChanges(t))})]}var CodeMirrorEngine=class{constructor(e={}){this.cme=[],this.dragCancel=!1,this.widget=e.widget,this.parentNode=e.parentNode,this.nextSibling=e.nextSibling,this.domNode=this.widget.document.createElement(\"div\"),this.parentNode.insertBefore(this.domNode,this.nextSibling),this.widget.domNodes.push(this.domNode),this.domNode.className=this.widget.editClass||\"\",this.domNode.style.display=\"inline-block\",this.cme=cme(this),inlineSuggestionExt(this),updateExtensions(this.cme,this.widget),miniMapExt(this.cme),mode_default(e.type,this.cme,this.widget,this),this.state=EditorState.create({doc:e.value,extensions:this.cme}),this.cm=new EditorView({parent:this.domNode,state:this.state})}handleDropEvent(e,t){var i;return this.widget.isFileDropEnabled?!!($tw.utils.dragEventContainsFiles(e)||null!=(i=e.dataTransfer)&&i.files.length)&&(i=t.posAtCoords({x:e.clientX,y:e.clientY},!1),t.dispatch({selection:{anchor:i,head:i}}),e.preventDefault(),!0):(e.stopPropagation(),!1)}handleDragEnterEvent(e){return!1}handleKeydownEvent(i,e){if($tw.keyboardManager.handleKeydownEvent(i,{onlyPriority:!0}))return!(this.dragCancel=!1);if(!(\"Escape\"!==i.key||i.ctrlKey||i.shiftKey||i.altKey||i.metaKey||\"active\"!==completionStatus(this.cm.state)))return i.stopPropagation(),!1;let t=this.widget;for(var r=[];t;)\"keyboard\"===t.parseTreeNode.type&&r.push(t),t=t.parentWidget;if(0 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icon.svg.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icon.svg.meta new file mode 100644 index 00000000..4ca9d495 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icon.svg.meta @@ -0,0 +1,2 @@ +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/icon +type: image/svg+xml \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icons_editor.svg b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icons_editor.svg new file mode 100644 index 00000000..70ba90f1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icons_editor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icons_editor.svg.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icons_editor.svg.meta new file mode 100644 index 00000000..1aed199b --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icons_editor.svg.meta @@ -0,0 +1,2 @@ +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/icons/editor +type: image/svg+xml \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icons_redo.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icons_redo.tid new file mode 100644 index 00000000..efebaf03 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icons_redo.tid @@ -0,0 +1,3 @@ +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/icons/redo + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icons_undo.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icons_undo.tid new file mode 100644 index 00000000..ed8a3440 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_icons_undo.tid @@ -0,0 +1,3 @@ +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/icons/undo + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_macros_colour-extend.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_macros_colour-extend.tid new file mode 100644 index 00000000..669a13d3 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_macros_colour-extend.tid @@ -0,0 +1,6 @@ +tags: $:/tags/Global +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/macros/colour-extend + +\procedure colour-extend(name,tiddler:"") +<$transclude tiddler={{{ [!is[blank]] ~[{$:/palette}addsuffix[/extend]] }}} index=<>/> +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_redo.js b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_redo.js new file mode 100644 index 00000000..7ce0c3ef --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_redo.js @@ -0,0 +1 @@ +!function(){"use strict";exports.redo=function(e,t){t instanceof Array&&(t.splice(0,t.length),t.type="redo")}}(); \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_redo.js.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_redo.js.meta new file mode 100644 index 00000000..eb215e04 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_redo.js.meta @@ -0,0 +1,3 @@ +module-type: texteditoroperation +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/modules/editor/operations/text/redo.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_search.js b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_search.js new file mode 100644 index 00000000..c1057f64 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_search.js @@ -0,0 +1 @@ +!function(){"use strict";exports.search=function(e,t){t instanceof Array&&(t.splice(0,t.length),t.type="search")}}(); \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_search.js.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_search.js.meta new file mode 100644 index 00000000..e464182e --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_search.js.meta @@ -0,0 +1,3 @@ +module-type: texteditoroperation +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/modules/editor/operations/text/search.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_undo.js b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_undo.js new file mode 100644 index 00000000..d29df190 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_undo.js @@ -0,0 +1 @@ +!function(){"use strict";exports.undo=function(n,t){t instanceof Array&&(t.splice(0,t.length),t.type="undo")}}(); \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_undo.js.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_undo.js.meta new file mode 100644 index 00000000..54b8a7fb --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_editor_operations_text_undo.js.meta @@ -0,0 +1,3 @@ +module-type: texteditoroperation +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/modules/editor/operations/text/undo.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_dropzone.js b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_dropzone.js new file mode 100644 index 00000000..ab128c78 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_dropzone.js @@ -0,0 +1 @@ +!function(){"use strict";exports.baseClass="dropzone",exports.constructor=function(t,e){this.initialise(t,e)},exports.prototype={},exports.prototype.handleDragEnterEvent=function(t){return!$tw.dragInProgress&&(t.preventDefault(),t.stopPropagation(),!(this.filesOnly&&!$tw.utils.dragEventContainsFiles(t)))&&void this.enterDrag(t)}}(); \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_dropzone.js.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_dropzone.js.meta new file mode 100644 index 00000000..84e81bd7 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_dropzone.js.meta @@ -0,0 +1,3 @@ +module-type: widget-subclass +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/modules/subclasses/dropzone.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_editor_edit-text.js b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_editor_edit-text.js new file mode 100644 index 00000000..c7ea8001 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_editor_edit-text.js @@ -0,0 +1 @@ +!function(){"use strict";exports.baseClass="edit-codemirror-6",exports.constructor=function(t,e){this.initialise(t,e)},exports.prototype={},exports.prototype.execute=function(){this.editType=this.getAttribute("type"),Object.getPrototypeOf(Object.getPrototypeOf(this)).execute.call(this)},exports.prototype.handleEditTextOperationMessage=function(t){var e=this.engine.createTextOperation(t.param),i=this.editorOperations[t.param],i=(i&&i.call(this,t,e),this.engine.executeTextOperation(e));this.engine.fixHeight(),this.saveChanges(i)},exports.prototype.handlePasteEvent=function(t){return!!(t.clipboardData&&t.clipboardData.files&&t.clipboardData.files.length)&&(t.preventDefault(),t.stopPropagation(),this.dispatchDOMEvent(this.cloneEvent(t,["clipboardData"])),!0)},exports.prototype.refresh=function(t){var e=this.computeAttributes();if(Object.keys(t).some(t=>t.startsWith("$:/config/codemirror-6"))||e.type)return this.refreshSelf(),!0;Object.getPrototypeOf(Object.getPrototypeOf(this)).refresh.call(this,t)}}(); \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_editor_edit-text.js.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_editor_edit-text.js.meta new file mode 100644 index 00000000..eea25266 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_editor_edit-text.js.meta @@ -0,0 +1,3 @@ +module-type: widget-subclass +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/modules/subclasses/editor/edit-text.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_editor_edit.js b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_editor_edit.js new file mode 100644 index 00000000..75527212 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_editor_edit.js @@ -0,0 +1 @@ +!function(){"use strict";exports.baseClass="edit",exports.constructor=function(t,e){this.initialise(t,e)},exports.prototype={},exports.prototype.execute=function(){this.editType=this.getAttribute("type"),Object.getPrototypeOf(Object.getPrototypeOf(this)).execute.call(this)},exports.prototype.getEditorType=function(){"text"===this.editField&&(e=this.wiki.getTiddler(this.editTitle))&&(t=e.fields.type);var t,e=this.wiki.getTiddlerText("$:/config/EditorTypeMappings/"+(t=t||"text/vnd.tiddlywiki"));return e=e?e:(t=$tw.config.contentTypeInfo[t])&&"base64"===t.encoding?"binary":"text"},exports.prototype.refresh=function(t){if(this.computeAttributes().type||this.getEditorType()!==this.editorType)return this.refreshSelf(),!0;Object.getPrototypeOf(Object.getPrototypeOf(this)).refresh.call(this,t)}}(); \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_editor_edit.js.meta b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_editor_edit.js.meta new file mode 100644 index 00000000..7d4d27db --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_modules_subclasses_editor_edit.js.meta @@ -0,0 +1,3 @@ +module-type: widget-subclass +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/modules/subclasses/editor/edit.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_readme.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_readme.tid new file mode 100644 index 00000000..a8312734 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_readme.tid @@ -0,0 +1,75 @@ +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/readme + + +version + + +
+ +
+ +[[Demo|https://oeyoews.github.io/tiddlywiki-codemirror6/#%24%3A%2Fplugins%2Foeyoews%2Ftiddlywiki-codemirror-6]] + + +!! Features + +* Autocomplete preview(include image) +* Support load snippet module +* Minmap, vimmode, word count, rainbow brackets, codeblock highlight +* Custom placeholder, tabsize, mincompletion length + +!! Completions + +* `/` to get snippets +* `[[` or `{{` to get tiddlers +* `:` to get emojis +* `[img[` to get images +* `<$` to get widgets +* `//` to change tiddler type +* `#` to insert tags +* `@#` to setup codemirror6 + +!! Tips + +* Emoji complete need install [[$:/plugins/oeyoews/tiddlywiki-cmp-emoji]] plugin +* If you hope add your custom snippets, your can write a simple plugin module(module-type: snippets). +* Presss tab to accept current completion +* Prese `ctrl + /` to comment line(non vimmode) +* vimmode: `"+y`(copy to system clipboard) +* vimmode: `"+p`(paste system clipboard to editor) + +!! Can be removed plugins + +* Cm5 series plugins +* Autolist plugin +* Autocomplete plugin +* Insert current time plugin +* Emoji button plugin +* Chars button plugin +* ... + +!! Proposal + +> Zero Js, Pure Wikitext. + +Incorporating code snippets into plugins for widgets, macros, and templates can significantly enhance user convenience. For instance, the kookma plugin showcases numerous example codes, encompassing macros, styles, and frequently used snippets that can be transformed into code snippets. + +The codemirror6 plugin, in particular, could seamlessly load these code snippets while also accommodating placeholders. Additionally, users could share their frequently used code snippets, fostering a collaborative and supportive community. These snippets could even be packaged separately as plugins, such as zero-js or pure wikitext. This approach would undoubtedly streamline the coding process and contribute to a more efficient and user-friendly experience. + +[[example|https://github.com/oeyoews/tiddlywiki-codemirror6/blob/main/src/tiddlywiki-snippets/tiddlers/general/toc01.tid]] + +!! Motivation + +* Hope to unify codemirror plugins, without having to install more than a dozen codemirror plug-ins, or interface errors caused by the lack of certain plug-ins. +* The completion of the codemirror enhancement plug-in sometimes causes the interface to freeze. +* Better support for code snippets +* Better markdown editing experience + +If you like the plugin, feel free to leave me a star on [ext[GitHub|https://github.com/oeyoews/tiddlywiki-codemirror6]] + + +!! Credits + +> BurningTreeC's tiddlywiki codemirror-6 plugin \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_styles.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_styles.tid new file mode 100644 index 00000000..6170ddd1 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_styles.tid @@ -0,0 +1,535 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/styles + +\define make-editor-fullscreen() + +body { + overflow: hidden; +} + +.tc-tiddler-edit-frame[data-tiddler-title="$(cssEscapedTitle)$"] { + position: fixed; + top: 0; + left: 0; + height: 100vh; + width: 100vw; + + z-index: 1; +} + +.tc-tiddler-edit-frame[data-tiddler-title="$(cssEscapedTitle)$"] .tc-dropzone-editor { + position: fixed; + top: 0; + left: 0; + height: 100vh; + width: 100vw; + z-index: 1000; + background-color: <>; +} + +.tc-tiddler-edit-frame[data-tiddler-title="$(cssEscapedTitle)$"] .tc-dropzone-editor > div > div:not(.tc-tiddler-preview) > .tc-edit-texteditor { + overflow-y: auto; +} + +.tc-tiddler-edit-frame[data-tiddler-title="$(cssEscapedTitle)$"] .tc-dropzone-editor > div > div.tc-tiddler-preview > .tc-edit-texteditor { + overflow-y: auto; +} + +.tc-tiddler-edit-frame .tc-dropzone-editor > div > div.tc-tiddler-preview > .tc-tiddler-preview-preview { + overflow-y: auto; +} + +.tc-tiddler-edit-frame[data-tiddler-title="$(cssEscapedTitle)$"] .tc-dropzone-editor > div, .tc-tiddler-edit-frame[data-tiddler-title="$(cssEscapedTitle)$"] .tc-dropzone-editor > div > div.tc-tiddler-preview, +.tc-tiddler-edit-frame[data-tiddler-title="$(cssEscapedTitle)$"] .tc-dropzone-editor > div > div:not(.tc-tiddler-preview), .tc-tiddler-edit-frame[data-tiddler-title="$(cssEscapedTitle)$"] .tc-dropzone-editor > div > div > div .cm-editor { + height: 100%; +} + +\end + +.cm-editor { + + color-scheme: {{{ [[$:/palette]get[text]!is[blank]] ~[[$:/palettes/vanilla]] +[get[color-scheme]] ~light }}}; +} + + + +.cm-content { + caret-color: <> !important; +} + +.cm-scroller { + font-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}} !important; +} + +.cm-editor ::selection, .cm-editor.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection { + + + color: <> !important; +} + +.cm-cursor, .cm-dropCursor { + border-left-color: <> !important; +} + +.cm-cursor, .cm-dropCursor { + border-left: {{$:/config/codemirror-6/cursor-thickness}} solid !important; +} + +.cm-activeLine, .cm-activeLineGutter { + background-color: <> !important; + color: <>; +} + +.cm-gutters { + + background-color: <> !important; + background-color: transparent !important; + color: <> !important; + border: none !important; +} + +.cm-panels { + background-color: <> !important; + color: <> !important; +} + +.cm-panels button[name="close"] { + font-size: 25px !important; + cursor: pointer !important; +} + +.cm-panels.cm-panels-top: { + border-bottom: 2px solid <>; +} + +.cm-panels.cm-panels-bottom { + border-top: 0px solid <> !important; +} + +.cm-searchMatch { + background-color: <> !important; + outline: 1px solid <> !important; +} + +.cm-searchMatch.cm-searchMatch-selected { + +} + +.cm-selectionMatch { + +} + +.cm-editor.cm-focused .cm-matchingBracket, .cm-editor.cm-focused .cm-nonmatchingBracket { + outline: 1px solid <> !important; +} + + + +.cm-tooltip-autocomplete > ul > li { + font-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}} !important; + overflow: hidden; +} + +.cm-tooltip-autocomplete > ul > li[aria-selected], .cm-tooltip-autocomplete > ul > li:hover { + background-color: <> !important; + color: <> !important; +} + + + + + +.cm-foldPlaceholder { + background-color: transparent !important; + border: none !important; + color: <> !important; +} + +<$list filter="[{$:/config/TextEditor/EditorHeight/Mode}match[fixed]]" variable="ignore"> + +.cm-editor { + height: {{$:/config/TextEditor/EditorHeight/Height}}; +} + + + +<$list filter="[{$:/config/codemirror-6/rtl}match[yes]]" variable="ignore"> + +.cm-editor { + direction: rtl; +} + + + +@media(max-width:800px) { + .tc-editor-toolbar button.tc-btn-invisible:not(.tc-text-editor-toolbar-item-adjunct) { + border-radius: 0px; + padding: 6px; + } +} + +<$list filter="[all[tiddlers]prefix[$:/state/codemirror-6/fullscreen]] :filter[get[text]match[yes]] +[limit[1]]" variable="fullscreenStateTiddler"> + +<$let fullscreenTiddler={{{ [removeprefix[$:/state/codemirror-6/fullscreen/]] }}} cssEscapedTitle={{{ [escapecss[]] }}}> + + + +<% if [!is[missing]] %> + <> +<% endif %> + + + + + +.tc-tiddler-editor { + display: grid; +} + +.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview { + grid-template-areas: + "toolbar toolbar" + "editor preview"; + grid-template-columns: 1fr 1fr; + grid-template-rows: auto 1fr; +} + +.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview-hidden { + grid-template-areas: + "toolbar" + "editor"; + grid-template-columns: 1fr; + grid-template-rows: auto 1fr; +} + +.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview .tc-tiddler-preview-preview { + grid-area: preview; + width: calc(100% - 3px); + overflow-wrap: anywhere; + word-break: normal; + border: 1px solid <>; + margin: 4px 0 3px 3px; + padding: 3px 3px 3px 3px; +} + +.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview .tc-edit-texteditor, +.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview-hidden .tc-edit-texteditor { + grid-area: editor; + width: 100%; +} + +.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview canvas.tc-edit-bitmapeditor, +.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview-hidden canvas.tc-edit-bitmapeditor { + grid-area: editor; + max-width: 100%; +} + +.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview .tc-editor-toolbar, +.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview-hidden .tc-editor-toolbar { + grid-area: toolbar; +} + +/** checkbox switches start **/ +/** https://www.w3schools.com/howto/howto_css_switch.asp **/ +/* The switch - the box around the slider */ +label.btcui-form-switch { + position: relative; + display: inline-block; + width: 36px; + height: 12px; +} + +/* Hide default HTML checkbox */ +label.btcui-form-switch input { + opacity: 0; + width: 0; + height: 0; +} + +/* The slider */ +label.btcui-form-switch span { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: <>; + -webkit-transition: .2s; + transition: .2s; +} + +label.btcui-form-switch span:before { + position: absolute; + content: ""; + height: 20px; + width: 20px; + left: -1px; + top: -4px; + bottom: 4px; + background-color: <>; + -webkit-transition: .2s; + transition: .2s; + box-shadow: 0 1px 3px 0 rgba(0,0,0,0.7); +} + +label.btcui-form-switch input:checked + span { + background-color: rgba(26,115,232,0.5); +} + +label.btcui-form-switch input:checked + span:before { + background-color: rgb(26,115,232); + opacity: 1; +} + +label.btcui-form-switch input:focus + span { + box-shadow: 0 0 1px #2196F3; +} + +label.btcui-form-switch input:checked + span:before { + -webkit-transform: translateX(17px); + -ms-transform: translateX(17px); + transform: translateX(17px); +} + +label.btcui-form-switch span { + border-radius: 12px; +} + +label.btcui-form-switch span:before { + border-radius: 50%; +} + +div.btcui-form-label { + +} + +/*** checkbox switches end ***/ + +/** form select elements **/ +.btcui-form-select { + appearance: none; + background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' fill='%235F6368'%3E%3Cpath d='M0 0h24L12 12z'/%3E%3C/svg%3E") calc(100% - 8px) center no-repeat; + background-color: rgb(241,243,244); + background-size: 10px; + border: none; + border-radius: 4px; + color: rgb(32,33,36); + cursor: pointer; + max-width: 100%; + outline: none; + padding: 6px 21px 6px 8px; +/* width: 200px;*/ +} + +input.btcui-form-input { + border: 1px solid <>; + border-radius: 3px; + background-color: <>; + padding: 6px; + color: <>; +} + +input.btcui-form-input:focus { + outline-color: #ccc; +} + + +.btc-list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + box-sizing: border-box; +} + +.btc-list-group-box-shadow { + box-shadow:1px 1px 5px rgba(0, 0, 0, 0.3); + border-bottom-left-radius: .25rem; + border-bottom-right-radius: .25rem; + border-top-left-radius: .25rem; + border-top-right-radius: .25rem; +} + +.btc-list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + background-color: <>; + border: 1px solid rgba(0,0,0,.125); + width: 100%; + color: #495057; + text-align: inherit; + display: flex; + flex-direction: row; + justify-content: space-between!important; + align-items: center!important; + word-spacing: 0.1em; +} + + +.btc-list-group-item+.btc-list-group-item { + border-top-width: 0; +} + +.btc-list-group-item:first-child { + border-top-left-radius: .25rem; + border-top-right-radius: .25rem; +} + +.btc-list-group-item:last-child { + border-bottom-left-radius: .25rem; + border-bottom-right-radius: .25rem; +} + +.btc-list-stream-settings { + font-size: 90%; +} + +input.btc-search-input { + display: block; + width: 100%; + height: calc(1.5em + .75rem + 2px); + padding: .375rem .75rem; + font-size: 0.8rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: <>; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: .25rem; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; + margin-bottom: 0.75em; +} + +input.btc-search-input:focus { +color: #495057; + background-color: <>; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25); +} + +.cm-button { + background-image: none !important; + border-radius: 2px; + border: none !important; + user-select: none; + cursor: pointer; +} + +.cm-completionIcon-cm-snippet:after { + + content: url('data:image/svg+xml,%3Csvg%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20viewBox%3D%220%200%2016%2016%22%20height%3D%2216%22%20width%3D%2216%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M14.45%204.5l-5-2.5h-.9l-7%203.5-.55.89v4.5l.55.9%205%202.5h.9l7-3.5.55-.9v-4.5l-.55-.89zm-8%208.64l-4.5-2.25V7.17l4.5%202v3.97zm.5-4.8L2.29%206.23l6.66-3.34%204.67%202.34-6.67%203.11zm7%201.55l-6.5%203.25V9.21l6.5-3v3.68z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E'); + vertical-align: middle; +} + +.cm-completionIcon-cm-word:after { + vertical-align: middle; + content: url("data:image/svg+xml,%3Csvg%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20viewBox%3D%220%200%2016%2016%22%20height%3D%2216%22%20width%3D%2216%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11%206h-1v-.5a.5.5%200%200%200-.5-.5H8.479v5.5a.5.5%200%200%200%20.5.5h.5v1h-3v-1h.5a.5.5%200%200%200%20.5-.5V5H6.5a.5.5%200%200%200-.5.5V6H5V4h6v2zm2.914%202.048l-1.462-1.462.707-.707%201.816%201.816v.707l-1.768%201.767-.707-.707%201.414-1.414zM3.548%209.462L2.086%208%203.5%206.586l-.707-.707-1.768%201.767v.708l1.816%201.815.707-.707z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E") + +} + + +.cm-completionIcon-cm-widget:after { + content: '𝓌'; +} + +.cm-completionIcon-cm-image:after { + content: '𝒊️ '; +} + +.cm-completionIcon-cm-tiddler:after { + + vertical-align: middle; + content: url('data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20class%3D%22tc-image-home-button%20tc-image-button%22%20viewBox%3D%220%200%20128%20128%22%20version%3D%221.1%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cg%3E%0A%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M0%200L128%200L128%20128L0%20128L0%200Z%22%20id%3D%22Background%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%20stroke%3D%22none%22%2F%3E%0A%20%20%20%20%20%20%20%20%3Cg%20clip-path%3D%22url(%23mask_1)%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M114.476%2039.6C118.316%2026.8%20116.396%2011.44%20100.716%208.56001C89.196%206.32001%2080.876%2012.72%2073.516%2021.04C64.876%2030.96%2057.196%2042.8%2045.676%2049.52C34.476%2056.24%206.63596%2057.84%205.35596%2039.92C4.71596%2028.72%2012.716%2016.24%2019.436%207.92C21.676%205.04%2017.516%200.880004%2015.276%203.76C3.75596%2018.16%20-11.604%2047.92%2013.676%2057.2C27.116%2062.32%2042.476%2059.76%2053.676%2050.8C64.236%2042.8%2071.276%2031.28%2080.556%2022C85.356%2016.88%2090.476%2012.72%2097.836%2013.68C110.956%2015.28%20111.916%2026.8%20108.716%2037.68C108.396%2037.68%20108.396%2038%20108.076%2038C94.316%2048.56%20128.876%2050.8%20114.476%2039.6Z%22%20id%3D%22fishthread%22%20style%3D%22fill%3Ared%22%20fill-rule%3D%22evenodd%22%20stroke%3D%22none%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%20id%3D%22fish%22%20transform%3D%22translate(17.119965%2032.21466)%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M108.32%2051.6253C108.32%2051.3053%20108%2051.3053%20108%2050.9853C113.44%2034.9853%20111.84%2017.3853%2097.44%206.18534C97.6322%205.54471%2094.7198%20-6.07014%2091.68%204.26533C91.68%204.26533%2091.68%204.26533%2091.68%204.26533C91.36%204.26533%2091.36%204.58533%2091.04%204.58533C77.28%2015.1453%2066.4%2027.6253%2061.6%2043.6253C61.28%2043.6253%2060.64%2043.9453%2060.32%2043.9453C52.96%2048.1053%2046.56%2054.8253%2045.92%2063.4653C45.6%2066.0253%2048.48%2066.6653%2050.4%2066.0253C52.96%2064.7453%2055.52%2064.1053%2058.08%2063.4653C56.48%2072.7453%2052.96%2081.7053%2043.68%2075.3053C38.24%2071.7853%2035.36%2063.7853%2034.4%2058.0253C34.08%2055.4653%2030.24%2053.5453%2028.96%2056.4253C27.04%2061.2253%2025.76%2066.3453%2025.44%2071.1453C18.4%2071.4653%209.76%2065.0653%204.32%2061.5453C2.72%2060.5853%201.12%2061.2253%200.479998%2062.8253C-0.16%2063.7853%20-0.16%2064.7453%200.479998%2065.7053C7.52%2076.2653%2017.44%2086.5053%2029.28%2090.9853C46.56%2098.0253%2068.32%2091.9453%2083.36%2082.0253C85.6%2080.4253%2087.84%2078.8253%2089.76%2076.9053C93.6%2076.5853%2097.44%2078.8253%2099.68%2082.0253C100.64%2083.3053%20102.24%2083.9453%20103.52%2082.9853L104.48%2082.0253C110.56%2073.3853%20113.44%2061.5453%20108.32%2051.6253L108.32%2051.6253Z%22%20id%3D%22Shape%22%20stroke%3D%22none%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M53.28%2058.6653C54.88%2055.7853%2057.12%2053.2253%2059.68%2051.3053C59.36%2052.9053%2059.04%2055.1453%2059.04%2057.3853L58.4%2057.3853C56.8%2057.7053%2055.2%2058.0253%2053.28%2058.6653L53.28%2058.6653ZM102.24%2075.9454C100.32%2074.3454%2098.08%2073.0654%2095.52%2072.4254C99.04%2068.2654%20102.24%2063.7854%20104.48%2058.9854C106.08%2064.4254%20104.48%2070.5053%20102.24%2075.9454L102.24%2075.9454Z%22%20id%3D%22Shape%22%20fill-rule%3D%22evenodd%22%20stroke%3D%22none%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E'); + } + +.cm-completionIcon-cm-emoji:after { + content: '𝓮'; +} + +.cm-completionIcon-cm-tag:after { + vertical-align: middle; + content: url('data:image/svg+xml,%3Csvg%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20viewBox%3D%220%200%20448%20512%22%20height%3D%2216%22%20width%3D%2216%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M440.667%20182.109l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l14.623-81.891C377.123%2038.754%20371.468%2032%20363.997%2032h-40.632a12%2012%200%200%200-11.813%209.891L296.175%20128H197.54l14.623-81.891C213.477%2038.754%20207.822%2032%20200.35%2032h-40.632a12%2012%200%200%200-11.813%209.891L132.528%20128H53.432a12%2012%200%200%200-11.813%209.891l-7.143%2040C33.163%20185.246%2038.818%20192%2046.289%20192h74.81L98.242%20320H19.146a12%2012%200%200%200-11.813%209.891l-7.143%2040C-1.123%20377.246%204.532%20384%2012.003%20384h74.81L72.19%20465.891C70.877%20473.246%2076.532%20480%2084.003%20480h40.632a12%2012%200%200%200%2011.813-9.891L151.826%20384h98.634l-14.623%2081.891C234.523%20473.246%20240.178%20480%20247.65%20480h40.632a12%2012%200%200%200%2011.813-9.891L315.472%20384h79.096a12%2012%200%200%200%2011.813-9.891l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l22.857-128h79.096a12%2012%200%200%200%2011.813-9.891zM261.889%20320h-98.634l22.857-128h98.634l-22.857%20128z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E'); +} + +.cm-completionIcon-cm-macro:after { + content: '𝓂'; +} + +.cm-completionDetail { + font-style: normal !important; +} + +.cm-autocomplete-tooltip { + border-radius: 4px; + border: none !important; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08); + padding-top: 4px; + z-index: 10001 !important; + +} + +.cm-autocomplete-option { + border-radius: 2px !important; + margin: 2px 4px; + z-index: 10001 !important; +} + + + +.cm-completionInfo { + border: none !important; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08); + border-radius: 4px; + margin-left: 2px; + z-index: 10001 !important; +} + + +.cm-image-preview { + overflow: auto; + width: 400px; + max-height: 300px; + border-radius: 4px !important; + padding-right: 8px; + z-index: 10001; +} + + +.tc-tiddler-preview { + grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; +} + + + + +.cm-completionIcon-cm-settings:after { + content: '𝒔'; +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_ControlPanel_settings.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_ControlPanel_settings.tid new file mode 100644 index 00000000..309fa412 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_ControlPanel_settings.tid @@ -0,0 +1,30 @@ +caption: [img width=16 [$:/plugins/oeyoews/tiddlywiki-codemirror-6/icon]] Codemirror 6 +class: o-tm +mask-closable: yes +subtitle: {{||$:/esc}} +tags: $:/tags/ControlPanel +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/ControlPanel/settings + +\define sortBySettingsGroupFilter() +[get[settings-group]!is[blank]else[!general]] [get[settings-group-header]!is[blank]else[99]] +[join[]] +\end + + +Your codemirror6 config tiddlers: <$count filter="[prefix[$:/config/codemirror-6]] "/> (<$count filter="[all[tiddlers+shadows]prefix[$:/config/codemirror-6]]"/>) + +Config Language: <$select tiddler="$:/config/codemirror6/language" tooltip='change codemirror6 config language'> + + + + +<$edit-text tiddler="$:/state/codemirror-6/settings/search" class="btc-search-input" default="" tag="input" type="search" placeholder="search..." focus="yes"/> + +
+<$list filter="[all[shadows+tiddlers]prefix[$:/config/codemirror-6/]has[settings-template]] +[search:title,caption,description{$:/state/codemirror-6/settings/search}] +[sortsub]"> +<$list filter={{{[{!!condition}!is[blank]] :else[{!!title}]}}} variable="list-condition"> +
+<$transclude tiddler={{!!settings-template}}/> +
+ + +
\ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_fullscreen.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_fullscreen.tid new file mode 100644 index 00000000..56e878f4 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_fullscreen.tid @@ -0,0 +1,13 @@ +caption: Fullscreen +condition: [] +description: toggle the fullscreen view of the editor +icon: $:/core/images/full-screen-button +shortcuts: ((editor-fullscreen)) +tags: $:/tags/EditorToolbar +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/EditorToolbar/fullscreen + +<$list filter="[[$:/state/codemirror-6/fullscreen/]addsuffixis[missing]] [[$:/state/codemirror-6/fullscreen/]addsuffixget[text]match[no]]" emptyMessage=""" +<$action-setfield $tiddler={{{ [[$:/state/codemirror-6/fullscreen/]addsuffix] }}} text="no"/> +"""> +<$action-setfield $tiddler={{{ [[$:/state/codemirror-6/fullscreen/]addsuffix] }}} text="yes"/> + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_redo.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_redo.tid new file mode 100644 index 00000000..000743b9 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_redo.tid @@ -0,0 +1,11 @@ +caption: Redo +condition: [!has[type]] [get[type]!prefix[image/]] [get[type]match[image/svg+xml]] +description: redo the last edit / text operation +icon: $:/plugins/oeyoews/tiddlywiki-codemirror-6/icons/redo +tags: $:/tags/EditorToolbar +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/EditorToolbar/redo + +<$action-sendmessage + $message="tm-edit-text-operation" + $param="redo" +/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_search.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_search.tid new file mode 100644 index 00000000..f6b27f99 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_search.tid @@ -0,0 +1,11 @@ +caption: Search +condition: [!has[type]] [get[type]!prefix[image/]] [get[type]match[image/svg+xml]] +description: toggle the visibility of the search panel +icon: $:/core/images/advanced-search-button +tags: $:/tags/EditorToolbar +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/EditorToolbar/search + +<$action-sendmessage + $message="tm-edit-text-operation" + $param="search" +/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_toggleEditor.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_toggleEditor.tid new file mode 100644 index 00000000..2470a0e4 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_toggleEditor.tid @@ -0,0 +1,19 @@ +caption: Toggle Editor +condition: [!has[type]] [get[type]!prefix[image/]] [get[type]match[image/svg+xml]] +custom-icon: yes +description: toggle editor +icon: $:/plugins/oeyoews/tiddlywiki-codemirror-6/icon +tags: $:/tags/EditorToolbar +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/EditorToolbar/toggleEditor + +\whitespace trim + +[img width=18 [$:/plugins/oeyoews/tiddlywiki-codemirror-6/icon]] + +<$let + type={{{ [get[type]else[text/vnd.tiddlywiki]] }}} + configTitle=`$:/config/EditorTypeMappings/$(type)$` + currentEditor={{{ [get[text]] }}} +> + <$action-setfield $tiddler=<> text={{{ [match[codemirror-6]] :then[[text]] :else[[codemirror-6]] }}} /> + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_translate.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_translate.tid new file mode 100644 index 00000000..bced9596 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_translate.tid @@ -0,0 +1,7 @@ +condition: [{$:/config/codemirror-6/translate}match[yes]then!has[type]] [{$:/config/codemirror-6/translate}match[yes]thenget[type]!prefix[image/]] [{$:/config/codemirror-6/translate}match[yes]thenget[type]match[image/svg+xml]] +tags: $:/tags/EditorTools +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/EditorToolbar/translate + +
+<$checkbox tiddler={{{ [[$:/state/codemirror-6/translate/]addsuffix] }}} field="text" checked="yes" unchecked="no"> //translate// +
\ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_undo.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_undo.tid new file mode 100644 index 00000000..c074e450 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_EditorToolbar_undo.tid @@ -0,0 +1,11 @@ +caption: Undo +condition: [!has[type]] [get[type]!prefix[image/]] [get[type]match[image/svg+xml]] +description: undo the last edit / text operation +icon: $:/plugins/oeyoews/tiddlywiki-codemirror-6/icons/undo +tags: $:/tags/EditorToolbar +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/EditorToolbar/undo + +<$action-sendmessage + $message="tm-edit-text-operation" + $param="undo" +/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_templates_settings_input-switch.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_templates_settings_input-switch.tid new file mode 100644 index 00000000..2572d313 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_templates_settings_input-switch.tid @@ -0,0 +1,16 @@ +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input-switch + + + + +<$checkbox field="text" checked="yes" unchecked="no" class="btcui-form-switch"/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_templates_settings_input.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_templates_settings_input.tid new file mode 100644 index 00000000..ee8b9068 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_templates_settings_input.tid @@ -0,0 +1,15 @@ +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/input + + + +<$edit-text tag="input" class="btcui-form-input"/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_templates_settings_select.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_templates_settings_select.tid new file mode 100644 index 00000000..06b0f4ac --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_ui_templates_settings_select.tid @@ -0,0 +1,11 @@ +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/ui/templates/settings/select + + +<$vars cnt={{{[enlist{!!option-names}count[]]}}}> +<$select class="btcui-form-select"> +<$list filter="[range]" variable="index"> + + + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_usage.tid b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_usage.tid new file mode 100644 index 00000000..3eb740f9 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/$__plugins_oeyoews_tiddlywiki-codemirror-6_usage.tid @@ -0,0 +1,58 @@ +title: $:/plugins/oeyoews/tiddlywiki-codemirror-6/usage + +!! Keyboard shortcuts + +> Note that any ~TiddlyWiki global keyboard shortcut or keyboard shortcut defined in a surrounding keyboard widget gets precedence + +""" +''Ctrl-f(or F3)'': show search panel +''Alt-shift-f'': editor fullscreen + +''Ctrl-j'': next completion +''Ctrl-k'': prev completion +''Ctrl-c(or Escape)'': close completion +''Tab'': accept current completion, or next placeholder +''ArrowLeft'': cursorCharLeft (selectCharLeft with Shift) +''ArrowRight'': cursorCharRight (selectCharRight with Shift) +''Ctrl-ArrowLeft'' (Alt-ArrowLeft on macOS): cursorGroupLeft (selectGroupLeft with Shift) +''Ctrl-ArrowRight'' (Alt-ArrowRight on macOS): cursorGroupRight (selectGroupRight with Shift) +''Cmd-ArrowLeft'' (on macOS): cursorLineStart (selectLineStart with Shift) +''Cmd-ArrowRight'' (on macOS): cursorLineEnd (selectLineEnd with Shift) +''ArrowUp'': cursorLineUp (selectLineUp with Shift) +''ArrowDown'': cursorLineDown (selectLineDown with Shift) +''Cmd-ArrowUp'' (on macOS): cursorDocStart (selectDocStart with Shift) +''Cmd-ArrowDown'' (on macOS): cursorDocEnd (selectDocEnd with Shift) +''Ctrl-ArrowUp'' (on macOS): cursorPageUp (selectPageUp with Shift) +''Ctrl-ArrowDown'' (on macOS): cursorPageDown (selectPageDown with Shift) +''PageUp'': cursorPageUp (selectPageUp with Shift) +''PageDown'': cursorPageDown (selectPageDown with Shift) +''Home'': cursorLineBoundaryBackward (selectLineBoundaryBackward with Shift) +''End'': cursorLineBoundaryForward (selectLineBoundaryForward with Shift) +''Ctrl-Home'' (Cmd-Home on macOS): cursorDocStart (selectDocStart with Shift) +''Ctrl-End'' (Cmd-Home on macOS): cursorDocEnd (selectDocEnd with Shift) +''Enter'': insertNewlineAndIndent +''Ctrl-a'' (Cmd-a on macOS): selectAll +''Backspace'': deleteCharBackward +''Delete'': deleteCharForward +''Ctrl-Backspace'' (Alt-Backspace on macOS): deleteGroupBackward +''Ctrl-Delete'' (Alt-Delete on macOS): deleteGroupForward +''Cmd-Backspace'' (macOS): deleteToLineStart. +''Cmd-Delete'' (macOS): deleteToLineEnd. +''Alt-ArrowLeft'' (Ctrl-ArrowLeft on macOS): cursorSyntaxLeft (selectSyntaxLeft with Shift) +''Alt-ArrowRight'' (Ctrl-ArrowRight on macOS): cursorSyntaxRight (selectSyntaxRight with Shift) +''Alt-ArrowUp'': moveLineUp +''Alt-ArrowDow''n: moveLineDown +''Shift-Alt-ArrowUp'': copyLineUp +''Shift-Alt-ArrowDown'': copyLineDown +~~Escape~~: simplifySelection //this is disabled when a surrounding keyboard widget handles it as it does in the default $:/core/ui/EditTemplate // +~~Ctrl-Enter~~ (Cmd-Enter on macOS): insertBlankLine //this is disabled when a surrounding keyboard widget handles it as it does in the default $:/core/ui/EditTemplate // +''Alt-l'' (Ctrl-l on macOS): selectLine +''Ctrl-i'' (Cmd-i on macOS): selectParentSyntax +''Ctrl-['' (Cmd-[ on macOS): indentLess +''Ctrl-]'' (Cmd-] on macOS): indentMore +''Ctrl-Alt-\'' (Cmd-Alt-\ on macOS): indentSelection +''Shift-Ctrl-k'' (Shift-Cmd-k on macOS): deleteLine +''Shift-Ctrl-\'' (Shift-Cmd-\ on macOS): cursorMatchingBracket +''Ctrl-/'' (Cmd-/ on macOS): toggleComment. +''Shift-Alt-a'': toggleBlockComment. +""" \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/plugin.info b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/plugin.info new file mode 100644 index 00000000..6d6668a7 --- /dev/null +++ b/Wiki-OcttKB/plugins/tiddlywiki-codemirror-6/plugin.info @@ -0,0 +1,13 @@ +{ + "core-version": ">=5.3.3", + "dependents": "", + "description": "CodeMirror 6 editor", + "list": "readme usage", + "name": "CodeMirror6", + "plugin-type": "plugin", + "title": "$:/plugins/oeyoews/tiddlywiki-codemirror-6", + "version": "1.4.8", + "Modern.TiddlyDev#SHA256-Hashed": "2a17a2a0e70fa6385bf5ad471dfc1ad882edc0bd4dd27197aaceba0772ee189c", + "revision": "0", + "bag": "default" +} \ No newline at end of file diff --git a/Wiki-OcttKB/tiddlers/Normal/Saved/Sites/_Blogs.tid b/Wiki-OcttKB/tiddlers/Normal/Saved/Sites/_Blogs.tid new file mode 100644 index 00000000..33d8ce9f --- /dev/null +++ b/Wiki-OcttKB/tiddlers/Normal/Saved/Sites/_Blogs.tid @@ -0,0 +1,51 @@ +created: 20240129005609875 +creator: Octt +modified: 20240129005635056 +modifier: Octt +tags: +title: Saved/Sites/Blogs + +* [[sitoctt]] +* [[Arcisito|https://arci.me]] --- <<[# Git "https://github.com/AuroraViola/arcisito">> +* [[Akalanka Ekanayake Blog|https://blog.akalanka.uk/]] --- It's a curious blog, mainly deals with IT subject but the theme/style looks like a fashion blog lmao +* [[Ctrl blog by Daniel Aleksandersen|https://www.ctrl.blog/]] +* [[Daring Fireball|https://daringfireball.net/]] +* [[/dev/null|https://blog.benstein.nl]] --- //My name is Christian Benstein and I write about macOS based workflow’s, Obsidian and Things3. My philosophy is that your mind was not created to store information but to act on it and create.// --- <<[# Git"https://github.com/KingOfSpades/KingOfSpades">> +* [[Eli Grey|https://eligrey.com/]] +* [[Fabrizio Musacchio|https://www.fabriziomusacchio.com/]] +* [[FlareXes|https://flarexes.com]] +* [[Gianmarco Gargiulo|https://gianmarco.gg]] +* [[iliana etaoin|https://iliana.fyi/]] --- //systems engineer at oxide computer company// +* [[Il Disinformatico|https://attivissimo.blogspot.com/]] --- //Un blog di Paolo Attivissimo, giornalista informatico e cacciatore di bufale// +* <> +* [[Jeff Geerling|https://www.jeffgeerling.com/]] +* [[koyu's personal website|https://web.koyu.space/]] +* [[l33t.codes|https://l33t.codes]] --- Nice emulated retro-style with CRT effects and monospace text of many colors. +* [[LarrySanger.org|https://larrysanger.org/]] --- "//Technology, philosophy, and more//" +* [[Leo3418's Personal Site|https://leo3418.github.io/]] --- <<[# Git"https://github.com/Leo3418/leo3418.github.io">> +* [[Lily's Things at The Cool Site|https://www.lilysthings.org/]] +* [[LiteFeel|https://www.litefeel.com]] +* [[Lisperator.net|https://lisperator.net/]] --- //to create, to ilisperate// +* [[Lyosha Cluster (Лёша Кластер)|https://cluster.wtf/]] +* [[Mega Cat Studios, Inc.|https://megacatstudios.com/pages/table-of-contents]] --- with blog about retro, videogame, and development subjects +* [[Magnetismo 2.1 - Il meglio dell'informatica|https://magnetismoinformatica.blogspot.com/]] +* [[Max Schillinger|https://maximilian-schillinger.de/index.html]] --- //Linux pro, workflow optimizer, coder for life.// +* [[📚 Nitay Neeman's Blog|https://nitayneeman.github.io/]] +* [[P01✨ CREATIVE CODER & TECHNICAL SPEAKER|http://www.p01.org]] +* [[Parzibyte.me|https://parzibyte.me]] (+Blog) --- //Blog de conocimiento gratuito: linux, programación, open source, bases de datos, android, frameworks, web e informática en general.// --- <<[# Git"https://github.com/parzibyte/parzibyte_me_3">> +* [[Read the Tea Leaves|https://nolanlawson.com/]] --- //Software and other dark arts, by Nolan Lawson// +* [[RetrOfficina4004 Vintage|https://retrofficina4004.blogspot.com/]] --- //Chi non ricorda il passato è destinato a riviverlo// +* [[λ ryan. himmelwright. net|https://ryan.himmelwright.net/]] +* [[𑇢^^^°< (schnappy.xyz)|https://schnappy.xyz/]] +* [[Sebastian Jambor's blog|https://seb.jambor.dev/]] --- software engineering, efficiency and other things +* [[SECRET CLUB - We Break Software|https://secret.club/]] --- //UPPING THE ANTE ON RESEARCH// +* [[Simon Willison’s Weblog|https://simonwillison.net/]] --- <<[ "[[Git|https://github.com/simonw/simonwillisonblog]]">> +* [[Singpolyma|https://singpolyma.net/]] --- //Weber, Stephen Paul singpolyma. I played the tech industry game and won.// --- includes an interesting "Actionstream" feature listing public actions done on other sites +* [[Stephan Wagner|https://stephanwagner.me/]] +* [[TechLifeWeb|https://techlifeweb.com/]] --- //Exploring the digital life// --- interesting organization of normal blog posts with microblog-style notes +* //''[[Technically We Write|https://technicallywewrite.com/]]'' is about technical writing, technical editing, and all things "technical communication." Learn more about who we are.// +* [[There oughta be...|https://there.oughta.be/]] --- //A collection of overcomplicated devices nobody needs// +* [[Thiago Rossener - Desenvolvedor Front-End|https://rossener.com/]] +* [[TiTiNoNero dice cose|https://www.77nn.it/]] +* [[things i play|https://thingsiplay.game.blog/]] --- //My take on Gaming, Emulation and Steam related stuff on Linux// +* [[Val Packett|https://val.packett.cool/]] diff --git a/Wiki-OcttKB/tiddlers/Normal/Saved/Sites/_Galleries.tid b/Wiki-OcttKB/tiddlers/Normal/Saved/Sites/_Galleries.tid new file mode 100644 index 00000000..4ef80e46 --- /dev/null +++ b/Wiki-OcttKB/tiddlers/Normal/Saved/Sites/_Galleries.tid @@ -0,0 +1,29 @@ +created: 20240129005817699 +creator: Octt +modified: 20240129005817699 +modifier: Octt +tags: +title: Saved/Sites/Galleries + +* [[OctoSpacc Hub|https://hub.octt.eu.org]] +* [[abe's projects - abe.today|https://abe.today/]] --- //Hi, I'm abe. I enjoy making things!// +* [[Arktis :: Sigve Sebastian Farstad|https://arkt.is/]] +* [[ari melody|https://arimelody.me/]] --- //your local SPACEGIRL 💫// +* [[Daniel X's Artisanal Internets|https://danielx.net/]] +** [[Whimsy Space - ZineOS|https://whimsy.space/]] +* [[eip hax|https://eiphax.tech]] --- //hi. i'm eip. i guess i'm a 'hobbyist web developer', except my skillset is 'write bad html, steal js/css/php, eat hot chip and lie'.// --- contains sections related to game console hacking/homebrew +* [[ENTROPIE|https://entropie.org/]] --- a handful of connected blogs with tech articles and tech art galleries +* [[Grumpy Website|https://grumpy.website/]] --- //world-leading media conglomerate of renowned experts in UIs, UX and TVs// +* [[Jeff Thompson|https://www.jeffreythompson.org/]] --- many creative programming and artistic tech works by the author are highlighted on the site +* [[libdb.so (diamondburned)|https://libdb.so/]] / <> --- cool site, the thing is just a terminal shell but with working links, images, and small tools --- <<[# Git "https://github.com/diamondburned/libdb.so">> +* <> +* [[Nanolx|https://nanolx.org/]] --- //Hacking @ Debian// +* [[Novasquirrel's site|https://novasquirrel.com/]] +* [[Rogue Studio|https://rogue.studio/]] --- //Digital marketing, branding, and product experience studio// +* [[Salvador Camacho|https://salvacam.js.org]] --- //Desarrollador Web y Administrador de Sistemas// --- <<[# Git"https://github.com/salvacam/salvacam.github.io">> +* [[The Hacker's Choice|https://www.thc.org]] --- group of international hackers, founded in 1995 --- <<[# "Knowledge Base" "https://iq.thc.org">> +* [[Tom's Pages|http://www.toms.net/]] +* [[Trong|https://trongnguyen.co/]] (+ digital garden) --- //Vietnamese Product Designer living in Singapore, currently @Carousell// +* [[wave++’s home|https://www.thregr.org/wavexx/]] +* <> --- the site contains some cool tech-focused art projects +* [[ZeptoBars|https://zeptobars.com/en/]] --- hi-def pictures of naked CPU dies \ No newline at end of file diff --git a/Wiki-OcttKB/tiddlers/Normal/Saved/_Sites.tid b/Wiki-OcttKB/tiddlers/Normal/Saved/_Sites.tid index b2b7bd89..1db59819 100644 --- a/Wiki-OcttKB/tiddlers/Normal/Saved/_Sites.tid +++ b/Wiki-OcttKB/tiddlers/Normal/Saved/_Sites.tid @@ -1,6 +1,6 @@ created: 20230223222804008 creator: Octt -modified: 20240119011823801 +modified: 20240129005843172 modifier: Octt tags: title: Saved/Sites @@ -13,50 +13,7 @@ Note: "[property]-leaning" means the majority of the content of the site, or the !!! ''[[Blog]]-leaning'' -* [[sitoctt]] -* [[Arcisito|https://arci.me]] --- <<[# Git "https://github.com/AuroraViola/arcisito">> -* [[Akalanka Ekanayake Blog|https://blog.akalanka.uk/]] --- It's a curious blog, mainly deals with IT subject but the theme/style looks like a fashion blog lmao -* [[Ctrl blog by Daniel Aleksandersen|https://www.ctrl.blog/]] -* [[Daring Fireball|https://daringfireball.net/]] -* [[/dev/null|https://blog.benstein.nl]] --- //My name is Christian Benstein and I write about macOS based workflow’s, Obsidian and Things3. My philosophy is that your mind was not created to store information but to act on it and create.// --- <<[# Git"https://github.com/KingOfSpades/KingOfSpades">> -* [[Eli Grey|https://eligrey.com/]] -* [[Fabrizio Musacchio|https://www.fabriziomusacchio.com/]] -* [[FlareXes|https://flarexes.com]] -* [[Gianmarco Gargiulo|https://gianmarco.gg]] -* [[iliana etaoin|https://iliana.fyi/]] --- //systems engineer at oxide computer company// -* [[Il Disinformatico|https://attivissimo.blogspot.com/]] --- //Un blog di Paolo Attivissimo, giornalista informatico e cacciatore di bufale// -* <> -* [[Jeff Geerling|https://www.jeffgeerling.com/]] -* [[koyu's personal website|https://web.koyu.space/]] -* [[l33t.codes|https://l33t.codes]] --- Nice emulated retro-style with CRT effects and monospace text of many colors. -* [[LarrySanger.org|https://larrysanger.org/]] --- "//Technology, philosophy, and more//" -* [[Leo3418's Personal Site|https://leo3418.github.io/]] --- <<[# Git"https://github.com/Leo3418/leo3418.github.io">> -* [[Lily's Things at The Cool Site|https://www.lilysthings.org/]] -* [[LiteFeel|https://www.litefeel.com]] -* [[Lisperator.net|https://lisperator.net/]] --- //to create, to ilisperate// -* [[Lyosha Cluster (Лёша Кластер)|https://cluster.wtf/]] -* [[Mega Cat Studios, Inc.|https://megacatstudios.com/pages/table-of-contents]] --- with blog about retro, videogame, and development subjects -* [[Magnetismo 2.1 - Il meglio dell'informatica|https://magnetismoinformatica.blogspot.com/]] -* [[Max Schillinger|https://maximilian-schillinger.de/index.html]] --- //Linux pro, workflow optimizer, coder for life.// -* [[📚 Nitay Neeman's Blog|https://nitayneeman.github.io/]] -* [[P01✨ CREATIVE CODER & TECHNICAL SPEAKER|http://www.p01.org]] -* [[Parzibyte.me|https://parzibyte.me]] (+Blog) --- //Blog de conocimiento gratuito: linux, programación, open source, bases de datos, android, frameworks, web e informática en general.// --- <<[# Git"https://github.com/parzibyte/parzibyte_me_3">> -* [[Read the Tea Leaves|https://nolanlawson.com/]] --- //Software and other dark arts, by Nolan Lawson// -* [[RetrOfficina4004 Vintage|https://retrofficina4004.blogspot.com/]] --- //Chi non ricorda il passato è destinato a riviverlo// -* [[λ ryan. himmelwright. net|https://ryan.himmelwright.net/]] -* [[𑇢^^^°< (schnappy.xyz)|https://schnappy.xyz/]] -* [[Sebastian Jambor's blog|https://seb.jambor.dev/]] --- software engineering, efficiency and other things -* [[SECRET CLUB - We Break Software|https://secret.club/]] --- //UPPING THE ANTE ON RESEARCH// -* [[Simon Willison’s Weblog|https://simonwillison.net/]] --- <<[ "[[Git|https://github.com/simonw/simonwillisonblog]]">> -* [[Singpolyma|https://singpolyma.net/]] --- //Weber, Stephen Paul singpolyma. I played the tech industry game and won.// --- includes an interesting "Actionstream" feature listing public actions done on other sites -* [[Stephan Wagner|https://stephanwagner.me/]] -* [[TechLifeWeb|https://techlifeweb.com/]] --- //Exploring the digital life// --- interesting organization of normal blog posts with microblog-style notes -* //''[[Technically We Write|https://technicallywewrite.com/]]'' is about technical writing, technical editing, and all things "technical communication." Learn more about who we are.// -* [[There oughta be...|https://there.oughta.be/]] --- //A collection of overcomplicated devices nobody needs// -* [[Thiago Rossener - Desenvolvedor Front-End|https://rossener.com/]] -* [[TiTiNoNero dice cose|https://www.77nn.it/]] -* [[things i play|https://thingsiplay.game.blog/]] --- //My take on Gaming, Emulation and Steam related stuff on Linux// -* [[Val Packett|https://val.packett.cool/]] +<<{^ Saved/Sites/Blogs>> !!! ''[[Book]]-leaning'' * [[Alf's room (アルフの部屋)|https://alf-s-room.com/]] @@ -67,27 +24,7 @@ Note: "[property]-leaning" means the majority of the content of the site, or the These are portfolios, collections of projects, hubs, landing pages, etc. -* [[OctoSpacc Hub|https://hub.octt.eu.org]] -* [[abe's projects - abe.today|https://abe.today/]] --- //Hi, I'm abe. I enjoy making things!// -* [[Arktis :: Sigve Sebastian Farstad|https://arkt.is/]] -* [[ari melody|https://arimelody.me/]] --- //your local SPACEGIRL 💫// -* [[Daniel X's Artisanal Internets|https://danielx.net/]] -** [[Whimsy Space - ZineOS|https://whimsy.space/]] -* [[eip hax|https://eiphax.tech]] --- //hi. i'm eip. i guess i'm a 'hobbyist web developer', except my skillset is 'write bad html, steal js/css/php, eat hot chip and lie'.// --- contains sections related to game console hacking/homebrew -* [[ENTROPIE|https://entropie.org/]] --- a handful of connected blogs with tech articles and tech art galleries -* [[Grumpy Website|https://grumpy.website/]] --- //world-leading media conglomerate of renowned experts in UIs, UX and TVs// -* [[Jeff Thompson|https://www.jeffreythompson.org/]] --- many creative programming and artistic tech works by the author are highlighted on the site -* [[libdb.so (diamondburned)|https://libdb.so/]] / <> --- cool site, the thing is just a terminal shell but with working links, images, and small tools --- <<[# Git "https://github.com/diamondburned/libdb.so">> -* <> -* [[Nanolx|https://nanolx.org/]] --- //Hacking @ Debian// -* [[Novasquirrel's site|https://novasquirrel.com/]] -* [[Rogue Studio|https://rogue.studio/]] --- //Digital marketing, branding, and product experience studio// -* [[Salvador Camacho|https://salvacam.js.org]] --- //Desarrollador Web y Administrador de Sistemas// --- <<[# Git"https://github.com/salvacam/salvacam.github.io">> -* [[The Hacker's Choice|https://www.thc.org]] --- group of international hackers, founded in 1995 --- <<[# "Knowledge Base" "https://iq.thc.org">> -* [[Tom's Pages|http://www.toms.net/]] -* [[Trong|https://trongnguyen.co/]] (+ digital garden) --- //Vietnamese Product Designer living in Singapore, currently @Carousell// -* <> --- the site contains some cool tech-focused art projects -* [[ZeptoBars|https://zeptobars.com/en/]] --- hi-def pictures of naked CPU dies +<<{^ """Saved/Sites/Galleries""">> !!! ''[[Note]]-leaning'' @@ -114,6 +51,7 @@ These are kind of blogs, but don't contain mainly things written as blogs, but m * //''[[Everything2|https://everything2.com/]]'' is a collaborative online community consisting of a database of interlinked user-submitted written material.// * [[Maggie Appleton|https://maggieappleton.com/]] --- <<[ "[[Git|https://github.com/MaggieAppleton/maggieappleton.com-V2]]">> * [[metasyn|https://metasyn.pw/]] +* [[Project Nayuki|https://www.nayuki.io/]] --- //a ~~magical girl~~ software developer in Toronto, Canada.// * [[bash.org QDB|http://web.archive.org/web/20230719194509/http://bash.org/]] --- // Quote Database Home// * [[RetroRGB|https://www.retrorgb.com/]] --- //site dedicated to keeping everyone up-to-date with everything the retro-gaming world has to offer// * [[RaspiBO|https://www.raspibo.org/]] --- //gruppo informale di appassionati di elettronica ed informatica libera della zona di Bologna (ma non solo)// diff --git a/Wiki-OcttKB/tiddlers/Normal/TiddlyWiki/_Snippets to Test.tid b/Wiki-OcttKB/tiddlers/Normal/TiddlyWiki/_Snippets to Test.tid deleted file mode 100644 index 1bc6ca2c..00000000 --- a/Wiki-OcttKB/tiddlers/Normal/TiddlyWiki/_Snippets to Test.tid +++ /dev/null @@ -1,8 +0,0 @@ -created: 20220922163220116 -modified: 20230111082334125 -tags: Snippets TiddlyWiki -title: TiddlyWiki/Snippets to Test - - \ No newline at end of file diff --git a/Wiki-OcttKB/tiddlers/Normal/TiddlyWiki/_ThirdParty.tid b/Wiki-OcttKB/tiddlers/Normal/TiddlyWiki/_ThirdParty.tid index 4f196d52..1847c337 100644 --- a/Wiki-OcttKB/tiddlers/Normal/TiddlyWiki/_ThirdParty.tid +++ b/Wiki-OcttKB/tiddlers/Normal/TiddlyWiki/_ThirdParty.tid @@ -1,6 +1,6 @@ created: 20230206113426599 creator: Octt -modified: 20240128193339710 +modified: 20240129005527741 modifier: Octt tags: title: TiddlyWiki/ThirdParty @@ -11,7 +11,8 @@ title: TiddlyWiki/ThirdParty * [[Calendar|https://tabbed-calendar.tiddlyspot.com]] --- //a tabbed picture calendar// * [[Joe's Blog|https://joearms.github.io]] --- Contains the [[Chandler|https://joearms.github.io/#2018-12-26%20Fun%20with%20the%20TiddlyWiki]] prototype time-management tool * [[kookma's codes, macros, and solutions in TW|https://kookma.github.io/TW-Scripts]] -* Kookma Plugin Library --- <<[ "[[Drag To Install|$:/config/KookmaPluginLibrary]]">> +** Kookma Plugin Library --- <<[ "[[Drag To Install|$:/config/KookmaPluginLibrary]]">> +** [[Shiraz|https://kookma.github.io/TW-Shiraz/]] --- //small framework of stylesheets, templates and macros to create stylish contents in Tiddlywiki// * [[NoteSelf|https://noteself.org]] --- TiddlyWiki fork/flavor with interesting features built-in - [[[Git|https://github.com/NoteSelf]]] * [[Projectify|https://thaddeusjiang.github.io/Projectify]] --- //Project management for TiddlyWiki// - [[[Git|https://github.com/ThaddeusJiang/Projectify]]] * [[RR-TW5|https://rr-tw5.github.io/]] --- //A Roam Research Styled TiddlyWiki// @@ -28,6 +29,10 @@ title: TiddlyWiki/ThirdParty ** [[Presenting the Details Widget|https://groups.google.com/g/tiddlywiki/c/sRUVnlIaT3E]] * [[ZemoxWiki|https://zemox.tiddlyspot.com]] --- //a haphazard meandering of notes, thoughts, experiments, links...// +!!!! Starter Kits, themed wikis for use + +* [[TiddlyWiki Starter Kit 📦|https://tiddlywiki-starter-kit.oeyoews.top/]] + !!!! ''More personal TiddlyWikis'' * [[Dave and Blanca Gifford's homepage|https://giffmex.org/Welcome.html]] * [[Eberron Tiddlywiki|https://eberron.tiddlyhost.com/]] --- //campaign setting for D&D designed for telling fantastical pulp and noir stories// --- <<[ "[[Git|https://github.com/wccbuck/eberron_tw/]]">> @@ -38,6 +43,7 @@ title: TiddlyWiki/ThirdParty * [[Archipel|https://archipel.tiddlyspot.com/]] --- //Data visualization Knowledge map of tiddler's ToC, as zoomable circle packs// --- [[[Discussion|https://groups.google.com/g/tiddlywiki/c/wZZ-84FV0-k]]] * [[CodeMirrorPlus|https://adithya-badidey.github.io/TW5-codemirror-plus/]] --- //A better editor for TW5, based on ~CodeMirror// --- [[Demo|https://adithya-badidey.github.io/TW5-codemirror-plus/wiki.html]] | [[Git|https://github.com/adithya-badidey/TW5-codemirror-plus]] +* [[[Release] Codemirror6 Plugin|https://talk.tiddlywiki.org/t/release-codemirror6-plugin/8843]] <<[# Git "https://github.com/oeyoews/tiddlywiki-codemirror6">> <<[# Demo "https://oeyoews.github.io/tiddlywiki-codemirror6/#%24%3A%2Fplugins%2Foeyoews%2Ftiddlywiki-codemirror-6">> * [[Context Plugin|https://contextplugin.tiddlyspot.com]] --- //search with context// * [[Daily Notes|https://github.com/akhater/Daily-Notes-for-TW5]] - //Interstitial Journaling plugin// * [[ECharts|https://tiddly-gittly.github.io/tw-echarts]] [[[Git|https://github.com/tiddly-gittly/tw-echarts]], [[Thread|https://talk.tiddlywiki.org/t/echarts-bringing-amazing-visualization-tools-to-tiddlywiki/1944]]] --- //An All-in-one Visualization Framework for TiddlyWiki5 based on ECharts// diff --git a/Wiki-OcttKB/tiddlers/Normal/TiddlyWiki/_TipsAndTricks.tid b/Wiki-OcttKB/tiddlers/Normal/TiddlyWiki/_TipsAndTricks.tid new file mode 100644 index 00000000..a3a3f2e0 --- /dev/null +++ b/Wiki-OcttKB/tiddlers/Normal/TiddlyWiki/_TipsAndTricks.tid @@ -0,0 +1,14 @@ +created: 20240128224928644 +creator: Octt +modified: 20240129005505907 +modifier: Octt +tags: +title: TiddlyWiki/TipsAndTricks + +* [[A Beautiful Searchbox in Tiddlywiki|https://talk.tiddlywiki.org/t/a-beautiful-searchbox-in-tiddlywiki-5-2-0/1476]] +* [[A Notebox Example ii: A Little More WikText and CSS|https://talk.tiddlywiki.org/t/a-notebox-example-ii-a-little-more-wiktext-and-css/6640]] +* [[Create a Searchable FAQ Page|https://talk.tiddlywiki.org/t/create-a-searchable-faq-page/6406]] +* [[Ribbon Title Using Modern CSS|https://talk.tiddlywiki.org/t/ribbon-title-using-modern-css/6957]] +* [[Search your nodejs wiki in Google (and other engines)|https://talk.tiddlywiki.org/t/search-your-nodejs-wiki-in-google/8195]] --- <<[# Userscript "https://openuserjs.org/scripts/linonetwo/TiddlyWiki5_Combine_TW5_and_search_engine_results">> +** it's broken on many engines other than Google, I will probably upload a patch for some when I have time +* [[Tiddler Ribbon Using Pure CSS and Simple Macro|https://talk.tiddlywiki.org/t/tiddler-ribbon-using-pure-css-and-simple-macro/6999]] diff --git a/Wiki-OcttKB/tiddlers/Normal/_HTML.tid b/Wiki-OcttKB/tiddlers/Normal/_HTML.tid index 4d2e00a4..9edaed3f 100644 --- a/Wiki-OcttKB/tiddlers/Normal/_HTML.tid +++ b/Wiki-OcttKB/tiddlers/Normal/_HTML.tid @@ -1,7 +1,7 @@ created: 20230202224901337 creator: Octt icon: 📰 -modified: 20240101231058564 +modified: 20240128235735551 modifier: Octt page-cover: https://images.unsplash.com/photo-1517134062979-e1234be8a085 tags: Web Markup @@ -23,3 +23,7 @@ title: HTML * <: The Dialog element">> --- //modal or non-modal dialog box or other interactive component, such as a dismissible alert, inspector, or subwindow// ** [[dialog-polyfill|https://github.com/GoogleChrome/dialog-polyfill]] --- //Polyfill for the HTML dialog element// --- <<[# Demo"https://googlechrome.github.io/dialog-polyfill/">> + +!! XHTML + +* [[Practical guide to XHTML|https://www.nayuki.io/page/practical-guide-to-xhtml]] diff --git a/Wiki-OcttKB/tiddlers/Normal/_Linux.tid b/Wiki-OcttKB/tiddlers/Normal/_Linux.tid index c4f04416..bc5aab91 100644 --- a/Wiki-OcttKB/tiddlers/Normal/_Linux.tid +++ b/Wiki-OcttKB/tiddlers/Normal/_Linux.tid @@ -1,7 +1,7 @@ created: 20230111153758951 creator: Octt icon: 🐧 -modified: 20231224171918426 +modified: 20240128233843561 modifier: Octt page-cover: https://images.unsplash.com/photo-1549605659-32d82da3a059?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D tags: $:/i18n:en Unix @@ -39,6 +39,8 @@ title: Linux * [[linuxserver/webtop|https://github.com/linuxserver/docker-webtop]] --- //Ubuntu, Alpine, Arch, and Fedora based Webtop Docker images, Linux in a web browser supporting popular desktop environments// ** Note: apparently the `/websockify` HTTP endpoint doesn't respect the option for installing the container under an HTTP subpath; in practice this could mean that more than one container at the same time cannot be used behind a reverse proxy without some modification, but instead have to be accessed from their dedicated port directly. +* [[screenkey|https://www.thregr.org/wavexx/software/screenkey/index.html]] --- //A screencast tool to display your keys// --- <<[# Git "https://gitlab.com/screenkey/screenkey">> + !!! ''Benchmarks'' * [[Paul Raspberry Pi Benchmarks|https://willy-tech.de/raspberry-pi-benchmarks/]] diff --git a/Wiki-OcttKB/tiddlers/Normal/_Strange things.tid b/Wiki-OcttKB/tiddlers/Normal/_Strange things.tid index 19257eea..c31ed852 100644 --- a/Wiki-OcttKB/tiddlers/Normal/_Strange things.tid +++ b/Wiki-OcttKB/tiddlers/Normal/_Strange things.tid @@ -1,6 +1,6 @@ created: 20231105150445511 creator: Octt -modified: 20240128004926112 +modified: 20240129000235450 modifier: Octt tags: title: Strange things @@ -17,6 +17,8 @@ title: Strange things * <>, <>, ... --- sites that seem like SEO spamming but they seem to be administered by actual writers? they're kinda the most confusing +* [[AssemblyLT (Assembly Language Tuts)|https://www.assemblylanguagetuts.com/]], ... --- websites that seem to be constructed upon stolen domains, bought after expiration for no real good reason other than filling them with useless SEO-spam content; sometimes they seem to keep a part of the old content (or, more likely, made to look like the previous) present, but the most recent posts are always spam + * [[Questions LLC|https://questions.llc/]] --- //Use AI to answer your questions. Our AI bots will answer your questions in seconds.// --- it's a Q/A website where supposedly bots answer the questions, and it's full of spam and useless shit, what's the point of it even? I found it coming from the footer of these oddly-specific websites, which only makes everything stranger: ** [[allowfullscreen|https://www.allowfullscreen.com/]] --- //an HTML attribute for the iframe tag// --- a website with some basic information about the attribute, but with some strange details, and some actually decent examples @@ -32,3 +34,5 @@ your questions. Our AI bots will answer your questions in seconds.// --- it's a * [[https://www.playemulator.io/]] --- very strange-feeling site with online ROMs emulators, due to all the SEO crap, and possibly wrong thumbnails applied to misleadingly titled games * [[Pra' - Le Lavatrici|https://it.wikipedia.org/wiki/Pra%27#Le_Lavatrici]] --- un quartiere che sembra una mezza piramide fatta di lavatrici giganti + +* [[The Living Moka|https://www.thregr.org/wavexx/fun/tlm/]] --- letteralmente cosplay di una Moka lol diff --git a/Wiki-OcttKB/tiddlers/Normal/_UNIX desktop.tid b/Wiki-OcttKB/tiddlers/Normal/_UNIX desktop.tid new file mode 100644 index 00000000..e9d4c842 --- /dev/null +++ b/Wiki-OcttKB/tiddlers/Normal/_UNIX desktop.tid @@ -0,0 +1,10 @@ +created: 20240128234422056 +creator: Octt +modified: 20240128234502543 +modifier: Octt +tags: +title: UNIX desktop + +Things related to the UNIX desktop world... + +* [[How to prevent Gnome-shell's Alt+Tab from grouping windows from similar apps?|https://superuser.com/questions/394376/how-to-prevent-gnome-shells-alttab-from-grouping-windows-from-similar-apps]] diff --git a/Wiki-OcttKB/tiddlers/Normal/_Userscript.tid b/Wiki-OcttKB/tiddlers/Normal/_Userscript.tid index b06c0583..27676f7f 100644 --- a/Wiki-OcttKB/tiddlers/Normal/_Userscript.tid +++ b/Wiki-OcttKB/tiddlers/Normal/_Userscript.tid @@ -1,6 +1,6 @@ created: 20230513220204210 creator: Octt -modified: 20230531090829342 +modified: 20240128225300389 modifier: Octt tags: Web Hacking title: Userscript @@ -10,3 +10,5 @@ title: Userscript * [[Greasy Fork|https://greasyfork.org/]] --- Best site for userscripts --- <<#[ Git "https://github.com/JasonBarnabe/greasyfork">> * [[Violentmonkey|https://violentmonkey.github.io/]] --- //open-source userscript manager for browsers with WebExtensions support// (the best today) --- <<#[ Git "https://github.com/violentmonkey">> * Old US managers: [[Greasemonkey|https://www.greasespot.net/]], [[Tampermonkey|https://www.tampermonkey.net/]] + +* [[Greasemonkey: "GM_xmlhttpRequest is not defined" with the new update|https://stackoverflow.com/questions/49365651/greasemonkey-gm-xmlhttprequest-is-not-defined-with-the-new-update#54456646]] --- change `@grant` and all uses in code from `GM_thing` to `GM.thing`. diff --git a/Wiki-OcttKB/tiddlers/Normal/_Web.tid b/Wiki-OcttKB/tiddlers/Normal/_Web.tid index 6ff6e79d..dc2b0682 100644 --- a/Wiki-OcttKB/tiddlers/Normal/_Web.tid +++ b/Wiki-OcttKB/tiddlers/Normal/_Web.tid @@ -1,7 +1,7 @@ created: 20230203214532694 creator: Octt icon: 🕸️ -modified: 20240101230659334 +modified: 20240129004148763 modifier: Octt page-cover: https://source.unsplash.com/random?web tags: Internet @@ -59,3 +59,4 @@ title: Web !!! Other Things * <> +* [[Why local links are disabled by default in modern browsers?|https://security.stackexchange.com/questions/153706/why-local-links-are-disabled-by-default-in-modern-browsers]] (not even `` works, and not even to `127.xxx.xxx.xxx`, `192.168.xxx.xxx`, or any local domains that are mapped to that localhost...) diff --git a/Wiki-OcttKB/tiddlers/Normal/kk-notes-box/_styles.tid b/Wiki-OcttKB/tiddlers/Normal/kk-notes-box/_styles.tid new file mode 100644 index 00000000..f77791fe --- /dev/null +++ b/Wiki-OcttKB/tiddlers/Normal/kk-notes-box/_styles.tid @@ -0,0 +1,41 @@ +created: 20230331064526443 +creator: Mohammad +modified: 20230331083727181 +modifier: Mohammad +tags: $:/tags/Stylesheet +title: kk-notes-box/styles + +\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html + +/* structure */ +.kk-notes{ + display: flex; + flex-direction: column; + overflow: hidden; + + padding:1em; + border-radius:10px; +} +.kk-notes-header{ + display:flex; + align-items: center; +} + +.kk-notes-title{ + margin-left:0.5em; + font-weight:bold; +} + +/* skin */ +<$list filter="[{$:/palette}get[color-scheme]match[dark]]" variable=ignore> +.kk-notes{background-color: <>; /*rgb(255 249 243);*/} +.kk-notes-info{ color:rgb(0 128 0);} +.kk-notes-warning{color:rgb(255 0 0);} +.kk-notes-content{color: <>;} + +<$list filter="[{$:/palette}get[color-scheme]!match[dark]]" variable=ignore> +.kk-notes{background-color: rgb(255 249 243);} +.kk-notes-info{ color:rgb(0 128 0 / 0.8);} +.kk-notes-warning{color:rgb(255 0 0 /0.8);} +.kk-notes-content{color: rgb(0 0 0 /0.8);} + \ No newline at end of file diff --git a/Wiki-OcttKB/tiddlers/Normal/kk-notes-box/macros/_note.tid b/Wiki-OcttKB/tiddlers/Normal/kk-notes-box/macros/_note.tid new file mode 100644 index 00000000..13eca4be --- /dev/null +++ b/Wiki-OcttKB/tiddlers/Normal/kk-notes-box/macros/_note.tid @@ -0,0 +1,20 @@ +created: 20230331055313846 +creator: Mohammad +modified: 20230331073020353 +modifier: Mohammad +tags: $:/tags/Macro +title: kk-notes-box/macros/note + +\define note(type:"info", src:"", title:"Note" ) +\import kk-notes-box/macros/svg-icons +
+<$let icon={{{ [<__type__>match[warning]then[warning-svg]else[info-svg]] }}} + header-class={{{"kk-notes-header" [<__type__>match[warning]then[warning]else[info]addprefix[kk-notes-]] :and[join[ ]]}}} > +
> > +<$macrocall $name=<> /> +
<<__title__>>
+
+ +
<$transclude tiddler=<<__src__>> field=title mode=block/>
+
+\end diff --git a/Wiki-OcttKB/tiddlers/Normal/kk-notes-box/macros/_svg-icons.tid b/Wiki-OcttKB/tiddlers/Normal/kk-notes-box/macros/_svg-icons.tid new file mode 100644 index 00000000..78246a82 --- /dev/null +++ b/Wiki-OcttKB/tiddlers/Normal/kk-notes-box/macros/_svg-icons.tid @@ -0,0 +1,19 @@ +code-body: yes +created: 20230331064327180 +creator: Mohammad +modified: 20230331073238027 +modifier: Mohammad +tags: +title: kk-notes-box/macros/svg-icons + +\define info-svg() + +\end + +\define warning-svg() + +\end + + \ No newline at end of file diff --git a/Wiki-OcttKB/tiddlers/System/Styles/View/_i18n.tid b/Wiki-OcttKB/tiddlers/System/Styles/View/_i18n.tid index 3377904a..b880bd08 100644 --- a/Wiki-OcttKB/tiddlers/System/Styles/View/_i18n.tid +++ b/Wiki-OcttKB/tiddlers/System/Styles/View/_i18n.tid @@ -1,14 +1,14 @@ created: 20231105210128175 creator: Octt list-after: $:/core/ui/ViewTemplate/tags -modified: 20231108163056575 +modified: 20240129003334146 modifier: Octt tags: $:/tags/ViewTemplate title: $:/Styles/View/i18n \define OcttKB-i18n() <