因此,sublime文本的highlighduplicate插件似乎不适合我,所以我想创建自己的。我需要这个来识别副本,所以它比Sublime的'Permute:Unique'更进一步
我创建了一个正则表达式:^(.*)(\r?\n\1)+$
,它会发现重复并且它似乎运行良好。
现在,我需要的是快速键盘快捷键来触发它。我尝试录制一个宏(使用cmd + i),但多次尝试后似乎都没有。
我知道sublime包是用python编写的,但我并不精通Python。
我该如何编写这个插件/包?
谢谢,
答案 0 :(得分:0)
答案 1 :(得分:-1)
我为你修好了包裹,得到了here并安装了这个新版本 如果您有任何问题,请告诉我,但显然它可以在我的笔记本电脑上运行。
为了更加冗长,文件存在两个问题。首先,ST API的更改使得对add_regions()的调用失败,并且关于defaultDict实现的python API也发生了变化。
你可以看看我在github上做的修改,或者这是一个快速的差异:
diff --git a/hightlight_duplicates.py b/highlight_duplicates.py
similarity index 91%
rename from hightlight_duplicates.py
rename to highlight_duplicates.py
index 8351275..c2e6137 100644
--- a/hightlight_duplicates.py
+++ b/highlight_duplicates.py
@@ -42,7 +42,9 @@ def filter_counts(counts, treshold=1):
lower or equal to the treshold, which defaults to 1.
'''
filtered = dict()
- for k, v in counts.iteritems():
+ # for k, v in counts.iteritems():
+ for k in counts:
+ v = counts[k]
if len(v) > treshold:
filtered[k] = v
return filtered
@@ -60,11 +62,13 @@ def show_lines(regions, view):
all_regions = []
for r in regions:
all_regions.extend(r)
- color_scope_name = settings.get('highlight_duplicates_color',
+ color_scope_name = settings.get('highlight_duplicates_color', \
DEFAULT_COLOR_SCOPE_NAME)
- view.add_regions('DuplicatesHighlightListener',
- all_regions, color_scope_name,
- sublime.DRAW_OUTLINED)
+ view.add_regions('DuplicatesHighlightListener', \
+ all_regions, \
+ color_scope_name, \
+ "Packages/Theme - Default/dot.png", \
+ sublime.DRAW_NO_FILL)
def highlight_duplicates(view):