-
Notifications
You must be signed in to change notification settings - Fork 4.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request] Make ZERO WIDTH SPACE have some visual component #8284
Comments
The character is U+200B (Unicode name: ZERO WIDTH SPACE). |
What's your opinion on what it should look like? |
A yellow line, much like when you make it show spaces and tabs. |
@GhbSmwc I took the liberty of renaming your issue; hopefully that is okay with you. :-) |
This is going to depend upon Scintilla. |
This was "addressed" by the Scintilla project back in 2013: https://sourceforge.net/p/scintilla/feature-requests/980/ Their response was to add an API so that you can represent any character you want, "specially": The representation mechanism is the "white text on black box" variety, much like line-endings look when visually enabled in Notepad++: Here's an example of what it would look like to set the representation to I suppose it is "workable" but I'd say it isn't ideal. |
This request has come up more than once if you look back through the Issues history. I encountered this problem when "screen scraping" data out of certain HTML pages. If this is not taken up, then maybe add a Caution to NPP interface to say that the option "View-> Show Symbol -> Show All Characters" does NOT show characters such as ZeroWidthSpace and friends. Only way to detect a Zero Width Space is to move a cursor along a line of text while watching the character position number in the status bar, |
Other issues raised covering the same topic
|
And note that it remains an "open" request
The "Show All Characters" verbage is historical and comes from a time when "space", "tab" and "end-of-line" characters were the only things that weren't shown. Today that menu item might be "Show space, tab, CR, LF" The author of N++ has declined my proposal for making such things as you mention visible as a core Notepad++ optional feature, but has kept the door somewhat open by this: #5062 (comment) You can have these characters visible RIGHT NOW if you are willing to use a Pythonscript to control them. |
The issue #5062 talked about the BOM, which is visible, but removed by Notepad++, so I won't reopen it since it's not an issue. OTOH, I agree the invisible Unicode character is an issue. |
Correct about BOM. BOM should never be visible, except I guess HexEditor plugin? (Not our problem!) 5062 was also used as a springboard for the general discussion of invisible characters.
But...there are many more invisible UTF-8 characters than that, that users could want. |
Yes, HexEditor does some dirty hacking to show these 3 bytes.
Then let's add "Show all invisible character" menu command - I don't think users care about showing which kind of invisible characters.
OK. Please keep it simple & stupid. |
@sasumner. Thanks for getting this back on the program, so to speak. Some thoughts on what would be best way of handling hidden characters - this derived from the usecases I was encountering when I first discovered zero width space and friends. My real world interaction with hidden chars has often been when troubleshooting web pages, urls et al. And what I have often found myself doing is putting a string into (say Excel) and adding formulae to show the Unicode code for each item. That then shows up the non-breaking spaces, zero-width spaces etc. Not very convenient to say the least.
|
@Daksol said
Notepad++ only has limited control over the display; the display is primarily controlled by Scintilla. |
@sasumner But indicator for this not_visible_chars must be the orange dot (same as for standard space)? I would prefer to somehow distinguish a normal space from the other characters. |
@ArkadiuszMichalski said:
Scintilla controls the "orange dot" behavior, for but only for U+0020 character. |
OK thx, looks good, at least for me. |
Here's the complete list as of now, that I plan to implement: For some of these, I just made up an abbreviation so that the representation, the white letters on the black background, doesn't become too big/wide. I don't know if there is a standard abbreviation...does anyone? Comments are most welcome. More "simple and stupid" spec'cing out of this feature to come... |
@sasumner |
Correct. |
Here's the file the above image was made from, if you want to "see" how N++ displays the invisible characters: |
@sasumner My debug info:
|
@ArkadiuszMichalski I see no changes in your two screenshots, except the lines that have been removed from the second file. This is not a problem, I'm just stating it for the record. |
@donho said:
That confuses me as well. :-( |
@sasumner |
@donho said:
I presume that So this N++ preference setting is going to impact how these characters appear: To hopefully be very clear, this is how the And here's what it looks like for me with "direct write" ticked: I'm not at all sure what this means for the future of this feature. @donho How long is the "direct write" preference setting going to remain? Forever? |
I did read feedback that in some environments there's the performance issue when "direct write" is ON. So our experience can not be representative for the whole community. Furthermore, I don't want to scarify existing option (which could concern the performance issue) for a new feature which is benefit for less people. The workaround for me is just treat 2060, 2066, 2067, 2068 and 2069 as invisible chars so there's no ambiguity whether if "direct write" is ON. What do you think? |
Yes, that can work. |
Yes, it could work if Scintilla has a message for that. The Notepad++'s option regarding "direct write" in Parameters class cannot be counted on because it's applied to next session. |
|
Another user request: https://community.notepad-plus-plus.org/topic/20428/highlight-non-breaking-spaces |
One more that this feature would probably help: https://community.notepad-plus-plus.org/topic/20490/invisible-spaces |
@ArkadiuszMichalski I think the "scintilla dependent" label can be removed from this issue. Scintilla already supports everything needed to allow any normally-invisible character to be shown. I suppose it is left to the programs that embed Scintilla to decide how they want to do this; at least up to now Scintilla has not added a default visual component to more than the "low ASCII" range (NULL, SOH, STX, ..., GS, RS, US). |
@ArkadiuszMichalski - Good to see some movement on this one. fyi There is another Open Issue #8530 which covers the same ground as #8284 which could perhaps also be updated.
Edit: 25Aug2022 - corrected typo in link |
What "movement"?? |
This is great, fantastic to get this new feature.
Question - can you also close #8530 - which is part of the same Swarm ??
thanks
|
|
|
| | |
|
|
|
| |
[Feature Request] Display Zero-width non-joiner and Zero-width joiner as...
This may be similar #8284 https://en.wikipedia.org/wiki/Zero-width_non-joiner https://en.wikipedia.org/wiki/Zero...
|
|
|
John Edge ***@***.***
On Sunday, 5 February 2023 at 04:20:57 CET, Don HO ***@***.***> wrote:
Closed #8284 as completed via aaab190.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Try sorting this:
Somehow, the last URL is positioned wrong.
Wait.., there is a zero-width character on the third (before the h in https) which is "" (select to see that character). I think NP++'s show symbol should also show such characters.
The text was updated successfully, but these errors were encountered: