]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/search/SCLSearchQuery.java
Ctrl+Shift+G support for finding also expressions from properties
[simantics/platform.git] / bundles / org.simantics.scl.ui / src / org / simantics / scl / ui / search / SCLSearchQuery.java
index 9f8ef5a2430f7106e018ebf3ba861b0a4e380cd0..264cbc57a201098be5ea0e3249bca1d9a37eff92 100644 (file)
@@ -1,6 +1,7 @@
 package org.simantics.scl.ui.search;
 
 import java.util.ArrayList;
+import java.util.Collection;
 
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
@@ -16,6 +17,8 @@ import org.simantics.scl.compiler.module.Module;
 import org.simantics.scl.compiler.module.debug.ModuleDebugInfo;
 import org.simantics.scl.compiler.module.debug.SymbolReference;
 import org.simantics.scl.compiler.module.repository.ModuleRepository;
+import org.simantics.scl.db.SCLExpressionTableEntry;
+import org.simantics.scl.db.UsedSCLExpressionsRequest;
 import org.simantics.scl.osgi.SCLOsgi;
 
 import gnu.trove.procedure.TObjectProcedure;
@@ -57,6 +60,14 @@ public class SCLSearchQuery implements ISearchQuery {
                 return true;
             }
         });
+        
+        Collection<SCLExpressionTableEntry> results = UsedSCLExpressionsRequest.execute();
+        for (SCLExpressionTableEntry entry : results) {
+            if (entry.getContent().contains(valueName.name)) {
+                result.addMatch(new Match(entry, Match.UNIT_LINE, -1, 1));
+            }
+        }
+        
         return Status.OK_STATUS;
     }