+= ConvertTo-Zip - autodetects unrar, prefers it on 7-zip - resolves
issues with some RAR extraction methods 7-zip does not support
+= Invoke-ExpressionEx - Added suppot for -WhatIf switch
++ Move-3Way - folder content comparative duplication
was written to normalize a comics media folder
== Moved aliases to base, they were wrongly created in docker.
+ Get-DockerProcess modified to display volume mappings (Binds) as well
as docker-compose project names.
+ Reload-MyScripts will look for *.format.ps1xml files in the profile.d
directory and load the format data from it.
+ Get-DockerProcess output is typed and a TypeData.format.ps1xml file
was added to the package
+ Added _ll alias for easy posix ls -la output.
+ config.files.json modified for better neovim support.
When calling Edit-TextFile wihtout explicitly specifying -Path, multiple
files in command line would be passed on to editor incorrectly, with the
-Path explicitly specified, this now works in all versions of PowerShell
Fixed Package condition testing which would fail, but also made it more
verbose.
Fixed shell-loading-snippets because of the rename to Setup-ScriptEnv.
Using -ListAvailable with Get-Command to ensure no module loading is
attampeted while querying loaded commands.
This improved performance when certain modules have not been
loaded yet
+ Get-GitRepo - Clone or update a repo, with tag support
+ Get-GitHubReleaseTag - Grab tag from latest release page
+ Refresh-GitRepo - Stage all possible changes, discarding any
previously stageds changes
= GitHub repo is now git repo - as some code isn't GitHub specific
+ cat Alias for Get-Content
= Get-PossiblArguments improvement
= Invoke-WebDownload fix
= dcedit fixing bad argument processing
If Join-String is missing, the 'string' module, if not existing will be
installed and then imported.
Get-Path produced an error when used with wildcard, fixed it with string
substituation.
Get-Path would output wildcard string when expansion didn't match, now
output will be blank.
+ base/Get-MyModules added
* base/profile.d/Test-MyModules modified to use Get-MyModules
* Setup-Profile modified so that sudo witll preserve environment
* Get-Path fixed bug introduced in last commit, Get-Path would fail when
file to be edited didn't exist
This all started because I wanted the UnixCompleters module and
initialization to move to the base.linux package.
* MyConfig.class modified to load from all modules
* Test-MyModules suppress empty entries
* removed unix entries from base/src/modules.json
+ created base.linux/src/modules.json
+ Get-Mount (mounts retuned as objects for easy filtering)
+ Get-RandomMacAddress (for easy MAC Address generation)
* Get-Path modified to resolve ~, also made it work with pipeline input
* Edit-TextFile streamlined by using modified Get-Path
* Added emacs and spacemacs to MyConfig
* dcup - attempt at cleaner output
+ added docker/profile.d/env.ps1 for default docker vars
dcl, dcll and dcre were brokeen, fixed that
Invoke-WebDownload given a URL, automatically deduce the file file.
Get-GitHubReleaseAssets - Grab URLs from a GitHub release page.
Invoke-DockerCompose updated to display progress while waiting on
background jobs.
Set-MyPackage has a template option that will create skelaton content
when a new package is created.
Add scoop package, so that refresh will occur automatically on
powershell launch if it hasn't been run in the past 3 hours.
+ ConvertTo-Zip, originally created to mass convert CBRs to CBZs
It will only be avilable when 7-zip is available (7z executable)
Features: Shows progress, can work recursively (preserving folder
structure), knows to move completed files.
+ Show-Progress: Shorthand for common progress related output
manipulation (calculation of completion based on time, or item count,
and verbose output if needeed)
+ ConvertFrom-TimeSpan: string output from timespan, used by
Show-Progress
+ Get-Path updated to be more efficient (no need for exception handling)
+ PathProcessingFunctions loads a utility function GetShellSafePath
* Repair-Permissions added some status reporting
Get-Path updated to support @ notation.
MyConfig class updated to resolve Paths before testing.
MyScript class will look recursivley - this might need to change again.
config.files.json updated to support shell-loading-snippets
shell-loading-snippets added, with single line of code to inject into
startup shell scripts (.zshrc, .bashrc, .shrc)
Major Overhaul with Breaking Changes
split into packaged, default behavior moved into 'base' package
each package has a json package description file with criteria for
loading
Modified Setup-Profile to refer to 'base' package path for auto loading
moved Linux aliases and command to 'base.linux' package
created 'docker' package to address docker supported systems
modified Get-MyScripts, Edit-MyScripts and Reload-MyScripts accordingly.
Dropped -System and sys.*, package json conditions will take care of it.
Supplied command to create/edit package json files:
- New-MyPackage
- Add-PackageCondition
- Set-MyPackage