diff options
| author | bjorn <bjorn@bringert.net> | 2008-11-03 16:43:19 +0000 |
|---|---|---|
| committer | bjorn <bjorn@bringert.net> | 2008-11-03 16:43:19 +0000 |
| commit | 07a0e8fe869f11b50bb4b67dbc07118dcdd35465 (patch) | |
| tree | cb52cb01a1a720dc4bd27972593a912a33d11cca | |
| parent | ed05fc771cc53d2ef0da2e252e069b7460f43ebd (diff) | |
gf-server: complete noew sorts case-insensitive
| -rw-r--r-- | src/server/PGFService.hs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/PGFService.hs b/src/server/PGFService.hs index fb3dee435..e8f7d4aa5 100644 --- a/src/server/PGFService.hs +++ b/src/server/PGFService.hs @@ -13,6 +13,8 @@ import qualified Codec.Binary.UTF8.String as UTF8 (encodeString, decodeString) import Control.Concurrent import Control.Monad import Data.Char +import Data.Function (on) +import Data.List (sortBy) import qualified Data.Map as Map import Data.Maybe import System.Directory @@ -147,9 +149,10 @@ parse' pgf input mcat mfrom = complete' :: PGF -> String -> Maybe PGF.Type -> Maybe PGF.Language -> [(PGF.Language,[String])] complete' pgf input mcat mfrom = - [(from,ss) | from <- froms, PGF.canParse pgf from, let ss = PGF.complete pgf from cat input, not (null ss)] + [(from,order ss) | from <- froms, PGF.canParse pgf from, let ss = PGF.complete pgf from cat input, not (null ss)] where froms = maybe (PGF.languages pgf) (:[]) mfrom cat = fromMaybe (PGF.startCat pgf) mcat + order = sortBy (compare `on` map toLower) linearize' :: PGF -> Maybe PGF.Language -> PGF.Tree -> [(PGF.Language,String)] linearize' pgf mto tree = |
