make remoteKeyToRemoteName safer

If it's passed a ConfigKey such as annex.version, avoid returning
an empty remote name and return Nothing instead. Also, foo.bar.baz is
not treated as a remote named "bar".
This commit is contained in:
Joey Hess 2021-04-23 13:28:23 -04:00
parent 5cb05c43c9
commit 0e830b6bb5
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
4 changed files with 20 additions and 14 deletions

View file

@ -449,8 +449,8 @@ completeRemotes = completer $ mkCompleter $ \input -> do
r <- maybe (pure Nothing) (Just <$$> Git.Config.read)
=<< Git.Construct.fromCwd
return $ filter (input `isPrefixOf`) $
map remoteKeyToRemoteName $
filter isRemoteKey $
mapMaybe remoteKeyToRemoteName $
filter isRemoteUrlKey $
maybe [] (M.keys . config) r
completeBackends :: HasCompleter f => Mod f a