Přemysl Eric Janouch
3eea106c3c
Explicitly disable GCC's -Wmisleading-indentation
2021-07-19 09:23:28 +02:00
Přemysl Eric Janouch
7de8c84e8f
Fix a signedness compiler warning
2021-07-19 09:12:17 +02:00
Přemysl Eric Janouch
e17c5e2083
Bind F6 to a rename prompt
...
Mostly just so that the F7 binding isn't completely alone.
Since Shift-F6 isn't something we can just bind to, use a prefill.
2021-07-17 14:47:50 +02:00
Přemysl Eric Janouch
9bd3739122
Bind F7 to an mkdir prompt
...
This might have needed more thought, but we'll see.
2021-07-17 14:41:57 +02:00
Přemysl Eric Janouch
ec1f1031cc
Implement search iteration
...
The interactive search now has its own keymap, overriding "input".
Closes #5
2021-07-17 14:19:37 +02:00
Přemysl Eric Janouch
bc99b3dd48
Add a right-side prompt to the search
2021-07-17 13:04:42 +02:00
Přemysl Eric Janouch
e948741864
Enable pushing the search in a certain direction
...
We want to make it possible to iterate all current matches.
2021-07-17 08:49:54 +02:00
Přemysl Eric Janouch
0adbac2066
Make search() return the number of matches
2021-07-17 07:54:03 +02:00
Přemysl Eric Janouch
2238db5a4e
Make removing characters invoke g.editor_on_change
2021-07-17 07:24:16 +02:00
Přemysl Eric Janouch
98612f5492
Improve C-char parsing
...
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)`.
2021-07-09 05:16:37 +02:00
Přemysl Eric Janouch
1034321f81
sdn-install: explain why -dot is experimental
...
Add an explanatory link, so that I don't need to look it up again.
2021-07-07 22:13:46 +02:00
Přemysl Eric Janouch
e7da32160c
Makefile: fix version extraction
...
Regression introduced by cc59fcf
.
2021-07-07 21:21:52 +02:00
Přemysl Eric Janouch
fdb338fe12
Allow binding to custom key sequences
...
And document this feature in the manual page.
2021-07-07 21:21:32 +02:00
Přemysl Eric Janouch
9056ef4194
README.adoc: make use of the "plus" attribute
2020-11-07 03:22:51 +01:00
Přemysl Eric Janouch
b8a4742fb9
sdn.1: refer to a better manual page
2020-11-05 01:24:05 +01:00
Přemysl Eric Janouch
c999e5a8e4
sdn.1: take care about sentence spacing
...
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.
2020-10-29 19:22:20 +01:00
Přemysl Eric Janouch
07ef834a1e
Include a header required for kill()
...
Yet, this program remains fairly unportable.
2020-10-29 03:24:37 +01:00
Přemysl Eric Janouch
997f5c25a2
sdn.1: improve wording about envvars
2020-10-27 14:58:23 +01:00
Přemysl Eric Janouch
39e68a977c
sdn.1: fix default key binding references
2020-10-27 14:46:04 +01:00
Přemysl Eric Janouch
c20d3780b2
Make the manpages mostly acceptable
...
Closes #1
2020-10-27 04:17:52 +01:00
Přemysl Eric Janouch
22725ba3b7
Update README.adoc
...
I've put the project in AUR, it seems to deserve it.
2020-10-27 01:16:07 +01:00
Přemysl Eric Janouch
df046bb071
Add some mediocre manpages
...
I'm not particularly happy to write in mdoc but here goes.
2020-10-26 20:46:09 +01:00
Přemysl Eric Janouch
0c1a8d9902
Implement the --version option
...
Since we have a version number at all, even if it's meaningless.
2020-10-26 19:07:47 +01:00
Přemysl Eric Janouch
cc59fcfb41
CMakeLists.txt: cleanup
2020-10-26 18:56:14 +01:00
Přemysl Eric Janouch
c88566e7bb
Bind F1 to show the help
2020-10-25 08:19:49 +01:00
Přemysl Eric Janouch
39c840cd74
Mark a minor issue for later resolution
2020-10-24 19:28:11 +02:00
Přemysl Eric Janouch
f231828e8d
sdn-install: bash: fix UTF-8 collisions
2020-10-24 19:27:07 +02:00
Přemysl Eric Janouch
1318c4983f
Makefile: make portable, support static linking
...
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.
2020-10-23 08:22:59 +02:00
Přemysl Eric Janouch
c503954f44
Cleanup
...
The wchar_t variant of compute_width() is no longer needed.
So all in all the better help has saved code.
2020-10-23 07:53:37 +02:00
Přemysl Eric Janouch
77973fc026
Group help message by action
...
Considerably more useful and concise.
2020-10-23 03:51:26 +02:00
Přemysl Eric Janouch
61be9528e4
Bind M-Up to the "parent" action
...
Taken from Windows Explorer, which previously used Backspace.
We might want to use h/l for parent/choose by default.
2020-10-23 03:38:47 +02:00
Přemysl Eric Janouch
2313485970
Bind C-d in the editor
...
We do get these as a key, after all.
Closes #4
2020-10-23 01:37:14 +02:00
Přemysl Eric Janouch
20c883fb8a
Implement C-v in the editor
...
Not completely happy with the explicit `halfdelay (1)`.
Updates #4
2020-10-23 01:37:07 +02:00
Přemysl Eric Janouch
bbf97f6d3d
Implement C-u C-k in the editor
...
Updates #4
2020-10-23 01:21:25 +02:00
Přemysl Eric Janouch
706795c85c
Cleanup
2020-10-22 00:51:57 +02:00
Přemysl Eric Janouch
e8eaa2366a
Implement Delete in the editor
...
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
2020-10-22 00:06:41 +02:00
Přemysl Eric Janouch
12d8f6a931
Implement C-a C-e C-b C-f in the editor
...
Updates #4
2020-10-21 23:57:16 +02:00
Přemysl Eric Janouch
5d0c105b10
Make backspace erase combining characters
...
They might not be even printed correctly, though.
Updates #4
2020-10-21 23:56:51 +02:00
Přemysl Eric Janouch
33a8e26efc
Track cursor position in the editor
...
Updates #4
2020-10-21 23:55:01 +02:00
Přemysl Eric Janouch
bbd23187bc
Minor fix-ups and adjustments
2020-10-21 08:34:32 +02:00
Přemysl Eric Janouch
a0eacf4607
Add an installation script
...
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
2020-10-21 08:26:42 +02:00
Přemysl Eric Janouch
37ad5f43df
README.adoc: avoid unnecessary quotes for bash
...
Word expansion is not performed there.
2020-10-20 03:58:11 +02:00
Přemysl Eric Janouch
a95fa2f96d
README.adoc: fish after bash
...
Bash is a bad citizen but this order makes more sense.
2020-10-20 03:47:12 +02:00
Přemysl Eric Janouch
6f40b8db3a
Fix ext-helpers with older bash versions
...
See Midnight Commander commit 436296f, blindly trusting it.
wc(1) could be used unconditionally but let's make it clear.
2020-10-20 03:44:15 +02:00
Přemysl Eric Janouch
63e7895905
Let the caller decide how to launch helpers
...
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`.
2020-10-08 19:50:04 +02:00
Přemysl Eric Janouch
6aa4bd2ff5
When resuming a child, resume the whole group
...
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`.
2020-10-08 19:49:07 +02:00
Přemysl Eric Janouch
000315165d
Fix the help in absence of a bindings file
2020-10-08 14:28:49 +02:00
Přemysl Eric Janouch
d2e4b91262
Fix showing DEL in the help
...
And in general fix all CTRL processing to handle the DEL character.
2020-10-08 14:28:24 +02:00
Přemysl Eric Janouch
c18630295c
README.adoc: add configuration for elvish
...
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
2020-10-07 20:57:37 +02:00
Přemysl Eric Janouch
b53a3a0981
Revisit zsh integration
...
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.
2020-10-04 14:27:51 +02:00