Source code for xilinx_language_server.__main__

r"""This module can be called by
`python -m <https://docs.python.org/3/library/__main__.html>`_.
"""
from argparse import ArgumentParser, RawDescriptionHelpFormatter
from contextlib import suppress
from datetime import datetime

from . import __name__ as NAME
from . import __version__

NAME = NAME.replace("_", "-")
VERSION = rf"""{NAME} {__version__}
Copyright (C) {datetime.now().year}
Written by Wu Zhenyu
"""
EPILOG = """
Report bugs to <wuzhenyu@ustc.edu>.
"""


[docs]def get_parser(): r"""Get a parser for unit test.""" parser = ArgumentParser( epilog=EPILOG, formatter_class=RawDescriptionHelpFormatter, ) with suppress(ImportError): import shtab shtab.add_argument_to(parser) parser.add_argument("--version", version=VERSION, action="version") return parser
[docs]def main(): r"""Parse arguments and provide shell completions.""" parser = get_parser() parser.parse_args() from .server import XilinxLanguageServer XilinxLanguageServer(NAME, __version__).start_io()
if __name__ == "__main__": main()