diff --git a/CHANGELOG.md b/CHANGELOG.md index fcc8b6e..bac8046 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Columns++ for Notepad++ -- Pre-releases +## Version 0.7.4-alpha -- October 10th, 2023 + +* The **Align numeric** command and the **Numeric aligned** option of the **Calculate...** command now take into account numbers formatted as times, based on the settings in the **Time formats** dialog. + ## Version 0.7.3-alpha -- October 4th, 2023 * Improved exception handling: Exceptions from the Scintilla C++ interface will now be passed to Notepad++ in a way that allows it to report them as such, and uncleared error status codes from outside Columns++ will no longer cause exceptions in Columns++. diff --git a/README.md b/README.md index 0abd32e..893d854 100644 --- a/README.md +++ b/README.md @@ -16,10 +16,10 @@ 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:__ Columns++ supports find and replace within regions, which can be defined by rectangular selections or multiple selections. +* __Find and replace:__ Columns++ supports find and replace within regions, which can be defined by rectangular selections or multiple selections. Numeric formulas are supported in regular expression replacement strings. * __Calculations:__ There are commands to add or average numbers in one or more columns and to insert the results of a calculation into each line of a rectangular selection. * __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. +* __Sorting:__ Columns++ includes sort commands that work correctly with rectangular selections in files that use tabs. Sorts can be based on multiple columns or on regular expression capture groups. * __Conversion:__ Commands to convert tabs to spaces and to convert between comma (or other delimiter) separated values and tabbed presentation are included. There is a [help file](https://coises.github.io/ColumnsPlusPlus/help.htm). @@ -28,7 +28,7 @@ There is a [help file](https://coises.github.io/ColumnsPlusPlus/help.htm). Columns++ is optimized for use with Elastic tabstops. It also works with files that use traditional, fixed tabs for alignment, or no tabs at all; however, you should ordinarily select only one column at a time in files that don't use Elastic tabstops. -Columns++ is generally not helpful when columns do not line up visually, such as in comma-separated values files. However, Columns++ can convert between delimiter-separated values and tabbed presentation. +Columns++ is generally not helpful when columns do not line up visually, such as in comma-separated values files. However, Columns++ can convert between delimiter-separated values and tabbed presentation; and there are some features, particularly search using numeric formulas in regular expression replacement strings and sorting with custom criteria, which may be useful in documents that are not column-oriented. Elastic tabstops can cause loading and editing to be slow for large files. Performance can be significantly improved by avoiding proportionally-spaced fonts. By default, Elastic tabstops is automatically turned off for files over 1000 KB or 5000 lines. You can change these limits. diff --git a/help.htm b/help.htm index 6ff7c62..1b0c12e 100644 --- a/help.htm +++ b/help.htm @@ -170,7 +170,7 @@
Columns++ is optimized for use with Elastic tabstops. It also works with files that use traditional, fixed tabs for alignment, or no tabs at all; however, you should ordinarily select only one column at a time in files that don’t use Elastic tabstops.
-Columns++ is generally not helpful when columns do not line up visually, such as in comma-separated values files. However, Columns++ can convert between delimiter-separated values and tabbed presentation.
+Columns++ is generally not helpful when columns do not line up visually, such as in comma-separated values files. However, Columns++ can convert between delimiter-separated values and tabbed presentation; and there are some features, particularly Search using numeric formulas in regular expression replacement strings and Sorting with custom criteria, which may be useful in documents that are not column-oriented.
Elastic tabstops can cause loading and editing to be slow for large files. By default, Elastic tabstops is automatically turned off for files over 1000 KB or 5000 lines. You can change these limits.
@@ -366,7 +366,7 @@Tabbed | Check to use a tab to separate the new column from the existing selection; uncheck to pad with spaces so as to leave one space between edge of the existing selection and the new column. |
---|---|
Numeric aligned | Check to align results as numbers; uncheck to leave results left-justified. |
Numeric aligned | Check to align results as numbers, following the same rules as the Align numeric command; uncheck to leave results left-justified. |
Insert at left | Check to insert the new column at the left of the selection; uncheck to insert on the right. |
Align left, Align right and Align numeric process rectangular selections. The selection can be a single column, or multiple columns separated by elastic tabs. (These commands can be used on selections that include traditional fixed tabs; but the results may not be as expected, since they treat tabs as logical separators, ignoring physical positioning.)
+Align left, Align right and Align numeric process rectangular selections. The selection can be a single column, or multiple columns separated by elastic tabs. (These commands can be used on selections that include traditional fixed tabs; but the results may not be as expected, since they treat tabs as logical separators, ignoring physical positioning.) Alignment is accomplished by adding and/or removing ASCII spaces at the beginning and/or end of a column; therefore, precise right or numeric alignment is not always possible when using proportionally-spaced fonts.
-The Decimal separator is comma item near the bottom of the Columns++ menu determines whether the comma or the period is the decimal separator for Align numeric. Details about how numbers are recognized are given in the section on Number formats. The alignment of items which are not recognized as numbers is unchanged.
+Details about how numbers are recognized and interpreted are given in the section on Number formats. The alignment of items which are not recognized as numbers is unchanged. The Decimal separator is comma item near the bottom of the Columns++ menu determines whether the comma or the period is the decimal separator.
+ +The settings in the Time formats dialog determine how numeric alignment proceeds when there are numbers with colons. The Numbers with one or two colons represent setting identifies which colon (days:hours, hours:minutes or minutes:seconds) is present in all numbers with colons; that colon is aligned across all lines. Numbers without colons are aligned according to the Time units: numbers with no colons represent setting, such that they line up with the position that same unit would occupy in a time-formatted number with four segments, all of which except days have two integer digits (e.g., “1:00:00:00”).