support keyword completion