From ab49a19d219a290cffa9289185422d019fe2ad9a Mon Sep 17 00:00:00 2001 From: Ashwin Shenoy Date: Sat, 18 Sep 2021 15:13:44 +0530 Subject: [PATCH 1/2] Add a way to enable/disable the settings quick edit (pencil) icon. This commit adds an additional setting `settings.enable_quick_edit_icon`, that will allow the user to control whether they want to see & use PD's quick edit settings icon. Miscellaneous commit notes: --------------------------- 1. It took quite some time to understand where the setting `edit_settings_view` was being applied to base setting view, since PD itself did not seem to do it. After some digging, it's actually being applied by `Default/settings.py`. Just for posterity. --- Package/PackageDev.sublime-settings | 4 ++++ plugins/settings/__init__.py | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Package/PackageDev.sublime-settings b/Package/PackageDev.sublime-settings index 7634123e..7afabf3a 100644 --- a/Package/PackageDev.sublime-settings +++ b/Package/PackageDev.sublime-settings @@ -26,6 +26,10 @@ // Each theme containing one of the list's strings is hidden. "settings.exclude_theme_patterns": [], + // Whether to enable the edit settings pencil icon. Close & reopen the + // settings file for this to take effect. + "settings.enable_quick_edit_icon": true, + // Whether or not to keep the scope suffix in the suggested test scopes // i.e. if the base scope is text.html.markdown // then suggest meta.example.markdown (true) vs meta.example (false). diff --git a/plugins/settings/__init__.py b/plugins/settings/__init__.py index 48d5205d..4ef3a278 100644 --- a/plugins/settings/__init__.py +++ b/plugins/settings/__init__.py @@ -145,7 +145,7 @@ def __init__(self, view): logger.error("Not a Sublime Text Settings or Project file: %r", filepath) self.phantom_set = sublime.PhantomSet(self.view, "sublime-settings-edit") - if self._is_base_settings_view(): + if self._is_base_settings_view() and get_setting("settings.enable_quick_edit_icon"): self.build_phantoms() def __del__(self): @@ -156,7 +156,7 @@ def __del__(self): def on_modified_async(self): """Sublime Text modified event handler to update linting.""" self.do_linting() - if self._is_base_settings_view(): + if self._is_base_settings_view() and get_setting("settings.enable_quick_edit_icon"): # This may only occur for unpacked packages self.build_phantoms() From 4f48835acd9bc9b6953a2eb81d675d735d91fb61 Mon Sep 17 00:00:00 2001 From: Ashwin Shenoy Date: Fri, 8 Oct 2021 14:13:01 +0530 Subject: [PATCH 2/2] Chore: Address issues raised in review comments (Part 1). --- Package/PackageDev.sublime-settings | 4 ++-- plugins/settings/__init__.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Package/PackageDev.sublime-settings b/Package/PackageDev.sublime-settings index 7afabf3a..65613380 100644 --- a/Package/PackageDev.sublime-settings +++ b/Package/PackageDev.sublime-settings @@ -26,9 +26,9 @@ // Each theme containing one of the list's strings is hidden. "settings.exclude_theme_patterns": [], - // Whether to enable the edit settings pencil icon. Close & reopen the + // Whether to show the edit settings pencil icon. Close & reopen the // settings file for this to take effect. - "settings.enable_quick_edit_icon": true, + "settings.show_quick_edit_icon": true, // Whether or not to keep the scope suffix in the suggested test scopes // i.e. if the base scope is text.html.markdown diff --git a/plugins/settings/__init__.py b/plugins/settings/__init__.py index 4ef3a278..c67516c7 100644 --- a/plugins/settings/__init__.py +++ b/plugins/settings/__init__.py @@ -145,7 +145,7 @@ def __init__(self, view): logger.error("Not a Sublime Text Settings or Project file: %r", filepath) self.phantom_set = sublime.PhantomSet(self.view, "sublime-settings-edit") - if self._is_base_settings_view() and get_setting("settings.enable_quick_edit_icon"): + if self._is_base_settings_view() and get_setting("settings.show_quick_edit_icon"): self.build_phantoms() def __del__(self): @@ -156,7 +156,7 @@ def __del__(self): def on_modified_async(self): """Sublime Text modified event handler to update linting.""" self.do_linting() - if self._is_base_settings_view() and get_setting("settings.enable_quick_edit_icon"): + if self._is_base_settings_view() and get_setting("settings.show_quick_edit_icon"): # This may only occur for unpacked packages self.build_phantoms()