summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbjorn <bjorn@bringert.net>2008-11-03 16:43:19 +0000
committerbjorn <bjorn@bringert.net>2008-11-03 16:43:19 +0000
commit07a0e8fe869f11b50bb4b67dbc07118dcdd35465 (patch)
treecb52cb01a1a720dc4bd27972593a912a33d11cca
parented05fc771cc53d2ef0da2e252e069b7460f43ebd (diff)
gf-server: complete noew sorts case-insensitive
-rw-r--r--src/server/PGFService.hs5
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 =