Skip to content

Commit d5451c9

Browse files
committed
Cleanup
1 parent be9171a commit d5451c9

File tree

11 files changed

+65
-60
lines changed

11 files changed

+65
-60
lines changed

src/completionProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ export class ParamHintCompletionProvider extends CompletionProvider implements C
7575
/**
7676
* Finds the parameter which is about to be type hinted.
7777
*
78-
* @param precedingText Text preceding the active position.
78+
* @param precedingText The text before the active position.
7979
* @returns The parameter.
8080
*/
8181
private findParam(precedingText: string): string {

src/python.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ export class DataType {
1717
}
1818
}
1919

20+
/**
21+
* Container with type name keys and data type values.
22+
*/
2023
export interface DataTypeContainer {
2124
[key: string]: DataType
2225
};

src/settings.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1-
import { workspace, Event, EventEmitter, window } from "vscode";
1+
import { workspace, Event, EventEmitter } from "vscode";
22

3+
/**
4+
* Container of user settings.
5+
*/
36
export class TypeHintSettings {
47

58
private searchLimit = 20;

src/test/suite/common.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11

22

33
export const getErrorMessage = (
4-
testCase: string,
5-
expected: any,
4+
testCase: TestCase,
65
actual: any
76
): string => {
8-
return `${actual} == ${expected}. \n[Test case]: ${testCase}`;
7+
return `${actual} == ${testCase.expected}. \n[Test data]: ${testCase.data}`;
98
};
109

1110
export interface TestCase {

src/test/suite/typeSearch/detection.test.ts

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,23 @@ suite('CodeSearch.detectType', function() {
99

1010
let src = "11";
1111
let actual = TypeSearch.detectType(src);
12-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
12+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
1313

1414
src = "-11";
1515
actual = TypeSearch.detectType(src);
16-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
16+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
1717

1818
src = "0b10";
1919
actual = TypeSearch.detectType(src);
20-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
20+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
2121

2222
src = "0o10";
2323
actual = TypeSearch.detectType(src);
24-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
24+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
2525

2626
src = "0x10";
2727
actual = TypeSearch.detectType(src);
28-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
28+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
2929
});
3030

3131

@@ -34,19 +34,19 @@ suite('CodeSearch.detectType', function() {
3434

3535
let src = "12.3";
3636
let actual = TypeSearch.detectType(src);
37-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
37+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
3838

3939
src = ".3";
4040
actual = TypeSearch.detectType(src);
41-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
41+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
4242

4343
src = "-.3";
4444
actual = TypeSearch.detectType(src);
45-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
45+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
4646

4747
src = "1 + 2 - 1 * 2 / 2.0";
4848
actual = TypeSearch.detectType(src);
49-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
49+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
5050
});
5151

5252
test("detects complex numbers", async () => {
@@ -63,31 +63,31 @@ suite('CodeSearch.detectType', function() {
6363

6464
let src = "'test'";
6565
let actual = TypeSearch.detectType(src);
66-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
66+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
6767

6868
src = "\"test\"'";
6969
actual = TypeSearch.detectType(src);
70-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
70+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
7171

7272
src = "('test')";
7373
actual = TypeSearch.detectType(src);
74-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
74+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
7575

7676
src = "'''t\nest''')";
7777
actual = TypeSearch.detectType(src);
78-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
78+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
7979
});
8080

8181
test("detects bools", async () => {
8282
const expected = "bool";
8383

8484
let src = "True";
8585
let actual = TypeSearch.detectType(src);
86-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
86+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
8787

8888
src = "False";
8989
actual = TypeSearch.detectType(src);
90-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
90+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
9191
});
9292

9393
test("detects lists", async () => {
@@ -103,27 +103,27 @@ suite('CodeSearch.detectType', function() {
103103

104104
let src = "{ 5: 'j'}";
105105
let actual = TypeSearch.detectType(src);
106-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
106+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
107107

108108
src = "{ (1,2): (3) }";
109109
actual = TypeSearch.detectType(src);
110-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
110+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
111111

112112
src = "{'':11}";
113113
actual = TypeSearch.detectType(src);
114-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
114+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
115115
});
116116

117117
test("detects tuples", async () => {
118118
const expected = "tuple";
119119

120120
let src = "('dont return str please', 'ok')";
121121
let actual = TypeSearch.detectType(src);
122-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
122+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
123123

124124
src = " ( '4' , '5' )";
125125
actual = TypeSearch.detectType(src);
126-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
126+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
127127
});
128128

129129
test("detects sets", async () => {
@@ -135,14 +135,14 @@ suite('CodeSearch.detectType', function() {
135135

136136
src = "{1, 2}";
137137
actual = TypeSearch.detectType(src);
138-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
138+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
139139

140140
src = "{1 , 2}";
141141
actual = TypeSearch.detectType(src);
142-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
142+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
143143
});
144144

145-
test("detects type() call", async () => {
145+
test("detects type() call", () => {
146146
const testCases: TestCase[] = [
147147
{ data: "int('2')", expected: "int"},
148148
{ data: "bool(true)", expected: "bool"},
@@ -153,7 +153,7 @@ suite('CodeSearch.detectType', function() {
153153
{ data: "set([1])", expected: "set"}
154154
];
155155
for (const c of testCases) {
156-
let actual = await TypeSearch.detectType(c.data);
156+
let actual = TypeSearch.detectType(c.data);
157157
assert.equal(actual, c.expected);
158158
}
159159
});
@@ -176,7 +176,7 @@ suite('CodeSearch.variableWithSameName', function() {
176176
let param = "var";
177177
let actual = await TypeSearch.variableWithSameName(param, src);
178178

179-
assert.equal(actual?.typeName, expected, getErrorMessage(src, expected, actual));
179+
assert.equal(actual?.typeName, expected, getErrorMessage({ data: src, expected }, actual));
180180
});
181181

182182
test("detects variable types if initialized in the document", async () => {
@@ -187,25 +187,25 @@ suite('CodeSearch.variableWithSameName', function() {
187187
let src = `${line}\n\ndef main():\n\tx = 5`;
188188
let param = "var";
189189
let actual = await TypeSearch.variableWithSameName(param, src);
190-
assert.equal(actual?.typeName, expected, getErrorMessage(src, expected, actual));
190+
assert.equal(actual?.typeName, expected, getErrorMessage({ data: src, expected }, actual));
191191

192192
// Variable with the same name initialized below
193193
src = `x = 5\n${line}`;
194194
actual = await TypeSearch.variableWithSameName(param, src);
195-
assert.equal(actual?.typeName, expected, getErrorMessage(src, expected, actual));
195+
assert.equal(actual?.typeName, expected, getErrorMessage({ data: src, expected }, actual));
196196
});
197197

198198
test("considers value to be an object initializtion if title case", async () => {
199199
let expected = "TestClass";
200200
let src = `var = ${expected}(x)`;
201201
let param = "var";
202202
let actual = await TypeSearch.variableWithSameName(param, src);
203-
assert.equal(actual?.typeName, expected, getErrorMessage(src, expected, actual));
203+
assert.equal(actual?.typeName, expected, getErrorMessage({ data: src, expected }, actual));
204204

205205
expected = "test.test.TestClass";
206206
src = `var = ${expected}(x)`;
207207
actual = await TypeSearch.variableWithSameName(param, src);
208-
assert.equal(actual?.typeName, expected, getErrorMessage(src, expected, actual));
208+
assert.equal(actual?.typeName, expected, getErrorMessage({ data: src, expected }, actual));
209209
});
210210

211211
test("returns null for title case functions (if the function is defined in the document)", async () => {
@@ -215,27 +215,27 @@ suite('CodeSearch.variableWithSameName', function() {
215215
let src = `def Func(x):\n\tpass\n\n${line}`;
216216
let param = "var";
217217
let actual = await TypeSearch.variableWithSameName(param, src);
218-
assert.equal(actual?.typeName, expected, getErrorMessage(src, expected, actual));
218+
assert.equal(actual?.typeName, expected, getErrorMessage({ data: src, expected }, actual));
219219
});
220220

221221
test("detects function return values if type hinted", async () => {
222222
const expected = "int";
223223
let src = "def test() -> int:\n\treturn 1\n\nvar = test()";
224224
let param = "var";
225225
let actual = await TypeSearch.variableWithSameName(param, src);
226-
assert.equal(actual?.typeName, expected, getErrorMessage(src, expected, actual));
226+
assert.equal(actual?.typeName, expected, getErrorMessage({ data: src, expected }, actual));
227227

228228
src = "def test(self) -> int:\n\treturn 1\n\nvar = cls.test()";
229229
actual = await TypeSearch.variableWithSameName(param, src);
230-
assert.equal(actual?.typeName, expected, getErrorMessage(src, expected, actual));
230+
assert.equal(actual?.typeName, expected, getErrorMessage({ data: src, expected }, actual));
231231
});
232232

233233
test("doesn't consider function calls to be variables", async () => {
234234
const expected = null;
235235
let src = `obj = call()`;
236236
let param = "var";
237237
let actual = await TypeSearch.variableWithSameName(param, src);
238-
assert.equal(actual?.typeName, expected, getErrorMessage(src, expected, actual));
238+
assert.equal(actual?.typeName, expected, getErrorMessage({ data: src, expected }, actual));
239239
});
240240

241241
test("ignores single-line comments", async () => {
@@ -244,6 +244,6 @@ suite('CodeSearch.variableWithSameName', function() {
244244
let src = `# obj = 5\n${line}`;
245245
let param = "var";
246246
let actual = await TypeSearch.variableWithSameName(param, src);
247-
assert.equal(actual?.typeName, expected, getErrorMessage(src, expected, actual));
247+
assert.equal(actual?.typeName, expected, getErrorMessage({ data: src, expected }, actual));
248248
});
249249
});

src/test/suite/typeSearch/findImport.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@ suite('CodeSearch.findImport', function() {
3737
let expected = "Type";
3838
let src = "from module import " + expected;
3939
let actual = TypeSearch.findImport(detectedType, src, false);
40-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
40+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
4141

4242
detectedType = "package.x.y_test.Type";
4343
src = "from package.x.y_test import " + expected;
4444
actual = TypeSearch.findImport(detectedType, src, false);
45-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
45+
assert.equal(actual, expected, getErrorMessage({ data: src, expected }, actual));
4646
});
4747

4848
test("object.Type --> returns object.Type for from X import object", () => {

src/test/suite/typeSearch/hintOfSimilarParam.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ suite('CodeSearch.hintOfSimilarParam', function() {
99
const param = "test";
1010
let src = `def func(${param}: str):\ndef test(self, ${param}:`;
1111
let actual = TypeSearch.hintOfSimilarParam(param, src);
12-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
12+
assert.equal(actual, expected);
1313
});
1414

1515
test("finds param with preceding parameters", () => {
@@ -18,7 +18,7 @@ suite('CodeSearch.hintOfSimilarParam', function() {
1818

1919
let src = `def func(self, p1: int,${param}: str):\ndef test(self, ${param}:`;
2020
let actual = TypeSearch.hintOfSimilarParam(param, src);
21-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
21+
assert.equal(actual, expected);
2222
});
2323

2424
test("finds param with trailing parameters", () => {
@@ -27,7 +27,7 @@ suite('CodeSearch.hintOfSimilarParam', function() {
2727

2828
let src = `def func(self, ${param}: str,new: int):\ndef test(self, ${param}:`;
2929
let actual = TypeSearch.hintOfSimilarParam(param, src);
30-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
30+
assert.equal(actual, expected);
3131
});
3232

3333
test("handles line breaks in function definition", () => {
@@ -36,7 +36,7 @@ suite('CodeSearch.hintOfSimilarParam', function() {
3636

3737
let src = `def func(\n\t${param}: str,new: int):\ndef test(self, ${param}:`;
3838
let actual = TypeSearch.hintOfSimilarParam(param, src);
39-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
39+
assert.equal(actual, expected);
4040
});
4141

4242
test("doesn't match param name within other text", () => {
@@ -45,7 +45,7 @@ suite('CodeSearch.hintOfSimilarParam', function() {
4545

4646
let src = `def func(text${param}: str,new: int):\ndef test(self, text${param}:`;
4747
let actual = TypeSearch.hintOfSimilarParam(param, src);
48-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
48+
assert.equal(actual, expected);
4949
});
5050

5151
test("excludes default values", () => {
@@ -54,6 +54,6 @@ suite('CodeSearch.hintOfSimilarParam', function() {
5454

5555
let src = `def func(${param}: str = 'exclude',new: int):\ndef test(self, text${param}:`;
5656
let actual = TypeSearch.hintOfSimilarParam(param, src);
57-
assert.equal(actual, expected, getErrorMessage(src, expected, actual));
57+
assert.equal(actual, expected);
5858
});
5959
});

src/typeHintProvider.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export class TypeHintProvider {
2828
* Constructs a new TypeHintProvider.
2929
*
3030
* @param doc The active document.
31+
* @param settings User settings.
3132
*/
3233
constructor(doc: TextDocument, settings: TypeHintSettings) {
3334
this.doc = doc;

src/typeSearch.ts

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ export class VariableSearchResult {
2727
}
2828

2929
export class TypeSearch {
30-
3130

3231
/**
3332
* Searches for a class with the same name as object and returns the name if found.
@@ -84,14 +83,12 @@ export class TypeSearch {
8483

8584
const hintedCallMatch = regExp.exec(documentText);
8685

87-
if (hintedCallMatch) {
88-
if (hintedCallMatch.length === 2) {
89-
return new VariableSearchResult(
90-
hintedCallMatch[1],
91-
EstimationSource.FunctionDefinition,
92-
valueAssignment
93-
);
94-
}
86+
if (hintedCallMatch && hintedCallMatch.length === 2) {
87+
return new VariableSearchResult(
88+
hintedCallMatch[1],
89+
EstimationSource.FunctionDefinition,
90+
valueAssignment
91+
);
9592
}
9693
}
9794
return null;
@@ -110,7 +107,7 @@ export class TypeSearch {
110107
return null;
111108
}
112109

113-
/**
110+
/**
114111
* Detects the type of a value, if it is a built in Python type.
115112
*
116113
* @returns The type name or null if not found.
@@ -226,8 +223,6 @@ export class TypeSearch {
226223

227224
/**
228225
* Detects if an object is imported.
229-
*
230-
* @returns The imported value.
231226
*/
232227
private static isImported(object: string, documentText: string, checkForAsImports: boolean = true): boolean {
233228

0 commit comments

Comments
 (0)