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.
This commit is contained in:
Adam 2023-03-28 19:57:24 -04:00 committed by GitHub
parent e8c317494a
commit dc2ae6dd9c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 23 additions and 29 deletions

View File

@ -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)

View File

@ -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,
})

View File

@ -101,8 +101,5 @@ setmetatable(config.plugins, {
end
})
-- Disable these plugins by default.
config.plugins.trimwhitespace = false
config.plugins.drawwhitespace = false
return config

View File

@ -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 -------------------------------------

View File

@ -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,
})

View File

@ -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",