-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
(de)indent behaviour enhancement #231
Conversation
Can someone please test this? |
If you want, you can try it directly on my dev version : http://www.jtlebi.fr:6001/p/test Please, note that it is not my production version :) |
I don't like the behavior if you type a few words then press tab it indents the line. Imho a tab is a tab, it's only an indent if you are at the beginning of the line. |
agree. that behavior goes counter to traditional tab use |
Hi ! Thanks for your feedback. Is that more like what you expect with this fix ? |
this update now works and matches traditional word processing shift-tab behavior. good job @jtlebi. looks good to pull from my end. |
…xt whenever a new char is appended to it. This was caused by 'bullet' being hardcoded in a regular expression :/
I just fixed a very weird bug you probably noticed. When appending a char to an indented line, it was automatically turned into a bullet list. This actually was caused by "bullet" being hardcoded somewhere into contentcollector.js. The fix replaces it with a regular expression just as it is done in ace2_inner.js |
@johnyma22 please decide about this pull request |
bump, @johnyma22 please decide about this pull request |
Yep, good to pull. |
(de)indent behaviour enhancement
Please reopen this bug. Reason: there is the remaining problem, that TAB in a line after some characters works (indents), TABsomecharactersTAB2 TAB3.. SHIFT-TAB after TAB2 does not work, and is executed as TAB3 instead, which is wrong and unexpected behaviour. |
disagree with @Wikinaut. The behavior is true to traditional text editors. I tried shift-tab in Notepad, MS Word, and vim. All will remove the tab on shift-tab only if the cursor is at the beginning of the line. All will add a tab on shift-tab if there are any characters to the left of the cursor. to delete a tab in the middle of a line, you can use the backspace key. I do not support reopening. |
Anyway, this is not very complicated to change this behavior. It is true that it may not be a very intuitive action. Actually, I was aiming at doing what @Wikinaut suggested in the Week-End. |
what will the behavior of shift-tab be in cases like this: \char\char\space\cursor\char does it remove the space, add a tab, or do nothing? |
@KingKaeru \char\char\space\cursor\char does it remove the space, add a tab, or do nothing? -> do nothing. A single Shift-TAB click should, in my expectation, only revert a single TAB left of the current cursor position. |
Related to issue https://github.com/Pita/etherpad-lite/issues/173 "shift tab should de-indent instead of indenting" |
Thanks Randy, that is very informative. -----Original Message----- disagree with @Wikinaut. The behavior is true to traditional text editors. I tried shift-tab in Notepad, MS Word, and vim. All will remove the tab on shift-tab only if the cursor is at the beginning of the line. All will add a tab on shift-tab if there are any characters to the left of the cursor. I do not support reopening. Reply to this email directly or view it on GitHub: |
i think traditionally, text editors don't remove a tab mid line on a shift-tab because of cases where people are doing something like this:
allows for quick adding of tab while typing caps without having to release shift. i can't ever imagine using shift-tab other than when i am tab indenting at the beginning of a line. If i tab in the middle of a line, i always just use backspace to remove. |
I fully agree with you, I have never used Shift-TAB in my life. |
+1 "I fully agree with you, I have never used Shift-TAB in my life." |
I feel like here is a large discussion about a feature nearly nobody cares about |
This upgrade should be backward compatible, but still suffers form major vulnerabilities in its https-proxy-agent transitive dependency (see https://www.npmjs.com/advisories/1184). Changelog: - https://github.com/npm/cli/releases 6.12.0 (2019-10-08): Now npm ci runs prepare scripts for git dependencies, and respects the --no-optional argument. Warnings for engine mismatches are printed again. Various other fixes and cleanups. BUG FIXES 890b245dc #252 ci: add dirPacker to options (@claudiahdz) f3299acd0 #257 npm.community#4792 warn message on engine mismatch (@ruyadorno) bbc92fb8f #259 npm.community#10288 Fix figgyPudding error in npm token (@benblank) 70f54dcb5 #241 doctor: Make OK more consistent (@gemal) FEATURES ed993a29c #249 Add CI environment variables to user-agent (@isaacs) f6b0459a4 #248 Add option to save package-lock without formatting Adds a new config --format-package-lock, which defaults to true. (@bl00mber) DEPENDENCIES 0ca063c5d [email protected]: fix: filter functions and undefined out of makeEnv (@isaacs) 5df6b0ea2 [email protected]: fix: pack git directories properly (@claudiahdz) respect no-optional argument (@cruzdanilo) 7e04f728c [email protected] 5c380e5a3 [email protected] (@isaacs) 62f2ca692 [email protected] (@isaacs) 0ff0ea47a [email protected] (@isaacs) f46edae94 [email protected] (@isaacs) TESTING 44a2b036b #262 fix root-ownership race conditions in meta-test (@isaacs) 6.11.3 (2019-09-03): Fix npm ci regressions and npm outdated depth. BUG FIXES 235ed1d28 #239 Don't override user specified depth in outdated. Restores ability to update packages using --depth as suggested by npm audit. (@G-Rath) 1fafb5151 #242 npm.community#9586 Revert "install: do not descend into directory deps' child modules" (@isaacs) cebf542e6 #243 npm.community#9720 ci: pass appropriate configs for file/dir modes (@isaacs) DEPENDENCIES e5fbb7ed1 [email protected] (@claudiahdz) 23ce65616 [email protected] (@claudiahdz) 6.11.2 (2019-08-22): Fix a recent Windows regression, and two long-standing Windows bugs. Also, get CI running on Windows, so these things are less likely in the future. DEPENDENCIES 9778a1b87 [email protected]: Fix regression where shims fail to preserve exit code (@isaacs) bf93e91d8 [email protected]: Properly handle git+file: urls on Windows when a drive letter is included. (@isaacs) BUGFIXES 6cc4cc66f escape args properly on Windows Bash Despite being bash, Node.js running on windows git mingw bash still executes child processes using cmd.exe. As a result, arguments in this environment need to be escaped in the style of cmd.exe, not bash. (@isaacs) TESTS 291aba7b8 make tests pass on Windows (@isaacs) fea3a023a travis: run tests on Windows as well (@isaacs) 6.11.1 (2019-08-20): Fix a regression for windows command shim syntax. 37db29647 [email protected] (@isaacs) v6.11.0 (2019-08-20): A few meaty bugfixes, and introducing peerDependenciesMeta. FEATURES a12341088 #224 Implements peerDependenciesMeta (@arcanis) 2f3b79bba #234 add new forbidden 403 error code (@claudiahdz) BUGFIXES 24acc9fc8 and 45772af0d #217 npm.community#8863 npm.community#9327 do not descend into directory deps' child modules, fix shrinkwrap files that inappropriately list child nodes of symlink packages (@isaacs and @salomvary) 50cfe113d #229 fixed typo in semver doc (@gall0ws) e8fb2a1bd #231 Fix spelling mistakes in CHANGELOG-3.md (@XhmikosR) 769d2e057 npm/uid-number#7 Better error on invalid --user/--group configs. This addresses the issue when people fail to install binary packages on Docker and other environments where there is no 'nobody' user. (@isaacs) 8b43c9624 nodejs/node#28987 npm.community#6032 npm.community#6658 npm.community#6069 npm.community#9323 Fix the regression where random config values in a .npmrc file are not passed to lifecycle scripts, breaking build processes which rely on them. (@isaacs) 8b85eaa47 save files with inferred ownership rather than relying on SUDO_UID and SUDO_GID. (@isaacs) b7f6e5f02 Infer ownership of shrinkwrap files (@isaacs) 54b095d77 #235 Add spec to dist-tag remove function (@theberbie) DEPENDENCIES dc8f9e52f [email protected]: Infer the ownership of all unpacked files in node_modules, so that we never have user-owned files in root-owned folders, or root-owned files in user-owned folders. (@isaacs) bb33940c3 [email protected]: 9c93ac3 #2 npm#3380 Handle environment variables properly (@basbossink) 2d277f8 #25 #36 #35 Fix 'no shebang' case by always providing $basedir in shell script (@igorklopov) adaf20b #26 Fix $* causing an error when arguments contain parentheses (@satazor) 49f0c13 #30 Fix paths for MSYS/MINGW bash (@dscho) 51a8af3 #34 Add proper support for PowerShell (@ExE-Boss) 4c37e04 #10 Work around quoted batch file names (@isaacs) a4e279544 [email protected] (@isaacs): fail properly if uid-number raises an error 7086a1809 [email protected] (@isaacs) 8845141f9 [email protected] (@isaacs) 51c028215 [email protected] (@isaacs) 534a5548c [email protected] (@isaacs) 3038f2fd5 [email protected] (@isaacs) a609a1648 [email protected] (@isaacs) f0346f754 [email protected] (@isaacs) ca9c615c8 [email protected] (@isaacs) b417affbf [email protected] (@isaacs) TESTS b6df0913c #228 Proper handing of /usr/bin/node lifecycle-path test (@olivr70) aaf98e88c [email protected] (@isaacs)
Hi again !
This is the next part of the "fix". I added support for text indentation via unordered list with no bullets to be less intrusive.
When indenting/de-indenting text/lists, relative indentation between items is preserved, unless going to the lowest indentation level.
It is possible to "toggle" list while preserving the indentation of the text. This is basically done by converting between the two list types.
I'm open to suggestions to make it even better before inclusion :)