From 27a3447b53b873356b3ce67d1f584ac5a652f828 Mon Sep 17 00:00:00 2001 From: yang qianjun Date: Mon, 20 Oct 2014 16:33:40 +0800 Subject: [PATCH] add w[idget] popup surpport --- README.md | 16 +++++++++++++++- avalonHelper.py | 15 ++++++++++++--- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d5e577f..a82d668 100644 --- a/README.md +++ b/README.md @@ -5,5 +5,19 @@ Sublime Avalon Completion Package 可以通过设置Avalon语法字典或者直接修改helper.txt文件来添加更多语法支持 +------- +how to use -2014.10.17 - 修复多次换行缩进 bug \ No newline at end of file + 1,git clone code to sublime 3/data/packages/AvalonHelper + + 2,ms召唤出属性绑定,组件名字可以召唤出组件自动完成,data召唤出data绑定,data-组件名字召唤出组件属性自动完成(暂时未提供组件属性、接口等字典) + + 3,helper.txt第一行是ms绑定,第二行是组件名字(组件名字+"="意味这个替换字符串是ms-组件名字=""),第三行是data绑定 + + +------- +time line + +2014.10.17 - 修复多次换行缩进 bug + +2014.10.20 - 添加 w[idget] 召唤出组件列表功能 \ No newline at end of file diff --git a/avalonHelper.py b/avalonHelper.py index 0440e0a..b8deac8 100644 --- a/avalonHelper.py +++ b/avalonHelper.py @@ -58,14 +58,12 @@ def on_load(): widgetList[loop] = v specialList.append(v) loop = loop + 1 - _widgetList.append((v + "\tWidget", widget_place(v, True))) + _widgetList.append(("widget " + v + "\t组件", widget_place(v, True))) for v in msAttrList: _msAttrList.append((v + "\tbind", "" + v + "=\"${1:}\"")) for v in dataAttrList: _dataAttrList.append((v + "\tbind", "" + v + "=\"${1:}\"")) -def create_select(view, _from, to): - pass # define parttens msLike = re.compile(r"^ms") @@ -73,6 +71,8 @@ def create_select(view, _from, to): dataLike = re.compile(r"^d(ata\-)?") blankLike= re.compile(r"[\s\"\']+") indexLike= re.compile(r"^[^<\s\n]+\s") +# add ms-widget partten +widgetLike = re.compile(r"^w[idget]") class AvalonHelperCompletionsPackageEventListener(sublime_plugin.EventListener): @@ -81,10 +81,19 @@ def on_query_completions(self, view, prefix, locations): self.view = view indent = self.get_indent(len(prefix)) if select.empty(): + if widgetLike.match(prefix): + if not indent: + return _widgetList + _list = [] + for i,v in _widgetList: + _list.append((i, indent + v)) + return _list; if prefix in widgetList: replacer = widget_place(prefix, True, indent) return [(prefix + "\tWidget", replacer)] if prefix == "m" or msLike.match(prefix): + if not indent: + return _msAttrList _list = [] for i,v in _msAttrList: _list.append((i, indent + v ))