visidata 3.0.2__py3-none-any.whl → 3.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- visidata/__init__.py +12 -10
- visidata/_input.py +208 -202
- visidata/_open.py +4 -1
- visidata/_types.py +4 -3
- visidata/aggregators.py +88 -39
- visidata/apps/vdsql/_ibis.py +7 -11
- visidata/apps/vdsql/clickhouse.py +2 -2
- visidata/apps/vdsql/snowflake.py +1 -1
- visidata/apps/vgit/status.py +1 -1
- visidata/basesheet.py +11 -4
- visidata/canvas.py +54 -20
- visidata/clipboard.py +13 -6
- visidata/cliptext.py +7 -6
- visidata/cmdlog.py +40 -27
- visidata/column.py +14 -49
- visidata/ddw/regex.ddw +3 -2
- visidata/deprecated.py +14 -2
- visidata/desktop/visidata.desktop +2 -2
- visidata/editor.py +1 -0
- visidata/errors.py +1 -1
- visidata/experimental/sort_selected.py +54 -0
- visidata/expr.py +69 -18
- visidata/features/change_precision.py +1 -3
- visidata/features/cmdpalette.py +17 -2
- visidata/features/colorsheet.py +1 -1
- visidata/features/dedupe.py +3 -3
- visidata/features/go_col.py +71 -0
- visidata/features/graph_seaborn.py +1 -1
- visidata/features/join.py +20 -10
- visidata/features/layout.py +16 -3
- visidata/features/ping.py +16 -12
- visidata/features/regex.py +5 -5
- visidata/features/status_source.py +3 -1
- visidata/features/sysedit.py +1 -1
- visidata/features/transpose.py +2 -1
- visidata/features/type_ipaddr.py +2 -4
- visidata/features/unfurl.py +1 -0
- visidata/form.py +2 -2
- visidata/freqtbl.py +16 -11
- visidata/fuzzymatch.py +1 -0
- visidata/graph.py +163 -12
- visidata/guide.py +57 -24
- visidata/guides/ClipboardGuide.md +48 -0
- visidata/guides/ColumnsGuide.md +52 -0
- visidata/guides/CommandsSheet.md +28 -0
- visidata/guides/DirSheet.md +34 -0
- visidata/guides/ErrorsSheet.md +17 -0
- visidata/guides/FrequencyTable.md +42 -0
- visidata/guides/GrepSheet.md +28 -0
- visidata/guides/JsonSheet.md +38 -0
- visidata/guides/MacrosSheet.md +19 -0
- visidata/guides/MeltGuide.md +52 -0
- visidata/guides/MemorySheet.md +7 -0
- visidata/guides/MenuGuide.md +26 -0
- visidata/guides/ModifyGuide.md +38 -0
- visidata/guides/PivotGuide.md +71 -0
- visidata/guides/RegexGuide.md +107 -0
- visidata/guides/SelectionGuide.md +44 -0
- visidata/guides/SlideGuide.md +26 -0
- visidata/guides/SortGuide.md +0 -0
- visidata/guides/SplitpaneGuide.md +15 -0
- visidata/guides/TypesSheet.md +43 -0
- visidata/guides/XsvGuide.md +36 -0
- visidata/help.py +6 -6
- visidata/hint.py +2 -1
- visidata/indexsheet.py +2 -2
- visidata/interface.py +13 -14
- visidata/keys.py +4 -1
- visidata/loaders/api_airtable.py +1 -1
- visidata/loaders/archive.py +1 -1
- visidata/loaders/csv.py +9 -5
- visidata/loaders/eml.py +11 -6
- visidata/loaders/f5log.py +1 -0
- visidata/loaders/fec.py +18 -42
- visidata/loaders/fixed_width.py +19 -3
- visidata/loaders/grep.py +121 -0
- visidata/loaders/html.py +1 -0
- visidata/loaders/http.py +6 -1
- visidata/loaders/json.py +22 -4
- visidata/loaders/jsonla.py +8 -2
- visidata/loaders/mailbox.py +1 -0
- visidata/loaders/markdown.py +25 -6
- visidata/loaders/msgpack.py +19 -0
- visidata/loaders/npy.py +0 -1
- visidata/loaders/odf.py +18 -4
- visidata/loaders/orgmode.py +1 -1
- visidata/loaders/rec.py +6 -4
- visidata/loaders/sas.py +11 -4
- visidata/loaders/scrape.py +0 -1
- visidata/loaders/texttables.py +2 -0
- visidata/loaders/tsv.py +24 -7
- visidata/loaders/unzip_http.py +127 -3
- visidata/loaders/vds.py +4 -0
- visidata/loaders/vdx.py +1 -1
- visidata/loaders/xlsx.py +5 -0
- visidata/loaders/xml.py +2 -1
- visidata/macros.py +14 -31
- visidata/main.py +14 -13
- visidata/mainloop.py +14 -6
- visidata/man/vd.1 +72 -39
- visidata/man/vd.txt +72 -41
- visidata/memory.py +15 -4
- visidata/menu.py +14 -3
- visidata/metasheets.py +5 -6
- visidata/modify.py +4 -4
- visidata/mouse.py +2 -0
- visidata/movement.py +14 -28
- visidata/optionssheet.py +3 -5
- visidata/path.py +59 -37
- visidata/pivot.py +8 -5
- visidata/pyobj.py +63 -9
- visidata/save.py +16 -9
- visidata/search.py +4 -4
- visidata/selection.py +10 -56
- visidata/settings.py +37 -35
- visidata/sheets.py +186 -108
- visidata/shell.py +22 -12
- visidata/sidebar.py +71 -16
- visidata/sort.py +21 -6
- visidata/statusbar.py +42 -5
- visidata/stored_list.py +5 -2
- visidata/tests/conftest.py +1 -0
- visidata/tests/test_commands.py +9 -1
- visidata/tests/test_completer.py +18 -0
- visidata/tests/test_edittext.py +3 -2
- visidata/text_source.py +7 -4
- visidata/textsheet.py +20 -6
- visidata/themes/ascii8.py +9 -6
- visidata/themes/asciimono.py +14 -4
- visidata/threads.py +13 -3
- visidata/tuiwin.py +5 -1
- visidata/type_currency.py +1 -2
- visidata/type_date.py +6 -1
- visidata/undo.py +10 -5
- visidata/utils.py +9 -3
- visidata/vdobj.py +21 -1
- visidata/wrappers.py +9 -1
- {visidata-3.0.2.data → visidata-3.1.data}/data/share/applications/visidata.desktop +2 -2
- {visidata-3.0.2.data → visidata-3.1.data}/data/share/man/man1/vd.1 +72 -39
- {visidata-3.0.2.data → visidata-3.1.data}/data/share/man/man1/visidata.1 +72 -39
- {visidata-3.0.2.dist-info → visidata-3.1.dist-info}/METADATA +24 -6
- visidata-3.1.dist-info/RECORD +284 -0
- visidata-3.0.2.dist-info/RECORD +0 -258
- {visidata-3.0.2.data → visidata-3.1.data}/scripts/vd +0 -0
- {visidata-3.0.2.data → visidata-3.1.data}/scripts/vd2to3.vdx +0 -0
- {visidata-3.0.2.dist-info → visidata-3.1.dist-info}/LICENSE.gpl3 +0 -0
- {visidata-3.0.2.dist-info → visidata-3.1.dist-info}/WHEEL +0 -0
- {visidata-3.0.2.dist-info → visidata-3.1.dist-info}/entry_points.txt +0 -0
- {visidata-3.0.2.dist-info → visidata-3.1.dist-info}/top_level.txt +0 -0
visidata/man/vd.1
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
.Dd
|
1
|
+
.Dd October 13, 2024
|
2
2
|
.Dt vd \&1 "Quick Reference Guide"
|
3
3
|
.Os Linux/MacOS
|
4
4
|
.
|
@@ -21,6 +21,10 @@
|
|
21
21
|
.Op Ar options
|
22
22
|
.Op Ar input No ...
|
23
23
|
.
|
24
|
+
.Nm visidata
|
25
|
+
.Op Ar options
|
26
|
+
.Op Ar input No ...
|
27
|
+
.
|
24
28
|
.Nm vd
|
25
29
|
.Op Ar options
|
26
30
|
.Cm --play Ar cmdlog
|
@@ -33,7 +37,7 @@
|
|
33
37
|
.Nm vd
|
34
38
|
.Op Ar options
|
35
39
|
.Op Ar input No ...
|
36
|
-
.Cm + Ns Ar toplevel Ns : Ns Ar subsheet Ns : Ns Ar
|
40
|
+
.Cm + Ns Ar toplevel Ns : Ns Ar subsheet Ns : Ns Ar row Ns : Ns Ar col
|
37
41
|
.
|
38
42
|
.Sh DESCRIPTION
|
39
43
|
.Nm VisiData No is an easy-to-use multipurpose tool to explore, clean, edit, and restructure data.
|
@@ -101,7 +105,7 @@ toggle sidebar
|
|
101
105
|
.No redo the most recent undo ( requires enabled Sy options.undo Ns )
|
102
106
|
.Pp
|
103
107
|
.It Ic "Space" Ar longname
|
104
|
-
.No open command palette;
|
108
|
+
.No open command palette; execute top command by its Ar longname
|
105
109
|
.El
|
106
110
|
.Ss " Command Palette"
|
107
111
|
.Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX
|
@@ -137,9 +141,9 @@ scroll current row to center of screen
|
|
137
141
|
jump to previous sheet (swaps with current sheet)
|
138
142
|
.Pp
|
139
143
|
.It Ic " / ?" Ar regex
|
140
|
-
.No search for Ar regex No forward/backward in current column
|
144
|
+
.No search for Ar regex No forward/backward in current column's displayed values
|
141
145
|
.It Ic "g/ g?" Ar regex
|
142
|
-
.No search for Ar regex No forward/backward over all visible columns
|
146
|
+
.No search for Ar regex No forward/backward over all visible columns' displayed values
|
143
147
|
.It Ic "z/ z?" Ar expr
|
144
148
|
.No search by Python Ar expr No forward/backward in current column (with column names as variables)
|
145
149
|
.It Ic " n N"
|
@@ -236,6 +240,7 @@ open a frozen copy of current sheet with all visible columns evaluated
|
|
236
240
|
.It Ic "z' gz'"
|
237
241
|
add/reset cache for current/all visible column(s)
|
238
242
|
.Pp
|
243
|
+
.It Note that regex operations apply to the displayed value in a cell.
|
239
244
|
.It Ic " \&:" Ar regex
|
240
245
|
.No add new columns from Ar regex No split; number of columns determined by example row at cursor
|
241
246
|
.It Ic " \&;" Ar regex
|
@@ -875,8 +880,8 @@ show/hide methods and hidden properties
|
|
875
880
|
.Bl -tag -width XXXXXXXXXXXXXXXXXXXXXXXXXXX -compact
|
876
881
|
.It Cm -P Ns = Ns Ar longname
|
877
882
|
.No preplay Ar longname No before replay or regular launch; limited to Sy Base Sheet No bound commands
|
878
|
-
.It Cm + Ns Ar toplevel Ns : Ns Ar subsheet Ns : Ns Ar
|
879
|
-
.No launch vd with Ar subsheet No of Ar toplevel No at top-of-stack, and cursor at Ar
|
883
|
+
.It Cm + Ns Ar toplevel Ns : Ns Ar subsheet Ns : Ns Ar row Ns : Ns Ar col
|
884
|
+
.No launch vd with Ar subsheet No of Ar toplevel No at top-of-stack, and cursor at Ar row No and Ar col Ns ; all arguments are optional
|
880
885
|
.It Cm --overwrite Ns = Ns Ar c
|
881
886
|
.No Overwrite with confirmation
|
882
887
|
.It Cm --guides
|
@@ -915,14 +920,6 @@ exit on error and display stacktrace
|
|
915
920
|
enable undo/redo
|
916
921
|
.It Sy --col-cache-size Ns = Ns Ar "int " No "0"
|
917
922
|
max number of cache entries in each cached column
|
918
|
-
.It Sy --note-pending Ns = Ns Ar "str " No "\[u231B]"
|
919
|
-
note to display for pending cells
|
920
|
-
.It Sy --note-format-exc Ns = Ns Ar "str " No "?"
|
921
|
-
cell note for an exception during formatting
|
922
|
-
.It Sy --note-getter-exc Ns = Ns Ar "str " No "!"
|
923
|
-
cell note for an exception during computation
|
924
|
-
.It Sy --note-type-exc Ns = Ns Ar "str " No "!"
|
925
|
-
cell note for an exception during type conversion
|
926
923
|
.It Sy --scroll-incr Ns = Ns Ar "int " No "-3"
|
927
924
|
amount to scroll with scrollwheel
|
928
925
|
.It Sy --force-256-colors No " False"
|
@@ -933,12 +930,12 @@ confirm before quitting modified sheet
|
|
933
930
|
default column width
|
934
931
|
.It Sy --default-height Ns = Ns Ar "int " No "4"
|
935
932
|
default column height
|
936
|
-
.It Sy --textwrap-cells Ns = Ns Ar "bool " No "True"
|
937
|
-
wordwrap text for multiline rows
|
938
933
|
.It Sy --name-joiner Ns = Ns Ar "str " No "_"
|
939
934
|
string to join sheet or column names
|
940
935
|
.It Sy --value-joiner Ns = Ns Ar "str " No " "
|
941
936
|
string to join display values
|
937
|
+
.It Sy --max-rows Ns = Ns Ar "int " No "1000000000"
|
938
|
+
number of rows to load from source
|
942
939
|
.It Sy --wrap No " False"
|
943
940
|
wrap text to fit window width on TextSheet
|
944
941
|
.It Sy --save-filetype Ns = Ns Ar "str " No "tsv"
|
@@ -1024,7 +1021,7 @@ source of randomized startup messages
|
|
1024
1021
|
folder recursion depth on DirSheet
|
1025
1022
|
.It Sy --dir-hidden No " False"
|
1026
1023
|
load hidden files on DirSheet
|
1027
|
-
.It Sy --config Ns = Ns Ar "Path " No "
|
1024
|
+
.It Sy --config Ns = Ns Ar "Path " No "/home/saul/.visidatarc"
|
1028
1025
|
config file to exec in Python
|
1029
1026
|
.It Sy --play Ns = Ns Ar "str " No ""
|
1030
1027
|
file.vdj to replay
|
@@ -1058,7 +1055,7 @@ device ID associated with matrix login
|
|
1058
1055
|
client_id for reddit api
|
1059
1056
|
.It Sy --reddit-client-secret Ns = Ns Ar "str " No ""
|
1060
1057
|
client_secret for reddit api
|
1061
|
-
.It Sy --reddit-user-agent Ns = Ns Ar "str " No "3.
|
1058
|
+
.It Sy --reddit-user-agent Ns = Ns Ar "str " No "3.1dev"
|
1062
1059
|
user_agent for reddit api
|
1063
1060
|
.It Sy --zulip-batch-size Ns = Ns Ar "int " No "-100"
|
1064
1061
|
number of messages to fetch per call (<0 to fetch before anchor)
|
@@ -1074,8 +1071,12 @@ Email for use with Zulip API key
|
|
1074
1071
|
dialect passed to csv.reader
|
1075
1072
|
.It Sy --csv-delimiter Ns = Ns Ar "str " No ","
|
1076
1073
|
delimiter passed to csv.reader
|
1074
|
+
.It Sy --csv-doublequote Ns = Ns Ar "bool " No "True"
|
1075
|
+
quote-doubling setting passed to csv.reader
|
1077
1076
|
.It Sy --csv-quotechar Ns = Ns Ar "str " No """
|
1078
1077
|
quotechar passed to csv.reader
|
1078
|
+
.It Sy --csv-quoting Ns = Ns Ar "int " No "0"
|
1079
|
+
quoting style passed to csv.reader and csv.writer
|
1079
1080
|
.It Sy --csv-skipinitialspace Ns = Ns Ar "bool " No "True"
|
1080
1081
|
skipinitialspace passed to csv.reader
|
1081
1082
|
.It Sy --csv-escapechar Ns = Ns Ar "NoneType " No "None"
|
@@ -1097,6 +1098,8 @@ number of rows to check for fixed width columns
|
|
1097
1098
|
max number of fixed-width columns to create (0 is no max)
|
1098
1099
|
.It Sy --graphviz-edge-labels Ns = Ns Ar "bool " No "True"
|
1099
1100
|
whether to include edge labels on graphviz diagrams
|
1101
|
+
.It Sy --grep-base-dir Ns = Ns Ar "NoneType " No "None"
|
1102
|
+
base directory for relative paths opened with sysopen-row
|
1100
1103
|
.It Sy --html-title Ns = Ns Ar "str " No "<h2>{sheet.name}</h2>"
|
1101
1104
|
table header when saving to html
|
1102
1105
|
.It Sy --http-max-next Ns = Ns Ar "int " No "0"
|
@@ -1123,6 +1126,8 @@ show all object versions in a versioned bucket
|
|
1123
1126
|
sqlite statement to execute after opening a connection
|
1124
1127
|
.It Sy --xlsx-meta-columns No " False"
|
1125
1128
|
include columns for cell objects, font colors, and fill colors
|
1129
|
+
.It Sy --xlsx-color-cells Ns = Ns Ar "bool " No "True"
|
1130
|
+
color cells based on xlsx source
|
1126
1131
|
.It Sy --xml-parser-huge-tree Ns = Ns Ar "bool " No "True"
|
1127
1132
|
allow very deep trees and very long text content
|
1128
1133
|
.It Sy --plt-marker Ns = Ns Ar "str " No "."
|
@@ -1188,7 +1193,7 @@ command submenu indicator
|
|
1188
1193
|
indicator if command pushes sheet onto sheet stack
|
1189
1194
|
.It Sy "disp_menu_input " No "\[u2026]"
|
1190
1195
|
indicator if input required for command
|
1191
|
-
.It Sy "disp_menu_fmt " No "| VisiData {vd.version} |
|
1196
|
+
.It Sy "disp_menu_fmt " No "| VisiData {vd.version} | {vd.hintStatus}"
|
1192
1197
|
right-side menu format string
|
1193
1198
|
.It Sy "disp_float_fmt " No "{:.02f}"
|
1194
1199
|
default fmtstr to format float values
|
@@ -1216,7 +1221,15 @@ displayed contents for computation exception
|
|
1216
1221
|
width to use for unicode chars marked ambiguous
|
1217
1222
|
.It Sy "disp_pending " No ""
|
1218
1223
|
string to display in pending cells
|
1219
|
-
.It Sy "
|
1224
|
+
.It Sy "disp_note_pending " No ":"
|
1225
|
+
note to display for pending cells
|
1226
|
+
.It Sy "disp_note_fmtexc " No "?"
|
1227
|
+
cell note for an exception during formatting
|
1228
|
+
.It Sy "disp_note_getexc " No "!"
|
1229
|
+
cell note for an exception during computation
|
1230
|
+
.It Sy "disp_note_typeexc " No "!"
|
1231
|
+
cell note for an exception during type conversion
|
1232
|
+
.It Sy "color_note_pending " No "bold green"
|
1220
1233
|
color of note in pending cells
|
1221
1234
|
.It Sy "color_note_type " No "226 yellow"
|
1222
1235
|
color of cell note for non-str types in anytype columns
|
@@ -1254,19 +1267,19 @@ characters for ascending sort
|
|
1254
1267
|
characters for descending sort
|
1255
1268
|
.It Sy "color_default " No "white on black"
|
1256
1269
|
the default fg and bg colors
|
1257
|
-
.It Sy "color_default_hdr " No "bold"
|
1270
|
+
.It Sy "color_default_hdr " No "bold white on black"
|
1258
1271
|
color of the column headers
|
1259
|
-
.It Sy "color_bottom_hdr " No "underline"
|
1272
|
+
.It Sy "color_bottom_hdr " No "underline white on black"
|
1260
1273
|
color of the bottom header row
|
1261
1274
|
.It Sy "color_current_row " No "reverse"
|
1262
1275
|
color of the cursor row
|
1263
|
-
.It Sy "color_current_col " No "bold"
|
1276
|
+
.It Sy "color_current_col " No "bold on 232"
|
1264
1277
|
color of the cursor column
|
1265
1278
|
.It Sy "color_current_cell " No ""
|
1266
1279
|
color of current cell, if different from color_current_row+color_current_col
|
1267
1280
|
.It Sy "color_current_hdr " No "bold reverse"
|
1268
1281
|
color of the header for the cursor column
|
1269
|
-
.It Sy "color_column_sep " No "
|
1282
|
+
.It Sy "color_column_sep " No "white on black"
|
1270
1283
|
color of column separators
|
1271
1284
|
.It Sy "color_key_col " No "81 cyan"
|
1272
1285
|
color of key columns
|
@@ -1274,27 +1287,41 @@ color of key columns
|
|
1274
1287
|
color of hidden columns on metasheets
|
1275
1288
|
.It Sy "color_selected_row " No "215 yellow"
|
1276
1289
|
color of selected rows
|
1277
|
-
.It Sy "color_clickable " No "
|
1290
|
+
.It Sy "color_clickable " No "bold"
|
1278
1291
|
color of internally clickable item
|
1279
1292
|
.It Sy "color_code " No "bold white on 237"
|
1280
1293
|
color of code sample
|
1281
|
-
.It Sy "color_heading " No "bold
|
1294
|
+
.It Sy "color_heading " No "bold black on yellow"
|
1282
1295
|
color of header
|
1283
1296
|
.It Sy "color_guide_unwritten" No "243 on black"
|
1284
1297
|
color of unwritten guides in GuideGuide
|
1285
|
-
.It Sy "
|
1298
|
+
.It Sy "disp_wrap_max_lines" No "3"
|
1299
|
+
max lines for multiline view
|
1300
|
+
.It Sy "disp_wrap_break_long_words" No "False"
|
1301
|
+
break words longer than column width in multiline
|
1302
|
+
.It Sy "disp_wrap_replace_whitespace" No "False"
|
1303
|
+
replace whitespace with spaces in multiline
|
1304
|
+
.It Sy "disp_wrap_placeholder" No "\[u2026]"
|
1305
|
+
multiline string to indicate truncation
|
1306
|
+
.It Sy "disp_multiline_focus" No "True"
|
1307
|
+
only multiline cursor row
|
1308
|
+
.It Sy "color_aggregator " No "bold 255 white on 234 black"
|
1309
|
+
color of aggregator summary on bottom row
|
1310
|
+
.It Sy "disp_rstatus_fmt " No "{sheet.threadStatus} {sheet.keystrokeStatus} [:longname_status]{sheet.longname}[/] {sheet.nRows:9d} {sheet.rowtype} {sheet.modifiedStatus}{sheet.selectedStatus}{vd.replayStatus}{vd.sidebarStatus}"
|
1286
1311
|
right-side status format string
|
1287
|
-
.It Sy "disp_status_fmt " No "
|
1288
|
-
status
|
1312
|
+
.It Sy "disp_status_fmt " No "{sheet.sheetlist}| "
|
1313
|
+
left-side status format string
|
1289
1314
|
.It Sy "disp_lstatus_max " No "0"
|
1290
1315
|
maximum length of left status line
|
1291
1316
|
.It Sy "disp_status_sep " No "\[u2502]"
|
1292
1317
|
separator between statuses
|
1293
1318
|
.It Sy "color_keystrokes " No "bold white on 237"
|
1294
1319
|
color of input keystrokes
|
1295
|
-
.It Sy "
|
1320
|
+
.It Sy "color_longname_guide" No "237"
|
1296
1321
|
color of command longnames
|
1297
|
-
.It Sy "
|
1322
|
+
.It Sy "color_longname_status" No "white"
|
1323
|
+
color of command longnames
|
1324
|
+
.It Sy "color_keys " No "bold reverse"
|
1298
1325
|
color of keystrokes in help
|
1299
1326
|
.It Sy "color_status " No "bold on 238"
|
1300
1327
|
status line color
|
@@ -1328,6 +1355,8 @@ default fmtstr to format for currency values
|
|
1328
1355
|
color for negative values in currency displayer
|
1329
1356
|
.It Sy "disp_replay_play " No "\[u25B6]"
|
1330
1357
|
status indicator for active replay
|
1358
|
+
.It Sy "disp_replay_record " No "\[u23FA]"
|
1359
|
+
status indicator for macro record
|
1331
1360
|
.It Sy "color_status_replay" No "green"
|
1332
1361
|
color of replay status indicator
|
1333
1362
|
.It Sy "disp_histogram " No "\[u25A0]"
|
@@ -1348,8 +1377,16 @@ color of selected graph points
|
|
1348
1377
|
color for graph axis labels
|
1349
1378
|
.It Sy "disp_graph_tick_x " No "\[u2575]"
|
1350
1379
|
character for graph x-axis ticks
|
1351
|
-
.It Sy "
|
1352
|
-
|
1380
|
+
.It Sy "color_graph_refline" No ""
|
1381
|
+
color for graph reference value lines
|
1382
|
+
.It Sy "disp_graph_reflines_x_charset" No "\[u258F]\[u2502]\[u2502]\[u2595]"
|
1383
|
+
charset to render vertical reference lines on graph
|
1384
|
+
.It Sy "disp_graph_reflines_y_charset" No "\[u2594]\[u2500]\[u2500]\[u2581]"
|
1385
|
+
charset to render horizontal reference lines on graph
|
1386
|
+
.It Sy "disp_graph_multiple_reflines_char" No "\[u2592]"
|
1387
|
+
char to render multiple parallel reflines
|
1388
|
+
.It Sy "disp_expert " No "0"
|
1389
|
+
max level of options and columns to include
|
1353
1390
|
.It Sy "color_add_pending " No "green"
|
1354
1391
|
color for rows pending add
|
1355
1392
|
.It Sy "color_change_pending" No "reverse yellow"
|
@@ -1358,7 +1395,7 @@ color for cells pending modification
|
|
1358
1395
|
color for rows pending delete
|
1359
1396
|
.It Sy "disp_sidebar " No "True"
|
1360
1397
|
whether to display sidebar
|
1361
|
-
.It Sy "disp_sidebar_fmt " No "
|
1398
|
+
.It Sy "disp_sidebar_fmt " No ""
|
1362
1399
|
format string for default sidebar
|
1363
1400
|
.It Sy "disp_sidebar_width " No "0"
|
1364
1401
|
max width for sidebar
|
@@ -1394,10 +1431,6 @@ color of active clue
|
|
1394
1431
|
base color of command palette
|
1395
1432
|
.It Sy "disp_cmdpal_max " No "10"
|
1396
1433
|
max number of suggestions for command palette
|
1397
|
-
.It Sy "color_shellcmd " No "21 on 114 green"
|
1398
|
-
|
1399
|
-
.It Sy "color_colname " No "underline"
|
1400
|
-
|
1401
1434
|
.It Sy "disp_scroll_context" No "0"
|
1402
1435
|
minimum number of lines to keep visible above/below cursor when scrolling
|
1403
1436
|
.It Sy "disp_sparkline " No "\[u2581]\[u2582]\[u2583]\[u2584]\[u2585]\[u2586]\[u2587]"
|
visidata/man/vd.txt
CHANGED
@@ -5,9 +5,10 @@ NAME
|
|
5
5
|
|
6
6
|
SYNOPSIS
|
7
7
|
vd [options] [input ...]
|
8
|
+
visidata [options] [input ...]
|
8
9
|
vd [options] --play cmdlog [-w waitsecs] [--batch] [-i] [-o output]
|
9
10
|
[field=value]
|
10
|
-
vd [options] [input ...] +toplevel:subsheet:col
|
11
|
+
vd [options] [input ...] +toplevel:subsheet:row:col
|
11
12
|
|
12
13
|
DESCRIPTION
|
13
14
|
VisiData is an easy-to-use multipurpose tool to explore, clean, edit, and
|
@@ -53,8 +54,8 @@ DESCRIPTION
|
|
53
54
|
R redo the most recent undo (requires enabled
|
54
55
|
options.undo)
|
55
56
|
|
56
|
-
Space longname open command palette;
|
57
|
-
|
57
|
+
Space longname open command palette; execute top command by its
|
58
|
+
longname
|
58
59
|
|
59
60
|
Command Palette
|
60
61
|
Tab Move to command palette, and cycle through commands
|
@@ -73,9 +74,10 @@ DESCRIPTION
|
|
73
74
|
|
74
75
|
^^ (Ctrl+^) jump to previous sheet (swaps with current sheet)
|
75
76
|
|
76
|
-
/ ? regex search for regex forward/backward in current column
|
77
|
+
/ ? regex search for regex forward/backward in current column's
|
78
|
+
displayed values
|
77
79
|
g/ g? regex search for regex forward/backward over all visible
|
78
|
-
columns
|
80
|
+
columns' displayed values
|
79
81
|
z/ z? expr search by Python expr forward/backward in current column
|
80
82
|
(with column names as variables)
|
81
83
|
n N go to next/previous match from last regex search
|
@@ -143,6 +145,7 @@ DESCRIPTION
|
|
143
145
|
columns evaluated
|
144
146
|
z' gz' add/reset cache for current/all visible column(s)
|
145
147
|
|
148
|
+
Note that regex operations apply to the displayed value in a cell.
|
146
149
|
: regex add new columns from regex split; number of columns
|
147
150
|
determined by example row at cursor
|
148
151
|
; regex add new columns from capture groups of regex (also
|
@@ -563,8 +566,8 @@ COMMANDLINE OPTIONS
|
|
563
566
|
|
564
567
|
-P=longname preplay longname before replay or regular
|
565
568
|
launch; limited to Base Sheet bound commands
|
566
|
-
+toplevel:subsheet:col
|
567
|
-
top-of-stack, and cursor at
|
569
|
+
+toplevel:subsheet:row:col launch vd with subsheet of toplevel at
|
570
|
+
top-of-stack, and cursor at row and col; all
|
568
571
|
arguments are optional
|
569
572
|
--overwrite=c Overwrite with confirmation
|
570
573
|
--guides open Guide Index
|
@@ -587,15 +590,6 @@ COMMANDLINE OPTIONS
|
|
587
590
|
--col-cache-size=int 0 max number of cache en‐
|
588
591
|
tries in each cached col‐
|
589
592
|
umn
|
590
|
-
--note-pending=str ⌛ note to display for pend‐
|
591
|
-
ing cells
|
592
|
-
--note-format-exc=str ? cell note for an excep‐
|
593
|
-
tion during formatting
|
594
|
-
--note-getter-exc=str ! cell note for an excep‐
|
595
|
-
tion during computation
|
596
|
-
--note-type-exc=str ! cell note for an excep‐
|
597
|
-
tion during type conver‐
|
598
|
-
sion
|
599
593
|
--scroll-incr=int -3 amount to scroll with
|
600
594
|
scrollwheel
|
601
595
|
--force-256-colors False use 256 colors even if
|
@@ -604,12 +598,12 @@ COMMANDLINE OPTIONS
|
|
604
598
|
modified sheet
|
605
599
|
--default-width=int 20 default column width
|
606
600
|
--default-height=int 4 default column height
|
607
|
-
--textwrap-cells=bool True wordwrap text for multi‐
|
608
|
-
line rows
|
609
601
|
--name-joiner=str _ string to join sheet or
|
610
602
|
column names
|
611
603
|
--value-joiner=str string to join display
|
612
604
|
values
|
605
|
+
--max-rows=int 1000000000 number of rows to load
|
606
|
+
from source
|
613
607
|
--wrap False wrap text to fit window
|
614
608
|
width on TextSheet
|
615
609
|
--save-filetype=str tsv specify default file type
|
@@ -708,7 +702,7 @@ COMMANDLINE OPTIONS
|
|
708
702
|
DirSheet
|
709
703
|
--dir-hidden False load hidden files on
|
710
704
|
DirSheet
|
711
|
-
--config=Path
|
705
|
+
--config=Path /home/saul/.visidatarc
|
712
706
|
config file to exec in
|
713
707
|
Python
|
714
708
|
--play=str file.vdj to replay
|
@@ -745,7 +739,7 @@ COMMANDLINE OPTIONS
|
|
745
739
|
--reddit-client-id=str client_id for reddit api
|
746
740
|
--reddit-client-secret=str client_secret for reddit
|
747
741
|
api
|
748
|
-
--reddit-user-agent=str 3.
|
742
|
+
--reddit-user-agent=str 3.1dev user_agent for reddit api
|
749
743
|
--zulip-batch-size=int -100 number of messages to
|
750
744
|
fetch per call (<0 to
|
751
745
|
fetch before anchor)
|
@@ -761,8 +755,12 @@ COMMANDLINE OPTIONS
|
|
761
755
|
csv.reader
|
762
756
|
--csv-delimiter=str , delimiter passed to
|
763
757
|
csv.reader
|
758
|
+
--csv-doublequote=bool True quote-doubling setting
|
759
|
+
passed to csv.reader
|
764
760
|
--csv-quotechar=str " quotechar passed to
|
765
761
|
csv.reader
|
762
|
+
--csv-quoting=int 0 quoting style passed to
|
763
|
+
csv.reader and csv.writer
|
766
764
|
--csv-skipinitialspace=bool True skipinitialspace passed
|
767
765
|
to csv.reader
|
768
766
|
--csv-escapechar=NoneType None escapechar passed to
|
@@ -798,6 +796,9 @@ COMMANDLINE OPTIONS
|
|
798
796
|
--graphviz-edge-labels=bool True whether to include edge
|
799
797
|
labels on graphviz dia‐
|
800
798
|
grams
|
799
|
+
--grep-base-dir=NoneType None base directory for rela‐
|
800
|
+
tive paths opened with
|
801
|
+
sysopen-row
|
801
802
|
--html-title=str <h2>{sheet.name}</h2>
|
802
803
|
table header when saving
|
803
804
|
to html
|
@@ -832,6 +833,8 @@ COMMANDLINE OPTIONS
|
|
832
833
|
--xlsx-meta-columns False include columns for cell
|
833
834
|
objects, font colors, and
|
834
835
|
fill colors
|
836
|
+
--xlsx-color-cells=bool True color cells based on xlsx
|
837
|
+
source
|
835
838
|
--xml-parser-huge-tree=bool True allow very deep trees and
|
836
839
|
very long text content
|
837
840
|
--plt-marker=str . matplotlib.markers
|
@@ -894,7 +897,7 @@ COMMANDLINE OPTIONS
|
|
894
897
|
onto sheet stack
|
895
898
|
disp_menu_input … indicator if input required for
|
896
899
|
command
|
897
|
-
disp_menu_fmt | VisiData {vd.version} |
|
900
|
+
disp_menu_fmt | VisiData {vd.version} | {vd.hintStatus}
|
898
901
|
right-side menu format string
|
899
902
|
disp_float_fmt {:.02f} default fmtstr to format float
|
900
903
|
values
|
@@ -922,7 +925,14 @@ COMMANDLINE OPTIONS
|
|
922
925
|
marked ambiguous
|
923
926
|
disp_pending string to display in pending
|
924
927
|
cells
|
925
|
-
|
928
|
+
disp_note_pending : note to display for pending cells
|
929
|
+
disp_note_fmtexc ? cell note for an exception during
|
930
|
+
formatting
|
931
|
+
disp_note_getexc ! cell note for an exception during
|
932
|
+
computation
|
933
|
+
disp_note_typeexc ! cell note for an exception during
|
934
|
+
type conversion
|
935
|
+
color_note_pending bold green color of note in pending cells
|
926
936
|
color_note_type 226 yellow color of cell note for non-str
|
927
937
|
types in anytype columns
|
928
938
|
color_note_row 220 yellow color of row note on left edge
|
@@ -943,41 +953,54 @@ COMMANDLINE OPTIONS
|
|
943
953
|
disp_sort_asc ↑↟⇞⇡⇧⇑ characters for ascending sort
|
944
954
|
disp_sort_desc ↓↡⇟⇣⇩⇓ characters for descending sort
|
945
955
|
color_default white on black the default fg and bg colors
|
946
|
-
color_default_hdr bold
|
947
|
-
|
956
|
+
color_default_hdr bold white on black
|
957
|
+
color of the column headers
|
958
|
+
color_bottom_hdr underline white on black
|
959
|
+
color of the bottom header row
|
948
960
|
color_current_row reverse color of the cursor row
|
949
|
-
color_current_col bold
|
961
|
+
color_current_col bold on 232 color of the cursor column
|
950
962
|
color_current_cell color of current cell, if differ‐
|
951
963
|
ent from color_cur‐
|
952
964
|
rent_row+color_current_col
|
953
965
|
color_current_hdr bold reverse color of the header for the cur‐
|
954
966
|
sor column
|
955
|
-
color_column_sep
|
967
|
+
color_column_sep white on black color of column separators
|
956
968
|
color_key_col 81 cyan color of key columns
|
957
969
|
color_hidden_col 8 color of hidden columns on
|
958
970
|
metasheets
|
959
971
|
color_selected_row 215 yellow color of selected rows
|
960
|
-
color_clickable
|
972
|
+
color_clickable bold color of internally clickable
|
961
973
|
item
|
962
974
|
color_code bold white on 237 color of code sample
|
963
|
-
color_heading bold
|
975
|
+
color_heading bold black on yellow
|
976
|
+
color of header
|
964
977
|
color_guide_unwritten 243 on black color of unwritten guides in
|
965
978
|
GuideGuide
|
979
|
+
disp_wrap_max_lines 3 max lines for multiline view
|
980
|
+
disp_wrap_break_long_words False break words longer than column
|
981
|
+
width in multiline
|
982
|
+
disp_wrap_replace_whitespace False replace whitespace with spaces in
|
983
|
+
multiline
|
984
|
+
disp_wrap_placeholder … multiline string to indicate
|
985
|
+
truncation
|
986
|
+
disp_multiline_focus True only multiline cursor row
|
987
|
+
color_aggregator bold 255 white on 234 black
|
988
|
+
color of aggregator summary on
|
989
|
+
bottom row
|
966
990
|
disp_rstatus_fmt {sheet.threadStatus} {sheet.keystrokeStatus}
|
967
|
-
[:
|
991
|
+
[:longname_status]{sheet.longname}[/]
|
968
992
|
{sheet.nRows:9d} {sheet.rowtype}
|
969
|
-
{sheet.modifiedStatus}{sheet.selectedStatus}{vd.replayStatus}
|
993
|
+
{sheet.modifiedStatus}{sheet.selectedStatus}{vd.replayStatus}{vd.sidebarStatus}
|
970
994
|
right-side status format string
|
971
|
-
disp_status_fmt
|
972
|
-
|
973
|
-
status line prefix
|
995
|
+
disp_status_fmt {sheet.sheetlist}|
|
996
|
+
left-side status format string
|
974
997
|
disp_lstatus_max 0 maximum length of left status
|
975
998
|
line
|
976
999
|
disp_status_sep │ separator between statuses
|
977
1000
|
color_keystrokes bold white on 237 color of input keystrokes
|
978
|
-
|
979
|
-
|
980
|
-
color_keys bold
|
1001
|
+
color_longname_guide 237 color of command longnames
|
1002
|
+
color_longname_status white color of command longnames
|
1003
|
+
color_keys bold reverse color of keystrokes in help
|
981
1004
|
color_status bold on 238 status line color
|
982
1005
|
color_error 202 1 error message color
|
983
1006
|
color_warning 166 15 warning message color
|
@@ -1002,6 +1025,7 @@ COMMANDLINE OPTIONS
|
|
1002
1025
|
rency displayer
|
1003
1026
|
disp_replay_play ▶ status indicator for active re‐
|
1004
1027
|
play
|
1028
|
+
disp_replay_record ⏺ status indicator for macro record
|
1005
1029
|
color_status_replay green color of replay status indicator
|
1006
1030
|
disp_histogram ■ histogram element character
|
1007
1031
|
disp_graph_labels True show axes and legend on graph
|
@@ -1018,13 +1042,22 @@ COMMANDLINE OPTIONS
|
|
1018
1042
|
color_graph_selected bold color of selected graph points
|
1019
1043
|
color_graph_axis bold color for graph axis labels
|
1020
1044
|
disp_graph_tick_x ╵ character for graph x-axis ticks
|
1021
|
-
|
1045
|
+
color_graph_refline color for graph reference value
|
1046
|
+
lines
|
1047
|
+
disp_graph_reflines_x_charset ▏││▕ charset to render vertical refer‐
|
1048
|
+
ence lines on graph
|
1049
|
+
disp_graph_reflines_y_charset ▔──▁ charset to render horizontal ref‐
|
1050
|
+
erence lines on graph
|
1051
|
+
disp_graph_multiple_reflines_char ▒ char to render multiple parallel
|
1052
|
+
reflines
|
1053
|
+
disp_expert 0 max level of options and columns
|
1054
|
+
to include
|
1022
1055
|
color_add_pending green color for rows pending add
|
1023
1056
|
color_change_pending reverse yellow color for cells pending modifica‐
|
1024
1057
|
tion
|
1025
1058
|
color_delete_pending red color for rows pending delete
|
1026
1059
|
disp_sidebar True whether to display sidebar
|
1027
|
-
disp_sidebar_fmt
|
1060
|
+
disp_sidebar_fmt format string for default sidebar
|
1028
1061
|
disp_sidebar_width 0 max width for sidebar
|
1029
1062
|
disp_sidebar_height 0 max height for sidebar
|
1030
1063
|
color_sidebar black on 114 blue base color of sidebar
|
@@ -1046,8 +1079,6 @@ COMMANDLINE OPTIONS
|
|
1046
1079
|
color_cmdpalette black on 72 base color of command palette
|
1047
1080
|
disp_cmdpal_max 10 max number of suggestions for
|
1048
1081
|
command palette
|
1049
|
-
color_shellcmd 21 on 114 green
|
1050
|
-
color_colname underline
|
1051
1082
|
disp_scroll_context 0 minimum number of lines to keep
|
1052
1083
|
visible above/below cursor when
|
1053
1084
|
scrolling
|
@@ -1158,4 +1189,4 @@ SUPPORTED SOURCES
|
|
1158
1189
|
AUTHOR
|
1159
1190
|
VisiData was made by Saul Pwanson <vd@saul.pw>.
|
1160
1191
|
|
1161
|
-
Linux/MacOS
|
1192
|
+
Linux/MacOS October 13, 2024 Linux/MacOS
|
visidata/memory.py
CHANGED
@@ -5,9 +5,9 @@ vd.contexts += [vd.memory]
|
|
5
5
|
|
6
6
|
|
7
7
|
@VisiData.api
|
8
|
-
def
|
9
|
-
vd.memory[name] =
|
10
|
-
vd.status('memo
|
8
|
+
def memoValue(vd, name, value, dispvalue):
|
9
|
+
vd.memory[name] = value
|
10
|
+
vd.status(f'memo {name}={dispvalue}')
|
11
11
|
|
12
12
|
|
13
13
|
class MemorySheet(Sheet):
|
@@ -31,5 +31,16 @@ def memosSheet(vd):
|
|
31
31
|
return MemorySheet('memos')
|
32
32
|
|
33
33
|
|
34
|
+
@VisiData.api
|
35
|
+
def inputMemoName(vd, value):
|
36
|
+
value_params = dict(prompt="assign value: ", value=value)
|
37
|
+
name_params = dict(prompt="to memo name: ")
|
38
|
+
r = vd.inputMultiple(memo_name=name_params, memo_value=value_params)
|
39
|
+
name = r['memo_name']
|
40
|
+
if not name:
|
41
|
+
vd.fail('memo name cannot be blank')
|
42
|
+
return name
|
43
|
+
|
44
|
+
|
34
45
|
Sheet.addCommand('Alt+Shift+M', 'open-memos', 'vd.push(vd.memosSheet)', 'open the Memory Sheet')
|
35
|
-
Sheet.addCommand('Alt+m', 'memo-cell',
|
46
|
+
Sheet.addCommand('Alt+m', 'memo-cell', 'vd.memoValue(inputMemoName(cursorDisplay), cursorTypedValue, cursorDisplay)', 'store value in current cell to Memory Sheet')
|
visidata/menu.py
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import string
|
2
2
|
import textwrap
|
3
|
+
import time
|
3
4
|
import curses
|
4
5
|
|
5
6
|
from typing import List, Union
|
@@ -17,11 +18,21 @@ vd.theme_option('disp_menu_boxchars', '││──┌┐└┘├┤', 'box cha
|
|
17
18
|
vd.theme_option('disp_menu_more', '»', 'command submenu indicator')
|
18
19
|
vd.theme_option('disp_menu_push', '⎘', 'indicator if command pushes sheet onto sheet stack')
|
19
20
|
vd.theme_option('disp_menu_input', '…', 'indicator if input required for command')
|
20
|
-
vd.option('disp_menu_fmt', '| VisiData {vd.version} |
|
21
|
+
vd.option('disp_menu_fmt', '| VisiData {vd.version} | {vd.hintStatus}', 'right-side menu format string')
|
21
22
|
|
22
23
|
BaseSheet.init('activeMenuItems', list)
|
23
24
|
vd.menuRunning = False
|
24
25
|
|
26
|
+
@VisiData.property
|
27
|
+
def hintStatus(vd):
|
28
|
+
if vd.options.disp_expert <= 0:
|
29
|
+
if int(time.time()/60) % 2 == 0:
|
30
|
+
return 'Alt+H for help menu'
|
31
|
+
else:
|
32
|
+
return 'Ctrl+G to cycle help sidebar'
|
33
|
+
|
34
|
+
return vd.sheet.getHint()
|
35
|
+
|
25
36
|
def menudraw(*args):
|
26
37
|
return clipdraw(*args, truncator='')
|
27
38
|
|
@@ -439,7 +450,7 @@ def runMenu(vd):
|
|
439
450
|
else:
|
440
451
|
nEscapes = 0
|
441
452
|
|
442
|
-
if k in ['^C', '^Q', 'q']:
|
453
|
+
if k in ['^C', '^Q', 'q', '^H', 'KEY_BACKSPACE']:
|
443
454
|
return
|
444
455
|
|
445
456
|
elif k in ['KEY_MOUSE']:
|
@@ -499,7 +510,7 @@ BaseSheet.addCommand('Alt+r', 'menu-row', 'pressMenu("Row")', '')
|
|
499
510
|
BaseSheet.addCommand('Alt+d', 'menu-data', 'pressMenu("Data")', '')
|
500
511
|
BaseSheet.addCommand('Alt+p', 'menu-plot', 'pressMenu("Plot")', '')
|
501
512
|
BaseSheet.addCommand('Alt+s', 'menu-system', 'pressMenu("System")', '')
|
502
|
-
BaseSheet.addCommand('Alt+h', 'menu-help', 'pressMenu("Help")', '')
|
513
|
+
BaseSheet.addCommand('Alt+h', 'menu-help', 'pressMenu("Help")', 'open the Help menu')
|
503
514
|
BaseSheet.bindkey('Ctrl+H', 'menu-help')
|
504
515
|
BaseSheet.bindkey('KEY_BACKSPACE', 'menu-help')
|
505
516
|
|