diff options
| author | Matthew Kosarek <mattkae@protonmail.com> | 2021-06-22 20:43:35 -0400 | 
|---|---|---|
| committer | Matthew Kosarek <mattkae@protonmail.com> | 2021-06-22 20:43:35 -0400 | 
| commit | ff77516d964d758e33218e03483484d2ef1adef9 (patch) | |
| tree | fd1dc26fa39415397ebdf68aa77a707281da4b2c | |
| parent | f34116f1da8465851d684620b6b94e0a3f3c0fbc (diff) | |
Sort of handling comments in the transpiler
| -rw-r--r-- | 2d/rigidbody/rigidbody_1.html | 4 | ||||
| -rw-r--r-- | transpiler/replacer.cpp | 13 | ||||
| -rwxr-xr-x | transpiler/transpiler | bin | 49640 -> 49688 bytes | 
3 files changed, 14 insertions, 3 deletions
diff --git a/2d/rigidbody/rigidbody_1.html b/2d/rigidbody/rigidbody_1.html index bf703d2..ec7e028 100644 --- a/2d/rigidbody/rigidbody_1.html +++ b/2d/rigidbody/rigidbody_1.html @@ -172,7 +172,7 @@ const <span class="code_keyword">int32</span> NUM_IMPULSES = 4;      <span class="code_keyword">void</span> update(float32 deltaTimeSeconds) {          applyGravity(deltaTimeSeconds); -        // Add up all of the forces acting at this moment +        <span class="code_comment">// Add up all of the forces acting at this moment</span>          <span class="code_keyword">Vector2</span> force;          for (int32 idx = 0; idx < numImpulses; idx++) {              Impulse& i = activeImpulses[idx]; @@ -192,7 +192,7 @@ const <span class="code_keyword">int32</span> NUM_IMPULSES = 4;          velocity += (acceleration * impulseDtSeconds);          position += (velocity * deltaTimeSeconds); -        // Cleanup any impulses that have expired in the mean time +        <span class="code_comment">// Cleanup any impulses that have expired in the mean time</span>          for (int32 idx = 0; idx < numImpulses; idx++) {              if (activeImpulses[idx].isDead) {                  for (int j = idx + 1; j < numImpulses; j++) { diff --git a/transpiler/replacer.cpp b/transpiler/replacer.cpp index 28c2e8e..0225f92 100644 --- a/transpiler/replacer.cpp +++ b/transpiler/replacer.cpp @@ -17,6 +17,8 @@ const char* types[] = {      "struct", "class"  }; +const char* commentType = "//"; +  bool isType(char* str, int size) {      if (size == 0) {          return false; @@ -84,7 +86,16 @@ std::string insertCodeSnippets(char* workingDirectory, char* bodyContent) {              }              int tokenLength = (tokenEnd - tokenStart); -            if (isType(&snippetContent[tokenStart], tokenLength)) { + +            if (tokenLength == strlen(commentType) && strncmp(&snippetContent[tokenStart], commentType, tokenLength) == 0) { +                // @NOTE: Assuming comments are always on a single line +                s.append("<span class=\"code_comment\">"); +                while (snippetContent[tokenEnd] != '\n') { +                    tokenEnd++; +                } +                s.append(&snippetContent[tokenStart], tokenEnd - tokenStart); +                s.append("</span>"); +            } else if (isType(&snippetContent[tokenStart], tokenLength)) {                  s.append("<span class=\"code_keyword\">");                  s.append(&snippetContent[tokenStart], tokenLength);                  s.append("</span>"); diff --git a/transpiler/transpiler b/transpiler/transpiler Binary files differindex 509db3e..896e778 100755 --- a/transpiler/transpiler +++ b/transpiler/transpiler  | 
