Describe the bug
StringManipulation plugins print about 1k lines of HTML into IntelliJ IDEA logs, which makes it harder to analyze the logs.
To Reproduce
Steps to reproduce the behavior:
Install the plugin
Restart the IDEA
Open IDEA logs
Expected behavior
IDEA logs do not get polluted
Screenshots
Plugin pollutes IDEA logs with the following HTML output:
2022-08-25 16:47:53,048 [ 555674] WARN - #c.i.BundleBase - ignore extra mnemonic in
Case switching, sorting, filtering, incrementing, aligning to columns, grepping, escaping, encoding...<br><br>
Sponsored by:<br>
<p><a title="Try CodeStream" href="https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=vojta_string&utm_medium=banner"><img src="https://alt-images.codestream.com/codestream_logo_vojta_string.png"></a><br>
Manage pull requests and conduct code reviews in your IDE with full source-tree context. Comment on any line, not just the diffs. Use jump-to-definition, your favorite keybindings, and code intelligence with more of your workflow.<br>
<a title="Try CodeStream" href="https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=vojta_string&utm_medium=banner">Learn More</a></p>
<br>
<p>
Features:
<p>
Case switching:
<ul>
<li>Switch case (camelCase, kebab-lowercase, KEBAB-UPPERCASE, snake_case, SCREAMING_SNAKE_CASE, dot.case,
words lowercase, First word capitalized, Words Capitalized, PascalCase)
</li>
<li>Toggle: SCREAMING_SNAKE_CASE / camelCase</li>
<li>Toggle: snake_case / camelCase</li>
<li>Toggle: kebab-case / snake_case</li>
<li>Toggle: kebab-case / camelCase</li>
<li>Toggle: dot.case / camelCase</li>
<li>Toggle: PascalCase / camelCase</li>
<li>Toggle: lowercase words / camelCase</li>
<li>Toggle: First word capitalized / camelCase</li>
<li>Toggle: Capitalized Words / camelCase</li>
<li>To camelCase</li>
<li>To snake_case</li>
<li>To kebab-case</li>
<li>To PascalCase</li>
<li>To SCREAMING_SNAKE_CASE</li>
<li>To Capitalized_Snake_Case</li>
<li>Capitalize</li>
<li>To lower case</li>
<li>To UPPER CASE</li>
<li>Invert case</li>
<li>To Spring Boot System Env Variable</li>
</ul>
-'Switch case' action can be customized, or new ones can be added in settings<br>
-when nothing is selected, then either nothing or whole line or a particular element is selected (report an issue if you find something to improve, each file type needs its own implementation to work flawlessly)</li>
</p>
<p>
Un/Escape:
<ul>
<li>Un/Escape selected Java text</li>
<li>Un/Escape selected JavaScript text</li>
<li>Un/Escape selected C# text (regular, verbatim, interpolated)</li>
<li>Un/Escape selected HTML text</li>
<li>Un/Escape selected JSON text</li>
<li>Un/Escape selected XML text</li>
<li>Un/Escape selected SQL text</li>
<li>Un/Escape selected PHP text</li>
<li>Convert diacritics (accents) to ASCII</li>
<li>Convert non-ASCII to escaped Unicode</li>
<li>Convert escaped Unicode to String</li>
<li>Unicode normalization (NFD, NFC, NFKC, NFKD)</li>
</ul>
</p>
<p>
Encode/Decode:
<ul>
<li>Encode selected text to MD5 Hex</li>
<li>Encode selected text to SHA-1 Hex</li>
<li>Encode selected text to SHA-256 Hex</li>
<li>Encode selected text to SHA-512 Hex</li>
<li>Encode selected text to SHA3-256 Hex</li>
<li>Encode selected text to SHA3-512 Hex</li>
<li>De/Encode selected text as URL</li>
<li>De/Encode selected text to Base64 (+ zip/deflate)</li>
<li>De/Encode selected text to Hex</li>
<li>ISO Timestamp to Epoch Milliseconds</li>
<li>Epoch Milliseconds to ISO Timestamp</li>
</ul>
</p>
<p>
Increment/Decrement:
<ul>
<li>Increment/decrement all numbers found.</li>
<li>Duplicate selection and increment/decrement all numbers found.</li>
<li>Create sequence - Keep first number, replace all other by incrementing</li>
<li>Increment duplicate numbers</li>
</ul>
</p>
<p>
Sort with natural order or Collator:
<ul>
<li>Reversing order of lines</li>
<li>Shuffle lines</li>
<li>Sort case-sensitive A-z</li>
<li>Sort case-sensitive z-A</li>
<li>Sort case-insensitive A-Z</li>
<li>Sort case-insensitive Z-A</li>
<li>Sort line length asc., desc.</li>
<li>Sort hexadecimally</li>
<li>Sort lines by subselection - only one selection/caret per line is handled</li>
<li>Sort tokens (delimited text)</li>
<li>Shuffle Characters</li>
<li>JSON sort</li>
<li><a href="https://github.com/krasa/StringManipulation/wiki/Hierarchical-sort/">Hierarchical sort</a></li>
</ul>
</p>
<p>
Align:
<ul>
<li>Align carets/selections into a vertical line by inserting spaces</li>
<li>Format selected text to columns/table by a chosen separator/delimiter and sort by columns</li>
<li>Align text to left/center/right</li>
</ul>
</p>
<p>
Filter/Remove/Trim/Minify/Convert...:
<ul>
<li>Grep</li>
<li>Inverted Grep</li>
<li>Group by Grep - matched lines will be separated from not matched</li>
<li>Trim</li>
<li>Replace whitespaces with a single space char</li>
<li>Remove all spaces</li>
<li>Remove duplicates (supports multicaret subselection)</li>
<li>Keep only duplicate lines</li>
<li>Group and Count</li>
<li>Remove empty lines</li>
<li>Remove all newlines</li>
<li>Convert Between Char and Int</li>
<li>Minify JSON</li>
<li>Minify JavaScript</li>
<li>Convert Between JSON and YAML</li>
</ul>
</p>
<p>
Other:
<ul>
<li>Reverse Letters</li>
<li>Swap Words</li>
<li>Swap Characters/Selections/Lines/Tokens</li>
<li>Wrap or shift double quotes to single quotes to backticks</li>
<li>Swap between double quotes and single quotes</li>
<li>Switch file path separators: Windows<->UNIX</li>
<br>
<li>Select All Occurrences For All Carets</li>
<li>Extend Selection in Different "CamelHumps" Mode</li>
<li>Multi Replace</li>
<li>Duplicate Line or Selection And Multi Replace</li>
<li>Paste - camelCased</li>
<li>Paste - and Keep Selections</li>
<li>Create Border</li>
</ul>
</p>
<p>Actions are available under Edit menu, or via the shortcut "alt M" and "alt shift M".
<br>You can setup your own shortcuts for better usability.
<br>Popup can be customized in File | Settings | Appearance & Behavior | Menus and Toolbars.
</p>
<br> <br>
<a href="https://www.paypal.me/VojtechKrasa">Donations</a> | <a href="https://github.com/krasa/StringManipulation/">GitHub</a> | <a href="https://github.com/krasa/StringManipulation/issues">Issues</a>
</p>
2022-08-25 16:47:53,048 [ 555674] WARN - #c.i.BundleBase - ignore extra mnemonic in
Case switching, sorting, filtering, incrementing, aligning to columns, grepping, escaping, encoding...<br><br>
Sponsored by:<br>
<p><a title="Try CodeStream" href="https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=vojta_string&utm_medium=banner"><img src="https://alt-images.codestream.com/codestream_logo_vojta_string.png"></a><br>
Manage pull requests and conduct code reviews in your IDE with full source-tree context. Comment on any line, not just the diffs. Use jump-to-definition, your favorite keybindings, and code intelligence with more of your workflow.<br>
<a title="Try CodeStream" href="https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=vojta_string&utm_medium=banner">Learn More</a></p>
<br>
<p>
Features:
<p>
Case switching:
<ul>
<li>Switch case (camelCase, kebab-lowercase, KEBAB-UPPERCASE, snake_case, SCREAMING_SNAKE_CASE, dot.case,
words lowercase, First word capitalized, Words Capitalized, PascalCase)
</li>
<li>Toggle: SCREAMING_SNAKE_CASE / camelCase</li>
<li>Toggle: snake_case / camelCase</li>
<li>Toggle: kebab-case / snake_case</li>
<li>Toggle: kebab-case / camelCase</li>
<li>Toggle: dot.case / camelCase</li>
<li>Toggle: PascalCase / camelCase</li>
<li>Toggle: lowercase words / camelCase</li>
<li>Toggle: First word capitalized / camelCase</li>
<li>Toggle: Capitalized Words / camelCase</li>
<li>To camelCase</li>
<li>To snake_case</li>
<li>To kebab-case</li>
<li>To PascalCase</li>
<li>To SCREAMING_SNAKE_CASE</li>
<li>To Capitalized_Snake_Case</li>
<li>Capitalize</li>
<li>To lower case</li>
<li>To UPPER CASE</li>
<li>Invert case</li>
<li>To Spring Boot System Env Variable</li>
</ul>
-'Switch case' action can be customized, or new ones can be added in settings<br>
-when nothing is selected, then either nothing or whole line or a particular element is selected (report an issue if you find something to improve, each file type needs its own implementation to work flawlessly)</li>
</p>
<p>
Un/Escape:
<ul>
<li>Un/Escape selected Java text</li>
<li>Un/Escape selected JavaScript text</li>
<li>Un/Escape selected C# text (regular, verbatim, interpolated)</li>
<li>Un/Escape selected HTML text</li>
<li>Un/Escape selected JSON text</li>
<li>Un/Escape selected XML text</li>
<li>Un/Escape selected SQL text</li>
<li>Un/Escape selected PHP text</li>
<li>Convert diacritics (accents) to ASCII</li>
<li>Convert non-ASCII to escaped Unicode</li>
<li>Convert escaped Unicode to String</li>
<li>Unicode normalization (NFD, NFC, NFKC, NFKD)</li>
</ul>
</p>
<p>
Encode/Decode:
<ul>
<li>Encode selected text to MD5 Hex</li>
<li>Encode selected text to SHA-1 Hex</li>
<li>Encode selected text to SHA-256 Hex</li>
<li>Encode selected text to SHA-512 Hex</li>
<li>Encode selected text to SHA3-256 Hex</li>
<li>Encode selected text to SHA3-512 Hex</li>
<li>De/Encode selected text as URL</li>
<li>De/Encode selected text to Base64 (+ zip/deflate)</li>
<li>De/Encode selected text to Hex</li>
<li>ISO Timestamp to Epoch Milliseconds</li>
<li>Epoch Milliseconds to ISO Timestamp</li>
</ul>
</p>
<p>
Increment/Decrement:
<ul>
<li>Increment/decrement all numbers found.</li>
<li>Duplicate selection and increment/decrement all numbers found.</li>
<li>Create sequence - Keep first number, replace all other by incrementing</li>
<li>Increment duplicate numbers</li>
</ul>
</p>
<p>
Sort with natural order or Collator:
<ul>
<li>Reversing order of lines</li>
<li>Shuffle lines</li>
<li>Sort case-sensitive A-z</li>
<li>Sort case-sensitive z-A</li>
<li>Sort case-insensitive A-Z</li>
<li>Sort case-insensitive Z-A</li>
<li>Sort line length asc., desc.</li>
<li>Sort hexadecimally</li>
<li>Sort lines by subselection - only one selection/caret per line is handled</li>
<li>Sort tokens (delimited text)</li>
<li>Shuffle Characters</li>
<li>JSON sort</li>
<li><a href="https://github.com/krasa/StringManipulation/wiki/Hierarchical-sort/">Hierarchical sort</a></li>
</ul>
</p>
<p>
Align:
<ul>
<li>Align carets/selections into a vertical line by inserting spaces</li>
<li>Format selected text to columns/table by a chosen separator/delimiter and sort by columns</li>
<li>Align text to left/center/right</li>
</ul>
</p>
<p>
Filter/Remove/Trim/Minify/Convert...:
<ul>
<li>Grep</li>
<li>Inverted Grep</li>
<li>Group by Grep - matched lines will be separated from not matched</li>
<li>Trim</li>
<li>Replace whitespaces with a single space char</li>
<li>Remove all spaces</li>
<li>Remove duplicates (supports multicaret subselection)</li>
<li>Keep only duplicate lines</li>
<li>Group and Count</li>
<li>Remove empty lines</li>
<li>Remove all newlines</li>
<li>Convert Between Char and Int</li>
<li>Minify JSON</li>
<li>Minify JavaScript</li>
<li>Convert Between JSON and YAML</li>
</ul>
</p>
<p>
Other:
<ul>
<li>Reverse Letters</li>
<li>Swap Words</li>
<li>Swap Characters/Selections/Lines/Tokens</li>
<li>Wrap or shift double quotes to single quotes to backticks</li>
<li>Swap between double quotes and single quotes</li>
<li>Switch file path separators: Windows<->UNIX</li>
<br>
<li>Select All Occurrences For All Carets</li>
<li>Extend Selection in Different "CamelHumps" Mode</li>
<li>Multi Replace</li>
<li>Duplicate Line or Selection And Multi Replace</li>
<li>Paste - camelCased</li>
<li>Paste - and Keep Selections</li>
<li>Create Border</li>
</ul>
</p>
<p>Actions are available under Edit menu, or via the shortcut "alt M" and "alt shift M".
<br>You can setup your own shortcuts for better usability.
<br>Popup can be customized in File | Settings | Appearance & Behavior | Menus and Toolbars.
</p>
<br> <br>
<a href="https://www.paypal.me/VojtechKrasa">Donations</a> | <a href="https://github.com/krasa/StringManipulation/">GitHub</a> | <a href="https://github.com/krasa/StringManipulation/issues">Issues</a>
</p>
2022-08-25 16:47:53,048 [ 555674] WARN - #c.i.BundleBase - ignore extra mnemonic in
Case switching, sorting, filtering, incrementing, aligning to columns, grepping, escaping, encoding...<br><br>
Sponsored by:<br>
<p><a title="Try CodeStream" href="https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=vojta_string&utm_medium=banner"><img src="https://alt-images.codestream.com/codestream_logo_vojta_string.png"></a><br>
Manage pull requests and conduct code reviews in your IDE with full source-tree context. Comment on any line, not just the diffs. Use jump-to-definition, your favorite keybindings, and code intelligence with more of your workflow.<br>
<a title="Try CodeStream" href="https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=vojta_string&utm_medium=banner">Learn More</a></p>
<br>
<p>
Features:
<p>
Case switching:
<ul>
<li>Switch case (camelCase, kebab-lowercase, KEBAB-UPPERCASE, snake_case, SCREAMING_SNAKE_CASE, dot.case,
words lowercase, First word capitalized, Words Capitalized, PascalCase)
</li>
<li>Toggle: SCREAMING_SNAKE_CASE / camelCase</li>
<li>Toggle: snake_case / camelCase</li>
<li>Toggle: kebab-case / snake_case</li>
<li>Toggle: kebab-case / camelCase</li>
<li>Toggle: dot.case / camelCase</li>
<li>Toggle: PascalCase / camelCase</li>
<li>Toggle: lowercase words / camelCase</li>
<li>Toggle: First word capitalized / camelCase</li>
<li>Toggle: Capitalized Words / camelCase</li>
<li>To camelCase</li>
<li>To snake_case</li>
<li>To kebab-case</li>
<li>To PascalCase</li>
<li>To SCREAMING_SNAKE_CASE</li>
<li>To Capitalized_Snake_Case</li>
<li>Capitalize</li>
<li>To lower case</li>
<li>To UPPER CASE</li>
<li>Invert case</li>
<li>To Spring Boot System Env Variable</li>
</ul>
-'Switch case' action can be customized, or new ones can be added in settings<br>
-when nothing is selected, then either nothing or whole line or a particular element is selected (report an issue if you find something to improve, each file type needs its own implementation to work flawlessly)</li>
</p>
<p>
Un/Escape:
<ul>
<li>Un/Escape selected Java text</li>
<li>Un/Escape selected JavaScript text</li>
<li>Un/Escape selected C# text (regular, verbatim, interpolated)</li>
<li>Un/Escape selected HTML text</li>
<li>Un/Escape selected JSON text</li>
<li>Un/Escape selected XML text</li>
<li>Un/Escape selected SQL text</li>
<li>Un/Escape selected PHP text</li>
<li>Convert diacritics (accents) to ASCII</li>
<li>Convert non-ASCII to escaped Unicode</li>
<li>Convert escaped Unicode to String</li>
<li>Unicode normalization (NFD, NFC, NFKC, NFKD)</li>
</ul>
</p>
<p>
Encode/Decode:
<ul>
<li>Encode selected text to MD5 Hex</li>
<li>Encode selected text to SHA-1 Hex</li>
<li>Encode selected text to SHA-256 Hex</li>
<li>Encode selected text to SHA-512 Hex</li>
<li>Encode selected text to SHA3-256 Hex</li>
<li>Encode selected text to SHA3-512 Hex</li>
<li>De/Encode selected text as URL</li>
<li>De/Encode selected text to Base64 (+ zip/deflate)</li>
<li>De/Encode selected text to Hex</li>
<li>ISO Timestamp to Epoch Milliseconds</li>
<li>Epoch Milliseconds to ISO Timestamp</li>
</ul>
</p>
<p>
Increment/Decrement:
<ul>
<li>Increment/decrement all numbers found.</li>
<li>Duplicate selection and increment/decrement all numbers found.</li>
<li>Create sequence - Keep first number, replace all other by incrementing</li>
<li>Increment duplicate numbers</li>
</ul>
</p>
<p>
Sort with natural order or Collator:
<ul>
<li>Reversing order of lines</li>
<li>Shuffle lines</li>
<li>Sort case-sensitive A-z</li>
<li>Sort case-sensitive z-A</li>
<li>Sort case-insensitive A-Z</li>
<li>Sort case-insensitive Z-A</li>
<li>Sort line length asc., desc.</li>
<li>Sort hexadecimally</li>
<li>Sort lines by subselection - only one selection/caret per line is handled</li>
<li>Sort tokens (delimited text)</li>
<li>Shuffle Characters</li>
<li>JSON sort</li>
<li><a href="https://github.com/krasa/StringManipulation/wiki/Hierarchical-sort/">Hierarchical sort</a></li>
</ul>
</p>
<p>
Align:
<ul>
<li>Align carets/selections into a vertical line by inserting spaces</li>
<li>Format selected text to columns/table by a chosen separator/delimiter and sort by columns</li>
<li>Align text to left/center/right</li>
</ul>
</p>
<p>
Filter/Remove/Trim/Minify/Convert...:
<ul>
<li>Grep</li>
<li>Inverted Grep</li>
<li>Group by Grep - matched lines will be separated from not matched</li>
<li>Trim</li>
<li>Replace whitespaces with a single space char</li>
<li>Remove all spaces</li>
<li>Remove duplicates (supports multicaret subselection)</li>
<li>Keep only duplicate lines</li>
<li>Group and Count</li>
<li>Remove empty lines</li>
<li>Remove all newlines</li>
<li>Convert Between Char and Int</li>
<li>Minify JSON</li>
<li>Minify JavaScript</li>
<li>Convert Between JSON and YAML</li>
</ul>
</p>
<p>
Other:
<ul>
<li>Reverse Letters</li>
<li>Swap Words</li>
<li>Swap Characters/Selections/Lines/Tokens</li>
<li>Wrap or shift double quotes to single quotes to backticks</li>
<li>Swap between double quotes and single quotes</li>
<li>Switch file path separators: Windows<->UNIX</li>
<br>
<li>Select All Occurrences For All Carets</li>
<li>Extend Selection in Different "CamelHumps" Mode</li>
<li>Multi Replace</li>
<li>Duplicate Line or Selection And Multi Replace</li>
<li>Paste - camelCased</li>
<li>Paste - and Keep Selections</li>
<li>Create Border</li>
</ul>
</p>
<p>Actions are available under Edit menu, or via the shortcut "alt M" and "alt shift M".
<br>You can setup your own shortcuts for better usability.
<br>Popup can be customized in File | Settings | Appearance & Behavior | Menus and Toolbars.
</p>
<br> <br>
<a href="https://www.paypal.me/VojtechKrasa">Donations</a> | <a href="https://github.com/krasa/StringManipulation/">GitHub</a> | <a href="https://github.com/krasa/StringManipulation/issues">Issues</a>
</p>
2022-08-25 16:47:53,049 [ 555675] WARN - #c.i.BundleBase - ignore extra mnemonic in
Case switching, sorting, filtering, incrementing, aligning to columns, grepping, escaping, encoding...<br><br>
Sponsored by:<br>
<p><a title="Try CodeStream" href="https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=vojta_string&utm_medium=banner"><img src="https://alt-images.codestream.com/codestream_logo_vojta_string.png"></a><br>
Manage pull requests and conduct code reviews in your IDE with full source-tree context. Comment on any line, not just the diffs. Use jump-to-definition, your favorite keybindings, and code intelligence with more of your workflow.<br>
<a title="Try CodeStream" href="https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=vojta_string&utm_medium=banner">Learn More</a></p>
<br>
<p>
Features:
<p>
Case switching:
<ul>
<li>Switch case (camelCase, kebab-lowercase, KEBAB-UPPERCASE, snake_case, SCREAMING_SNAKE_CASE, dot.case,
words lowercase, First word capitalized, Words Capitalized, PascalCase)
</li>
<li>Toggle: SCREAMING_SNAKE_CASE / camelCase</li>
<li>Toggle: snake_case / camelCase</li>
<li>Toggle: kebab-case / snake_case</li>
<li>Toggle: kebab-case / camelCase</li>
<li>Toggle: dot.case / camelCase</li>
<li>Toggle: PascalCase / camelCase</li>
<li>Toggle: lowercase words / camelCase</li>
<li>Toggle: First word capitalized / camelCase</li>
<li>Toggle: Capitalized Words / camelCase</li>
<li>To camelCase</li>
<li>To snake_case</li>
<li>To kebab-case</li>
<li>To PascalCase</li>
<li>To SCREAMING_SNAKE_CASE</li>
<li>To Capitalized_Snake_Case</li>
<li>Capitalize</li>
<li>To lower case</li>
<li>To UPPER CASE</li>
<li>Invert case</li>
<li>To Spring Boot System Env Variable</li>
</ul>
-'Switch case' action can be customized, or new ones can be added in settings<br>
-when nothing is selected, then either nothing or whole line or a particular element is selected (report an issue if you find something to improve, each file type needs its own implementation to work flawlessly)</li>
</p>
<p>
Un/Escape:
<ul>
<li>Un/Escape selected Java text</li>
<li>Un/Escape selected JavaScript text</li>
<li>Un/Escape selected C# text (regular, verbatim, interpolated)</li>
<li>Un/Escape selected HTML text</li>
<li>Un/Escape selected JSON text</li>
<li>Un/Escape selected XML text</li>
<li>Un/Escape selected SQL text</li>
<li>Un/Escape selected PHP text</li>
<li>Convert diacritics (accents) to ASCII</li>
<li>Convert non-ASCII to escaped Unicode</li>
<li>Convert escaped Unicode to String</li>
<li>Unicode normalization (NFD, NFC, NFKC, NFKD)</li>
</ul>
</p>
<p>
Encode/Decode:
<ul>
<li>Encode selected text to MD5 Hex</li>
<li>Encode selected text to SHA-1 Hex</li>
<li>Encode selected text to SHA-256 Hex</li>
<li>Encode selected text to SHA-512 Hex</li>
<li>Encode selected text to SHA3-256 Hex</li>
<li>Encode selected text to SHA3-512 Hex</li>
<li>De/Encode selected text as URL</li>
<li>De/Encode selected text to Base64 (+ zip/deflate)</li>
<li>De/Encode selected text to Hex</li>
<li>ISO Timestamp to Epoch Milliseconds</li>
<li>Epoch Milliseconds to ISO Timestamp</li>
</ul>
</p>
<p>
Increment/Decrement:
<ul>
<li>Increment/decrement all numbers found.</li>
<li>Duplicate selection and increment/decrement all numbers found.</li>
<li>Create sequence - Keep first number, replace all other by incrementing</li>
<li>Increment duplicate numbers</li>
</ul>
</p>
<p>
Sort with natural order or Collator:
<ul>
<li>Reversing order of lines</li>
<li>Shuffle lines</li>
<li>Sort case-sensitive A-z</li>
<li>Sort case-sensitive z-A</li>
<li>Sort case-insensitive A-Z</li>
<li>Sort case-insensitive Z-A</li>
<li>Sort line length asc., desc.</li>
<li>Sort hexadecimally</li>
<li>Sort lines by subselection - only one selection/caret per line is handled</li>
<li>Sort tokens (delimited text)</li>
<li>Shuffle Characters</li>
<li>JSON sort</li>
<li><a href="https://github.com/krasa/StringManipulation/wiki/Hierarchical-sort/">Hierarchical sort</a></li>
</ul>
</p>
<p>
Align:
<ul>
<li>Align carets/selections into a vertical line by inserting spaces</li>
<li>Format selected text to columns/table by a chosen separator/delimiter and sort by columns</li>
<li>Align text to left/center/right</li>
</ul>
</p>
<p>
Filter/Remove/Trim/Minify/Convert...:
<ul>
<li>Grep</li>
<li>Inverted Grep</li>
<li>Group by Grep - matched lines will be separated from not matched</li>
<li>Trim</li>
<li>Replace whitespaces with a single space char</li>
<li>Remove all spaces</li>
<li>Remove duplicates (supports multicaret subselection)</li>
<li>Keep only duplicate lines</li>
<li>Group and Count</li>
<li>Remove empty lines</li>
<li>Remove all newlines</li>
<li>Convert Between Char and Int</li>
<li>Minify JSON</li>
<li>Minify JavaScript</li>
<li>Convert Between JSON and YAML</li>
</ul>
</p>
<p>
Other:
<ul>
<li>Reverse Letters</li>
<li>Swap Words</li>
<li>Swap Characters/Selections/Lines/Tokens</li>
<li>Wrap or shift double quotes to single quotes to backticks</li>
<li>Swap between double quotes and single quotes</li>
<li>Switch file path separators: Windows<->UNIX</li>
<br>
<li>Select All Occurrences For All Carets</li>
<li>Extend Selection in Different "CamelHumps" Mode</li>
<li>Multi Replace</li>
<li>Duplicate Line or Selection And Multi Replace</li>
<li>Paste - camelCased</li>
<li>Paste - and Keep Selections</li>
<li>Create Border</li>
</ul>
</p>
<p>Actions are available under Edit menu, or via the shortcut "alt M" and "alt shift M".
<br>You can setup your own shortcuts for better usability.
<br>Popup can be customized in File | Settings | Appearance & Behavior | Menus and Toolbars.
</p>
<br> <br>
<a href="https://www.paypal.me/VojtechKrasa">Donations</a> | <a href="https://github.com/krasa/StringManipulation/">GitHub</a> | <a href="https://github.com/krasa/StringManipulation/issues">Issues</a>
</p>
2022-08-25 16:47:53,049 [ 555675] WARN - #c.i.BundleBase - ignore extra mnemonic in
Case switching, sorting, filtering, incrementing, aligning to columns, grepping, escaping, encoding...<br><br>
Sponsored by:<br>
<p><a title="Try CodeStream" href="https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=vojta_string&utm_medium=banner"><img src="https://alt-images.codestream.com/codestream_logo_vojta_string.png"></a><br>
Manage pull requests and conduct code reviews in your IDE with full source-tree context. Comment on any line, not just the diffs. Use jump-to-definition, your favorite keybindings, and code intelligence with more of your workflow.<br>
<a title="Try CodeStream" href="https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=vojta_string&utm_medium=banner">Learn More</a></p>
<br>
<p>
Features:
<p>
Case switching:
<ul>
<li>Switch case (camelCase, kebab-lowercase, KEBAB-UPPERCASE, snake_case, SCREAMING_SNAKE_CASE, dot.case,
words lowercase, First word capitalized, Words Capitalized, PascalCase)
</li>
<li>Toggle: SCREAMING_SNAKE_CASE / camelCase</li>
<li>Toggle: snake_case / camelCase</li>
<li>Toggle: kebab-case / snake_case</li>
<li>Toggle: kebab-case / camelCase</li>
<li>Toggle: dot.case / camelCase</li>
<li>Toggle: PascalCase / camelCase</li>
<li>Toggle: lowercase words / camelCase</li>
<li>Toggle: First word capitalized / camelCase</li>
<li>Toggle: Capitalized Words / camelCase</li>
<li>To camelCase</li>
<li>To snake_case</li>
<li>To kebab-case</li>
<li>To PascalCase</li>
<li>To SCREAMING_SNAKE_CASE</li>
<li>To Capitalized_Snake_Case</li>
<li>Capitalize</li>
<li>To lower case</li>
<li>To UPPER CASE</li>
<li>Invert case</li>
<li>To Spring Boot System Env Variable</li>
</ul>
-'Switch case' action can be customized, or new ones can be added in settings<br>
-when nothing is selected, then either nothing or whole line or a particular element is selected (report an issue if you find something to improve, each file type needs its own implementation to work flawlessly)</li>
</p>
<p>
Un/Escape:
<ul>
<li>Un/Escape selected Java text</li>
<li>Un/Escape selected JavaScript text</li>
<li>Un/Escape selected C# text (regular, verbatim, interpolated)</li>
<li>Un/Escape selected HTML text</li>
<li>Un/Escape selected JSON text</li>
<li>Un/Escape selected XML text</li>
<li>Un/Escape selected SQL text</li>
<li>Un/Escape selected PHP text</li>
<li>Convert diacritics (accents) to ASCII</li>
<li>Convert non-ASCII to escaped Unicode</li>
<li>Convert escaped Unicode to String</li>
<li>Unicode normalization (NFD, NFC, NFKC, NFKD)</li>
</ul>
</p>
<p>
Encode/Decode:
<ul>
<li>Encode selected text to MD5 Hex</li>
<li>Encode selected text to SHA-1 Hex</li>
<li>Encode selected text to SHA-256 Hex</li>
<li>Encode selected text to SHA-512 Hex</li>
<li>Encode selected text to SHA3-256 Hex</li>
<li>Encode selected text to SHA3-512 Hex</li>
<li>De/Encode selected text as URL</li>
<li>De/Encode selected text to Base64 (+ zip/deflate)</li>
<li>De/Encode selected text to Hex</li>
<li>ISO Timestamp to Epoch Milliseconds</li>
<li>Epoch Milliseconds to ISO Timestamp</li>
</ul>
</p>
<p>
Increment/Decrement:
<ul>
<li>Increment/decrement all numbers found.</li>
<li>Duplicate selection and increment/decrement all numbers found.</li>
<li>Create sequence - Keep first number, replace all other by incrementing</li>
<li>Increment duplicate numbers</li>
</ul>
</p>
<p>
Sort with natural order or Collator:
<ul>
<li>Reversing order of lines</li>
<li>Shuffle lines</li>
<li>Sort case-sensitive A-z</li>
<li>Sort case-sensitive z-A</li>
<li>Sort case-insensitive A-Z</li>
<li>Sort case-insensitive Z-A</li>
<li>Sort line length asc., desc.</li>
<li>Sort hexadecimally</li>
<li>Sort lines by subselection - only one selection/caret per line is handled</li>
<li>Sort tokens (delimited text)</li>
<li>Shuffle Characters</li>
<li>JSON sort</li>
<li><a href="https://github.com/krasa/StringManipulation/wiki/Hierarchical-sort/">Hierarchical sort</a></li>
</ul>
</p>
<p>
Align:
<ul>
<li>Align carets/selections into a vertical line by inserting spaces</li>
<li>Format selected text to columns/table by a chosen separator/delimiter and sort by columns</li>
<li>Align text to left/center/right</li>
</ul>
</p>
<p>
Filter/Remove/Trim/Minify/Convert...:
<ul>
<li>Grep</li>
<li>Inverted Grep</li>
<li>Group by Grep - matched lines will be separated from not matched</li>
<li>Trim</li>
<li>Replace whitespaces with a single space char</li>
<li>Remove all spaces</li>
<li>Remove duplicates (supports multicaret subselection)</li>
<li>Keep only duplicate lines</li>
<li>Group and Count</li>
<li>Remove empty lines</li>
<li>Remove all newlines</li>
<li>Convert Between Char and Int</li>
<li>Minify JSON</li>
<li>Minify JavaScript</li>
<li>Convert Between JSON and YAML</li>
</ul>
</p>
<p>
Other:
<ul>
<li>Reverse Letters</li>
<li>Swap Words</li>
<li>Swap Characters/Selections/Lines/Tokens</li>
<li>Wrap or shift double quotes to single quotes to backticks</li>
<li>Swap between double quotes and single quotes</li>
<li>Switch file path separators: Windows<->UNIX</li>
<br>
<li>Select All Occurrences For All Carets</li>
<li>Extend Selection in Different "CamelHumps" Mode</li>
<li>Multi Replace</li>
<li>Duplicate Line or Selection And Multi Replace</li>
<li>Paste - camelCased</li>
<li>Paste - and Keep Selections</li>
<li>Create Border</li>
</ul>
</p>
<p>Actions are available under Edit menu, or via the shortcut "alt M" and "alt shift M".
<br>You can setup your own shortcuts for better usability.
<br>Popup can be customized in File | Settings | Appearance & Behavior | Menus and Toolbars.
</p>
<br> <br>
<a href="https://www.paypal.me/VojtechKrasa">Donations</a> | <a href="https://github.com/krasa/StringManipulation/">GitHub</a> | <a href="https://github.com/krasa/StringManipulation/issues">Issues</a>
</p>
2022-08-25 16:47:53,049 [ 555675] WARN - #c.i.BundleBase - ignore extra mnemonic in
Case switching, sorting, filtering, incrementing, aligning to columns, grepping, escaping, encoding...<br><br>
Sponsored by:<br>
<p><a title="Try CodeStream" href="https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=vojta_string&utm_medium=banner"><img src="https://alt-images.codestream.com/codestream_logo_vojta_string.png"></a><br>
Manage pull requests and conduct code reviews in your IDE with full source-tree context. Comment on any line, not just the diffs. Use jump-to-definition, your favorite keybindings, and code intelligence with more of your workflow.<br>
<a title="Try CodeStream" href="https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=vojta_string&utm_medium=banner">Learn More</a></p>
<br>
<p>
Features:
<p>
Case switching:
<ul>
<li>Switch case (camelCase, kebab-lowercase, KEBAB-UPPERCASE, snake_case, SCREAMING_SNAKE_CASE, dot.case,
words lowercase, First word capitalized, Words Capitalized, PascalCase)
</li>
<li>Toggle: SCREAMING_SNAKE_CASE / camelCase</li>
<li>Toggle: snake_case / camelCase</li>
<li>Toggle: kebab-case / snake_case</li>
<li>Toggle: kebab-case / camelCase</li>
<li>Toggle: dot.case / camelCase</li>
<li>Toggle: PascalCase / camelCase</li>
<li>Toggle: lowercase words / camelCase</li>
<li>Toggle: First word capitalized / camelCase</li>
<li>Toggle: Capitalized Words / camelCase</li>
<li>To camelCase</li>
<li>To snake_case</li>
<li>To kebab-case</li>
<li>To PascalCase</li>
<li>To SCREAMING_SNAKE_CASE</li>
<li>To Capitalized_Snake_Case</li>
<li>Capitalize</li>
<li>To lower case</li>
<li>To UPPER CASE</li>
<li>Invert case</li>
<li>To Spring Boot System Env Variable</li>
</ul>
-'Switch case' action can be customized, or new ones can be added in settings<br>
-when nothing is selected, then either nothing or whole line or a particular element is selected (report an issue if you find something to improve, each file type needs its own implementation to work flawlessly)</li>
</p>
<p>
Un/Escape:
<ul>
<li>Un/Escape selected Java text</li>
<li>Un/Escape selected JavaScript text</li>
<li>Un/Escape selected C# text (regular, verbatim, interpolated)</li>
<li>Un/Escape selected HTML text</li>
<li>Un/Escape selected JSON text</li>
<li>Un/Escape selected XML text</li>
<li>Un/Escape selected SQL text</li>
<li>Un/Escape selected PHP text</li>
<li>Convert diacritics (accents) to ASCII</li>
<li>Convert non-ASCII to escaped Unicode</li>
<li>Convert escaped Unicode to String</li>
<li>Unicode normalization (NFD, NFC, NFKC, NFKD)</li>
</ul>
</p>
<p>
Encode/Decode:
<ul>
<li>Encode selected text to MD5 Hex</li>
<li>Encode selected text to SHA-1 Hex</li>
<li>Encode selected text to SHA-256 Hex</li>
<li>Encode selected text to SHA-512 Hex</li>
<li>Encode selected text to SHA3-256 Hex</li>
<li>Encode selected text to SHA3-512 Hex</li>
<li>De/Encode selected text as URL</li>
<li>De/Encode selected text to Base64 (+ zip/deflate)</li>
<li>De/Encode selected text to Hex</li>
<li>ISO Timestamp to Epoch Milliseconds</li>
<li>Epoch Milliseconds to ISO Timestamp</li>
</ul>
</p>
<p>
Increment/Decrement:
<ul>
<li>Increment/decrement all numbers found.</li>
<li>Duplicate selection and increment/decrement all numbers found.</li>
<li>Create sequence - Keep first number, replace all other by incrementing</li>
<li>Increment duplicate numbers</li>
</ul>
</p>
<p>
Sort with natural order or Collator:
<ul>
<li>Reversing order of lines</li>
<li>Shuffle lines</li>
<li>Sort case-sensitive A-z</li>
<li>Sort case-sensitive z-A</li>
<li>Sort case-insensitive A-Z</li>
<li>Sort case-insensitive Z-A</li>
<li>Sort line length asc., desc.</li>
<li>Sort hexadecimally</li>
<li>Sort lines by subselection - only one selection/caret per line is handled</li>
<li>Sort tokens (delimited text)</li>
<li>Shuffle Characters</li>
<li>JSON sort</li>
<li><a href="https://github.com/krasa/StringManipulation/wiki/Hierarchical-sort/">Hierarchical sort</a></li>
</ul>
</p>
<p>
Align:
<ul>
<li>Align carets/selections into a vertical line by inserting spaces</li>
<li>Format selected text to columns/table by a chosen separator/delimiter and sort by columns</li>
<li>Align text to left/center/right</li>
</ul>
</p>
<p>
Filter/Remove/Trim/Minify/Convert...:
<ul>
<li>Grep</li>
<li>Inverted Grep</li>
<li>Group by Grep - matched lines will be separated from not matched</li>
<li>Trim</li>
<li>Replace whitespaces with a single space char</li>
<li>Remove all spaces</li>
<li>Remove duplicates (supports multicaret subselection)</li>
<li>Keep only duplicate lines</li>
<li>Group and Count</li>
<li>Remove empty lines</li>
<li>Remove all newlines</li>
<li>Convert Between Char and Int</li>
<li>Minify JSON</li>
<li>Minify JavaScript</li>
<li>Convert Between JSON and YAML</li>
</ul>
</p>
<p>
Other:
<ul>
<li>Reverse Letters</li>
<li>Swap Words</li>
<li>Swap Characters/Selections/Lines/Tokens</li>
<li>Wrap or shift double quotes to single quotes to backticks</li>
<li>Swap between double quotes and single quotes</li>
<li>Switch file path separators: Windows<->UNIX</li>
<br>
<li>Select All Occurrences For All Carets</li>
<li>Extend Selection in Different "CamelHumps" Mode</li>
<li>Multi Replace</li>
<li>Duplicate Line or Selection And Multi Replace</li>
<li>Paste - camelCased</li>
<li>Paste - and Keep Selections</li>
<li>Create Border</li>
</ul>
</p>
<p>Actions are available under Edit menu, or via the shortcut "alt M" and "alt shift M".
<br>You can setup your own shortcuts for better usability.
<br>Popup can be customized in File | Settings | Appearance & Behavior | Menus and Toolbars.
</p>
<br> <br>
<a href="https://www.paypal.me/VojtechKrasa">Donations</a> | <a href="https://github.com/krasa/StringManipulation/">GitHub</a> | <a href="https://github.com/krasa/StringManipulation/issues">Issues</a>
</p>
Environment :
IntelliJ IDEA 2022.1.4 (Ultimate Edition)
Build #IU-221.6008.13, built on July 19, 2022
Plugin version: 9.5.0
Describe the bug StringManipulation plugins print about 1k lines of HTML into IntelliJ IDEA logs, which makes it harder to analyze the logs.
To Reproduce Steps to reproduce the behavior:
Expected behavior IDEA logs do not get polluted
Screenshots Plugin pollutes IDEA logs with the following HTML output:
Environment : IntelliJ IDEA 2022.1.4 (Ultimate Edition) Build #IU-221.6008.13, built on July 19, 2022 Plugin version: 9.5.0
Additional context