v1.3: the Great Command Renaming, sheet-specific options, a graveyard sheet, and lots more
v1.3
It's been a productive 3 months since v1.2. The largest effort in this release was a commands/options reworking, which will hopefully pay dividends in the future. Many other so-called improvements were made as well. Here's a list of most of them:
commands
- All commands were thoughtfully renamed, and the command longnames should be largely stable now.
commands.tsv
is an exhaustive list of commands and their attributes and side effects.- The manpage has moved to
Ctrl+H
, which should be its final resting place.F1
will still open the manpage if the terminal doesn't intercept it.- but
z?
has been repurposed (see below). - Note that because iTerm reports
Ctrl+H
asBackspace
, these help commands are also available by usingBackspace
(backspace for help, a new trend).
z Ctrl+H
opens a list of commands available on this sheet.- Keybindings and longnames are separated out. The cmdlog now records longnames as well.
- See the new keyboard layouts page (thanks to @deinspanjer for inspiration).
changes to existing commands and options
- The experimental menu system (was
Space
) has been removed. - Now
Space
(exec-longname
) executes the command for the input longname (tab completion of available commands is supported). (This function was previously bound toCtrl+A
). options.wrap
(for TextSheet wrapping of lines) now defaults toFalse
.R
(random-sheet
) opens a new sheet instead of selecting random rows (reverting to former behavior).za
(addcol-empty
) asks for column namezd
(delete-cell
) moves value to clipboard ("cut", like other delete commands)
options
- options can now be set on specific sheet types or even individual sheets.
Shift+O
opens options for the current sheet type, andg Shift+O
opens the global options sheet. - See available colors by pressing
Space
and then typing the longnamecolors
.
new safety options
- Error messages are sorted before informational status messages, and colored by
color_error
andcolor_warning
(thanks to @jsvine for suggestion) options.quitguard
(defaultFalse
to keep old behavior) if True, will confirm before quitting last sheet.- The
sheets-graveyard
(gS
) command opens a sheet that shows all discarded (but "precious") sheets. These are stored as weak references so they will be garbage collected eventually, but can be resurrected from the graveyard sheet until then. options.safety_first
(defaultFalse
) makes loading/saving more robust, likely at the cost of performance which can become significant in large files.- Currently, only removes NULs from csv input.
options.tsv_safe_char
is split intotsv_safe_newline
andtsv_safe_tab
.
new power features
z;
(addcol-sh
) adds new columns for stdout/stderr of abash
command, which uses$colname
to substitute values from other columns (whole arguments only, so far).z|
(select-expr
) andz\
(unselect-expr
) select/unselect by Python expression (thanks to @jsvine for suggestion).z/
(search-expr
) andz?
(searchr-expr
) to search forward/backward by Python expression.gI
(describe-all
) describes all columns in all sheeets (likegC
(columns-all
)).
nice things
- The
g(
,z(
, andgz(
variants of(
('expand-column') are filled out. z#
sets type of current column tolen
.
new loaders
- yaml loader (thanks to @robcarrington, @jkiely, @anjakefala at PyCon Sprints for making this happen)
- pcap loader (thanks to @vbrown608 and @temperednetworks)
- xml loader
- jsonl saver
- [json loader] no more incremental display (need a better json parser than the Python stdlib offers)
- pandas adapter (thanks to @jjzmajic for issue #162)
minor changes
- System clipboard command detection is more portable (thanks to @chocolateboy for the PR).
date
supports adding a number of days (or likefoo+6*hours
,foo+9*months
, etc).- Hidden columns are darkened on columns sheet.
- Exceptions are rolled up properly.
options.motd_url
now uses https by default (thanks to @jsvine for the warning).- [DirSheet]
mode
is editable (set to octal like0o0644
). - [internal dev] ProfileSheet is improved.
known issues
- cmdlog replay with a
Ctrl+S
(save-sheet
) to an existing file gets stuck in an infinite loop whenoptions.confirm_overwrite
is on. - After renaming a file on a DirSheet,
Ctrl+R
(reload-sheet
) is required to refresh theext
column for that row. n
/N
(next-search
/prev-search
) won't continue a previoussearch-expr
andsearchr-expr
.show-aggregate
with mean errors onint
columns.- Contracting (with
)
) a previously expanded column on a dup-ed (with"
) sheet results it in disappearing on the source sheet.
Thanks to everyone who contributed to this release! As always, feedback and suggestions are welcome and appreciated.