Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Import from typing, typing_extensions and enum modules on Python 3.8 #2446

Merged
merged 18 commits into from
Apr 20, 2024
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- if: ${{ matrix.os == 'macOS-latest' }}
run: brew unlink openssl
- uses: SublimeText/UnitTesting/actions/setup@v1
- uses: SublimeText/UnitTesting/actions/run-tests@v1
with:
Expand Down
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.8
2 changes: 1 addition & 1 deletion boot.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
from .plugin.core.transports import kill_all_subprocesses
from .plugin.core.tree_view import LspCollapseTreeItemCommand
from .plugin.core.tree_view import LspExpandTreeItemCommand
from .plugin.core.typing import Any, Optional, List, Type, Dict
from .plugin.core.views import LspRunTextCommandHelperCommand
from .plugin.document_link import LspOpenLinkCommand
from .plugin.documents import DocumentSyncListener
Expand Down Expand Up @@ -86,6 +85,7 @@
from .plugin.tooling import LspOnDoubleClickCommand
from .plugin.tooling import LspParseVscodePackageJson
from .plugin.tooling import LspTroubleshootServerCommand
from typing import Any, Dict, List, Optional, Type


def _get_final_subclasses(derived: List[Type], results: List[Type]) -> None:
Expand Down
1 change: 0 additions & 1 deletion dependencies.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
">=4096": [
"bracex",
"mdpopups",
"pathlib",
"wcmatch"
]
}
Expand Down
7 changes: 7 additions & 0 deletions messages/2.0.0.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
=> 2.0.0

⚠️ To ensure that everything works properly after LSP package is updated, it's strongly recommended to restart
Sublime Text once it finishes updating all packages. ⚠️

# Breaking changes
- We are transitioning LSP and LSP-* packages from Python 3.3 to Python 3.8.
4 changes: 3 additions & 1 deletion plugin/code_actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from .core.sessions import AbstractViewListener
from .core.sessions import SessionBufferProtocol
from .core.settings import userprefs
from .core.typing import Any, List, Dict, Callable, Optional, Tuple, TypeGuard, Union, cast
from .core.typing import TypeGuard
from .core.views import entire_content_region
from .core.views import first_selection_region
from .core.views import format_code_actions_for_quick_panel
Expand All @@ -21,6 +21,8 @@
from abc import ABCMeta
from abc import abstractmethod
from functools import partial
from typing import Any, Callable, Dict, List, Optional, Tuple, Union
from typing import cast
import sublime

ConfigName = str
Expand Down
3 changes: 2 additions & 1 deletion plugin/code_lens.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@
from .core.protocol import CodeLens
from .core.protocol import CodeLensExtended
from .core.protocol import Error
from .core.typing import List, Tuple, Dict, Iterable, Optional, Generator, Union, cast
from .core.registry import LspTextCommand
from .core.registry import LspWindowCommand
from .core.registry import windows
from .core.views import make_command_link
from .core.views import range_to_region
from html import escape as html_escape
from functools import partial
from typing import Dict, Generator, Iterable, List, Optional, Tuple, Union
from typing import cast
import itertools
import sublime

Expand Down
2 changes: 1 addition & 1 deletion plugin/color.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
from .core.protocol import ColorPresentationParams
from .core.protocol import Request
from .core.registry import LspTextCommand
from .core.typing import List
from .core.views import range_to_region
from .core.views import text_document_identifier
from typing import List
import sublime


Expand Down
4 changes: 3 additions & 1 deletion plugin/completion.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,16 @@
from .core.registry import LspTextCommand
from .core.sessions import Session
from .core.settings import userprefs
from .core.typing import Callable, List, Dict, Optional, Generator, Tuple, Union, cast, Any, TypeGuard
from .core.typing import TypeGuard
from .core.views import FORMAT_STRING, FORMAT_MARKUP_CONTENT
from .core.views import MarkdownLangMap
from .core.views import minihtml
from .core.views import range_to_region
from .core.views import show_lsp_popup
from .core.views import text_document_position_params
from .core.views import update_lsp_popup
from typing import Any, Callable, Dict, Generator, List, Optional, Tuple, Union
from typing import cast
import functools
import html
import sublime
Expand Down
2 changes: 1 addition & 1 deletion plugin/core/active_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from .progress import ViewProgressReporter
from .progress import WindowProgressReporter
from .protocol import Request
from .typing import Any, Optional, Dict
from typing import Any, Dict, Optional
from weakref import ref
import sublime

Expand Down
2 changes: 1 addition & 1 deletion plugin/core/collections.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"""
Module with additional collections.
"""
from .typing import Optional, Dict, Any, Generator
from copy import deepcopy
from typing import Any, Dict, Generator, Optional
import sublime


