Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
ed5f237
Removing Hardlink from Mode property in default file system format
powercode Jan 30, 2019
f4817d8
Fixing $format.FormatViewDefinition | Should -HaveCount 4.
powercode Jan 30, 2019
8bda8de
Fixing Typeinference test
powercode Jan 30, 2019
8a5c193
Adressing Steve's feedback
powercode Jan 30, 2019
30c3f13
Addressing Aditya's feedback.
powercode Jan 30, 2019
fc1de87
Using dir column for link info.
powercode Jan 31, 2019
57511c0
Adding display of symlink target.
powercode Jan 31, 2019
013f42e
Slightly faster LastWriteTime - noticable in profiler!
powercode Feb 1, 2019
1e0926a
CodeFactor fixes
powercode Feb 1, 2019
c52de72
NameString -> TargetName
powercode Feb 1, 2019
04376dc
Fixing xUnit Mode test
powercode Feb 1, 2019
81888e1
CodeFactor whitespace
powercode Feb 1, 2019
d1986a8
TargetName -> NameString
powercode Feb 3, 2019
4d9fab8
Addressing Ilya's feedback
powercode Feb 3, 2019
061516c
Updating expected string when TargetName changed to NameString.
powercode Feb 3, 2019
bb40876
stackallocing Mode array to reduce allocations
powercode Feb 4, 2019
6dba59d
Tests: Fixing casing in HardLink.
powercode Feb 4, 2019
997e165
ReadonlySpan instead of Span in Mode alloc.
powercode Feb 4, 2019
64fdc22
Reducing allocations in Mode by returning constants for the common ca…
powercode Feb 5, 2019
bffa4f9
fixing interop-definition for CreateSymbolicLink.
powercode Feb 6, 2019
d2e698b
Adding tests for FileSsytemProvider.ModeString
powercode Feb 6, 2019
7352774
Fixing return type marshalling on createsymlink
powercode Feb 6, 2019
03812f8
Only test archive attributes on Windows
powercode Feb 6, 2019
3a8ec95
Setting UNIX define on non-windows platforms in test projects.
powercode Feb 6, 2019
246dabf
Junction test only on windows
powercode Feb 6, 2019
88b112c
Code factor fixes
powercode Feb 7, 2019
d447e3a
Remove xUnit tests for FileSystemProviderFormatting
adityapatwardhan Mar 11, 2019
15b1144
Add FileSystemProvider formatting tests in Pester
adityapatwardhan Mar 11, 2019
ad839f9
isHardLink -> isLink
powercode Mar 12, 2019
6542c7f
Changing signature of GetTarget from IEnumerable<string> to string.
powercode Mar 12, 2019
77fed92
Make InternalGetTarget function unix only and remove unreachable code
adityapatwardhan Mar 12, 2019
5a699e4
Minor updates
daxian-dbw Mar 12, 2019
d568eda
Add parenthesis to fix the precedence order
daxian-dbw Mar 12, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -42,28 +42,33 @@ internal static IEnumerable<ExtendedTypeDefinition> GetFormatData()

