| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
So that I don't repeat my actions in the future.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This might have needed more thought, but we'll see.
|
|
|
|
|
|
| |
The interactive search now has its own keymap, overriding "input".
Closes #5
|
| |
|
|
|
|
| |
We want to make it possible to iterate all current matches.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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)`.
|
|
|
|
| |
And document this feature in the manual page.
|
|
|
|
| |
Yet, this program remains fairly unportable.
|
|
|
|
| |
Since we have a version number at all, even if it's meaningless.
|
| |
|
| |
|
|
|
|
|
|
| |
The wchar_t variant of compute_width() is no longer needed.
So all in all the better help has saved code.
|
|
|
|
| |
Considerably more useful and concise.
|
|
|
|
|
|
| |
Taken from Windows Explorer, which previously used Backspace.
We might want to use h/l for parent/choose by default.
|
|
|
|
|
|
| |
We do get these as a key, after all.
Closes #4
|
|
|
|
|
|
| |
Not completely happy with the explicit `halfdelay (1)`.
Updates #4
|
|
|
|
| |
Updates #4
|
| |
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Updates #4
|
|
|
|
|
|
| |
They might not be even printed correctly, though.
Updates #4
|
|
|
|
| |
Updates #4
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
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`.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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`.
|
| |
|
|
|
|
| |
And in general fix all CTRL processing to handle the DEL character.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
All the omitted error checking sometimes sucks a lot,
and I need to include it later anyway.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
So far experimental and essentially undocumented.
|
|
|
|
|
|
|
|
|
| |
Just whether it's safe for it to keep an anchor on the current item.
I've left in the safety check for an empty entries array,
for the theoretical case of an empty or entirely filtered-out root
directory. It will likely crash in that case, anyway,
the cursor may be either -1 or 0.
|
| |
|
|
|
|
|
|
| |
We basically need less(1), nothing else will work correctly.
I'm not sure where I took pager(1) from, might be a Debian thing.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Usually, when the pager or the editor fail and return a non-zero
exit status, they display a message on the standard error output.
We might also try to redirect this output to show_mesage() but
it might not fit as a whole, so, given the relative rareness
of this situation, this slight inconsistency shouldn't be much
of an issue.
It'd also be possible to redirect the output to run_pager() but
in doing so, we might make the problem recursive.
|
|
|
|
|
|
|
| |
In principle correct, in practice completely broken.
I wrongly assumed basic_string::find() would behave like strcspn(),
and also used a nonsensical string index to check for the tilde.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The tilde may be escaped, and this first escape may be escaped
as well, so all paths should be expressable.
All will just work(TM) for those who need it, and those who start
filenames with backslashes are begging to have their foot shot.
It appears that even Shift JIS, Big5, GB 18030, and GBK are
compatible with Unix paths, meaning they don't redefine the slash
(0x2F), so I'm okay with my direct multibyte string handling in
unknown locales.
Legacy stuff smells.
|
|
|
|
|
|
| |
Best complemented with a less(1) configuration that also quits on F3,
just like mcview. Or invoke sdn with PAGER=mcview, even though you
lose the ability to view the help that way (but gain filters).
|
| |
|
| |
|