Skip to content

Commit

Permalink
传递3个参数
Browse files Browse the repository at this point in the history
  • Loading branch information
entimm committed Mar 12, 2023
1 parent 9bba523 commit d516311
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
8 changes: 4 additions & 4 deletions my_transformations.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import hashlib

MY_TRANSFORMATIONS = (
("MD5", "md5", lambda text: hashlib.md5(text.encode()).hexdigest()),
("Reverse", "reverse", lambda text: text[::-1]),
("Base64 Encode", "base64_encode", lambda text: base64.b64encode(text.encode()).decode()),
("Base64 Decode", "base64_decode", lambda text: base64.b64decode(text.encode()).decode())
("MD5", "md5", lambda v, i, secs: hashlib.md5(v.encode()).hexdigest(),
("Reverse", "reverse", lambda v, i, secs: v[::-1],
("Base64 Encode", "base64_encode", lambda v, i, secs: base64.b64encode(v.encode()).decode(),
("Base64 Decode", "base64_decode", lambda v, i, secs: base64.b64decode(v.encode()).decode()
)
5 changes: 3 additions & 2 deletions transform_text.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,14 @@ def on_done(index):

class TransformTextCommand(sublime_plugin.TextCommand):
def run(self, edit, transform_type=""):
for region in self.view.sel():
selected_texts = [self.view.substr(region) for region in self.view.sel() if not region.empty()]
for i, region in enumerate(self.view.sel()):
if not region.empty():
text = self.view.substr(region)
try:
# 查找对应的转换函数并执行
transformed_text = next(
func(text) for _, t, func in TRANSFORMATIONS if t == transform_type
func(text, i, selected_texts) for _, t, func in TRANSFORMATIONS if t == transform_type
)
# 替换选中文本
self.view.replace(edit, region, transformed_text)
Expand Down

0 comments on commit d516311

Please sign in to comment.