-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
Sublime Text 4 included a lot of changes relevant to us, notably the addition of a Python 3.8 plugin host (and later 3.13, potentially 3.14) and a couple changes to the API like making settings iterable.
Python 3.8
Compat/types
- Remove enum, pathlib, and typing from
_compatand import the native versions instead. (f3c0e89) - Possibly use
from __future__ import annotations.(13f7637) - Simplify/update some type annotations.
Other
- Make
SettingsDict.update'sotherargument positional-only.
Sublime 4 API
Flags
New values for existing enums
-
PopupOption:KEEP_ON_SELECTION_MODIFIED,HIDE_ON_CHARACTER_EVENT. -
OpenFileOption:ADD_TO_SELECTION,REPLACE_MRU,SEMI_TRANSIENT -
CompletionOptions:DYNAMIC_COMPLETIONS,INHIBIT_REORDER -
QuickPanelOption:WANT_EVENT
New enums
-
CompletionFormat:TEXT,SNIPPET,COMMAND -
KindId:AMBIGUOUS,KEYWORD,TYPE,FUNCTION,NAMESPACE,NAVIGATION,MARKUP,VARIABLE,SNIPPET,COLOR_* - Maybe one for the preconstructed kind tuples as well.
-
SymbolSource:ANY,INDEX,OPEN_FILES -
SymbolType:ANY,DEFINITION,REFERENCE
Syntax
- Reimplement
list_syntaxesandget_syntax_for_scopeusingsublime.list_syntaxesandsublime.find_syntax_by_scope. - Return
sublime.Syntaxinstead ofSyntaxInfonamedtuple.
Settings
- Implement methods requiring iterability. (Could there be performance concerns here?)
Panels
- Reimplement
Panel.exists()usingView.element()?????
show_selection_panel
- Handle
QuickPanelItemarguments. - Add
placeholderargument. - Handle
WANT_EVENT(i.e. make sure we pass the correct number of arguments in either case).
Ecosystem
- Create a dependency for Sublime type stubs and use it rather than bundling stubs here.
- Update UnitTesting if needed.
Metadata
Metadata
Assignees
Labels
No labels