dekshell 0.2.26__py3-none-any.whl → 0.2.28__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,3 @@ from . import app
3
3
 
4
4
  def main():
5
5
  app()
6
-
7
-
8
- if __name__ == '__main__':
9
- main()
@@ -39,7 +39,7 @@ def generate_markers(*args, **kwargs):
39
39
  FunctionMarker, CallMarker, ReturnMarker, EnvGlobalMarker, EnvNonlocalMarker,
40
40
  VarGlobalMarker, VarNonlocalMarker,
41
41
  EndMarker, BreakMarker, ContinueMarker,
42
- CommentMultiLineMarker, CommentMarker, CommentShebangMarker, CommentConfigMarker,
42
+ CommentMultiLineMarker, CommentMarker, CommentShebangMarker, CommentConfigMarker, TextContentMarker,
43
43
  PipMarker,
44
44
  CommandsMarker,
45
45
  RedirectMarker, ShiftMarker,
@@ -74,6 +74,9 @@ class MarkerBase:
74
74
  return bool(re.match(r, command))
75
75
  return False
76
76
 
77
+ def text_content(self, command):
78
+ return command
79
+
77
80
  def transform(self, parent):
78
81
  return self
79
82
 
@@ -354,10 +357,13 @@ class MarkerWithEnd(MarkerBase):
354
357
  tag_tail = EndMarker
355
358
 
356
359
  def get_inner_content(self, context, marker_node, sep='\n', translate=None):
360
+ def walk(node, depth):
361
+ if depth != 0:
362
+ commands.append(self.translate_case(context, node.text_content, translate))
363
+
357
364
  commands = []
358
- marker_node.walk(lambda node, depth: commands.extend([] if depth == 0 else [node.command]))
359
- text = sep.join(commands)
360
- return self.translate_case(context, text, translate)
365
+ marker_node.walk(walk)
366
+ return sep.join(commands)
361
367
 
362
368
  def eval_codes(self, context, code):
363
369
  if not code:
@@ -142,6 +142,10 @@ class MarkerNode:
142
142
  def __repr__(self):
143
143
  return f'Node({self.marker.__class__.__name__},line={self.line_number})'
144
144
 
145
+ @property
146
+ def text_content(self):
147
+ return self.marker.text_content(self.command)
148
+
145
149
  @property
146
150
  def debug_info(self):
147
151
  def walk(node):
@@ -33,3 +33,10 @@ class CommentConfigMarker(MarkerCommentBase):
33
33
  if end == -1:
34
34
  end = None
35
35
  return content[begin:end].strip()
36
+
37
+
38
+ class TextContentMarker(MarkerCommentBase):
39
+ tag_head = "/"
40
+
41
+ def text_content(self, command):
42
+ return command[len(self.tag_head):]
@@ -42,16 +42,18 @@ class AssignRawStrMarker(AssignStrMarker, MarkerNoTranslator):
42
42
 
43
43
  class AssignMultiLineStrMarker(MarkerAssignBase, MarkerWithEnd):
44
44
  tag_head_re_args = '::'
45
+ _translate_type = None
45
46
 
46
47
  def execute(self, context, command, marker_node, marker_set):
47
- text = self.get_inner_content(context, marker_node)
48
- args = self.split_raw(command, 1, self.tag_head_re_args)
49
- self.set_var(context, args, 0, text)
48
+ text = self.get_inner_content(context, marker_node, translate=self._translate_type)
49
+ var_name = command[:re.search(self.tag_head_re_args, command).span()[0]]
50
+ self.set_var_raw(context, var_name.strip(), text)
50
51
  return []
51
52
 
52
53
 
53
54
  class AssignMultiLineRawStrMarker(AssignMultiLineStrMarker, MarkerNoTranslator):
54
55
  tag_head_re_args = re.escape(r'\::')
56
+ _translate_type = False
55
57
 
56
58
 
57
59
  class AssignEvalMarker(MarkerAssignValueBase, MarkerNoTranslator):
@@ -72,7 +74,7 @@ class AssignExecMarker(MarkerAssignBase, MarkerWithEnd, MarkerNoTranslator):
72
74
  tag_head_re_args = '=='
73
75
 
74
76
  def execute(self, context, command, marker_node, marker_set):
75
- code = self.get_inner_content(context, marker_node)
77
+ code = self.get_inner_content(context, marker_node, translate=False)
76
78
  result = self.eval_codes(context, code)
77
79
  args = self.split_raw(command, 1, self.tag_head_re_args)
78
80
  self.set_var(context, args, 0, result)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dekshell
3
- Version: 0.2.26
3
+ Version: 0.2.28
4
4
  Author-Email: sanzenwin <sanzenwin@gmail.com>
5
5
  License: MIT
6
6
  Requires-Python: >=3.8
@@ -1,19 +1,19 @@
1
- dekshell-0.2.26.dist-info/METADATA,sha256=jKY1znFqUZbTul0uoKqPFnEz0J-3F3FgvypZomH-sQM,573
2
- dekshell-0.2.26.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
3
- dekshell-0.2.26.dist-info/entry_points.txt,sha256=d-kbfULiUTZWIBBsrQF3J_-wESncF-4K2rwHT08grlI,75
1
+ dekshell-0.2.28.dist-info/METADATA,sha256=TM4EKPhD61p--WPgJ-nnOTdYLF5dOGjujW-iVFA2fIU,573
2
+ dekshell-0.2.28.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
3
+ dekshell-0.2.28.dist-info/entry_points.txt,sha256=d-kbfULiUTZWIBBsrQF3J_-wESncF-4K2rwHT08grlI,75
4
4
  dekshell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- dekshell/click/__entry__.py,sha256=fFvrYPXiTLxLS7XLPLPHy_DYTcNE7XL_LZUcVHfIrjA,82