Expand Down
2 changes: 1 addition & 1 deletion plugin/core/configurations.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
from .logging import exception_log
from .logging import printf
from .types import ClientConfig
from .typing import Generator, List, Optional, Set, Dict, Deque
from .url import parse_uri
from .workspace import enable_in_project, disable_in_project
from abc import ABCMeta
from abc import abstractmethod
from collections import deque
from datetime import datetime, timedelta
from typing import Deque, Dict, Generator, List, Optional, Set
from weakref import WeakSet
import sublime

Expand Down
2 changes: 1 addition & 1 deletion plugin/core/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from .protocol import DiagnosticSeverity
from .protocol import DocumentHighlightKind
from .protocol import SymbolKind
from .typing import Dict, Tuple
from typing import Dict, Tuple
import sublime


Expand Down
2 changes: 1 addition & 1 deletion plugin/core/css.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from typing import Optional
import sublime
from .typing import Optional


class CSS:
Expand Down
2 changes: 1 addition & 1 deletion plugin/core/diagnostics_storage.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from .protocol import Diagnostic, DiagnosticSeverity, DocumentUri
from .typing import Callable, Iterator, List, Tuple, TypeVar
from .url import parse_uri
from .views import diagnostic_severity
from collections import OrderedDict
from typing import Callable, Iterator, List, Tuple, TypeVar
import functools

ParsedUri = Tuple[str, str]
Expand Down
2 changes: 1 addition & 1 deletion plugin/core/edit.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from .protocol import TextEdit
from .protocol import UINT_MAX
from .protocol import WorkspaceEdit
from .typing import List, Dict, Optional, Tuple
from typing import Dict, List, Optional, Tuple
import sublime


Expand Down
2 changes: 1 addition & 1 deletion plugin/core/file_watcher.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from .protocol import FileChangeType
from .protocol import WatchKind
from .typing import List, Literal, Optional, Protocol, Tuple, Type, Union
from abc import ABCMeta
from abc import abstractmethod
from typing import List, Literal, Optional, Protocol, Tuple, Type, Union

DEFAULT_KIND = WatchKind.Create | WatchKind.Change | WatchKind.Delete

Expand Down
7 changes: 4 additions & 3 deletions plugin/core/input_handlers.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
from .constants import ST_VERSION
from .typing import Any, Callable, Dict, List, Optional, ParamSpec, Tuple, Union
from .typing import final
from .typing import ParamSpec
from abc import ABCMeta
from abc import abstractmethod
from typing import Any, Callable, Dict, List, Optional, Tuple, Union
from typing import final
import functools
import sublime
import sublime_plugin
Expand All @@ -16,7 +17,7 @@
P = ParamSpec('P')


