From 1becf3550823c937af618437d77c83ba2aa4167a Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 28 Mar 2023 19:57:24 -0400 Subject: [PATCH] Disable `trimwhitespace` and `drawwhitespace` via their configs (#1446) Instead of completely disabling them, we now use their internal toggle. Also moved `drawwhitespace` commands inside the plugin. --- * Fixed bug where commands would show even when plugin was disbled. Also removed antiquated way of disabling. * Fixed typos. * Also moved trimwhitespace out of config, if it already has a default enabled value of false. * Changed documentation. * Clarified comments. --- data/core/command.lua | 2 +- data/core/commands/drawwhitespace.lua | 16 ---------------- data/core/config.lua | 3 --- data/core/init.lua | 7 ++----- data/plugins/drawwhitespace.lua | 20 ++++++++++++++++++-- data/plugins/trimwhitespace.lua | 4 ++-- 6 files changed, 23 insertions(+), 29 deletions(-) delete mode 100644 data/core/commands/drawwhitespace.lua diff --git a/data/core/command.lua b/data/core/command.lua index f5738304..faf872e2 100644 --- a/data/core/command.lua +++ b/data/core/command.lua @@ -107,7 +107,7 @@ end function command.add_defaults() local reg = { "core", "root", "command", "doc", "findreplace", - "files", "drawwhitespace", "dialog", "log", "statusbar" + "files", "dialog", "log", "statusbar" } for _, name in ipairs(reg) do require("core.commands." .. name) diff --git a/data/core/commands/drawwhitespace.lua b/data/core/commands/drawwhitespace.lua deleted file mode 100644 index 9372c55d..00000000 --- a/data/core/commands/drawwhitespace.lua +++ /dev/null @@ -1,16 +0,0 @@ -local command = require "core.command" -local config = require "core.config" - -command.add(nil, { - ["draw-whitespace:toggle"] = function() - config.draw_whitespace = not config.draw_whitespace - end, - - ["draw-whitespace:disable"] = function() - config.draw_whitespace = false - end, - - ["draw-whitespace:enable"] = function() - config.draw_whitespace = true - end, -}) diff --git a/data/core/config.lua b/data/core/config.lua index fc5da98a..c1a16b11 100644 --- a/data/core/config.lua +++ b/data/core/config.lua @@ -101,8 +101,5 @@ setmetatable(config.plugins, { end }) --- Disable these plugins by default. -config.plugins.trimwhitespace = false -config.plugins.drawwhitespace = false return config diff --git a/data/core/init.lua b/data/core/init.lua index b14c0104..1aba9ff7 100644 --- a/data/core/init.lua +++ b/data/core/init.lua @@ -531,12 +531,9 @@ local style = require "core.style" ------------------------------ Plugins ---------------------------------------- --- enable or disable plugin loading setting config entries: +-- disable plugin loading setting config entries: --- enable plugins.trimwhitespace, otherwise it is disabled by default: --- config.plugins.trimwhitespace = true --- --- disable detectindent, otherwise it is enabled by default +-- disable plugin detectindent, otherwise it is enabled by default: -- config.plugins.detectindent = false ---------------------------- Miscellaneous ------------------------------------- diff --git a/data/plugins/drawwhitespace.lua b/data/plugins/drawwhitespace.lua index 6c422172..753b3bb4 100644 --- a/data/plugins/drawwhitespace.lua +++ b/data/plugins/drawwhitespace.lua @@ -4,11 +4,12 @@ local core = require "core" local style = require "core.style" local DocView = require "core.docview" local common = require "core.common" +local command = require "core.command" local config = require "core.config" local Highlighter = require "core.doc.highlighter" config.plugins.drawwhitespace = common.merge({ - enabled = true, + enabled = false, show_leading = true, show_trailing = true, show_middle = true, @@ -43,7 +44,7 @@ config.plugins.drawwhitespace = common.merge({ description = "Disable or enable the drawing of white spaces.", path = "enabled", type = "toggle", - default = true + default = false }, { label = "Show Leading", @@ -342,3 +343,18 @@ function DocView:draw_line_text(idx, x, y) return draw_line_text(self, idx, x, y) end + + +command.add(nil, { + ["draw-whitespace:toggle"] = function() + config.plugins.drawwhitespace.enabled = not config.drawwhitespace.enabled + end, + + ["draw-whitespace:disable"] = function() + config.plugins.drawwhitespace.enabled = false + end, + + ["draw-whitespace:enable"] = function() + config.plugins.drawwhitespace.enabled = true + end, +}) diff --git a/data/plugins/trimwhitespace.lua b/data/plugins/trimwhitespace.lua index 6fb67230..8daa77e0 100644 --- a/data/plugins/trimwhitespace.lua +++ b/data/plugins/trimwhitespace.lua @@ -8,7 +8,7 @@ local Doc = require "core.doc" ---@field enabled boolean ---@field trim_empty_end_lines boolean config.plugins.trimwhitespace = common.merge({ - enabled = true, + enabled = false, trim_empty_end_lines = false, config_spec = { name = "Trim Whitespace", @@ -17,7 +17,7 @@ config.plugins.trimwhitespace = common.merge({ description = "Disable or enable the trimming of white spaces by default.", path = "enabled", type = "toggle", - default = true + default = false }, { label = "Trim Empty End Lines",