GithubHelp home page GithubHelp logo

msftrncs / pwshjsontoplist Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 53 KB

Generate PList XML with PowerShell, Convert tmLanguage.JSON to PList

License: MIT License

PowerShell 100.00%
json plist powershell powershell-script tmlanguage vscode

pwshjsontoplist's Introduction

** Work In Progress **

  • ๐Ÿ‘‹ Hi, Iโ€™m @msftrncs (or Carl Morris)
  • ๐Ÿ‘€ Iโ€™m interested in ...
    • PowerShell
    • Regular Expressions
    • IEC 61131-3
    • TextMate Grammars
    • Databases
  • ๐ŸŒฑ Iโ€™m currently learning ...
    • Old tricks
  • ๐Ÿ’ž๏ธ Iโ€™m looking to collaborate on ...
  • ๐Ÿ“ซ How to reach me ...

pwshjsontoplist's People

Contributors

msftrncs avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

pwshjsontoplist's Issues

Consider using local scope for PowerShell Core built in variables to prevent spoofing on Windows PowerShell

) -join $(if (-not $Compress) { "$(if (-not $IsCoreCLR -or $IsWindows) { "`r" })`n" })

For instance, add local: to the use of $IsCoreCLR and $IsWindows, as they do not exist on Windows PowerShell, but could have been defined in a parent scope, possibly unrelated to the PowerShell Core implementation of the built in version of these variables.

Improve ConvertTo-PList function with pipeline input, help documentation, specifying the final encoding, and more

Improve the ConvertTo-PList function with the following:

  • Accept objects from the pipeline, by value
  • provide comment based help documentation
  • provide parameter to specify the final encoding to be stated in the XML header
  • provide a parameter to specify if the first (root) object (usually <dict> or <array>) will be indented. Samples of XML PList files generally show the first object not indented, but a generic XML writer usually will indent the first object because its a child object from the <plist> root object of the XML document.
  • support more character escapes for <string> characters not supported directly in an XML document.
  • Add a test using a sample script, comparing the output to a prepared result.
  • Add a Depth parameter to control recursion loops.
  • Add support for HashTables with blank keys.

Empty properties could use `<element/>` syntax

Consider that empty properties could use the XML <element/> syntax. This would primarily affect:

  • <dict>
  • <array>

But it could also affect:

  • <string>
  • <data>

I am not sure if there is some guidelines on this behavior.

Reference issue #7

The original format has changed

test file:
Config.zip


befor:

<string></string>  

after:

				<dict>
				</dict>

  1. One line becomes two lines:

befor:

				<key>Name</key>
				<string>IONVMeFamily</string>
				<key>Find</key>
				<data>
				BgIAAEyNuAAQAABMiflIgeEA8P//SYmGGgEAAEmJjiIBAABBvAAQAABJKfQ=
				</data>
				<key>Replace</key>
				<data>
				BgIAAEyNuAACAABMiflIgeEA8P//SYmGGgEAAEmJjiIBAABBvAACAABJKfQ=
				</data>

after:

				<key>Name</key>
				<string>IONVMeFamily</string>
				<key>Find</key>
				<data>
					BgIAAEyNuAAQAABMiflIgeEA8P//SYmGGgEAAEmJjiIB
					AABBvAAQAABJKfQ=
				</data>
				<key>Replace</key>
				<data>
					BgIAAEyNuAACAABMiflIgeEA8P//SYmGGgEAAEmJjiIB
					AABBvAACAABJKfQ=
				</data>

aaa

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.