case-insensitive, partial-word and substring completion