Commits

ryanackley committed 0e2618a

latest changes

Comments (0)

Files changed (1)

ChromeExtensionProject.js

+var UrlToDirectoryMappedProject = function(routes){
+	this.projectUrls = {};
+	this.routes = routes;
+	this.isWin = navigator.platform.indexOf('Win') == 0;
+}
+
+UrlToDirectoryMappedProject.prototype = {
+	filePathForUrl : function(url){
+		var routes = this.routes;
+		for (var i = 0; i < routes.length; i++){
+			if (url.indexOf(routes[i].from) == 0){
+				var path = url.replace(routes[i].from, routes[i].to);
+				if (this.isWin){
+					path = path.replace('/', '\\');
+				}
+				this.projectUrls[path] = url;
+				return path;
+			}
+		}
+	},
+	urlsForFilePath : function(path){
+		var url = this.projectUrls[path]
+		if (url){
+			return [url];
+		}
+		else{
+			return null;
+		}
+	},
+	resetUrls : function(){
+		this.projectUrls = {};
+	}
+}
+var chromeUrlRegex = /chrome-extension\:\/\/[a-zA-Z]+\//;
+ProjectTypes.push(
+    {
+		name: 'Chrome Extension',
+		key: 'chrome.extension',
+		locationType : 'local',
+		createProject : function(root, url, callback){	
+			var match = url.match(chromeUrlRegex);
+			if (match){
+				url = match[0];
+			}
+			var routes = [{from: url, to: root.fullPath + '/'}];
+			var project = new UrlToDirectoryMappedProject(routes);
+			callback(project);
+		} 
+    }
+);
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.