5
+ dekshell/click/__entry__.py,sha256=CMuxUzXoEe4TcHFZwv-MNFwHnu1HSZCDpXFpqQ814uM,42
6
6
  dekshell/click/__init__.py,sha256=rFzB_exzPQaIcbbms5PdHAU3NGdl2MBaYbq9v7g7BOI,1870
7
7
  dekshell/core/__init__.py,sha256=7d3AjVUGIjXIXRYYiJ03rz5ZONTTojmGfgwpjGmKqtU,5448
8
8
  dekshell/core/contexts/__init__.py,sha256=ynsfv37azOKfI2UKd0iPl2M6iBW-k5cb1BqSLOWuJpI,482
9
9
  dekshell/core/contexts/methods.py,sha256=ksoOgBHDRM6uiGHw3ubCk4x7ExJKvJ6H3eGhaM-SNDE,9722
10
10
  dekshell/core/contexts/properties.py,sha256=esr51c6wDTDsuFXF2uj7WfyIGSq9H0dzqDqWzeMTNQE,2382
11
- dekshell/core/markers/__init__.py,sha256=_HJsxjjsyYbL7Pj6jhoeJ1WJI92qwCbdl-BKvQcGHlA,1949
12
- dekshell/core/markers/base/__init__.py,sha256=8WQ1b4J9JBjcPmgAPz5gmXbUf2WgGG41XrktRAvoW-A,13744
13
- dekshell/core/markers/base/core.py,sha256=LW1KiJBaRhXFOswpChRB9K7VvGQdY1H84wcr-8L9i-k,11582
11
+ dekshell/core/markers/__init__.py,sha256=yRQazZ1dxMltFao_RQnDnawSnQcjN_4B930MjJhaZ40,1968
12
+ dekshell/core/markers/base/__init__.py,sha256=mrOgC5glSG60NMpflSi5mb4bXTmDgv2i-ZYUHCef2Nw,13826
13
+ dekshell/core/markers/base/core.py,sha256=InsUA3md2gC6GyXQsvARfeNTrfbVD3gGOYxTM8VqqPA,11679
14
14
  dekshell/core/markers/base/shell.py,sha256=fiFsTUDI8pSDDUCk834OI4ajri2qNWFJkLVhmUk2uAs,484
15
15
  dekshell/core/markers/commands.py,sha256=mDRj4dSfKbDaZ_ts4lPXd6wftvGFI4VKkRoIzxV7otA,1696
16
- dekshell/core/markers/comment.py,sha256=28iccgLs_0bRdXLhHyQR2I_kzlWdeMSqqNUFW-2vkes,818
16
+ dekshell/core/markers/comment.py,sha256=U1U3Xc4-giTqSEAPa4E_DmilZM9hs9zG-PCJ9nn4y5U,965
17
17
  dekshell/core/markers/define.py,sha256=LpMSfz9ziXq2aFJ6oMpUFFo93TpBx7GxKYNzCeht4fQ,516
18
18
  dekshell/core/markers/echo.py,sha256=1H61qQbY9tZnrKsdTI_shTmDY5ZaSGipDuBSRptAuZw,660
19
19
  dekshell/core/markers/empty.py,sha256=pWKsHlrp6uXWU6blqOs0IgN_3kYm1OmDQiKGPERabAo,79
@@ -27,7 +27,7 @@ dekshell/core/markers/invoke.py,sha256=To_U_FscoCbf7osvjC5MQTk2gjH5Mu_-06Kb22YQP
27
27
  dekshell/core/markers/pip_.py,sha256=mxXa_oqcrk4Qz-HvhlkMoirsl-SbM9Fz610leNqP1o0,832
28
28
  dekshell/core/markers/redirect.py,sha256=3vfkRQ2tnQ6rSGGn7csgUlpDi0s2ep5X7JU7NVvo0eI,1984
29
29
  dekshell/core/markers/shell.py,sha256=43BDAAzMdmgZmemkW5buh_w4LL1GDGw-s9fNZo6vhag,1929
30
- dekshell/core/markers/var.py,sha256=_7Z4gMxm63Q0eVgg71hFSy1nGUz7Tf5Kp02ek16c3Cc,5043
30
+ dekshell/core/markers/var.py,sha256=CnmBDQvA5XcQlioczXFhCvIbDc8ex4RIAgDeQvFdIiY,5176
31
31
  dekshell/core/markers/while_.py,sha256=e7lI5jsIM-qxNHMY_wUyCMvvesdXQibR5Ez2jNO9csc,1195
32
32
  dekshell/core/plugin/__init__.py,sha256=jAB_KnnHJsyJR_zIfBU_HNLngyhcyyqVv05PdlNZtF8,428
33
33
  dekshell/core/redirect.py,sha256=6YCJpG0TkQ4WMt7LBtDD_W1T-C-QkLtGRQw0S60qe54,1058
@@ -37,4 +37,4 @@ dekshell/utils/cmd.py,sha256=A0lEixQ7Ui0UxmeuymniyqCZXss9qQdX1C0COM7EEkQ,1234
37
37
  dekshell/utils/pkg.py,sha256=TgYqRqawoJfjkxt6UAHnp9ttmpjuHiWRFbqxADOS1VE,1337
38
38
  dekshell/utils/serializer.py,sha256=aIdF2Wzo-qHmIshv46jn1XD0X66vQ1JFdU-g3ZFbH2w,386
39
39
  dekshell/utils/shell.py,sha256=0NoA2-SOOMinbmZZipwzL-npBbzPOdWEfdPVYqq5G5g,92
40
- dekshell-0.2.26.dist-info/RECORD,,
40
+ dekshell-0.2.28.dist-info/RECORD,,