private static IEnumerable<FormatViewDefinition> ViewsOf_FileSystemTypes(CustomControl[] sharedControls)
{
const string LengthScriptBlock =
@"if ($_ -is [System.IO.DirectoryInfo]) { return '' }
if ($_.Attributes -band [System.IO.FileAttributes]::Offline)
{
return '({0})' -f $_.Length
}
return $_.Length";

yield return new FormatViewDefinition("children",
TableControl.Create()
.GroupByProperty("PSParentPath", customControl: sharedControls[0])
.AddHeader(Alignment.Left, label: "Mode", width: 7)
.AddHeader(Alignment.Right, label: "LastWriteTime", width: 25)
.AddHeader(Alignment.Right, label: "Length", width: 14)
.AddHeader()
.AddHeader(Alignment.Left, label: "Name")
.StartRowDefinition(wrap: true)
.AddPropertyColumn("ModeWithoutHardLink")
.AddPropertyColumn("LastWriteTimeString")
.AddPropertyColumn("LengthString")
.AddPropertyColumn("NameString")
.EndRowDefinition()
.EndTable());

yield return new FormatViewDefinition("childrenWithHardlink",
TableControl.Create()
.GroupByProperty("PSParentPath", customControl: sharedControls[0])
.AddHeader(Alignment.Left, label: "Mode", width: 7)
.AddHeader(Alignment.Right, label: "LastWriteTime", width: 25)
.AddHeader(Alignment.Right, label: "Length", width: 14)
.AddHeader(Alignment.Left, label: "Name")
.StartRowDefinition(wrap: true)
.AddPropertyColumn("Mode")
.AddScriptBlockColumn(@"
[String]::Format(""{0,10} {1,8}"", $_.LastWriteTime.ToString(""d""), $_.LastWriteTime.ToString(""t""))
")
.AddScriptBlockColumn(LengthScriptBlock)
.AddPropertyColumn("Name")
.AddPropertyColumn("LastWriteTimeString")
.AddPropertyColumn("LengthString")
.AddPropertyColumn("NameString")
.EndRowDefinition()
.EndTable());

Expand All @@ -72,7 +77,7 @@ private static IEnumerable<FormatViewDefinition> ViewsOf_FileSystemTypes(CustomC
.GroupByProperty("PSParentPath", customControl: sharedControls[0])
.StartEntry(entrySelectedByType: new[] { "System.IO.FileInfo" })
.AddItemProperty(@"Name")
.AddItemScriptBlock(LengthScriptBlock, label: "Length")
.AddItemProperty("LengthString", label: "Length")
.AddItemProperty(@"CreationTime")
.AddItemProperty(@"LastWriteTime")
.AddItemProperty(@"LastAccessTime")
Expand Down
16 changes: 16 additions & 0 deletions src/System.Management.Automation/engine/Types_Ps1Xml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -183,18 +183,28 @@ public static IEnumerable<TypeData> Get()
var td19 = new TypeData(@"System.IO.DirectoryInfo", true);
td19.Members.Add("Mode",
new CodePropertyData("Mode", GetMethodInfo(typeof(Microsoft.PowerShell.Commands.FileSystemProvider), "Mode"), null));
td19.Members.Add("ModeWithoutHardLink",
new CodePropertyData("ModeWithoutHardLink", GetMethodInfo(typeof(Microsoft.PowerShell.Commands.FileSystemProvider), "ModeWithoutHardLink"), null));
td19.Members.Add("BaseName",
new ScriptPropertyData(@"BaseName", GetScriptBlock(@"$this.Name"), null));
td19.Members.Add("Target",
new CodePropertyData("Target", GetMethodInfo(typeof(Microsoft.PowerShell.Commands.InternalSymbolicLinkLinkCodeMethods), "GetTarget"), null));
td19.Members.Add("LinkType",
new CodePropertyData("LinkType", GetMethodInfo(typeof(Microsoft.PowerShell.Commands.InternalSymbolicLinkLinkCodeMethods), "GetLinkType"), null));
td19.Members.Add("NameString",
new CodePropertyData("NameString", GetMethodInfo(typeof(Microsoft.PowerShell.Commands.FileSystemProvider), "NameString"), null) { IsHidden = true });
td19.Members.Add("LengthString",
new CodePropertyData("LengthString", GetMethodInfo(typeof(Microsoft.PowerShell.Commands.FileSystemProvider), "LengthString"), null) { IsHidden = true });
td19.Members.Add("LastWriteTimeString",
new CodePropertyData("LastWriteTimeString", GetMethodInfo(typeof(Microsoft.PowerShell.Commands.FileSystemProvider), "LastWriteTimeString"), null) { IsHidden = true });
td19.DefaultDisplayProperty = @"Name";
yield return td19;

var td20 = new TypeData(@"System.IO.FileInfo", true);
td20.Members.Add("Mode",
new CodePropertyData("Mode", GetMethodInfo(typeof(Microsoft.PowerShell.Commands.FileSystemProvider), "Mode"), null));
td20.Members.Add("ModeWithoutHardLink",
new CodePropertyData("ModeWithoutHardLink", GetMethodInfo(typeof(Microsoft.PowerShell.Commands.FileSystemProvider), "ModeWithoutHardLink"), null));
td20.Members.Add("VersionInfo",
new ScriptPropertyData(@"VersionInfo", GetScriptBlock(@"[System.Diagnostics.FileVersionInfo]::GetVersionInfo($this.FullName)"), null));
td20.Members.Add("BaseName",
Expand All @@ -203,6 +213,12 @@ public static IEnumerable<TypeData> Get()
new CodePropertyData("Target", GetMethodInfo(typeof(Microsoft.PowerShell.Commands.InternalSymbolicLinkLinkCodeMethods), "GetTarget"), null));
td20.Members.Add("LinkType",
new CodePropertyData("LinkType", GetMethodInfo(typeof(Microsoft.PowerShell.Commands.InternalSymbolicLinkLinkCodeMethods), "GetLinkType"), null));
td20.Members.Add("NameString",
new CodePropertyData("NameString", GetMethodInfo(typeof(Microsoft.PowerShell.Commands.FileSystemProvider), "NameString"), null) { IsHidden = true });
td20.Members.Add("LengthString",
new CodePropertyData("LengthString", GetMethodInfo(typeof(Microsoft.PowerShell.Commands.FileSystemProvider), "LengthString"), null) { IsHidden = true });
td20.Members.Add("LastWriteTimeString",
new CodePropertyData("LastWriteTimeString", GetMethodInfo(typeof(Microsoft.PowerShell.Commands.FileSystemProvider), "LastWriteTimeString"), null) { IsHidden = true });
td20.DefaultDisplayPropertySet =
new PropertySetData(new[] { "LastWriteTime", "Length", "Name" }) { Name = "DefaultDisplayPropertySet" };
yield return td20;
Expand Down
Loading