public List<String> complete(List<String> args) {
        int lastIndex = 0;
        String partial;

        // nothing entered yet
        if (args.isEmpty() || (partial = args.get(lastIndex = args.size() - 1)).trim().isEmpty()) {
            return getCompletions(lastIndex, "");
        }

        // started typing something
        return getCompletions(lastIndex, partial);
    }
Marks that the given completion supplier should be used to compute tab
completions at the given index and at all subsequent indexes infinitely.

@param position the position
@param supplier the supplier
@return this
common/src/main/java/me/lucko/luckperms/common/command/tabcomplete/TabCompleter.java