We're lazy programmers, and we spend too much time on IRC and writing documentation and not enough coding. So much time wasted with all this thinking -- so we wrote a program to do it for us.

What it does

Using Markov chains, the ` key (right above tab) will autocomplete the current text wherever you are, whether it be vim, WeeChat, or your Python REPL. You can also use rlwrap to add Markov completion to virtually any program.

Use Shift+Ctrl+` to enter a normal `, and type Ctrl-O to cycle through Markov suggestions.

How we built it

We implemented a Markov chain system in C++ and hooked into it from a variety of platforms, patching several different high-profile projects to integrate with our system.

Challenges we ran into

readline is a mess. I pity the souls who have to maintain this piece of software.

Accomplishments that we're proud of

It works!

What we learned

Never, ever, ever, open the source code for GNU readline. Ever.

What's next for markov-complete.

Automatically train it on previous text, of course! Meta-markov!

Built With

  • c++
  • markov-chains
  • readline
  • vim
  • weechat
Share this project: