yi-core 0.16.0 → 0.17.0
raw patch · 2 files changed
+25/−101 lines, 2 filesdep ~textnew-uploader
Dependency ranges changed: text
Files
- src/Yi/Completion.hs +17/−2
- yi-core.cabal +8/−99
src/Yi/Completion.hs view
@@ -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
yi-core.cabal view
@@ -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