summaryrefslogtreecommitdiff
path: root/sdn.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Show external command line if appropriatePřemysl Eric Janouch2020-10-011-6/+21
| | | | | | | | | | | | | | 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.
* 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.
* CleanupPřemysl Eric Janouch2020-09-291-3/+2
|
* Add ability to run helpers externallyPřemysl Eric Janouch2020-09-291-3/+21
| | | | So far experimental and essentially undocumented.
* reload() doesn't really need to know the old pathPřemysl Eric Janouch2020-09-281-12/+13
| | | | | | | | | 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.
* Make anchor processing a bit more obviousPřemysl Eric Janouch2020-09-281-2/+2
|
* Improve PAGER defaultsPřemysl Eric Janouch2020-09-281-2/+4
| | | | | | 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.
* Expand a comment about overstriked underliningPřemysl Eric Janouch2020-09-281-1/+2
|
* Show error output from failed helpersPřemysl Eric Janouch2020-09-281-0/+6
| | | | | | | | | | | | | 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.
* Fix tilde expansion algorithmPřemysl Eric Janouch2020-09-281-2/+2
| | | | | | | 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.
* Fix comment: the word "no-op" needs to be splitPřemysl Eric Janouch2020-09-281-1/+1
|
* Support tilde expansion in the "chdir" actionPřemysl Eric Janouch2020-09-281-5/+24
| | | | | | | | | | | | | | | 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.
* Make F3 change directoriesPřemysl Eric Janouch2020-09-271-1/+6
| | | | | | 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).
* Always accept ^? as well as ^H as backspacePřemysl Eric Janouch2020-09-211-1/+3
|
* Add an action to go to the parent directoryPřemysl Eric Janouch2020-09-151-2/+7
|
* Name changePřemysl Eric Janouch2020-08-281-1/+1
|
* Work around an infinite loop issuePřemysl Janouch2020-04-191-2/+23
|
* Guard against ^Z in helper programsPřemysl Janouch2019-12-091-1/+5
| | | | Resume them immediately, we are not a shell.
* Fix change notificationsPřemysl Janouch2019-09-271-2/+1
| | | | Another embarrassing 71fbaca regression.
* Position indicator like in viPřemysl Janouch2019-09-271-2/+15
|
* Add actions imitating L/M/H in viPřemysl Janouch2019-09-271-2/+15
|
* Fixes for previous commitsPřemysl Janouch2018-12-091-3/+4
| | | | | ".." used to be hidden together with hidden files, and the symlink patch introduced a compiler warning.
* Embrace paths with symbolic linksPřemysl Janouch2018-12-081-15/+110
|
* Add Norton Commander-like actions for F3 and F4Přemysl Janouch2018-12-031-2/+45
|
* Don't show .. in the root directoryPřemysl Janouch2018-12-031-1/+2
|
* Fix formattingPřemysl Janouch2018-12-031-2/+4
|
* Fix crash on unknown groupsPřemysl Janouch2018-12-011-1/+1
|
* Also sort symlinks to directories firstPřemysl Janouch2018-11-101-2/+4
|
* Support old libstdc++ 4.9Přemysl Janouch2018-11-041-4/+8
| | | | Now sdn can be built under Debian jessie with clang++ and libstdc++.
* Fix build on not-my-systemPřemysl Janouch2018-11-031-0/+1
|
* Reliability improvementPřemysl Janouch2018-11-031-2/+4
|
* Make confirming a search choose the itemPřemysl Janouch2018-11-021-12/+17
|
* Fix level poppingPřemysl Janouch2018-11-021-18/+21
|
* Fix history loadingPřemysl Janouch2018-11-021-1/+1
|
* Flash column when sorting is changedPřemysl Janouch2018-11-021-0/+13
|
* Allow changing the sort columnPřemysl Janouch2018-11-021-12/+50
| | | | Directories always come first and the .. entry even before that.
* Allow hiding so-called hidden filesPřemysl Janouch2018-11-021-3/+14
|
* Allow reversing the sortPřemysl Janouch2018-11-021-11/+35
|
* Add an action to quit without chdirPřemysl Janouch2018-11-021-11/+11
| | | | Also fixed ACTION_CHOOSE_FULL to quote properly.
* Create the config directory if neededPřemysl Janouch2018-11-021-3/+6
|
* Add an action for chdirPřemysl Janouch2018-11-021-4/+9
|
* Implement messages to the userPřemysl Janouch2018-11-021-4/+20
|
* Store runtime and configuration to a filePřemysl Janouch2018-11-021-18/+92
| | | | Added a toggle for gravity, now turned off by default.
* Unnecessary c_str()Přemysl Janouch2018-11-021-2/+1
|
* Make sure to quote empty stringsPřemysl Janouch2018-11-021-1/+1
|
* New config parserPřemysl Janouch2018-11-011-8/+51
| | | | Basically a subset of Bourne shell.
* CleanupPřemysl Janouch2018-11-011-6/+5
|
* Fix setcchar invocationPřemysl Janouch2018-11-011-2/+2
|
* Remember cursor position in ancestor directoriesPřemysl Janouch2018-11-011-17/+50
|
* Fix uninitialized iteratorPřemysl Janouch2018-11-011-1/+1
|