summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Improve C-char parsingPřemysl Eric Janouch2021-07-091-4/+4
| | | | | | | | | I was hoping that a superoptimiser would help me find a miraculous branchless equation to cover it, but in the end the branching doesn't hurt at all in our case. It's more readable than `(((char >> 2) - 0x38) & 0x60) ^ char` or `(char ^ 0x40) & (((char >> 1) ^ 0x20) | 0x5f)`.
* sdn-install: explain why -dot is experimentalPřemysl Eric Janouch2021-07-071-0/+1
| | | | Add an explanatory link, so that I don't need to look it up again.
* Makefile: fix version extractionPřemysl Eric Janouch2021-07-071-2/+2
| | | | Regression introduced by cc59fcf.
* Allow binding to custom key sequencesPřemysl Eric Janouch2021-07-073-7/+33
| | | | And document this feature in the manual page.
* README.adoc: make use of the "plus" attributePřemysl Eric Janouch2020-11-071-4/+2
|
* sdn.1: refer to a better manual pagePřemysl Eric Janouch2020-11-051-1/+1
|
* sdn.1: take care about sentence spacingPřemysl Eric Janouch2020-10-291-16/+25
| | | | | | | | | | | For more info, see e.g. https://github.com/asciidoc/asciidoc-py3/issues/137 I'll probably commit to mandoc here but scdoc is appealing. Somewhat sadly, it explicitly suppresses sentence spacing but I'm wondering whether it couldn't be reimplemented better, in a more AsciiDoc-like fashion.
* Include a header required for kill()Přemysl Eric Janouch2020-10-291-0/+1
| | | | Yet, this program remains fairly unportable.
* sdn.1: improve wording about envvarsPřemysl Eric Janouch2020-10-271-2/+2
|
* sdn.1: fix default key binding referencesPřemysl Eric Janouch2020-10-271-1/+1
|
* Make the manpages mostly acceptablePřemysl Eric Janouch2020-10-273-16/+91
| | | | Closes #1
* Update README.adocPřemysl Eric Janouch2020-10-271-1/+6
| | | | I've put the project in AUR, it seems to deserve it.
* Add some mediocre manpagesPřemysl Eric Janouch2020-10-263-0/+69
| | | | I'm not particularly happy to write in mdoc but here goes.
* Implement the --version optionPřemysl Eric Janouch2020-10-261-0/+5
| | | | Since we have a version number at all, even if it's meaningless.
* CMakeLists.txt: cleanupPřemysl Eric Janouch2020-10-261-9/+6
|
* Bind F1 to show the helpPřemysl Eric Janouch2020-10-251-1/+2
|
* Mark a minor issue for later resolutionPřemysl Eric Janouch2020-10-241-0/+1
|
* sdn-install: bash: fix UTF-8 collisionsPřemysl Eric Janouch2020-10-241-3/+4
|
* Makefile: make portable, support static linkingPřemysl Eric Janouch2020-10-231-7/+14
| | | | | | | | | | | We can happily stick to POSIX and the usual variable names, with the following exceptions: - pkg-config(1) is used to find libraries and compile flags - the new "static" target uses non-standard compiler and linker flags, though it's not the default target sdn is predestined for wild distribution, even the dynamically linked libc is rather suboptimal.
* CleanupPřemysl Eric Janouch2020-10-231-7/+0
| | | | | | The wchar_t variant of compute_width() is no longer needed. So all in all the better help has saved code.
* Group help message by actionPřemysl Eric Janouch2020-10-231-5/+7
| | | | Considerably more useful and concise.
* Bind M-Up to the "parent" actionPřemysl Eric Janouch2020-10-231-1/+2
| | | | | | Taken from Windows Explorer, which previously used Backspace. We might want to use h/l for parent/choose by default.
* Bind C-d in the editorPřemysl Eric Janouch2020-10-231-1/+1
| | | | | | We do get these as a key, after all. Closes #4
* Implement C-v in the editorPřemysl Eric Janouch2020-10-231-2/+14
| | | | | | Not completely happy with the explicit `halfdelay (1)`. Updates #4
* Implement C-u C-k in the editorPřemysl Eric Janouch2020-10-231-0/+10
| | | | Updates #4
* CleanupPřemysl Eric Janouch2020-10-221-16/+17
|
* Implement Delete in the editorPřemysl Eric Janouch2020-10-221-2/+11
| | | | | | | Not caring about C-d right now, we might have to convince the tty to send it to us--I'm not sure if it does, or returns EOF. Updates #4
* Implement C-a C-e C-b C-f in the editorPřemysl Eric Janouch2020-10-211-1/+26
| | | | Updates #4
* Make backspace erase combining charactersPřemysl Eric Janouch2020-10-211-2/+7
| | | | | | They might not be even printed correctly, though. Updates #4
* Track cursor position in the editorPřemysl Eric Janouch2020-10-211-6/+13
| | | | Updates #4
* Minor fix-ups and adjustmentsPřemysl Eric Janouch2020-10-212-4/+4
|
* Add an installation scriptPřemysl Eric Janouch2020-10-214-110/+188
| | | | | | | | Copying snippets from the README was uncomfortable and laborious, and wasted a lot of space in the document, especially after the recent additions. Closes #3
* README.adoc: avoid unnecessary quotes for bashPřemysl Eric Janouch2020-10-201-3/+3
| | | | Word expansion is not performed there.
* README.adoc: fish after bashPřemysl Eric Janouch2020-10-201-20/+20
| | | | Bash is a bad citizen but this order makes more sense.
* Fix ext-helpers with older bash versionsPřemysl Eric Janouch2020-10-201-1/+7
| | | | | | See Midnight Commander commit 436296f, blindly trusting it. wc(1) could be used unconditionally but let's make it clear.
* Let the caller decide how to launch helpersPřemysl Eric Janouch2020-10-082-6/+5
| | | | | In the end, we don't need to impose any policy on it, and it removes a level of quoting, as well as an `eval`.
* When resuming a child, resume the whole groupPřemysl Eric Janouch2020-10-081-1/+1
| | | | | | | | | | | | SIGTSTP is sent to the entire foreground process group, so do the some with our SIGCONT. Debian's default sh (dash) doesn't replace itself with the command, even if it's the last one in the -c option. Of course, we do not need to use /bin/sh for the helpers at all, though it doesn't cost us much. We could also issue an explicit `exec`.
* Fix the help in absence of a bindings filePřemysl Eric Janouch2020-10-081-4/+4
|
* Fix showing DEL in the helpPřemysl Eric Janouch2020-10-081-14/+14
| | | | And in general fix all CTRL processing to handle the DEL character.
* README.adoc: add configuration for elvishPřemysl Eric Janouch2020-10-071-6/+29
| | | | | | | | | | And remove it from the "similar software" section. Our relationship has progressed. Other unusual shells I've checked before I gave up: - nushell lacks the ability to bind keys to user functions - yash can but is otherwise way too basic
* Revisit zsh integrationPřemysl Eric Janouch2020-10-042-3/+4
| | | | | | | | | zsh's antisocial behaviour was fairly promptly fixed (thanks to Stephane Chazelas and his patience). zle-line-init and zle-line-reset seem to be user-defined widgets and the order inverted. Put zle-line-init before reset-prompt because some people do weird things in there.
* Survive a removed CWD, as well as an empty rootPřemysl Eric Janouch2020-10-021-14/+22
| | | | | All the omitted error checking sometimes sucks a lot, and I need to include it later anyway.
* README.adoc: fix zsh integration snippetPřemysl Eric Janouch2020-10-021-0/+6
|
* Make the outer prompt look more normalPřemysl Eric Janouch2020-10-012-8/+10
| | | | | | | | There's a slight issue with the inverted cell representing the cursor standing out a bit too much amongst the rest of the characters. The resulting experience is a lot more consistent, though.
* Show external command line if appropriatePřemysl Eric Janouch2020-10-012-9/+27
| | | | | | | | | | | | | | Since I'm already dealing with the fish shell. All of our supported shells seem to handle cursor position in Unicode (wide character) codepoints. It was easiest and most straight-forward to pass the data through yet-unused program arguments. The cursor position is marked by a Unicode glyph equivalent to ACS_DIAMOND, although ncurses doesn't get a chance to make any ACS translation.
* README.adoc: clarify bash problemsPřemysl Eric Janouch2020-10-011-2/+3
| | | | | I've also tried tcsh but while it /can/ be used for directory navigation, it has several issues that are much more serious.
* README.adoc: fix up hswg compatibilityPřemysl Eric Janouch2020-10-011-6/+6
|
* README.adoc: split into subsectionsPřemysl Eric Janouch2020-10-011-14/+20
|
* README.adoc: add configuration for fishPřemysl Eric Janouch2020-10-011-1/+19
|
* Set cursor to child when going to parent dirPřemysl Eric Janouch2020-09-291-18/+26
| | | | | | | | | | | That is, if it's missing from our history. This makes for a more consistent experience when traversing the filesystem. Arguably, it's only good for when 'h' is bound to the 'parent' action. Also make sure that the offset and cursor are reset when the path is changed.