def debounced(user_function: Callable[P, Any]) -> Callable[P, None]:
def debounced(user_function: 'Callable[P, Any]') -> 'Callable[P, None]':
""" A decorator which debounces the calls to a function.

Note that the return value of the function will be discarded, so it only makes sense to use this decorator for
Expand Down
2 changes: 1 addition & 1 deletion plugin/core/logging.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from .typing import Any
from typing import Any
import traceback
import inspect
import sublime
Expand Down
2 changes: 1 addition & 1 deletion plugin/core/message_request_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
from .protocol import Response
from .protocol import ShowMessageRequestParams
from .sessions import Session
from .typing import Any, Dict, List
from .views import show_lsp_popup
from .views import text2html
from typing import Any, Dict, List
import sublime


Expand Down
4 changes: 2 additions & 2 deletions plugin/core/open.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
from .protocol import DocumentUri
from .protocol import Range
from .protocol import UINT_MAX
from .typing import Dict, Tuple, Optional
from .typing import cast
from .url import parse_uri
from .views import range_to_region
from typing import Dict, Optional, Tuple
from typing import cast
from urllib.parse import unquote, urlparse
import os
import re
Expand Down
2 changes: 1 addition & 1 deletion plugin/core/panels.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from .types import PANEL_FILE_REGEX
from .types import PANEL_LINE_REGEX
from .typing import Iterable, Optional
from typing import Iterable, Optional
import sublime


Expand Down
2 changes: 1 addition & 1 deletion plugin/core/paths.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from .protocol import DocumentUri
from .sessions import Session
from .typing import Iterable, Optional, Tuple
from .views import parse_uri
from pathlib import Path
from typing import Iterable, Optional, Tuple


def simple_path(session: Optional[Session], uri: DocumentUri) -> str:
Expand Down
2 changes: 1 addition & 1 deletion plugin/core/progress.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from typing import Optional, Union
import sublime
from .typing import Optional, Union


class ProgressReporter:
Expand Down
2 changes: 1 addition & 1 deletion plugin/core/promise.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from .typing import Callable, Generic, List, Optional, Protocol, Tuple, TypeVar, Union
from typing import Callable, Generic, List, Optional, Protocol, Tuple, TypeVar, Union
import functools
import threading

Expand Down
5 changes: 3 additions & 2 deletions plugin/core/protocol.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from .typing import Enum, IntEnum, IntFlag, StrEnum
from .typing import Any, Dict, Generic, Iterable, List, Literal, Mapping, NotRequired, Optional, TypedDict, TypeVar, Union # noqa: E501
from .typing import NotRequired, StrEnum
from enum import Enum, IntEnum, IntFlag
from functools import total_ordering
from typing import Any, Dict, Generic, Iterable, List, Literal, Mapping, Optional, TypedDict, TypeVar, Union
import sublime

INT_MAX = 2**31 - 1
Expand Down
2 changes: 1 addition & 1 deletion plugin/core/registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
from .protocol import LocationLink
from .sessions import AbstractViewListener
from .sessions import Session
from .typing import Optional, Any, Generator, Iterable, List, Union
from .views import first_selection_region
from .views import get_uri_and_position_from_location
from .views import MissingUriError
Expand All @@ -12,6 +11,7 @@
from .windows import WindowManager
from .windows import WindowRegistry
from functools import partial
from typing import Any, Generator, Iterable, List, Optional, Union
import operator
import sublime
import sublime_plugin
Expand Down
4 changes: 3 additions & 1 deletion plugin/core/sessions.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
from .types import SettingsRegistration
from .types import sublime_pattern_to_glob
from .types import WORKSPACE_DIAGNOSTICS_TIMEOUT
from .typing import Callable, cast, Dict, Any, Optional, List, Tuple, Generator, Type, TypeGuard, Protocol, Set, TypeVar, Union # noqa: E501
from .typing import TypeGuard
from .url import filename_to_uri
from .url import parse_uri
from .url import unparse_uri
Expand All @@ -110,6 +110,8 @@
from abc import ABCMeta
from abc import abstractmethod
from abc import abstractproperty
from typing import Any, Callable, Dict, Generator, List, Optional, Protocol, Set, Tuple, Type, TypeVar, Union
from typing import cast
from weakref import WeakSet
import functools
import mdpopups
Expand Down
2 changes: 1 addition & 1 deletion plugin/core/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from .types import read_dict_setting
from .types import Settings
from .types import SettingsRegistration
from .typing import Any, Optional, Dict, Callable
from typing import Any, Callable, Dict, Optional
import os
import sublime

Expand Down
2 changes: 1 addition & 1 deletion plugin/core/signature_help.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
from .protocol import SignatureHelp
from .protocol import SignatureInformation
from .registry import LspTextCommand
from .typing import Optional, List
from .views import FORMAT_MARKUP_CONTENT
from .views import FORMAT_STRING
from .views import MarkdownLangMap
from .views import minihtml
from typing import List, Optional
import functools
import html
import re
Expand Down
2 changes: 1 addition & 1 deletion plugin/core/transports.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
from .logging import exception_log, debug
from .types import TCP_CONNECT_TIMEOUT
from .types import TransportConfig
from .typing import Dict, Any, Optional, IO, Protocol, Generic, List, Callable, Tuple, TypeVar, Union
from contextlib import closing
from functools import partial
from queue import Queue
from typing import Any, Callable, Dict, Generic, IO, List, Optional, Protocol, Tuple, TypeVar, Union
import http
import json
import os
Expand Down
3 changes: 2 additions & 1 deletion plugin/core/tree_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@
from .promise import Promise
from .registry import LspWindowCommand
from .registry import windows
from .typing import Dict, IntEnum, List, Optional, TypeVar
from abc import ABCMeta
from abc import abstractmethod
from enum import IntEnum
from functools import partial
from typing import Dict, List, Optional, TypeVar
import html
import sublime
import sublime_api # pyright: ignore[reportMissingImports]
Expand Down
4 changes: 2 additions & 2 deletions plugin/core/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
from .file_watcher import FileWatcherEventType
from .logging import debug, set_debug_logging
from .protocol import TextDocumentSyncKind
from .typing import Any, Optional, List, Dict, Generator, Callable, Iterable, Union, Set, Tuple, TypedDict, TypeVar
from .typing import cast
from .url import filename_to_uri
from .url import parse_uri
from typing import Any, Callable, Dict, Generator, Iterable, List, Optional, Set, Tuple, TypedDict, TypeVar, Union
from typing import cast
from wcmatch.glob import BRACE
from wcmatch.glob import globmatch
from wcmatch.glob import GLOBSTAR
Expand Down
2 changes: 1 addition & 1 deletion plugin/core/url.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from .typing import Any, Tuple
from typing import Any, Tuple
from urllib.parse import urljoin
from urllib.parse import urlparse
from urllib.request import pathname2url
Expand Down
3 changes: 2 additions & 1 deletion plugin/core/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,10 @@
from .protocol import WillSaveTextDocumentParams
from .settings import userprefs
from .types import ClientConfig
from .typing import Callable, Optional, Dict, Any, Iterable, List, Union, Tuple, cast
from .url import parse_uri
from .workspace import is_subpath_of
from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple, Union
from typing import cast
import html
import itertools
import linecache
Expand Down
Loading