diff --git a/src/Yi/Completion.hs b/src/Yi/Completion.hs
--- a/src/Yi/Completion.hs
+++ b/src/Yi/Completion.hs
@@ -15,7 +15,7 @@
   , completeInListCustomShow
   , commonPrefix
   , prefixMatch, infixUptoEndMatch
-  , subsequenceMatch
+  , subsequenceMatch, subsequenceTextMatch
   , containsMatch', containsMatch, containsMatchCaseInsensitive
   , isCasePrefixOf
   )
@@ -25,7 +25,8 @@
 import           Data.List           (find, nub)
 import           Data.Maybe          (catMaybes)
 import           Data.Monoid         ((<>))
-import qualified Data.Text           as T (Text, breakOn, isPrefixOf, length, null, tails, toCaseFold)
+import           Data.Text           (Text)
+import qualified Data.Text           as T (Text, breakOn, isPrefixOf, length, null, tails, toCaseFold, splitAt)
 import           Yi.Editor           (EditorM, printMsg, printMsgs)
 import           Yi.String           (commonTPrefix', showT)
 import           Yi.Utils            (commonPrefix)
@@ -61,6 +62,20 @@
         go [] _ = True
         go _ [] = False
         go _ _  = False
+
+-- | A simple fuzzy match algorithm. Example: "abc" matches "a1b2c"
+subsequenceTextMatch :: Text -> Text -> Bool
+subsequenceTextMatch needle haystack
+  | T.null needle   = True
+  | T.null haystack = False
+  | n == h     = subsequenceTextMatch ns     hs
+  | n /= h     = subsequenceTextMatch needle hs
+  | otherwise  = False
+  where
+    n,ns,h,hs :: Text
+    (n,ns) = T.splitAt 1 needle
+    (h,hs) = T.splitAt 1 haystack
+
 
 -- | TODO: this is a terrible function, isn't this just
 -- case-insensitive infix? – Fūzetsu
diff --git a/yi-core.cabal b/yi-core.cabal
--- a/yi-core.cabal
+++ b/yi-core.cabal
@@ -1,9 +1,5 @@
--- This file has been generated from package.yaml by hpack version 0.17.1.
---
--- see: https://github.com/sol/hpack
-
 name:           yi-core
-version:        0.16.0
+version:        0.17.0
 synopsis:       Yi editor core library
 category:       Yi
 homepage:       https://github.com/yi-editor/yi#readme
@@ -17,23 +13,8 @@
   type: git
   location: https://github.com/yi-editor/yi
 
-flag eventlog
-  description: Runtime binary will be compiled with eventlog and RTS options enabled.
-  manual: True
-  default: False
-
 flag hint
-  description: Include hint (haskell interpreter) in yi
-  manual: True
-  default: False
-
-flag profiling
-  description: Runtime binary will be compiled with profiling and RTS options enabled.
-  manual: True
-  default: False
-
-flag testing
-  description: bake-in the self-checks
+  description: Build with hint (haskell interpreter)
   manual: True
   default: False
 
@@ -72,21 +53,16 @@
     , xdg-basedir >= 0.2.1
     , yi-language >= 0.1.1.0
     , yi-rope >= 0.10
+  if flag(hint)
+    cpp-options: -DHINT
+    build-depends:
+        hint > 0.3.1
   if os(win32)
     build-depends:
         Win32
   else
     build-depends:
         unix
-  if flag(profiling)
-    cpp-options: -DPROFILING
-  if flag(eventlog)
-    ghc-options: -Wall -fno-warn-orphans -eventlog
-    cpp-options: -DEVENTLOG
-  if flag(hint)
-    cpp-options: -DHINT
-    build-depends:
-        hint > 0.3.1
   exposed-modules:
       Yi
       Yi.Buffer
@@ -168,35 +144,8 @@
   ghc-options: -Wall -ferror-spans
   build-depends:
       base >= 4.8 && < 5
-    , array
-    , attoparsec
-    , binary >= 0.7
-    , bytestring >= 0.9.1
-    , containers
-    , data-default
-    , directory
-    , dlist >= 0.4.1
-    , dynamic-state >= 0.1.0.5
-    , filepath >= 1.1
-    , hashable >= 1.1.2.5
-    , ListLike >= 4.5
-    , microlens-platform
-    , mtl >= 0.1.0.1
-    , old-locale
-    , oo-prototypes
-    , parsec >= 3.0
-    , pointedlist >= 0.5
-    , process >= 1.0.1.1
-    , process-extras >= 0.3.3.8
-    , split >= 0.2
-    , text >= 1.1.1.3
-    , time >= 1.1
-    , transformers-base
-    , unix-compat >= 0.1
-    , unordered-containers >= 0.1.3
-    , xdg-basedir >= 0.2.1
-    , yi-language >= 0.1.1.0
     , yi-rope >= 0.10
+    , attoparsec
     , tasty
     , tasty-hunit
     , tasty-quickcheck
@@ -204,12 +153,6 @@
     , yi-core
     , text
     , containers
-  if os(win32)
-    build-depends:
-        Win32
-  else
-    build-depends:
-        unix
   other-modules:
       Yi.CompletionTests
       Yi.CompletionTreeTests
@@ -225,42 +168,8 @@
   ghc-options: -Wall -ferror-spans -Wall -ferror-spans -rtsopts
   build-depends:
       base >= 4.8 && < 5
-    , array
-    , attoparsec
-    , binary >= 0.7
-    , bytestring >= 0.9.1
-    , containers
-    , data-default
-    , directory
-    , dlist >= 0.4.1
-    , dynamic-state >= 0.1.0.5
-    , filepath >= 1.1
-    , hashable >= 1.1.2.5
-    , ListLike >= 4.5
-    , microlens-platform
-    , mtl >= 0.1.0.1
-    , old-locale
-    , oo-prototypes
-    , parsec >= 3.0
-    , pointedlist >= 0.5
-    , process >= 1.0.1.1
-    , process-extras >= 0.3.3.8
-    , split >= 0.2
-    , text >= 1.1.1.3
-    , time >= 1.1
-    , transformers-base
-    , unix-compat >= 0.1
-    , unordered-containers >= 0.1.3
-    , xdg-basedir >= 0.2.1
-    , yi-language >= 0.1.1.0
-    , yi-rope >= 0.10
     , yi-core
+    , yi-rope >= 0.10
     , criterion
     , deepseq
-  if os(win32)
-    build-depends:
-        Win32
-  else
-    build-depends:
-        unix
   default-language: Haskell2010
