From e576df4f6f3026471ad61465f432628232b1b68b Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Sun, 10 Mar 2019 08:55:01 -0700 Subject: [PATCH] Add initialization option index.name.suppressUnwrittenScope (default: false) --- src/config.hh | 8 +++++++- src/indexer.cc | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/config.hh b/src/config.hh index 145093ca..085217f1 100644 --- a/src/config.hh +++ b/src/config.hh @@ -261,6 +261,11 @@ struct Config { std::vector multiVersionBlacklist; std::vector multiVersionWhitelist; + struct Name { + // Suppress inline and unnamed namespaces in identifier names. + bool suppressUnwrittenScope = false; + } name; + // Allow indexing on textDocument/didChange. // May be too slow for big projects, so it is off by default. bool onChange = false; @@ -326,9 +331,10 @@ REFLECT_STRUCT(Config::Completion, caseSensitivity, detailedLabel, REFLECT_STRUCT(Config::Diagnostics, blacklist, onChange, onOpen, onSave, spellChecking, whitelist) REFLECT_STRUCT(Config::Highlight, largeFileSize, lsRanges, blacklist, whitelist) +REFLECT_STRUCT(Config::Index::Name, suppressUnwrittenScope); REFLECT_STRUCT(Config::Index, blacklist, comments, initialBlacklist, initialWhitelist, maxInitializerLines, multiVersion, - multiVersionBlacklist, multiVersionWhitelist, onChange, + multiVersionBlacklist, multiVersionWhitelist, name, onChange, parametersInDeclarations, threads, trackDependency, whitelist); REFLECT_STRUCT(Config::Request, timeout); REFLECT_STRUCT(Config::Session, maxNum); diff --git a/src/indexer.cc b/src/indexer.cc index 00ed8522..70a5bfce 100644 --- a/src/indexer.cc +++ b/src/indexer.cc @@ -476,6 +476,7 @@ public: PP.PolishForDeclaration = true; PP.ConstantsAsWritten = true; PP.SuppressTagKeyword = true; + PP.SuppressUnwrittenScope = g_config->index.name.suppressUnwrittenScope; PP.SuppressInitializers = true; PP.FullyQualifiedName = false; return PP;