Skip to content

Commit 95c49a8

Browse files
committed
Added source locations to worker
1 parent 48d8364 commit 95c49a8

1 file changed

Lines changed: 22 additions & 32 deletions

File tree

cpp_worker.js

Lines changed: 22 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -246,58 +246,48 @@ define(function(require, exports, module) {
246246
// @todo: handle enum elements
247247
var parseAst = function (ast, item) {
248248
_.forEach(ast, function (ele) {
249+
var toPush = {
250+
pos: { sl: ele.loc_row - 1, sc: ele.loc_col - 1 },
251+
displayPos: { sl: ele.loc_row - 1, sc: ele.loc_col - 1 },
252+
items: [],
253+
name: ele.name
254+
};
255+
249256
switch (ele.cursor) {
250257
// includes, no subs
251258
case completion_type.include_t:
252-
item.items.push({
253-
icon: "c_cpp_include",
254-
name: "<"+ele.name+">",
255-
pos: { sl: ele.loc_row, sc: ele.loc_col },
256-
displayPos: { ele.loc_row, sc: ele.loc_col }
257-
});
259+
toPush.icon = "c_cpp_include";
260+
toPush.name = "<"+ele.name+">";
261+
262+
item.items.push(toPush);
258263
break;
259264

260265
// classes, subs maybe other classes, attributes or functions
261266
case completion_type.class_t:
262267
case completion_type.union_t:
263268
case completion_type.struct_t:
264269
case completion_type.enum_t: {
265-
var it = {
266-
icon: "c_cpp_class",
267-
name: ele.name,
268-
pos: { ele.loc_row, sc: ele.loc_col },
269-
displayPos: { ele.loc_row, sc: ele.loc_col },
270-
items: []
271-
};
272-
273-
parseAst(ele.children, it);
274-
item.items.push(it);
270+
toPush.icon = "c_cpp_class";
271+
272+
parseAst(ele.children, toPush);
273+
item.items.push(toPush);
275274
} break;
276275

277276
// attributes, no subs
278277
case completion_type.enum_static_t:
279278
case completion_type.attribute_t:
280-
item.items.push({
281-
icon: "property",
282-
name: ele.name,
283-
pos: { ele.loc_row, sc: ele.loc_col },
284-
displayPos: { ele.loc_row, sc: ele.loc_col }
285-
});
279+
toPush.icon = "property";
280+
item.items.push(toPush);
286281
break;
287282

288283
// functions and methods
289284
case completion_type.function_t:
290285
case completion_type.method_t: {
291-
var it = {
292-
icon: "method2",
293-
name: ele.name + astParam(ele.children),
294-
pos: { sl: 1, sc: 1 },
295-
displayPos: { sl: 1, sc: 1 },
296-
items: []
297-
};
298-
299-
parseAst(ele.children, it);
300-
item.items.push(it);
286+
toPush.icon = "method2";
287+
toPush.name = ele.name + astParam(ele.children);
288+
289+
parseAst(ele.children, toPush);
290+
item.items.push(toPush);
301291
} break;
302292
}
303293
});

0 commit comments

Comments
 (0)