90 lines
1.4 KiB
Python
90 lines
1.4 KiB
Python
""" Minimal sublime API stub for offline tests """
|
|
|
|
|
|
class Region:
|
|
def __init__(self, a, b=None):
|
|
self.a = a
|
|
self.b = a if b is None else b
|
|
|
|
def begin(self):
|
|
return min(self.a, self.b)
|
|
|
|
def end(self):
|
|
return max(self.a, self.b)
|
|
|
|
def empty(self):
|
|
return self.a == self.b
|
|
|
|
|
|
OP_EQUAL = 0
|
|
OP_NOT_EQUAL = 1
|
|
|
|
_settings = {}
|
|
_clipboard = [""]
|
|
_timeouts = []
|
|
|
|
|
|
class Settings(dict):
|
|
def get(self, key, default=None):
|
|
return dict.get(self, key, default)
|
|
|
|
def set(self, key, value):
|
|
self[key] = value
|
|
|
|
def erase(self, key):
|
|
self.pop(key, None)
|
|
|
|
def has(self, key):
|
|
return key in self
|
|
|
|
def add_on_change(self, tag, callback):
|
|
pass
|
|
|
|
def clear_on_change(self, tag):
|
|
pass
|
|
|
|
|
|
def load_settings(name):
|
|
return _settings.setdefault(name, Settings())
|
|
|
|
|
|
_saved = []
|
|
|
|
|
|
def save_settings(name):
|
|
_saved.append(name)
|
|
|
|
|
|
def set_timeout(fn, delay=0):
|
|
_timeouts.append(fn)
|
|
|
|
|
|
def set_timeout_async(fn, delay=0):
|
|
_timeouts.append(fn)
|
|
|
|
|
|
def run_timeouts():
|
|
while _timeouts:
|
|
_timeouts.pop(0)()
|
|
|
|
|
|
def set_clipboard(text):
|
|
_clipboard[0] = text
|
|
|
|
|
|
def get_clipboard():
|
|
return _clipboard[0]
|
|
|
|
|
|
def packages_path():
|
|
import tempfile
|
|
return tempfile.gettempdir()
|
|
|
|
|
|
def expand_variables(value, variables):
|
|
return value
|
|
|
|
|
|
def version():
|
|
return "4200"
|