Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # coding: utf-8
- # author: Cody Kochmann
- # date: Sat 06 Feb 2016 09:30:29 AM EST
- # description: interactively make sublime text completitions
- """ sample json for .sublime-completions file
- {
- "scope": "text.html - source - meta.tag, punctuation.definition.tag.begin",
- "completions":
- [
- { "trigger": "a", "contents": "<a href=\"$1\">$0</a>" },
- { "trigger": "abbr", "contents": "<abbr>$0</abbr>" },
- { "trigger": "acronym", "contents": "<acronym>$0</acronym>" },
- "ninja",
- "robot",
- "pizza"
- ]
- }
- """
- global autocomplete_dictionary
- autocomplete_dictionary=[]
- class Autocomplete_Dictionary:
- def __init__(self, save_path=''):
- self.completition
- import json
- class Completion:
- def __init__(self, scope='', contents='', trigger=''):
- self.data={}
- self.data['scope']=scope
- self.data['completions'] = []
- if trigger != '':
- completion_data={}
- completion_data['trigger']=trigger
- completion_data['contents']=contents
- self.data['completions'].append(completion_data)
- else:
- self.data['completions'].append(contents)
- self.to_string=(json.dumps(self.data))
- def remove_all(substring='',target=''):
- if substring in target:
- target = ''.join(target.split(substring))
- return target
- def append_to_file(s='',path=''):
- with open(path,'a') as f:
- f.write(s+'\n')
- def write_to_file(s='',path=''):
- with open(path,'w') as f:
- f.write(s)
- def read_file(path=''):
- with open(path,'r') as f:
- return f.read()
- def random_hash(length=256):
- import random
- return random.getrandbits(length)
- file_name='sublime-completions/'+str(random_hash())+'.sublime-completions'
- contents=raw_input('enter the completition ( one line ): ')
- trigger=raw_input('enter the trigger ( leave blank if none ): ')
- scope=raw_input('enter the scope ( example: py ): ')
- snippet = Completion(scope,contents,trigger)
- write_to_file(snippet.to_string, file_name)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement