From 92d9e7f382a4eb2198e99a77c18efb5c789b0cd0 Mon Sep 17 00:00:00 2001 From: k--kato Date: Sun, 24 Jan 2016 16:17:25 +0900 Subject: [PATCH 1/7] fixed Only getting summary for interface methods #3 --- src/SyntacticAnalysis/SyntacticAnalysisCSharp.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SyntacticAnalysis/SyntacticAnalysisCSharp.ts b/src/SyntacticAnalysis/SyntacticAnalysisCSharp.ts index c4f15b9..2452ee2 100644 --- a/src/SyntacticAnalysis/SyntacticAnalysisCSharp.ts +++ b/src/SyntacticAnalysis/SyntacticAnalysisCSharp.ts @@ -52,7 +52,7 @@ export class SyntacticAnalysisCSharp { public static IsField(code: string): boolean { if (code === null) return false; - return code.match(/;[ \t]*$/) !== null; + return code.match(/[^()]+;[ \t]*$/) !== null; } public static IsMethod(code: string): boolean { From c43c7e1659487ac6e800213ecf55806ee4bda602 Mon Sep 17 00:00:00 2001 From: k--kato Date: Sun, 24 Jan 2016 16:19:43 +0900 Subject: [PATCH 2/7] add test data --- test/TestData/X.cs | 24 ++++++++++++++++++++++++ test/TestData/project.json | 0 2 files changed, 24 insertions(+) create mode 100644 test/TestData/X.cs create mode 100644 test/TestData/project.json diff --git a/test/TestData/X.cs b/test/TestData/X.cs new file mode 100644 index 0000000..ca98b70 --- /dev/null +++ b/test/TestData/X.cs @@ -0,0 +1,24 @@ +namespace N // "N:N" +{ + public unsafe class X // "T:N.X" + { + public X(){} // "M:N.X.#ctor" + public X(int i){} // "M:N.X.#ctor(System.Int32)" + public string q; // "F:N.X.q" + public const double PI = 3.14; // "F:N.X.PI" + public int f(){return 1;} // "M:N.X.f" + public int bb(string s, ref int y, void * z){return 1;} // "M:N.X.bb(System.String,System.Int32@,=System.Void*)" + public int gg(short[] array1, int[,] array){return 0;} // "M:N.X.gg(System.Int16[], System.Int32[0:,0:])" + public static X operator+(X x, X xx){return x;} // "M:N.X.op_Addition(N.X,N.X)" + public int prop {get{return 1;} set{}} // "P:N.X.prop" + public event D d; // "E:N.X.d" + public int this[string s]{get{return 1;}} // "P:N.X.Item(System.String)" + public class Nested{} // "T:N.X.Nested" + public delegate void D(int i); // "T:N.X.D" + public static explicit operator int(X x){return 1;} // "M:N.X.op_Explicit(N.X)~System.Int32" + public DbSet Directors { get; set; } + public List bb(string s, ref List y, void * z){return 1;} // "M:N.X.bb(System.String,System.Int32@,=System.Void*)" + int bb(string s, ref int y, void * z){return 1;} // "M:N.X.bb(System.String,System.Int32@,=System.Void*)" + int Generate(int level); + } +} diff --git a/test/TestData/project.json b/test/TestData/project.json new file mode 100644 index 0000000..e69de29 From 0649ecbfd7b6270d982a88b487eedba254744891 Mon Sep 17 00:00:00 2001 From: k--kato Date: Sun, 24 Jan 2016 16:22:16 +0900 Subject: [PATCH 3/7] ingnore npm debugging log file --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index fb237b5..f4b10be 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ node_modules *.vsix coverage .vscode-test +npm-debug.log From 66191c70c52a709d29ff416bab905bcaac6862b2 Mon Sep 17 00:00:00 2001 From: k--kato Date: Sun, 24 Jan 2016 17:01:22 +0900 Subject: [PATCH 4/7] update logo --- images/docomment.png | Bin 6331 -> 3562 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/images/docomment.png b/images/docomment.png index ac5384da3e19736bdef019801984c3349f69aafe..51aada5bdca006e4bbf5c722cf6970b9e71d7d6d 100644 GIT binary patch delta 3508 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 EA7YF9@c;k- From 48eea323d0a3b141786484bfe6ff7058e00f8952 Mon Sep 17 00:00:00 2001 From: k--kato Date: Sun, 24 Jan 2016 17:12:37 +0900 Subject: [PATCH 5/7] refactor xml gene --- src/Domain/Lang/DocommentDomainCSharp.ts | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/Domain/Lang/DocommentDomainCSharp.ts b/src/Domain/Lang/DocommentDomainCSharp.ts index 52726b2..97560d2 100644 --- a/src/Domain/Lang/DocommentDomainCSharp.ts +++ b/src/Domain/Lang/DocommentDomainCSharp.ts @@ -124,6 +124,21 @@ export class DocommentDomainCSharp extends DocommentDomain { return ''; } + return this.GeneSummary(code, paramNameList, hasReturn); + } + + /* @implements */ + public MoveCursorTo(docomment: string): void { + const curPosition = this._vsCodeApi.GetActivePosition(); + this._vsCodeApi.MoveSelection(curPosition.line + 1, curPosition.character + 2); + } + + + /*------------------------------------------------------------------------- + * Private Method + *-----------------------------------------------------------------------*/ + + private GeneSummary(code: string, paramNameList: Array, hasReturn: boolean): string { let docommentList: Array = new Array(); @@ -157,9 +172,4 @@ export class DocommentDomainCSharp extends DocommentDomain { return docomment; } - /* @implements */ - public MoveCursorTo(docomment: string): void { - const curPosition = this._vsCodeApi.GetActivePosition(); - this._vsCodeApi.MoveSelection(curPosition.line + 1, curPosition.character + 2); - } } From e08c9b3a9ef7a90aa7e678dab9f4b17452bb7a42 Mon Sep 17 00:00:00 2001 From: k--kato Date: Sun, 24 Jan 2016 18:40:17 +0900 Subject: [PATCH 6/7] release v0.0.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 34e17ed..a801eef 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "docomment", - "version": "0.0.2", + "version": "0.0.3", "publisher": "k--kato", "engines": { "vscode": "^0.10.6" From 281893f5788eb07c27b9bb76e77583349d21ac60 Mon Sep 17 00:00:00 2001 From: k--kato Date: Sun, 24 Jan 2016 18:50:31 +0900 Subject: [PATCH 7/7] fix logo 128x128 --- images/docomment.png | Bin 3562 -> 5849 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/images/docomment.png b/images/docomment.png index 51aada5bdca006e4bbf5c722cf6970b9e71d7d6d..b9cecd137f2d18d07785d16ee73ee33ac1f004b1 100644 GIT binary patch delta 5830 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 Q;Q#;t07*qoM6N<$g5U5Co&W#< delta 3525 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