diff --git a/CHANGELOG.md b/CHANGELOG.md index c4ef099..918ed8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Columns++ for Notepad++ -- Pre-releases +## Vesion 0.2.0.6-alpha -- April 18th, 2023 + +* Changed to search in "indicated region" instead of "rectangular selection." This is more flexible, makes it easier to see what is happening, and solves the problem of replacements causing which text is included in the selection to change (Issue #6) -- but it is a little harder to explain how it works to end users. It is possible to use the existing Notepad++ Styles (1st-5th or Find Mark Style), or to use a custom indicator just for Columns++. The indicator can be chosen on the Search dialog; settings for the custom indicator number and color are in Options. + +* A known loose end is that backward regular expression searches are not disabled, but they also are not done "zig-zag" (backward by lines but forward in each line) as before, because that concept is not so straightforward when using indicators instead of rectangular selections. Whether to disable them, allow them (with whatever unexpected results it is that can happen), or re-implement the "zig-zag" approach remains to be decided. + +* There is no way that I know of to ensure that the indicator number used for custom selections is not also used by some other plugin. (DSpellCheck, for example, just hard-codes number 19.) For that reason, I made it configurable; but there's no easy way to explain to the end user what's going on, since we don't really know what's going on. For now, I left it default enabled using indicator number 18; if experience shows this conflicts with some other plugin, it can either be changed to another number or initially disabled. + ## Version 0.1.0.5-alpha - April 14th, 2023 * Added new prompts when a command needs a rectangular selection and the current selection is not rectangular or is zero-width. diff --git a/README.md b/README.md index 0f5eb5c..390ce62 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ The integrated implementation of __Elastic tabstops__ works to line up columns w ## Main Features * __Elastic tabstops:__ Columns++ includes a new implementation of Nick Gravgaard's [Elastic tabstops](https://nickgravgaard.com/elastic-tabstops/). _(Please note that as of this writing I have not communicated with Mr. Gravgaard about my implementation of his proposal, and no endorsement on his part is implied.)_ -* __Find and replace in rectangular selections__ +* __Find and replace:__ Columns++ supports find and replace within regions, which can be defined by rectangular selections or multiple selections. * __Calculations:__ There are commands to add or average numbers in one or more columns. * __Alignment:__ You can left- or right-align text, or line up numbers. * __Sorting:__ Columns++ includes sort commands that work correctly with rectangular selections in files that use tabs. diff --git a/help.htm b/help.htm index 261bbdf..6417064 100644 --- a/help.htm +++ b/help.htm @@ -240,13 +240,21 @@

Automatically enabling or disabling elastic tabstops

diff --git a/src/ColumnsPlusPlus.rc b/src/ColumnsPlusPlus.rc index b9530fc..4bddf35 100644 Binary files a/src/ColumnsPlusPlus.rc and b/src/ColumnsPlusPlus.rc differ diff --git a/src/Configuration.cpp b/src/Configuration.cpp index 79af337..ae59590 100644 --- a/src/Configuration.cpp +++ b/src/Configuration.cpp @@ -108,7 +108,7 @@ void ColumnsPlusPlusData::loadConfiguration() { if (setting == "backward" ) searchData.backward = value != "0"; else if (setting == "wholeword") searchData.wholeWord = value != "0"; else if (setting == "matchcase") searchData.matchCase = value != "0"; - else if (setting == "autoClear") searchData.autoClear = value != "0"; + else if (setting == "autoclear") searchData.autoClear = value != "0"; else if (setting == "find") { if (value.length() > 2 && value.front() == '\\' && value.back() == '\\') { std::wstring s = toWide(value.substr(1, value.length() - 2), CP_UTF8);