.. _completion:

Command Completion
==================

The Interactive Python Shell provides automatic command completion that 
saves you typing and helps you discover what commands are available.

Arrows
------

Arrow keys are used to navigate the history of commands and edit the
current command. You can insert code anywhere in the current command
by typing and you can use the delete or backspace key to remove code.

When you are typing, Interactive Python may also provide suggestions
to the right of your cursor in greyed out text. Pressing right arrow
will accept these suggestions.

Tab
---

Pressing Tab will attempt to complete the current command. When you have
typed the name of an object followed by a ``.`` Tab will show you all
the properties ahd methods of that object.

This feature is particularly useful with the MCIWB built in object ``Items`` as
it means you don't need to remember the names of all of types of blocks and 
items in Minecraft.

Demo
----

To understand how this feature works it is best to just try using the 
arrows and tab keys while you are typing Python commands. Below is a video
of some of the things you can do with command completion in MCIWB.

.. raw:: html

    <iframe width="700" height="300" src="https://www.youtube.com/embed/6AnjnmMo2iY?start=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
