Browse files

minor fixes to filename completer and ROADMAP

  • Loading branch information...
saulpw committed Dec 16, 2017
1 parent 0b64ad7 commit 079e48863f640c99c8dba305ad5fecb440733f6f
Showing with 6 additions and 3 deletions.
  1. +4 −1 ROADMAP
  2. +2 −2 visidata/
@@ -4,18 +4,21 @@ I. Interface
- statusline menu for chooseOne
- context-sensitive hierarchical menu system to discover commands
- clickable column headers to set type/name, click-drag to move columns/rows
- keycols still pinned on display left (or maybe a disp_ option, which possibly affects col save order), but are not moved within columns list
II. Internals
- break VisiData object into several smaller pseudo-classes, which can be plug-n-play.
- maybe provide a null functional implementation (raw interface).
- Progress, asyncjl
- Progress/async can be completely standalone
- Sheet gets split into [Base]Sheet and Table
- Sheet is interface with draw, reload, exec_command
- Table inherits from Sheet, has rows/columns
- Plotter inherits from Sheet
- SourceSheet inherits from Table
- Enter as an alias for 'e' on SourceSheet
- newRow() (for 'a') on SourceSheet only
- all commands implemented on Sheet or children
- global key bindings like 'h' to 'move-left', and then each Sheet defines the semantics of its move-left
- allow Table.rows to be an offline datastore
II. Loaders
@@ -82,11 +82,11 @@ def newSheet(ncols):
return Sheet('unnamed', columns=[ColumnItem('', i, width=8) for i in range(ncols)])
def inputFilename(prompt, *args, **kwargs):
return input(prompt, "filename", *args, **kwargs, completer=completeFilename)
return input(prompt, "filename", *args, completer=completeFilename, **kwargs)
def completeFilename(val, state):
i = val.rfind('/')
if i == -1: # no /
if i < 0: # no /
base = ''
partial = val
elif i == 0: # root /

0 comments on commit 079e488

Please sign in to comment.