on develop help sign in
Ensuring numeric nullary sum branches are prefixed by default
4db6a1eBrendan Hay
gen/src/Gen/AST/Solve.hs+8−4
@@ -29,6 +29,7 @@ import Control.Lens hiding (enum)
29import Control.Monad.Except
29import Control.Monad.Except
30import Data.CaseInsensitive (CI)
30import Data.CaseInsensitive (CI)
31import qualified Data.CaseInsensitive as CI
31import qualified Data.CaseInsensitive as CI
32+import Data.Char (isDigit)
32import Data.Hashable
33import Data.Hashable
33import qualified Data.HashMap.Strict as Map
34import qualified Data.HashMap.Strict as Map
34import qualified Data.HashSet as Set
35import qualified Data.HashSet as Set
@@ -141,15 +142,18 @@ getPrefix g = loc "getPrefix" g $ memo prefixed g go
141 _ -> pure mempty
142 _ -> pure mempty
142
143
143 field rs = do
144 field rs = do
144− let ls = Map.keys rs
145− ks = Set.fromList (map (CI.mk . local) ls)
146 p <- uniq fields (acronymPrefixes g) ks
145 p <- uniq fields (acronymPrefixes g) ks
147 pure (Prefix p)
146 pure (Prefix p)
147+ where
148+ ls = Map.keys rs
149+ ks = Set.fromList (map (CI.mk . local) ls)
148
150
149 branch vs = do
151 branch vs = do
150− p <- uniq branches ("" : acronymPrefixes g) $
151− Set.fromList (map CI.mk vs)
152+ p <- uniq branches ps (Set.fromList (map CI.mk vs))
152 pure (Prefix p)
153 pure (Prefix p)
154+ where
155+ ps | any (isDigit . Text.head) vs = acronymPrefixes g
156+ | otherwise = "" : acronymPrefixes g
153
157
154 uniq :: Lens' Memo Seen
158 uniq :: Lens' Memo Seen
155 -> [CI Text]
159 -> [CI Text]
gen/src/Gen/Text.hs+1−1
@@ -220,7 +220,7 @@ upperAcronym x = Fold.foldl' (flip (uncurry RE.replaceAll)) x xs
220 , ("info", "Info")
220 , ("info", "Info")
221 , ("library", "Library")
221 , ("library", "Library")
222 , ("list", "List")
222 , ("list", "List")
223− , ("([^pn]load", "$1Load")
223+ , ("([^pn])load", "$1Load")
224 , ("manager", "Manager")
224 , ("manager", "Manager")
225 , ("model", "Model")
225 , ("model", "Model")
226 , ("monitor", "Monitor")
226 , ("monitor", "Monitor")