aboutsummaryrefslogtreecommitdiffstats
path: root/SharedSupport
diff options
context:
space:
mode:
authorBibiko <bibiko@eva.mpg.de>2011-01-19 11:36:19 +0000
committerBibiko <bibiko@eva.mpg.de>2011-01-19 11:36:19 +0000
commit3f813a65b0d41b4a1771349f27a2d0ccafb740f5 (patch)
tree0b13de4829c6709c4aa91954910b16f5523458a6 /SharedSupport
parentf0453a887ea5e150c5083bb51c9e9a7e49691138 (diff)
downloadsequelpro-3f813a65b0d41b4a1771349f27a2d0ccafb740f5.tar.gz
sequelpro-3f813a65b0d41b4a1771349f27a2d0ccafb740f5.tar.bz2
sequelpro-3f813a65b0d41b4a1771349f27a2d0ccafb740f5.zip
• improved replacing selection of Bundle commands - intersect ranges in beforehand for safety reasons
• removed Serialize/Prettify JSON Bundles by Toggle JSON Format which auto-detects the JSON format to decide whether to serialize or pretty print
Diffstat (limited to 'SharedSupport')
-rw-r--r--SharedSupport/Default Bundles/Prettify JSON.spBundle/command.plist48
-rw-r--r--SharedSupport/Default Bundles/Serialize JSON.spBundle/command.plist54
-rw-r--r--SharedSupport/Default Bundles/Toggle JSON Format.spBundle/command.plist68
3 files changed, 68 insertions, 102 deletions
diff --git a/SharedSupport/Default Bundles/Prettify JSON.spBundle/command.plist b/SharedSupport/Default Bundles/Prettify JSON.spBundle/command.plist
deleted file mode 100644
index 508394a9..00000000
--- a/SharedSupport/Default Bundles/Prettify JSON.spBundle/command.plist
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>author</key>
- <string>Hans-Jörg Bibiko</string>
- <key>category</key>
- <string>Format</string>
- <key>command</key>
- <string>cat | python -mjson.tool
-
-# if there's a need to preserve Unicode characters use this line of code:
-# cat | python -mjson.tool | perl -Xpe 'binmode STDIN,":utf8";binmode STDOUT,":utf8";s/\\u([0-9A-F]{4})/chr(hex($1))/ieg'</string>
- <key>contact</key>
- <string>znvy@ovovxb.qr</string>
- <key>description</key>
- <string>Take the selection or the entire content of the current text input field, interpret it as JSON, and replace the JSON data human-readable. Unicode characters will be converted to \u.... sequences. If you want to preserve these Unicode characters you can uncomment the last code line.
-
-Version 1.0</string>
- <key>input</key>
- <string>selectedtext</string>
- <key>input_fallback</key>
- <string>entirecontent</string>
- <key>internalKeyEquivalent</key>
- <dict>
- <key>characters</key>
- <string>J</string>
- <key>keyCode</key>
- <integer>38</integer>
- <key>modifierFlags</key>
- <integer>1572864</integer>
- </dict>
- <key>keyEquivalent</key>
- <string>~@j</string>
- <key>name</key>
- <string>Prettify JSON</string>
- <key>output</key>
- <string>replaceselection</string>
- <key>scope</key>
- <string>inputfield</string>
- <key>tooltip</key>
- <string>Pretty print JSON data</string>
- <key>uuid</key>
- <string>40BC811D-4BAB-41EA-A096-9A202B646619</string>
- <key>isDefaultBundle</key>
- <true/>
-</dict>
-</plist>
diff --git a/SharedSupport/Default Bundles/Serialize JSON.spBundle/command.plist b/SharedSupport/Default Bundles/Serialize JSON.spBundle/command.plist
deleted file mode 100644
index a47bf148..00000000
--- a/SharedSupport/Default Bundles/Serialize JSON.spBundle/command.plist
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>author</key>
- <string>Hans-Jörg Bibiko</string>
- <key>category</key>
- <string>Format</string>
- <key>command</key>
- <string>php -r '
-$jsonData = "";
-$inputStream = fopen("php://stdin", "r");
-while($d = fgets($inputStream)) { $jsonData .= $d; }
-print json_encode(json_decode($jsonData));
-'
-
-# if there's a need to preserve Unicode characters pipe the output
-# of the the PHP script to the following Perl code:
-# perl -Xpe 'binmode STDIN,":utf8";binmode STDOUT,":utf8";s/\\u([0-9A-F]{4})/chr(hex($1))/ieg'</string>
- <key>contact</key>
- <string>znvy@ovovxb.qr</string>
- <key>description</key>
- <string>Take the selection or the entire content of the current text input field and serialize the JSON data. Unicode characters will be converted to \u.... sequences. If you want to preserve these Unicode characters you can uncomment the last code line.
-
-Version 1.0</string>
- <key>input</key>
- <string>selectedtext</string>
- <key>input_fallback</key>
- <string>entirecontent</string>
- <key>internalKeyEquivalent</key>
- <dict>
- <key>characters</key>
- <string>J</string>
- <key>keyCode</key>
- <integer>38</integer>
- <key>modifierFlags</key>
- <integer>1572864</integer>
- </dict>
- <key>keyEquivalent</key>
- <string>~@j</string>
- <key>name</key>
- <string>Serialize JSON</string>
- <key>output</key>
- <string>replaceselection</string>
- <key>scope</key>
- <string>inputfield</string>
- <key>tooltip</key>
- <string>Serialize JSON data</string>
- <key>uuid</key>
- <string>D07AF7FA-CFD1-41A9-8786-FFF50FE8737A</string>
- <key>isDefaultBundle</key>
- <true/>
-</dict>
-</plist>
diff --git a/SharedSupport/Default Bundles/Toggle JSON Format.spBundle/command.plist b/SharedSupport/Default Bundles/Toggle JSON Format.spBundle/command.plist
new file mode 100644
index 00000000..6476d86b
--- /dev/null
+++ b/SharedSupport/Default Bundles/Toggle JSON Format.spBundle/command.plist
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>author</key>
+ <string>Hans-Jörg Bibiko</string>
+ <key>category</key>
+ <string>Format</string>
+ <key>command</key>
+ <string>DATA=$(cat)
+
+FORMAT=$(echo "$DATA" | head -n 1 | perl -e '$l=&lt;&gt;;print "1" if($l=~m/^\s*\{\s*$/)')
+
+# if FORMAT == 1 then serialize JSON data otherwise pretty print them
+if [ "$FORMAT" == 1 ]; then
+
+ DATA=$(echo "$DATA" | php -r '
+ $jsonData = "";
+ $inputStream = fopen("php://stdin", "r");
+ while($d = fgets($inputStream)) { $jsonData .= $d; }
+ print json_encode(json_decode($jsonData));
+ ')
+
+else
+
+ DATA=$(echo "$DATA" | python -mjson.tool)
+
+fi
+
+# if there's a need to preserve Unicode characters remove the first to characters of the following line
+# DATA=$(echo "$DATA" | perl -Xpe 'binmode STDIN,":utf8";binmode STDOUT,":utf8";s/\\u([0-9A-F]{4})/chr(hex($1))/ieg')
+
+echo "$DATA"</string>
+ <key>contact</key>
+ <string>znvy@ovovxb.qr</string>
+ <key>description</key>
+ <string>If the first line of the selection or the entire content of the current text input field only contains a "{" then serialize the JSON data otherwise the JSON data will be pretty printed. If there's a need to preserve the Unicode characters you can uncomment the line 22.
+
+Version 1.0</string>
+ <key>input</key>
+ <string>selectedtext</string>
+ <key>input_fallback</key>
+ <string>entirecontent</string>
+ <key>internalKeyEquivalent</key>
+ <dict>
+ <key>characters</key>
+ <string>J</string>
+ <key>keyCode</key>
+ <integer>38</integer>
+ <key>modifierFlags</key>
+ <integer>1572864</integer>
+ </dict>
+ <key>keyEquivalent</key>
+ <string>~@j</string>
+ <key>name</key>
+ <string>Toggle JSON Format</string>
+ <key>output</key>
+ <string>replaceselection</string>
+ <key>scope</key>
+ <string>inputfield</string>
+ <key>tooltip</key>
+ <string>Serialize or pretty print JSON data</string>
+ <key>uuid</key>
+ <string>87FD8A4F-90AA-4020-9E0B-8CDD05764D08</string>
+ <key>isDefaultBundle</key>
+ <true/>
+</dict>
+</plist>