From 3a92fbf8a1d0d40a70e47afb85985b8c725d75d3 Mon Sep 17 00:00:00 2001 From: "Daniel (dmilith) Dettlaff" Date: Sun, 11 Jan 2026 09:34:04 +0100 Subject: [PATCH 1/5] new: Updates for Python3.8 compatibility --- rust/cargo_config.py | 4 ++-- rust/cargo_settings.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/rust/cargo_config.py b/rust/cargo_config.py index 446c45a1..fadff2e5 100644 --- a/rust/cargo_config.py +++ b/rust/cargo_config.py @@ -410,8 +410,8 @@ def _toolchain_list(self): # https://static.rust-lang.org/dist/index.html # (See https://github.com/rust-lang-nursery/rustup.rs/issues/215) shorthands = [] - channels = ['nightly', 'beta', 'stable', '\d\.\d{1,2}\.\d'] - pattern = '(%s)(?:-(\d{4}-\d{2}-\d{2}))?(?:-(.*))' % '|'.join(channels) + channels = ['nightly', 'beta', 'stable', r'\d\.\d{1,2}\.\d'] + pattern = r'(%s)(?:-(\d{4}-\d{2}-\d{2}))?(?:-(.*))' % '|'.join(channels) for toolchain in output: m = re.match(pattern, toolchain) # Should always match. diff --git a/rust/cargo_settings.py b/rust/cargo_settings.py index c2177c5c..4f65d41a 100644 --- a/rust/cargo_settings.py +++ b/rust/cargo_settings.py @@ -48,7 +48,7 @@ 'allows_release': True, 'allows_features': True, 'allows_json': True, - 'json_stop_pattern': '^\s*Running ', + 'json_stop_pattern': r'^\s*Running ', }, 'check': { 'name': 'Check', From 58597580fefdcb40098bfac69ada957adad3c51e Mon Sep 17 00:00:00 2001 From: "Daniel (dmilith) Dettlaff" Date: Sun, 11 Jan 2026 09:42:24 +0100 Subject: [PATCH 2/5] new: Created .python-version with value "3.8" to run the plugin with Python 3.8 --- .python-version | 1 + 1 file changed, 1 insertion(+) create mode 100644 .python-version diff --git a/.python-version b/.python-version new file mode 100644 index 00000000..cc1923a4 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.8 From b9d861687b53e9302704b51fee587fea57ccebca Mon Sep 17 00:00:00 2001 From: Eric Huss Date: Wed, 29 Jul 2026 06:39:23 -0700 Subject: [PATCH 3/5] Fix view popup Using the dev channel Sublime, this seems to fail when given a float. I'm not sure if it is a change in Python 3.14, or a change in Sublime's API. --- rust/messages.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/messages.py b/rust/messages.py index 952778f0..2d8d9cae 100644 --- a/rust/messages.py +++ b/rust/messages.py @@ -351,7 +351,7 @@ def message_popup(view, point, hover_zone): on_nav = functools.partial(_click_handler, view, hide_popup=True) max_width = view.em_width() * 79 _sublime_show_popup(view, minihtml, sublime.COOPERATE_WITH_AUTO_COMPLETE, - point, max_width=max_width, on_navigate=on_nav) + point, max_width=int(max_width), on_navigate=on_nav) STATUS_KEY = 'rust-msg-status' From a0fe3d41dcbb96d129913be2435dc0f227a5d1b3 Mon Sep 17 00:00:00 2001 From: Eric Huss Date: Wed, 29 Jul 2026 06:41:08 -0700 Subject: [PATCH 4/5] Disable shellenv This appears to no longer be supported with Python 3.14. --- RustEnhanced.sublime-settings | 4 ---- dependencies.json | 5 ----- rust/rust_proc.py | 6 ------ 3 files changed, 15 deletions(-) diff --git a/RustEnhanced.sublime-settings b/RustEnhanced.sublime-settings index 220a33b3..32305afa 100644 --- a/RustEnhanced.sublime-settings +++ b/RustEnhanced.sublime-settings @@ -25,10 +25,6 @@ // Specify environment variables to add when running Cargo. // "rust_env": {"PATH": "$PATH:$HOME/.cargo/bin"} - // If true, will use the environment from the user's login shell when - // running Cargo. - "rust_include_shell_env": true, - // For errors/warnings, how to show the inline message. // "normal" - Shows the message inline. // "popup" - Show popup on mouse hover. diff --git a/dependencies.json b/dependencies.json index 0c350320..2c63c085 100644 --- a/dependencies.json +++ b/dependencies.json @@ -1,7 +1,2 @@ { - "*": { - "*": [ - "shellenv" - ] - } } diff --git a/rust/rust_proc.py b/rust/rust_proc.py index 5177850f..ba8cff98 100644 --- a/rust/rust_proc.py +++ b/rust/rust_proc.py @@ -11,7 +11,6 @@ import sys import threading import time -import shellenv import sublime import traceback @@ -191,11 +190,6 @@ def run(self, window, cmd, cwd, listener, env=None, # Configure the environment. self.env = os.environ.copy() - if util.get_setting('rust_include_shell_env', True): - global USER_SHELL_ENV - if USER_SHELL_ENV is None: - USER_SHELL_ENV = shellenv.get_env()[1] - self.env.update(USER_SHELL_ENV) rust_env = util.get_setting('rust_env') if rust_env: From cb3ef888b81076bd23a53caf7ffef0255a2acf21 Mon Sep 17 00:00:00 2001 From: Eric Huss Date: Wed, 29 Jul 2026 06:41:56 -0700 Subject: [PATCH 5/5] Fix click handler test This test seems to be having issues with a newer dev channel Sublime (possibly related to Python 3.14 change). The `&` character is now escaped in the string which was disturbing the way this test works. --- tests/test_click_handler.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/test_click_handler.py b/tests/test_click_handler.py index ea996f17..e5a5d0cb 100644 --- a/tests/test_click_handler.py +++ b/tests/test_click_handler.py @@ -56,8 +56,9 @@ def get_line(lineno): # Filter out just the "Accept Replacement" phantoms. click_urls = [] for phantom in phantoms: - click_urls.extend(re.findall(r'