title: How does Visual Studio Code Implement its Autocomplete Feature
body: <p>I am interested to learn how does Vscode implement its auto-complete list (in term of data structure and algorithm around it). I looked into <a href="https://github.com/Microsoft/vscode" rel="nofollow noreferrer">vscode repo</a> but nothing jumped out right-away. Could someone point me to the right direction? Thank you in advance.</p>
  
  <p>To be more specific</p>
  
  <ul>
  <li><p>What data structure does it use to store tokens?</p></li>
  <li><p>How does the lookup work given the data structure?</p></li>
  </ul>
  
  <p><strong>Update</strong></p>
  
  <p>Potentially found relevant codes:</p>
  
  <ul>
  <li><p><a href="https://github.com/Microsoft/vscode/blob/38f1eddf382e508e8be605ba6ef39c8a97e03a61/src/vs/editor/contrib/suggest/completionModel.ts" rel="nofollow noreferrer">completionModel.ts</a></p></li>
  <li><p><a href="https://github.com/Microsoft/vscode/blob/38f1eddf382e508e8be605ba6ef39c8a97e03a61/src/vs/base/common/filters.ts" rel="nofollow noreferrer">filters.ts</a> </p></li>
  </ul>