From 12ecbdc89ff05db65f6b4f4d77f288833be96dab Mon Sep 17 00:00:00 2001 From: bjorn Date: Mon, 3 Nov 2008 16:43:19 +0000 Subject: [PATCH] gf-server: complete noew sorts case-insensitive --- src/server/PGFService.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 =