summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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 =