Yes, thank you.<br><br>Now i have new problem. maybe it&#39;s even a bug.<br>If I define prompt in this way:<br><br>data Songs = Songs<br>instance XPrompt Songs where<br> showXPrompt Songs = &quot;Song: &quot;<br><br>songsPrompt :: XPConfig -&gt; X ()<br>
songsPrompt c = do<br> cmds &lt;- io $ getSongs<br> mkXPrompt Songs c (mkComplFunFromList&#39; cmds) (\s -&gt; spawn &quot;mpc play&quot;)<br><br>getSongs = return [&quot;Nigthwish - 1&quot;, &quot;Nightwish - 2&quot;]<br>
<br>(Notice song names)<br><br>Then i call this prompt and hit &lt;tab&gt; twice to select second &quot;song&quot;, and i get this in prompt:<br>&quot;Song: Nightwish - Nightwish - 1&quot;<br>if i hit tab more, i get:<br>
&quot;Song: Nightwish - Nightwish - Nightwish - Nightwish - 1&quot;<br><br>But if remove spaces:<br>getSongs = return [&quot;Nigthwish-1&quot;, &quot;Nightwish-2&quot;]<br>Everything works fine.<br><br>This behaviour is made on purpose? Or it&#39;s my mistake somewhere? )<br>
<br>Thank you.<br><br><div class="gmail_quote">2009/3/3 Daniel Schoepe <span dir="ltr">&lt;<a href="mailto:asgaroth_@gmx.de">asgaroth_@gmx.de</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="h5">  wrote:<br>
&gt; Hi<br>
&gt;<br>
&gt; I wrote my custom prompts for selecting playlists and songs in mpd and<br>
&gt; used mkComplFunFromList to make completion function.<br>
&gt; What is the easiest way to enable partial matching of input against<br>
&gt; completion list. I mean so that compare was like<br>
&gt; select .. from ... where ... like &#39;%input%&#39;<br>
&gt; ?<br>
&gt;<br>
&gt; Thank you.<br>
<br>
</div></div>As far as I know, you&#39;d have to define a custom completion function<br>
instead of creating it with mkComplFunFromList. So something like this<br>
should work:<br>
<br>
infixCompl _ [] = return []<br>
infixCompl l s = return $ filter (s `isInfixOf`) l<br>
<br>
That would create a function that returns all the matches in the list<br>
if, the input string occurs in the element.<br>
<br>
_______________________________________________<br>
xmonad mailing list<br>
<a href="mailto:xmonad@haskell.org">xmonad@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/xmonad" target="_blank">http://www.haskell.org/mailman/listinfo/xmonad</a><br>
</blockquote></div><br>