public static FileSystemEntryViewModel Create(ISourceExplorerViewModelHost host, TreeViewItemViewModel parentViewModel, FileSystemEntry fileSystemEntry) { var fileEntry = fileSystemEntry as FileEntry; if (fileEntry != null) return new FileEntryViewModel(host, parentViewModel, fileEntry); else return new DirectoryEntryViewModel(host, parentViewModel, (DirectoryEntry)fileSystemEntry); }
public static FileSystemEntryViewModel Create(ICodeSearchController host, TreeViewItemViewModel parentViewModel, FileSystemEntry fileSystemEntry) { var fileEntry = fileSystemEntry as FileEntry; if (fileEntry != null) return new FileEntryViewModel(host, parentViewModel, fileEntry); else return new DirectoryEntryViewModel(host, parentViewModel, (DirectoryEntry)fileSystemEntry); }
public static FileSystemEntryViewModel Create( ICodeSearchController host, TreeViewItemViewModel parentViewModel, FileSystemEntry fileSystemEntry, Action<FileSystemEntryViewModel> postCreate) { var fileEntry = fileSystemEntry as FileEntry; if (fileEntry != null) { var result = new FileEntryViewModel(host, parentViewModel, fileEntry); postCreate(result); return result; } else { var result = new DirectoryEntryViewModel(host, parentViewModel, (DirectoryEntry) fileSystemEntry, postCreate); postCreate(result); return result; } }
private static string ExtractFileText(DirectoryEntry chromiumEntry, FileSystemEntry fileSystemEntry, FilePositionSpan filePositionSpan) { var path = PathHelpers.CombinePaths(chromiumEntry.Name, fileSystemEntry.Name); if (!File.Exists(path)) return string.Format("File not found: {0}", path); var text = File.ReadAllText(path); var offset = filePositionSpan.Position; var length = Math.Min(80, filePositionSpan.Length); if (offset < 0) return "<Invalid offset>"; if (length < 0) return "<Invalid length>"; if (offset + length > text.Length) return "<Invalid span>"; var extract = text.Substring(offset, length); return extract; }
public void ProcessTree(DirectoryItem parent, string parentPath, FileSystemEntry entry) { if (entry is FileEntry) ProcessFile(parentPath, (FileEntry)entry); else ProcessDirectory(parent, parentPath, (DirectoryEntry)entry); }