All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Add the ability to edit the underlying file by editing a chunk in the editor (not just using the find/replace form)
- this will require tracking Scintilla notifications and adding Diffs to the cuurrently selected Chunk whenever the chunk buffer is changed.
- To make this really useful, we also want a different kind of Diff that tracks find/replace actions (those have a separate Scintilla notification).
- To make the new file:
- Create an empty new file.
- For each chunk:
- If the chunk is unedited, append it to the new file.
- Otherwise, apply the diffs, then append the edited chunk to the file.
- Delete the original file.
- Rename the new file to have the same name as the old one.
- Chunk big XML documents so that each chunk is also valid XML.
- Allow user to select which chunks to edit when using find/replace form (maybe checkboxes in F/R treeview?)
- Make it so the find/replace form's tree view can be used even if
Main.chunkForm
does not exist.
- Make it so that changing only
previewLength
does not cause all the chunks to refresh, but only the form.
- The "eyeball" icon indicating the currently selected file doesn't properly track when a chunk is selected with the find/replace form.
- Entering an invalid regex causes the find/replace form's tree view to be permanently deleted.
- Entering an invalid regex (e.g., unbalanced parentheses) in the find/replace form no longer causes plugin crash and instead simply causes a message box to pop up and an early return. However, the find/replace form's tree view is lost as a result, and so the find/replace form will need to be closed and reopened afterwards.
Next chunk
andFirst chunk
plugin commands (and associated buttons on chunk form) now add a new chunk if you were already on the last chunk (forNext chunk
) or no chunks had been added.- Reduced flickering when moving between find results in the find/replace form.
- Fixed bug where chunking a JSON file and then chunking another JSON file would cause the second file to be chunked incorrectly.
First chunk
,Last chunk
, andNext chunk
plugin commands all scroll the selected tree node into view on the chunk form.- Show total match count on find/replace form, and indicate if fewer matches are shown than the total number found. Do the same for each chunk.
- Find and replace text or regexes in a file. The results of the find/replace can either overwrite the original file or be written to a new file.
- Write each chunk to a separate file (optionally in a new folder created for this purpose).
- Plugin command to close connection to file and close all forms.
- Clicking on a specific result in the find/replace form now jumps to the location of the matched text rather than just opening up the correct chunk.
- Tab navigation of the find/replace form.
- Chunking of JSON files that ensures that every chunk is syntactically valid JSON (although you may need to delete a stray char at the beginning of a chunk sometimes).
- Test suite and performance benchmarking.
- Settings persist between sessions.
- Miscellaneous bugs with default text chunker.
- Form for searching for text in chunked file. Can navigate to chunks where search results were found.
- Automatic inference of line terminator. Can be turned off in plugin settings.
Added logic to Settings.cs
to ensure that minChunk is never greater than maxChunk, and also minChunk and maxChunk must be positive.
If the user enters a minChunk greater than maxChunk in the settings, the minChunk will be set equal to maxChunk instead.
Everything!