2016-03-15 1 views
0

A partir du terminal OS X 10.11.3 (bash shell), je veux ouvrir une chaîne JSON dans Sublime Text 3 et utiliser le package Pretty JSON pour "Pretty Print" la chaîne JSON à un meilleur format lisible.Lancez du texte sublime à partir de CLI, collez le texte à partir de stdin et Pretty Print JSON

Selon Sublime Text 3 documentation, il devrait être possible de spécifier des commandes de la CLI en utilisant le paramètre --command.

La commande suivante parvient à ouvrir la chaîne JSON dans Sublime Text 3. Il échoue à Imprimer correctement la chaîne JSON.

echo "{ "menu": { "id": "file", "value": "File" }}" | subl --command jq_pretty_json - 

Est-ce que quelqu'un sait comment je peux appliquer cette commande Pretty Print à partir de la ligne de commande OS X? Lors de l'appel du Pretty JSON à partir de l'interface utilisateur de Sublime Text 3, cela fonctionne sans problèmes.

+0

Avez-vous essayé simplement en utilisant la commande '' pretty_json' au lieu de jq_pretty_json'? – MattDMo

+0

https://forum.sublimetext.com/t/running-an-applicationcommand-via-subl/18434 –

Répondre

0

La commande suivante parvient à faire ce que je veux:

echo '{ "menu": { "id": "file", "value": "File" }}' | subl - & sleep 1; subl --command pretty_json 
0

Vous pouvez installer jq via homebrew, puis faire:

$ echo '{ "menu": { "id": "file", "value": "File" }}' | jq . 
{ 
    "menu": { 
    "value": "File", 
    "id": "file" 
    } 
} 

Vous devez faire attention de votre citation: puisque vous utilisez des guillemets, aucun des guillemets « intérieurs » apparaît dans la sortie de la commande echo.