sort-by-pinyin 2014.5.19 → 2017.10.18
raw patch · 4 files changed
+32/−19 lines, 4 filesdep −air-extradep −air-thdep ~base
Dependencies removed: air-extra, air-th
Dependency ranges changed: base
Files
- sort-by-pinyin.cabal +8/−8
- src/Text/Here.hs +16/−0
- src/Text/SortByPinyin.hs +6/−9
- src/Text/SortByPinyinData.hs +2/−2
sort-by-pinyin.cabal view
@@ -1,28 +1,28 @@ Name: sort-by-pinyin-Version: 2014.5.19+Version: 2017.10.18 Build-type: Simple-Synopsis: Sort simplified Chinese by PinYin-Description: Sort simplified Chinese by PinYin+Synopsis: Sort Simplified Chinese by PinYin+Description: License: BSD3 License-file: LICENSE Author: Jinjing Wang Maintainer: Jinjing Wang <nfjinjing@gmail.com>-Build-Depends: base-Cabal-version: >= 1.2+Cabal-version: >= 1.18 category: Web homepage: https://github.com/nfjinjing/sort-by-pinyin data-files: readme.md, changelog.md library- build-depends: base >= 3 && < 99+ build-depends: base >= 4 && < 5 , text , air >= 2014.5.19- , air-th , containers , bytestring- , air-extra hs-source-dirs: src/ exposed-modules: Text.SortByPinyin Text.SortByPinyinData+ Text.Here++ default-language: Haskell2010
+ src/Text/Here.hs view
@@ -0,0 +1,16 @@+-- |++module Text.Here where++import Language.Haskell.TH.Quote+import Language.Haskell.TH.Syntax+import Language.Haskell.TH.Lib+++here :: QuasiQuoter+here =+ QuasiQuoter+ {+ quoteExp = litE . stringL+ , quotePat = litP . stringL+ }
src/Text/SortByPinyin.hs view
@@ -10,30 +10,27 @@ where -import Air.Env-import Prelude ()-import Air.Extra- import qualified Data.Char as Char- import qualified Data.Text.Read as Text.Read import qualified Data.Text as Text- import qualified Data.ByteString.Char8 as StrictByteString- import qualified Data.Map as Map import Text.SortByPinyinData (sort_by_pinyin_data) +import Air.Env+import Prelude ()++pinyin_data :: String pinyin_data = sort_by_pinyin_data +pinyins :: [String] pinyins = pinyin_data.lines.reject (starts_with "#") - pinyin_char_map :: Map.Map Char String pinyin_char_map = pinyins- .map (split "\t")+ .map words .map (take 2) .reject (length > is_not 2) .map (\(x:y:_) -> (x,y))
src/Text/SortByPinyinData.hs view
@@ -1,9 +1,9 @@ {-# LANGUAGE QuasiQuotes #-} module Text.SortByPinyinData where- -import Air.TH+import Text.Here +sort_by_pinyin_data :: String sort_by_pinyin_data = [here| # # Name: Unicode Pinyin table