ccls/tests/outline/outline2.cc

94 lines
2.7 KiB
C++
Raw Normal View History

2017-03-11 02:24:09 +00:00
#pragma once
#include <string>
#include <vector>
struct CompilationEntry {
std::string directory;
std::string filename;
std::vector<std::string> args;
};
std::vector<CompilationEntry> LoadCompilationEntriesFromDirectory(const std::string& project_directory);
/*
OUTPUT:
{
2017-05-21 03:46:15 +00:00
"includes": [{
"line": 3,
2017-11-30 03:21:23 +00:00
"resolved_path": "&string"
2017-05-21 03:46:15 +00:00
}, {
"line": 4,
2017-11-30 03:21:23 +00:00
"resolved_path": "&vector"
2017-05-21 03:46:15 +00:00
}],
2017-03-11 02:24:09 +00:00
"types": [{
"id": 0,
"usr": "c:@S@CompilationEntry",
"short_name": "CompilationEntry",
"detailed_name": "CompilationEntry",
2017-04-05 08:29:15 +00:00
"definition_spelling": "6:8-6:24",
"definition_extent": "6:1-10:2",
2017-03-11 02:24:09 +00:00
"vars": [0, 1, 2],
2017-04-19 04:58:39 +00:00
"uses": ["6:8-6:24", "12:13-12:29"]
2017-04-03 01:34:15 +00:00
}, {
"id": 1,
"usr": "c:@N@std@T@string",
"instances": [0, 1],
2017-04-19 04:58:39 +00:00
"uses": ["7:8-7:14", "8:8-8:14", "9:20-9:26"]
2017-04-03 01:34:15 +00:00
}, {
"id": 2,
"usr": "c:@N@std@ST>2#T#T@vector",
"instances": [2],
2017-04-19 04:58:39 +00:00
"uses": ["9:8-9:14", "12:6-12:12"]
2017-03-11 02:24:09 +00:00
}],
"funcs": [{
"id": 0,
"usr": "c:@F@LoadCompilationEntriesFromDirectory#&1$@N@std@S@basic_string>#C#$@N@std@S@char_traits>#C#$@N@std@S@allocator>#C#",
"short_name": "LoadCompilationEntriesFromDirectory",
"detailed_name": "std::vector<CompilationEntry> LoadCompilationEntriesFromDirectory(const std::string &)",
"declarations": [{
"spelling": "12:31-12:66",
"extent": "12:1-12:104",
"content": "std::vector<CompilationEntry> LoadCompilationEntriesFromDirectory(const std::string& project_directory)",
"param_spellings": ["12:86-12:103"]
}]
2017-03-11 02:24:09 +00:00
}],
"vars": [{
"id": 0,
"usr": "c:@S@CompilationEntry@FI@directory",
"short_name": "directory",
"detailed_name": "std::string CompilationEntry::directory",
2017-04-05 08:29:15 +00:00
"definition_spelling": "7:15-7:24",
"definition_extent": "7:3-7:24",
2017-03-11 02:24:09 +00:00
"variable_type": 1,
"declaring_type": 0,
"is_local": false,
"is_macro": false,
2017-04-05 08:29:15 +00:00
"uses": ["7:15-7:24"]
2017-03-11 02:24:09 +00:00
}, {
"id": 1,
"usr": "c:@S@CompilationEntry@FI@filename",
"short_name": "filename",
"detailed_name": "std::string CompilationEntry::filename",
2017-04-05 08:29:15 +00:00
"definition_spelling": "8:15-8:23",
"definition_extent": "8:3-8:23",
2017-03-11 02:24:09 +00:00
"variable_type": 1,
"declaring_type": 0,
"is_local": false,
"is_macro": false,
2017-04-05 08:29:15 +00:00
"uses": ["8:15-8:23"]
2017-03-11 02:24:09 +00:00
}, {
"id": 2,
"usr": "c:@S@CompilationEntry@FI@args",
"short_name": "args",
"detailed_name": "std::vector<std::string> CompilationEntry::args",
2017-04-05 08:29:15 +00:00
"definition_spelling": "9:28-9:32",
"definition_extent": "9:3-9:32",
2017-03-11 02:24:09 +00:00
"variable_type": 2,
"declaring_type": 0,
"is_local": false,
"is_macro": false,
2017-04-05 08:29:15 +00:00
"uses": ["9:28-9:32"]
2017-03-11 02:24:09 +00:00
}]
}
*/