Přemysl Eric Janouch
24401825b4
Add a missing case break
2022-01-08 11:23:36 +01:00
Přemysl Eric Janouch
2bfb490798
Add and bind an action to center the cursor
...
"z" stands for VIM's "zz".
2022-01-08 11:17:24 +01:00
Přemysl Eric Janouch
338d00d605
Do not crash on opendir() failures
...
Show an error message, and a way out.
2021-11-09 07:52:48 +01:00
Přemysl Eric Janouch
015652e379
Fix build with recent ncurses
...
Easily gained, easily lost. No more ^S binding.
2021-11-09 07:45:20 +01:00
Přemysl Eric Janouch
c298b6fc97
bash integration: add helpers to command history
2021-11-05 22:11:30 +01:00
Přemysl Eric Janouch
7c2ab8ab59
zsh integration: add helpers to command history
2021-11-05 21:54:56 +01:00
Přemysl Eric Janouch
e423a3a1b1
Add clang-format configuration, clean up
2021-11-05 21:34:05 +01:00
Přemysl Eric Janouch
916f354c9b
Move the cursor to just created directories
2021-10-30 12:32:40 +02:00
Přemysl Eric Janouch
050f875c47
Clean up
2021-10-30 12:13:45 +02:00
Přemysl Eric Janouch
aeffe40efc
Bind ^S to search, as in Emacs, with a trick
...
We heavily depend on ncurses anyway, so no worries about portability.
2021-10-18 11:23:17 +02:00
Přemysl Eric Janouch
536aa57761
Slightly optimize very large directories
...
Cumulatively 10% of user time, give or take.
These are mainly pointless multibyte to wide string conversions.
The hit to source code readibility is minimal.
2021-10-05 21:01:32 +02:00
Přemysl Eric Janouch
0d10ae06e6
Measured stat performance, io_uring not worth it
...
Large directories are slow for different reasons.
2021-10-05 19:18:15 +02:00
Přemysl Eric Janouch
e1b0831854
Don't reload on sort changes
...
It is unexpected behaviour, and likes to take too long.
2021-09-26 09:38:16 +02:00
Přemysl Eric Janouch
4e93dfbb8d
Add a comment about libacl
...
So that I don't repeat my actions in the future.
2021-09-26 09:19:54 +02:00
Přemysl Eric Janouch
8a6bb54eb5
Ignore empty XDG_CONFIG_DIRS
...
As the specification says we should. GLib does this as well.
It is still possible to achieve an empty set by using ":",
which are two non-absolute paths that should be ignored.
GLib doesn't implement this. Thus, we're now better than GLib.
2021-09-26 08:59:57 +02:00
Přemysl Eric Janouch
4ef7c9edf7
Makefile: make the static build a non-phony target
2021-07-19 09:28:50 +02:00
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