aboutsummaryrefslogtreecommitdiff
path: root/src/library.js
diff options
context:
space:
mode:
authorRanger Harke <ranger.harke@autodesk.com>2013-09-19 17:24:31 -0400
committerRanger Harke <ranger.harke@autodesk.com>2013-09-19 17:24:31 -0400
commit61c9d6ede1fe9a91ae501dc019d2e5f97803943a (patch)
treec60349138d76cbda413292b56e0e62743523a49d /src/library.js
parentb72b6d897250cc7624b66832f720ff3bed6823a6 (diff)
Implement missing 'space' formatting flag
This flag causes space (padding) to be reserved for the sign even if the number is positive. It is basically the same as the 'plus' flag except that a space is displayed instead of a plus sign. The 'plus' flag takes precedence.
Diffstat (limited to 'src/library.js')
-rw-r--r--src/library.js20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/library.js b/src/library.js
index 995fa2ab..2faa40d7 100644
--- a/src/library.js
+++ b/src/library.js
@@ -1974,6 +1974,7 @@ LibraryManager.library = {
var flagLeftAlign = false;
var flagAlternative = false;
var flagZeroPad = false;
+ var flagPadSign = false;
flagsLoop: while (1) {
switch (next) {
case {{{ charCode('+') }}}:
@@ -1992,6 +1993,9 @@ LibraryManager.library = {
flagZeroPad = true;
break;
}
+ case {{{ charCode(' ') }}}:
+ flagPadSign = true;
+ break;
default:
break flagsLoop;
}
@@ -2158,8 +2162,12 @@ LibraryManager.library = {
}
// Add sign if needed
- if (flagAlwaysSigned && currArg >= 0) {
- prefix = '+' + prefix;
+ if (currArg >= 0) {
+ if (flagAlwaysSigned) {
+ prefix = '+' + prefix;
+ } else if (flagPadSign) {
+ prefix = ' ' + prefix;
+ }
}
// Move sign to prefix so we zero-pad after the sign
@@ -2250,8 +2258,12 @@ LibraryManager.library = {
if (next == {{{ charCode('E') }}}) argText = argText.toUpperCase();
// Add sign.
- if (flagAlwaysSigned && currArg >= 0) {
- argText = '+' + argText;
+ if (currArg >= 0) {
+ if (flagAlwaysSigned) {
+ argText = '+' + argText;
+ } else if (flagPadSign) {
+ argText = ' ' + argText;
+ }
}
}