All Projects → tyrone-sudeium → St3 Binaryplist

tyrone-sudeium / St3 Binaryplist

Automatically converts binary property lists to XML when opened and writes them back out to binary when saved.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to St3 Binaryplist

Javascript Completions
JavaScript Completions for sublime text. It helps you to write your scripts more quickly with hints and completions.
Stars: ✭ 341 (+874.29%)
Mutual labels:  sublime-text-3
Prephirences
Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state. UserDefaults
Stars: ✭ 548 (+1465.71%)
Mutual labels:  plist
Sublimeallautocomplete
Extend Sublime autocompletion to find matches in all open files of the current window
Stars: ✭ 906 (+2488.57%)
Mutual labels:  sublime-text-3
Fastlane Plugin Versioning
Extends fastlane versioning actions. Allows to set/get versions without using agvtool and do some other small tricks.
Stars: ✭ 357 (+920%)
Mutual labels:  plist
Cfpropertylist
PHP Implementation of Apple's PList (binary and xml)
Stars: ✭ 423 (+1108.57%)
Mutual labels:  plist
Dotfiles
i3 + Plasma: using the i3 window manager on the top of KDE Plasma and other dotfiles, configurations, scripts, workarounds and practises from my Debian Sid machines.
Stars: ✭ 651 (+1760%)
Mutual labels:  sublime-text-3
Solarized
Solarized color scheme for Sublime Text 3
Stars: ✭ 314 (+797.14%)
Mutual labels:  sublime-text-3
Cordova Plugin Ios Camera Permissions
Cordova / PhoneGap Plugin Permission Settings for NSCameraUsageDescription and NSPhotoLibraryUsageDescription in iOS 11 by adding a declaration to the Info.plist file, see:
Stars: ✭ 34 (-2.86%)
Mutual labels:  plist
Easyclangcomplete
💥 Robust C/C++ code completion for Sublime Text 3
Stars: ✭ 537 (+1434.29%)
Mutual labels:  sublime-text-3
Sublimephpcompanion
A Sublime Text 3 plugin that provides cool stuff for PHP 5.3+ coding session.
Stars: ✭ 905 (+2485.71%)
Mutual labels:  sublime-text-3
Tbox
🎁 A glib-like multi-platform c library
Stars: ✭ 3,800 (+10757.14%)
Mutual labels:  plist
Sublime zk
A SublimeText3 package featuring ID based wiki style links, and #tags, intended for zettelkasten method users. Loaded with tons of features like inline image display, sophisticated tag search, note transclusion features, support for note templates, bibliography support, support for multiple panes, etc. to make working in your Zettelkasten a joy 😄.
Stars: ✭ 408 (+1065.71%)
Mutual labels:  sublime-text-3
Public
Repository for wallaby.js questions and issues
Stars: ✭ 662 (+1791.43%)
Mutual labels:  sublime-text-3
Chromerepl
A Sublime Text plugin to execute JavaScript in Google Chrome
Stars: ✭ 347 (+891.43%)
Mutual labels:  sublime-text-3
Swinjectpropertyloader
Swinject extension to load property values from resources
Stars: ✭ 24 (-31.43%)
Mutual labels:  plist
Libplist
A library to handle Apple Property List format in binary or XML
Stars: ✭ 330 (+842.86%)
Mutual labels:  plist
Javascriptenhancements
JavaScript Enhancements is a plugin for Sublime Text 3. It offers not only a smart javascript autocomplete but also a lot of features about creating, developing and managing javascript projects (real-time errors, code refactoring, etc.).
Stars: ✭ 592 (+1591.43%)
Mutual labels:  sublime-text-3
Hayaku
Fuzzy abbreviations, support for preprocessors (Sass, Less, Stylus) and a lot of other features in easily configurable set of tools for writing CSS faster
Stars: ✭ 973 (+2680%)
Mutual labels:  sublime-text-3
Sublime Thinkphp
thinkphp 的 sublime 快速补全插件
Stars: ✭ 9 (-74.29%)
Mutual labels:  sublime-text-3
Seti st3
Seti_UI Port for ST3.
Stars: ✭ 773 (+2108.57%)
Mutual labels:  sublime-text-3

BinaryPlist

I'm an Objective-C developer by trade and a Ruby developer at heart, so excuse my poor python skills. This is my take at a plist plugin for Sublime Text 3 that should make working with plists feel a lot more first-class. It provides:

  • Automatic conversion of binary plist to XML. You can then edit the XML file in Sublime and it will automatically convert back to binary when you save.
  • Cross platform support. The solution is pure python. No calls to the command line, no foreign-function shenanigans, just 100% python goodness.
  • Plist syntax highlighting from TextMate.

The python plist support is taken from the Python 3.4 standard library, with a few modifications to support running in the Python 3.3 that ships with Sublime Text 3. This library therefore has a heavy dependency on Python 3.x which is why it'll probably never work with Sublime Text 2. Seriously, just use Sublime Text 3, it's awesome.

Why?

Sublime Text is by far my favourite text editor. It has a fantastic package manager in Package Control which allows you to manage the installation of plugins that extend the functionality of Sublime. Sublime doesn't support binary plists out of the box, but a kind sir by the name of relikd made a plugin that can convert to and from binary plist. I have a couple of problems with his implementation, though:

  1. The UX leaves a lot to be desired. It requires you to manually press some arcane key combination to toggle between binary (useless) and XML (useful). I can't imagine any situation where'd you want to edit the binary in a binary plist by hand, so why open it as binary by default?
  2. Internally, it just calls the plutil command line tool that ships with OS X. This means it requires OS X to work. Ideally, this should be an entirely python native solution, which would work on any platform, on the off-chance you encounter a plist file on a non-Apple computer. Having to start up a command line app doesn't strike me as particularly efficient either.
  3. It doesn't ship with a plist syntax definition. XML plists can of course just use the built-in XML highlighter, but that isn't nearly as strict as plists are, and it doesn't support the "old-style" plist format which you sometimes still see.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].