diff options
| -rw-r--r-- | package-lock.json | 2 | ||||
| -rw-r--r-- | src/Lang/Cpp/CppParser.ts | 3 | ||||
| -rw-r--r-- | src/test/CppTests/Preprocessor.test.ts | 33 |
3 files changed, 37 insertions, 1 deletions
diff --git a/package-lock.json b/package-lock.json index 0147e05..61f6e62 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "doxdocgen", - "version": "0.5.2", + "version": "0.6.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/src/Lang/Cpp/CppParser.ts b/src/Lang/Cpp/CppParser.ts index d51f853..d59ec9b 100644 --- a/src/Lang/Cpp/CppParser.ts +++ b/src/Lang/Cpp/CppParser.ts @@ -424,6 +424,9 @@ export default class CppParser implements ICodeParser { if (nextLineTxt.startsWith("#include")) { this.commentType = CommentType.file; return ""; + } else if (nextLineTxt.startsWith("#")) { // preprocessor stuff + this.commentType = CommentType.method; + return "#"; } if (!this.isVsCodeAutoComplete(nextLineTxt)) { diff --git a/src/test/CppTests/Preprocessor.test.ts b/src/test/CppTests/Preprocessor.test.ts new file mode 100644 index 0000000..c89a80a --- /dev/null +++ b/src/test/CppTests/Preprocessor.test.ts @@ -0,0 +1,33 @@ +// +// Note: This example test is leveraging the Mocha test framework. +// Please refer to their documentation on https://mochajs.org/ for help. +// + +// The module 'assert' provides assertion methods from node +import * as assert from "assert"; + +// You can import and use all API from the 'vscode' module +// as well as import your extension to test it +import * as vscode from "vscode"; +import TestSetup from "./TestSetup"; + +// Defines a Mocha test suite to group tests of similar kind together +suite("C++ - Preprocessor Tests", () => { + const testSetup: TestSetup = new TestSetup("#define MY_MACRO 1"); + + // Tests + test("Macro", () => { + const result = testSetup.GetResult(); + assert.equal("/**\n * @brief \n * \n */", result); + }); + + // Tests + test("Macro with comment afterwards", () => { + const result = testSetup.SetLines([ + "#define MY_MACRO 1", + "/**", + " */", + ]).GetResult(); + assert.equal("/**\n * @brief \n * \n */", result); + }); +}); |