allow spaces between sign and number, when parsing
This commit is contained in:
		
							parent
							
								
									4529d9e804
								
							
						
					
					
						commit
						f219bba494
					
				| @ -688,8 +688,10 @@ amountp' s = | ||||
| mamountp' :: String -> MixedAmount | ||||
| mamountp' = Mixed . (:[]) . amountp' | ||||
| 
 | ||||
| -- | Parse a minus or plus sign followed by zero or more spaces, | ||||
| -- or nothing, returning a function that negates or does nothing. | ||||
| signp :: Num a => TextParser m (a -> a) | ||||
| signp = char '-' *> pure negate <|> char '+' *> pure id <|> pure id | ||||
| signp = ((char '-' *> pure negate <|> char '+' *> pure id) <* many spacenonewline) <|> pure id | ||||
| 
 | ||||
| multiplierp :: TextParser m Bool | ||||
| multiplierp = option False $ char '*' *> pure True | ||||
|  | ||||
| @ -421,12 +421,18 @@ must be enclosed in double quotes: | ||||
| 
 | ||||
|     3 "no. 42 green apples" | ||||
| 
 | ||||
| Amounts can be negative. The minus sign can be written before or after | ||||
| a left-side commodity symbol: | ||||
| Amounts can be preceded by a minus sign (or a plus sign, though plus is the default), | ||||
| The sign can be written before or after a left-side commodity symbol: | ||||
| 
 | ||||
|     -$1 | ||||
|     $-1 | ||||
| 
 | ||||
| One or more spaces between the sign and the number are acceptable | ||||
| when parsing (but they won't be displayed in output): | ||||
| 
 | ||||
|     + $1 | ||||
|     $-      1 | ||||
| 
 | ||||
| Scientific E notation is allowed: | ||||
| 
 | ||||
|     1E-6 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user