Add application-scoped snippets with global fallback and scope-aware sync
This commit is contained in:
1 parent
c18148a574
commit
a124e030ab
10 files changed
+215
-18
No files matched your search
+8
-2
@@ -158,8 +158,14 @@ void collisionPaths(const Json &j, std::set<std::string> &paths)
|
||||
if (sn.is_null() || tombstone(sn)) continue;
|
||||
auto path = "/snippets/" + pointerKey(id);
|
||||
auto key = lower(wide(sn.at("trigger").get<std::string>()));
|
||||
auto [it, inserted] = triggers.emplace(key, path);
|
||||
if (!inserted) { paths.insert(path); paths.insert(it->second); }
|
||||
std::vector<std::wstring> scopes;
|
||||
if (sn.contains("apps")) for (const auto &app : sn.at("apps")) scopes.push_back(snippetAppName(wide(app.get<std::string>())));
|
||||
if (scopes.empty()) scopes.push_back(L"");
|
||||
for (const auto &scope : scopes)
|
||||
{
|
||||
auto [it, inserted] = triggers.emplace(key + L"\n" + scope, path);
|
||||
if (!inserted) { paths.insert(path); paths.insert(it->second); }
|
||||
}
|
||||
}
|
||||
std::map<std::pair<UINT, UINT>, std::string> shortcuts;
|
||||
auto add = [&](const Json &text, const std::string &path) {
|
||||
|
||||
Reference in new issue
Block a user