mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Added setTabSize()
This commit is contained in:
		| @@ -4,16 +4,22 @@ using namespace ArduinoJson::Generator; | ||||
|  | ||||
| void IndentedPrint::indent() | ||||
| { | ||||
|     if (level<127) | ||||
|     if (level < MAX_LEVEL) | ||||
|         level++; | ||||
| } | ||||
|  | ||||
| void IndentedPrint::unindent() | ||||
| { | ||||
|     if (level>0) | ||||
|     if (level > 0) | ||||
|         level--; | ||||
| } | ||||
|  | ||||
| void IndentedPrint::setTabSize(uint8_t n) | ||||
| { | ||||
|     if (n < MAX_TAB_SIZE) | ||||
|         tabSize = n; | ||||
| } | ||||
|  | ||||
| size_t IndentedPrint::write(uint8_t c) | ||||
| { | ||||
|     size_t n = 0; | ||||
| @@ -24,7 +30,7 @@ size_t IndentedPrint::write(uint8_t c) | ||||
|     n += sink.write(c); | ||||
|  | ||||
|     isNewLine = c == '\n'; | ||||
|          | ||||
|  | ||||
|     return n; | ||||
| } | ||||
|  | ||||
| @@ -32,7 +38,7 @@ size_t IndentedPrint::writeTabs() | ||||
| { | ||||
|     size_t n = 0; | ||||
|  | ||||
|     for (int i = 0; i<level; i++) | ||||
|     for (int i = 0; i < level*tabSize; i++) | ||||
|         n += sink.write(' '); | ||||
|  | ||||
|     return n; | ||||
|   | ||||
| @@ -19,6 +19,7 @@ namespace ArduinoJson | ||||
|                 : sink(p) | ||||
|             { | ||||
|                 level = 0; | ||||
|                 tabSize = 1; | ||||
|                 isNewLine = true; | ||||
|             } | ||||
|  | ||||
| @@ -26,13 +27,18 @@ namespace ArduinoJson | ||||
|  | ||||
|             void indent(); | ||||
|             void unindent(); | ||||
|             void setTabSize(uint8_t n); | ||||
|  | ||||
|         private: | ||||
|             Print& sink; | ||||
|             uint8_t level : 7; | ||||
|             uint8_t level : 4; | ||||
|             uint8_t tabSize : 3; | ||||
|             bool isNewLine : 1; | ||||
|  | ||||
|              | ||||
|             size_t writeTabs(); | ||||
|  | ||||
|             const int MAX_LEVEL = 15; // because it's only 4 bits | ||||
|             const int MAX_TAB_SIZE = 7; // because it's only 3 bits | ||||
|         }; | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user