ranger-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ranger-users] ranger 1.6.0 on the horizon


From: Roman Z.
Subject: Re: [Ranger-users] ranger 1.6.0 on the horizon
Date: Sun, 17 Feb 2013 22:14:09 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

On Sat, Feb 16, 2013 at 08:48:53PM +0000, Joshua Landau wrote:
> I see you went back to Regex, though.  Open :narrow and press "*". The
> Regex will be malformed, so Ranger will crash.
> Try using "\."; now try "[ab]", now try "(ab)", now try...

On Sat, Feb 16, 2013 at 10:35:40PM +0000, Joshua Landau wrote:
> The thing is, I can only think of one way to use Regex that isn't buggy:
> don't skip letters.

On Sat, Feb 16, 2013 at 10:35:40PM +0000, Joshua Landau wrote:
> And if you don't like it exactly like this (I think it's useful), the
> implementation is ours and thus is easy to change. There are multiple
> reasons I chose this double-interpretation version, including the fact it
> stops cases where adding letters increases the number of results (excluding
> chained endings). That would be bad because it can trigger :travel early,
> but Regex would have an abundance of those cases.

Good points why full-blown regular expressions don't make sense for
:travel.  However, my current plans for 1.6 are conservative:

For :travel, all characters except ^ and $, respectively at the start
or end, are escaped before they are shoved into the regex.  This fixes
the crash that you described and ensures that additional letters always
reduce the number of matches.

TYPED IN -> RESULTING REGEXP
"foo" -> "f.*o.*o"
"^foo$" -> "^f.*o.*o$"
"$[ab]" -> "\$.*\[.*a.*b.*\]"

The command :find will remain the same, and :narrow will be removed.

What happens after 1.6 is another topic :)

Since these commands are all very similar, maybe it's a good thing to
add flags like in the :shell command.  For example, ":find -kfs" would
be the same as :travel ("k" for "keep console open", "f" for filtering,
"s" for letter-skipping).  :narrow could be implemented with
":find -fsA" (filtering, letter-skipping, *no* automatic opening), etc.
You could then mix your own commands with ":alias travel find -kfs".

But I really want to get 1.6 out soon, and I don't want too much
experimental stuff in there.

Roman




reply via email to

[Prev in Thread] Current Thread [Next in Thread]