diff --git a/setup.py b/setup.py index f5f0e1797..22b5ab561 100755 --- a/setup.py +++ b/setup.py @@ -41,7 +41,7 @@ def build_tables(): print("Building lexer and parser tables.", file=sys.stderr) root_dir = os.path.abspath(os.path.dirname(__file__)) sys.path.insert(0, root_dir) - from xonsh.parsers import Parser + from xonsh.parser import Parser from xonsh.parsers.completion_context import CompletionContextParser Parser( diff --git a/tests/parsers/test_parser.py b/tests/parsers/test_parser.py index 7131f9363..8e3684ea9 100644 --- a/tests/parsers/test_parser.py +++ b/tests/parsers/test_parser.py @@ -6,7 +6,7 @@ import textwrap import pytest -from xonsh.parsers import Parser +from xonsh.parser import Parser from xonsh.parsers.ast import AST, Call, Pass, With, is_const_str from xonsh.parsers.fstring_adaptor import FStringAdaptor from xonsh.pytest.tools import ( diff --git a/xonsh/execer.py b/xonsh/execer.py index 9ec9608f9..51dd1e3bd 100644 --- a/xonsh/execer.py +++ b/xonsh/execer.py @@ -6,7 +6,7 @@ import inspect import sys import types -from xonsh.parsers import Parser +from xonsh.parser import Parser from xonsh.parsers.ast import CtxAwareTransformer from xonsh.tools import ( balanced_parens, diff --git a/xonsh/parser.py b/xonsh/parser.py new file mode 100644 index 000000000..8d6b0f24c --- /dev/null +++ b/xonsh/parser.py @@ -0,0 +1,17 @@ +"""Implements the xonsh parser.""" + +from xonsh.lib.lazyasd import lazyobject +from xonsh.platform import PYTHON_VERSION_INFO + + +@lazyobject +def Parser(): + if PYTHON_VERSION_INFO > (3, 10): + from xonsh.parsers.v310 import Parser as p + elif PYTHON_VERSION_INFO > (3, 9): + from xonsh.parsers.v39 import Parser as p + elif PYTHON_VERSION_INFO > (3, 8): + from xonsh.parsers.v38 import Parser as p + else: + from xonsh.parsers.v36 import Parser as p + return p diff --git a/xonsh/parsers/__init__.py b/xonsh/parsers/__init__.py index 8d6b0f24c..073c4128a 100644 --- a/xonsh/parsers/__init__.py +++ b/xonsh/parsers/__init__.py @@ -1,17 +1 @@ -"""Implements the xonsh parser.""" - -from xonsh.lib.lazyasd import lazyobject -from xonsh.platform import PYTHON_VERSION_INFO - - -@lazyobject -def Parser(): - if PYTHON_VERSION_INFO > (3, 10): - from xonsh.parsers.v310 import Parser as p - elif PYTHON_VERSION_INFO > (3, 9): - from xonsh.parsers.v39 import Parser as p - elif PYTHON_VERSION_INFO > (3, 8): - from xonsh.parsers.v38 import Parser as p - else: - from xonsh.parsers.v36 import Parser as p - return p +"""Implements the xonsh parsers."""