coconut-develop 3.0.0a0.dev18__tar.gz → 3.0.0a0.dev20__tar.gz
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.
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/DOCS.md +1 -1
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/PKG-INFO +8 -8
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/__coconut__/__init__.pyi +2 -1
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/__coconut__.pyi +1 -1
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/compiler/grammar.py +1 -1
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/compiler/header.py +1 -1
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/compiler/templates/header.py_template +3 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/constants.py +2 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/icoconut/coconut/kernel.json +3 -3
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/integrations.py +16 -14
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/root.py +1 -1
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/cocotest/agnostic/primary.coco +3 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/CONTRIBUTING.md +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/FAQ.md +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/HELP.md +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/LICENSE.txt +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/MANIFEST.in +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/README.rst +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/__coconut__/__init__.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/__coconut__/py.typed +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/_coconut/__init__.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/_coconut/__init__.pyi +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/_coconut/py.typed +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/__coconut__.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/__init__.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/__init__.pyi +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/__main__.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/_pyparsing.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/command/__init__.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/command/__init__.pyi +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/command/cli.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/command/command.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/command/command.pyi +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/command/mypy.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/command/resources/zcoconut.pth +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/command/util.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/command/watch.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/compiler/__init__.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/compiler/compiler.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/compiler/matching.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/compiler/util.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/convenience.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/convenience.pyi +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/exceptions.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/highlighter.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/icoconut/__init__.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/icoconut/__main__.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/icoconut/coconut_py/kernel.json +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/icoconut/coconut_py2/kernel.json +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/icoconut/coconut_py3/kernel.json +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/icoconut/embed.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/icoconut/root.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/main.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/py.typed +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/requirements.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/terminal.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/__init__.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/__main__.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/constants_test.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/main_test.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/cocotest/agnostic/__init__.coco +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/cocotest/agnostic/main.coco +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/cocotest/agnostic/specific.coco +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/cocotest/agnostic/suite.coco +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/cocotest/agnostic/tutorial.coco +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/cocotest/agnostic/util.coco +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/cocotest/non_strict/non_strict_test.coco +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/cocotest/target_2/py2_test.coco +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/cocotest/target_3/py3_test.coco +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/cocotest/target_35/py35_test.coco +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/cocotest/target_36/py36_test.coco +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/cocotest/target_38/py38_test.coco +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/cocotest/target_sys/target_sys_test.coco +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/extras.coco +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/runnable.coco +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/runner.coco +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/util.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut_develop.egg-info/SOURCES.txt +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/conf.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/pyproject.toml +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/setup.cfg +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/setup.py +0 -0
- {coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/xontrib/coconut.py +0 -0
|
@@ -450,7 +450,7 @@ user@computer ~ $ $(ls -la) |> .splitlines() |> len
|
|
|
450
450
|
30
|
|
451
451
|
```
|
|
452
452
|
|
|
453
|
-
Note that the way that Coconut integrates with `xonsh`, `@(<code>)` syntax will only work with Python code, not Coconut code.
|
|
453
|
+
Note that the way that Coconut integrates with `xonsh`, `@(<code>)` syntax and the `execx` command will only work with Python code, not Coconut code.
|
|
454
454
|
|
|
455
455
|
Additionally, Coconut will only compile individual commands—Coconut will not touch the `.xonshrc` or any other `.xsh` files.
|
|
456
456
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: coconut-develop
|
|
3
|
-
Version: 3.0.0a0.
|
|
3
|
+
Version: 3.0.0a0.dev20
|
|
4
4
|
Summary: Simple, elegant, Pythonic functional programming.
|
|
5
5
|
Home-page: http://coconut-lang.org
|
|
6
6
|
Author: Evan Hubinger
|
|
@@ -125,14 +125,14 @@ Classifier: Framework :: IPython
|
|
|
125
125
|
Classifier: Framework :: Jupyter
|
|
126
126
|
Classifier: Typing :: Typed
|
|
127
127
|
Provides-Extra: kernel
|
|
128
|
-
Provides-Extra:
|
|
129
|
-
Provides-Extra: mypy
|
|
128
|
+
Provides-Extra: watch
|
|
130
129
|
Provides-Extra: jobs
|
|
131
|
-
Provides-Extra:
|
|
130
|
+
Provides-Extra: mypy
|
|
131
|
+
Provides-Extra: backports
|
|
132
132
|
Provides-Extra: xonsh
|
|
133
|
-
Provides-Extra:
|
|
133
|
+
Provides-Extra: jupyter
|
|
134
|
+
Provides-Extra: all
|
|
135
|
+
Provides-Extra: ipython
|
|
136
|
+
Provides-Extra: docs
|
|
134
137
|
Provides-Extra: tests
|
|
135
|
-
Provides-Extra: backports
|
|
136
138
|
Provides-Extra: dev
|
|
137
|
-
Provides-Extra: ipython
|
|
138
|
-
Provides-Extra: jupyter
|
|
@@ -874,7 +874,8 @@ def _coconut_bool_or(a: _t.Literal[False], b: _T) -> _T: ...
|
|
|
874
874
|
def _coconut_bool_or(a: _T, b: _U) -> _t.Union[_T, _U]: ...
|
|
875
875
|
|
|
876
876
|
|
|
877
|
-
def
|
|
877
|
+
def _coconut_in(a: _T, b: _t.Sequence[_T]) -> bool: ...
|
|
878
|
+
_coconut_not_in = _coconut_in
|
|
878
879
|
|
|
879
880
|
|
|
880
881
|
@_t.overload
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
from __coconut__ import *
|
|
2
|
-
from __coconut__ import _coconut_tail_call, _coconut_tco, _coconut_call_set_names, _coconut_handle_cls_kwargs, _coconut_handle_cls_stargs, _namedtuple_of, _coconut, _coconut_super, _coconut_Expected, _coconut_MatchError, _coconut_iter_getitem, _coconut_base_compose, _coconut_forward_compose, _coconut_back_compose, _coconut_forward_star_compose, _coconut_back_star_compose, _coconut_forward_dubstar_compose, _coconut_back_dubstar_compose, _coconut_pipe, _coconut_star_pipe, _coconut_dubstar_pipe, _coconut_back_pipe, _coconut_back_star_pipe, _coconut_back_dubstar_pipe, _coconut_none_pipe, _coconut_none_star_pipe, _coconut_none_dubstar_pipe, _coconut_bool_and, _coconut_bool_or, _coconut_none_coalesce, _coconut_minus, _coconut_map, _coconut_partial, _coconut_get_function_match_error, _coconut_base_pattern_func, _coconut_addpattern, _coconut_sentinel, _coconut_assert, _coconut_raise, _coconut_mark_as_match, _coconut_reiterable, _coconut_self_match_types, _coconut_dict_merge, _coconut_exec, _coconut_comma_op, _coconut_multi_dim_arr, _coconut_mk_anon_namedtuple, _coconut_matmul, _coconut_py_str, _coconut_flatten, _coconut_multiset, _coconut_back_none_pipe, _coconut_back_none_star_pipe, _coconut_back_none_dubstar_pipe, _coconut_forward_none_compose, _coconut_back_none_compose, _coconut_forward_none_star_compose, _coconut_back_none_star_compose, _coconut_forward_none_dubstar_compose, _coconut_back_none_dubstar_compose, _coconut_call_or_coefficient, _coconut_not_in
|
|
2
|
+
from __coconut__ import _coconut_tail_call, _coconut_tco, _coconut_call_set_names, _coconut_handle_cls_kwargs, _coconut_handle_cls_stargs, _namedtuple_of, _coconut, _coconut_super, _coconut_Expected, _coconut_MatchError, _coconut_iter_getitem, _coconut_base_compose, _coconut_forward_compose, _coconut_back_compose, _coconut_forward_star_compose, _coconut_back_star_compose, _coconut_forward_dubstar_compose, _coconut_back_dubstar_compose, _coconut_pipe, _coconut_star_pipe, _coconut_dubstar_pipe, _coconut_back_pipe, _coconut_back_star_pipe, _coconut_back_dubstar_pipe, _coconut_none_pipe, _coconut_none_star_pipe, _coconut_none_dubstar_pipe, _coconut_bool_and, _coconut_bool_or, _coconut_none_coalesce, _coconut_minus, _coconut_map, _coconut_partial, _coconut_get_function_match_error, _coconut_base_pattern_func, _coconut_addpattern, _coconut_sentinel, _coconut_assert, _coconut_raise, _coconut_mark_as_match, _coconut_reiterable, _coconut_self_match_types, _coconut_dict_merge, _coconut_exec, _coconut_comma_op, _coconut_multi_dim_arr, _coconut_mk_anon_namedtuple, _coconut_matmul, _coconut_py_str, _coconut_flatten, _coconut_multiset, _coconut_back_none_pipe, _coconut_back_none_star_pipe, _coconut_back_none_dubstar_pipe, _coconut_forward_none_compose, _coconut_back_none_compose, _coconut_forward_none_star_compose, _coconut_back_none_star_compose, _coconut_forward_none_dubstar_compose, _coconut_back_none_dubstar_compose, _coconut_call_or_coefficient, _coconut_in, _coconut_not_in
|
|
@@ -1033,7 +1033,7 @@ class Grammar(object):
|
|
|
1033
1033
|
# must come after is not / not in
|
|
1034
1034
|
| fixto(keyword("not"), "_coconut.operator.not_")
|
|
1035
1035
|
| fixto(keyword("is"), "_coconut.operator.is_")
|
|
1036
|
-
| fixto(keyword("in"), "
|
|
1036
|
+
| fixto(keyword("in"), "_coconut_in")
|
|
1037
1037
|
)
|
|
1038
1038
|
partialable_op = base_op_item | infix_op
|
|
1039
1039
|
partial_op_item_tokens = (
|
|
@@ -541,7 +541,7 @@ for _coconut_varname in dir(MatchError):
|
|
|
541
541
|
# (extra_format_dict is to keep indentation levels matching)
|
|
542
542
|
extra_format_dict = dict(
|
|
543
543
|
# when anything is added to this list it must also be added to *both* __coconut__ stub files
|
|
544
|
-
underscore_imports="{tco_comma}{call_set_names_comma}{handle_cls_args_comma}_namedtuple_of, _coconut, _coconut_super, _coconut_Expected, _coconut_MatchError, _coconut_iter_getitem, _coconut_base_compose, _coconut_forward_compose, _coconut_back_compose, _coconut_forward_star_compose, _coconut_back_star_compose, _coconut_forward_dubstar_compose, _coconut_back_dubstar_compose, _coconut_pipe, _coconut_star_pipe, _coconut_dubstar_pipe, _coconut_back_pipe, _coconut_back_star_pipe, _coconut_back_dubstar_pipe, _coconut_none_pipe, _coconut_none_star_pipe, _coconut_none_dubstar_pipe, _coconut_bool_and, _coconut_bool_or, _coconut_none_coalesce, _coconut_minus, _coconut_map, _coconut_partial, _coconut_get_function_match_error, _coconut_base_pattern_func, _coconut_addpattern, _coconut_sentinel, _coconut_assert, _coconut_raise, _coconut_mark_as_match, _coconut_reiterable, _coconut_self_match_types, _coconut_dict_merge, _coconut_exec, _coconut_comma_op, _coconut_multi_dim_arr, _coconut_mk_anon_namedtuple, _coconut_matmul, _coconut_py_str, _coconut_flatten, _coconut_multiset, _coconut_back_none_pipe, _coconut_back_none_star_pipe, _coconut_back_none_dubstar_pipe, _coconut_forward_none_compose, _coconut_back_none_compose, _coconut_forward_none_star_compose, _coconut_back_none_star_compose, _coconut_forward_none_dubstar_compose, _coconut_back_none_dubstar_compose, _coconut_call_or_coefficient, _coconut_not_in".format(**format_dict),
|
|
544
|
+
underscore_imports="{tco_comma}{call_set_names_comma}{handle_cls_args_comma}_namedtuple_of, _coconut, _coconut_super, _coconut_Expected, _coconut_MatchError, _coconut_iter_getitem, _coconut_base_compose, _coconut_forward_compose, _coconut_back_compose, _coconut_forward_star_compose, _coconut_back_star_compose, _coconut_forward_dubstar_compose, _coconut_back_dubstar_compose, _coconut_pipe, _coconut_star_pipe, _coconut_dubstar_pipe, _coconut_back_pipe, _coconut_back_star_pipe, _coconut_back_dubstar_pipe, _coconut_none_pipe, _coconut_none_star_pipe, _coconut_none_dubstar_pipe, _coconut_bool_and, _coconut_bool_or, _coconut_none_coalesce, _coconut_minus, _coconut_map, _coconut_partial, _coconut_get_function_match_error, _coconut_base_pattern_func, _coconut_addpattern, _coconut_sentinel, _coconut_assert, _coconut_raise, _coconut_mark_as_match, _coconut_reiterable, _coconut_self_match_types, _coconut_dict_merge, _coconut_exec, _coconut_comma_op, _coconut_multi_dim_arr, _coconut_mk_anon_namedtuple, _coconut_matmul, _coconut_py_str, _coconut_flatten, _coconut_multiset, _coconut_back_none_pipe, _coconut_back_none_star_pipe, _coconut_back_none_dubstar_pipe, _coconut_forward_none_compose, _coconut_back_none_compose, _coconut_forward_none_star_compose, _coconut_back_none_star_compose, _coconut_forward_none_dubstar_compose, _coconut_back_none_dubstar_compose, _coconut_call_or_coefficient, _coconut_in, _coconut_not_in".format(**format_dict),
|
|
545
545
|
import_typing=pycondition(
|
|
546
546
|
(3, 5),
|
|
547
547
|
if_ge="import typing",
|
|
@@ -469,6 +469,9 @@ def _coconut_bool_and(a, b):
|
|
|
469
469
|
def _coconut_bool_or(a, b):
|
|
470
470
|
"""Boolean or operator (or). Equivalent to (a, b) -> a or b."""
|
|
471
471
|
return a or b
|
|
472
|
+
def _coconut_in(a, b):
|
|
473
|
+
"""Containment operator (in). Equivalent to (a, b) -> a in b."""
|
|
474
|
+
return a in b
|
|
472
475
|
def _coconut_not_in(a, b):
|
|
473
476
|
"""Negative containment operator (not in). Equivalent to (a, b) -> a not in b."""
|
|
474
477
|
return a not in b
|
|
@@ -1112,6 +1112,8 @@ all_keywords = keyword_vars + const_vars + reserved_vars
|
|
|
1112
1112
|
|
|
1113
1113
|
conda_build_env_var = "CONDA_BUILD"
|
|
1114
1114
|
|
|
1115
|
+
disabled_xonsh_modes = ("exec", "eval")
|
|
1116
|
+
|
|
1115
1117
|
# -----------------------------------------------------------------------------------------------------------------------
|
|
1116
1118
|
# DOCUMENTATION CONSTANTS:
|
|
1117
1119
|
# -----------------------------------------------------------------------------------------------------------------------
|
|
@@ -21,7 +21,10 @@ from coconut.root import * # NOQA
|
|
|
21
21
|
|
|
22
22
|
from types import MethodType
|
|
23
23
|
|
|
24
|
-
from coconut.constants import
|
|
24
|
+
from coconut.constants import (
|
|
25
|
+
coconut_kernel_kwargs,
|
|
26
|
+
disabled_xonsh_modes,
|
|
27
|
+
)
|
|
25
28
|
|
|
26
29
|
# -----------------------------------------------------------------------------------------------------------------------
|
|
27
30
|
# IPYTHON:
|
|
@@ -88,9 +91,7 @@ class CoconutXontribLoader(object):
|
|
|
88
91
|
"""Implements Coconut's _load_xontrib_."""
|
|
89
92
|
compiler = None
|
|
90
93
|
runner = None
|
|
91
|
-
|
|
92
|
-
def __init__(self):
|
|
93
|
-
self.timing_info = []
|
|
94
|
+
timing_info = []
|
|
94
95
|
|
|
95
96
|
def __call__(self, xsh, **kwargs):
|
|
96
97
|
# hide imports to avoid circular dependencies
|
|
@@ -111,16 +112,17 @@ class CoconutXontribLoader(object):
|
|
|
111
112
|
|
|
112
113
|
self.runner.update_vars(xsh.ctx)
|
|
113
114
|
|
|
114
|
-
def new_parse(execer,
|
|
115
|
+
def new_parse(execer, code, mode="exec", *args, **kwargs):
|
|
115
116
|
"""Coconut-aware version of xonsh's _parse."""
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
117
|
+
if mode not in disabled_xonsh_modes:
|
|
118
|
+
parse_start_time = get_clock_time()
|
|
119
|
+
try:
|
|
120
|
+
code = self.compiler.parse_xonsh(code, keep_state=True)
|
|
121
|
+
except CoconutException as err:
|
|
122
|
+
err_str = format_error(err).splitlines()[0]
|
|
123
|
+
code += " #" + err_str
|
|
124
|
+
self.timing_info.append(("parse", get_clock_time() - parse_start_time))
|
|
125
|
+
return execer.__class__.parse(execer, code, mode=mode, *args, **kwargs)
|
|
124
126
|
|
|
125
127
|
main_parser = xsh.execer.parser
|
|
126
128
|
main_parser._coconut_old_parse = main_parser.parse
|
|
@@ -140,7 +142,7 @@ class CoconutXontribLoader(object):
|
|
|
140
142
|
|
|
141
143
|
main_parser = xsh.execer.parser
|
|
142
144
|
if not hasattr(main_parser, "_coconut_old_parse"):
|
|
143
|
-
raise CoconutException("attempting to
|
|
145
|
+
raise CoconutException("attempting to unload Coconut xontrib but it was never loaded")
|
|
144
146
|
main_parser.parser = main_parser._coconut_old_parse
|
|
145
147
|
|
|
146
148
|
ctx_parser = xsh.execer.ctxtransformer.parser
|
|
@@ -26,7 +26,7 @@ import sys as _coconut_sys
|
|
|
26
26
|
VERSION = "3.0.0"
|
|
27
27
|
VERSION_NAME = None
|
|
28
28
|
# False for release, int >= 1 for develop
|
|
29
|
-
DEVELOP =
|
|
29
|
+
DEVELOP = 20
|
|
30
30
|
ALPHA = True # for pre releases rather than post releases
|
|
31
31
|
|
|
32
32
|
# -----------------------------------------------------------------------------------------------------------------------
|
|
@@ -1580,4 +1580,7 @@ def primary_test() -> bool:
|
|
|
1580
1580
|
assert not a_multiset.values() `isinstance` list
|
|
1581
1581
|
assert not a_multiset.items() `isinstance` list
|
|
1582
1582
|
assert len(a_multiset.keys()) == len(a_multiset.values()) == len(a_multiset.items()) == 2
|
|
1583
|
+
assert (in)(1, [1, 2])
|
|
1584
|
+
assert not (1 not in .)([1, 2])
|
|
1585
|
+
assert not (in)([[]], [])
|
|
1583
1586
|
return True
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/command/__init__.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/compiler/__init__.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/compiler/compiler.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/compiler/matching.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/icoconut/__init__.py
RENAMED
|
File without changes
|
{coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/icoconut/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/constants_test.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/extras.coco
RENAMED
|
File without changes
|
{coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/runnable.coco
RENAMED
|
File without changes
|
{coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut/tests/src/runner.coco
RENAMED
|
File without changes
|
|
File without changes
|
{coconut-develop-3.0.0a0.dev18 → coconut-develop-3.0.0a0.dev20}/coconut_develop.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|