"""Serve QMK documentation locally
"""importhttp.serverimportosfrommilcimportcli@cli.argument('-p','--port',default=8936,type=int,help='Port number to use.')@cli.subcommand('Run a local webserver for QMK documentation.',hidden=Falseifcli.config.user.developerelseTrue)defdocs(cli):"""Spin up a local HTTPServer instance for the QMK docs.
"""os.chdir('docs')withhttp.server.HTTPServer(('',cli.config.docs.port),http.server.SimpleHTTPRequestHandler)ashttpd:cli.log.info("Serving QMK docs at http://localhost:%d/",cli.config.docs.port)cli.log.info("Press Control+C to exit.")try:httpd.serve_forever()exceptKeyboardInterrupt:cli.log.info("Stopping HTTP server...")finally:httpd.shutdown()