Skip to content

3.1.1

Choose a tag to compare

@noahcoad noahcoad released this 09 Sep 04:34
· 4 commits to master since this release

3.1.1

Three long-standing bug reports, closed.

Fixes

URLs with a comma in the query string open whole

https://www.google.com/search?q=one,two opened ?q=one. A comma is a token
delimiter — it's what splits notes.txt,other.txt into two paths — but it's
also perfectly legal in a query string, and a delimiter walk can only look one
way at a time.

A scheme://... URL is now matched as a unit, so any cursor position inside it
selects the whole thing. Comma-separated paths still split as before.

While in there:

  • Trailing sentence punctuation (.,;:!?) is trimmed, so see https://example.com.
    opens without the period.
  • Parens are kept when balanced (.../Foo_(bar)) and dropped when they're a
    wrapper ((https://example.com)).
  • A quote, angle, square, or curly wrapper is never part of the URL.
  • Two URLs on one line are separate spans; the one under the cursor wins.

Thanks to @oifj34f34f for the report.

Revealing a folder on Windows no longer prints a traceback

explorer returns exit status 1 even when it opened the folder fine. The
subprocess ran under check_call inside a worker thread, so that turned every
successful reveal into an unhandled CalledProcessError traceback in the
console. The exit code is now ignored; the child's own stderr still reaches the
console.

Thanks to @eugenesvk for the report.

Note on file_suffixes

With file_suffixes set, a name that isn't a path is retried once per suffix
before falling through to a web search, and each suffix multiplies against
aliases, search_paths, and file_prefixes. On a partial URL like
//example.com/ that has been measured in seconds.

The default is unchanged ([".js"]) so nothing breaks, but the setting now
carries a warning. If you don't resolve bare names, set it to []:

{ "file_suffixes": [] }

Already fixed, if you were waiting on it

Two open reports turned out to be resolved by 3.0.0 and 3.1.0:

  • start needing an empty title argument on Windows — the system_open
    sentinel has passed cmd.exe /c start "" <path> since 3.0.0.
  • Opening [label](URL) with the cursor in the label — inline markdown
    links have resolved to their target from any position inside the link since
    3.1.0.