Skip to content

Commit

Permalink
add command to convert from tmLanguage to JSON-tmLanguage
Browse files Browse the repository at this point in the history
  • Loading branch information
guillermooo committed Dec 6, 2011
1 parent fd93501 commit 54e11c3
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 5 deletions.
3 changes: 2 additions & 1 deletion .hgignore
Expand Up @@ -4,6 +4,7 @@ syntax: glob
_*.txt
*.cache
*.sublime-project
*.sublime-workspace
sample-grammar.js
Manifest
MANIFEST
Expand All @@ -12,4 +13,4 @@ dist/
build/
data/
Doc/
_ref/
_ref/
1 change: 1 addition & 0 deletions Support/AAAPackageDev.sublime-commands
Expand Up @@ -5,6 +5,7 @@

{ "caption": "z:AAAPackageDev: New Syntax Definition", "command": "new_syntax_def" },
{ "caption": "z:AAAPackageDev: New Syntax Definition from Buffer", "command": "new_syntax_def_from_buffer" },
{ "caption": "z:AAAPackageDev: New .JSON-tmLanguage from Buffer", "command": "plist_to_json" },

{ "caption": "z:AAAPackageDev: New Settings File", "command": "new_settings" },

Expand Down
4 changes: 2 additions & 2 deletions Support/Sublime Commands.JSON-tmLanguage
Expand Up @@ -67,7 +67,7 @@
"begin": "\\{",
"end": "\\}",
"patterns": [
{ "match": "\"(command|caption)\":\\s*\"([a-zA-Z0-9_: ]+)\"",
{ "match": "\"(command|caption)\":\\s*\"([^\"]+)\"",
"captures": {
"1": { "name": "keyword.other.sublimecommands" },
"2": { "name": "string.attached.command.name.sublimecommands" }
Expand All @@ -79,4 +79,4 @@
},

"uuid": "f56e1baa-51fc-4791-a9d9-21301f2e3a01"
}
}
2 changes: 1 addition & 1 deletion Support/Sublime Commands.tmLanguage
Expand Up @@ -147,7 +147,7 @@
</dict>
</dict>
<key>match</key>
<string>"(command|caption)":\s*"([a-zA-Z0-9_: ]+)"</string>
<string>"(command|caption)":\s*"([^"]+)"</string>
</dict>
<dict>
<key>include</key>
Expand Down
16 changes: 15 additions & 1 deletion package_dev.py
@@ -1,6 +1,9 @@
import sublime
import sublime_plugin

import plistlib
import json

import glob
import os
import sys
Expand Down Expand Up @@ -119,4 +122,15 @@ def create_new(self, name):
status(msg)

def __init__(self, dry_run=False):
self.dry_run = dry_run
self.dry_run = dry_run


class PlistToJson(sublime_plugin.TextCommand):
def is_enabled(self ):
return self.view.file_name().endswith('.tmLanguage')

def run(self, edit):
plist_data = plistlib.readPlist(self.view.file_name())
v = self.view.window().new_file()
v.insert(edit, 0, json.dumps(plist_data, indent=4))
v.set_syntax_file('Packages/AAAPackageDev/Support/Sublime JSON Syntax Definition.tmLanguage')

0 comments on commit 54e11c3

Please sign in to comment.