    <#
      .SYNOPSIS
      Lorem ipsum dolor sit amet.

      .DESCRIPTION
      Lorem ipsum dolor sit amet, consectetur adipiscing elit,
      sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

      .PARAMETER InputPath
      Lorem ipsum dolor sit amet, consectetur adipiscing elit.

      .parameter InputPath
      Lorem ipsum dolor sit amet, consectetur adipiscing elit.

      bla .PARAMETER InputPath
      Lorem ipsum dolor sit amet, consectetur adipiscing elit.

      .EXAMPLE
      PS> .\foo.ps1
    #>

    @" multi
       line
       string
       $x
       "'
       \n
     "@
    "@

    @' multi
       line
       string
       $x
       "'
       \n
     '@
    '@

    $foo = "Test `u{2013} String`nwith `"escapes`" """
    $foo = "Test `u{2013} String`nwith `"escapes`" `
    dssad"
    $foo = 'bla bla''bla bla $x `n'
    $Global:HOME = "abc"

    [bool]::Parse('false')

    echo [bool]::Parse('false')
    echo $env:EDITOR ${env:EDITOR} $foo ${foo} $foo-bar ${foo-bar} ${a b
    c}
    echo "hashtable: $(@{ key = 'value' })"
    echo 122.42kb 332.d 23d 625 3232e+2 0x233 0b1101
    echo 0xaj 0b1112 123a

    docker run -dp 3000:3000 `
      -w /app -v "$(pwd):/app" `
      --network todo-app `
      -e MYSQL_HOST=mysql `
      -e MYSQL_USER=root `
      -e MYSQL_PASSWORD=secret `
      -e MYSQL_DB=todos `
      node:12-alpine `
      cmd "npm install && npm run start"

    function Get-NewPix
    {
      $start = Get-Date -Month 1 -Day 1 -Year 2010
      $allpix = Get-ChildItem -Path $env:UserProfile\*.jpg -Recurse
      $allpix | Where-Object {$_.LastWriteTime -gt $Start}
    }

    function Get-SmallFiles {
      Param($Size)
      Get-ChildItem $HOME | Where-Object {
        $_.Length -lt $Size -and !$_.PSIsContainer
      }
    }

    function Get-EscapedPath
    {
        param(
        [Parameter(
            Position=0,
            Mandatory=$true
            ValueFromPipeline=$true,
            ValueFromPipelineByPropertyName=$true)
        ]
        [string]$path
        )

        process {
            if ($path.Contains(' '))
            {
                return '"' + $path + '"'
            }
            return $path
        }
    }

    <#
       Copied from Craft for testing syntax highlighting
    #>

    #    this file sets some environment variables that are needed
    #    for finding programs and libraries etc.
    #    by Hannah von Reth <vonreth@kde.org>
    #    you should copy kdesettings.ini to ..\etc\kdesettings.ini
    #    and adapt it to your needs (see that file for more info)

    #    this file should contain all path settings - and provide thus an environment
    #    to build and run kde programs
    #    based on kdeenv.bat

    cls

    $env:CraftRoot=[System.IO.Path]::GetDirectoryName($myInvocation.MyCommand.Definition)

    $CRAFT_ARGUMENTS = $args

    &{
    [version]$minPythonVersion = 3.6

    function findPython([string] $name)
    {
        $py = (Get-Command $name -ErrorAction SilentlyContinue)
        if ($py -and ($py | Get-Member Version) -and $py.Version -ge $minPythonVersion) {
            $env:CRAFT_PYTHON=$py.Source
        }
    }

    findPython("python3")
    findPython("python")

    function readINI([string] $fileName)
    {
       $ini = @{}

      switch -regex -file $fileName {
        "^\[(.+)\]$" {
          $section = $matches[1].Trim()
          $ini[$section] = @{}
        }
        "^\s*([^#].+?)\s*=\s*(.*)" {
          $name,$value = $matches[1..2]
          $ini[$section][$name] = $value.Trim()
        }
      }
      $ini
    }

    if(test-path -path $env:CraftRoot\..\etc\kdesettings.ini)
    {
        $settings = readINI $env:CraftRoot\..\etc\kdesettings.ini
    }
    else
    {
        Write-Error("$env:CraftRoot\..\etc\kdesettings.ini Does not exist")
        break
    }
    if( $CRAFT_ARGUMENTS[0] -eq "--get")
    {
        Write-Host($settings[$CRAFT_ARGUMENTS[1]][$CRAFT_ARGUMENTS[2]])
        break
    }

    function prependPATH([string] $path)
    {
        $env:PATH="$path{0}$env:PATH" -f [IO.Path]::PathSeparator
    }

    if( -Not $env:CRAFT_PYTHON)
    {
        prependPATH $settings["Paths"]["Python"]
        $env:CRAFT_PYTHON=[IO.PATH]::COMBINE($settings["Paths"]["Python"], "python")
    }

    (& $env:CRAFT_PYTHON ([IO.PATH]::COMBINE("$env:CraftRoot", "bin", "CraftSetupHelper.py")) "--setup") |
    foreach {
      if ($_ -match "=") {
        $v = $_.split("=")
        set-item -force -path "ENV:\$($v[0])"  -value "$($v[1])"
        #Write-Host("$v[0]=$v[1]")
      }
    }

    cd "$env:KDEROOT"
    }

    function Global:craft() {
        return & $env:CRAFT_PYTHON ([IO.PATH]::COMBINE("$env:CraftRoot", "bin", "craft.py")) $args
    }

    if($args.Length -ne 0)
    {
        invoke-expression -command "$args"
    }