All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jline.console.completer.Completer Maven / Gradle / Ivy

/*
 * Copyright (c) 2002-2016, the original author or authors.
 *
 * This software is distributable under the BSD license. See the terms of the
 * BSD license in the documentation provided with this software.
 *
 * http://www.opensource.org/licenses/bsd-license.php
 */
package jline.console.completer;

import java.util.List;

/**
 * A completer is the mechanism by which tab-completion candidates will be resolved.
 *
 * @author Marc Prud'hommeaux
 * @author Jason Dillon
 * @since 2.3
 */
public interface Completer
{
    //
    // FIXME: Check if we can use CharSequece for buffer?
    //

    /**
     * Populates candidates with a list of possible completions for the buffer.
     *
     * The candidates list will not be sorted before being displayed to the user: thus, the
     * complete method should sort the {@link List} before returning.
     *
     * @param buffer        The buffer
     * @param cursor        The current position of the cursor in the buffer
     * @param candidates    The {@link List} of candidates to populate
     * @return              The index of the buffer for which the completion will be relative
     */
    int complete(String buffer, int cursor, List candidates);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy