Auto-completion will come in time. I don't know if I would allow "relative" pathing via @@, I'm not sure why you wouldn't just use general paths. As for the other options, such as -f, etc., yes those will be put in place. I am hoping to make this a 100% drop in replacement for psql, so whatever psql supports on the command line, as well as the various backslash commands (ie, \f) will be added.
Relative paths are a must. I don't think I ever use non-relative paths.
Say you have a folder structure like this:
sql/
tables/
foo.sql
bar.sql
main.sql
And the contents of main.sql are something like this:
@@tables/foo.sql
@@tables/foo.sql
Then you can run main.sql via: usql -f sql/main.sql
If script file resolution is not relative pathed to the parent, it gets very fragile as you must invoke the parent from a specific location, or, you have to hard code full pathes in your scripts (arguably even uglier).
Yes psql supports it. The syntax is "\i path/to/file.sql" or "\ir relative/path/to/file.sql". The latter is resolved relative to the parent script. Makes nesting scripts possible without losing your sanity.