1 /* 2 * Copyright (c) 2002-2018, the original author or authors. 3 * 4 * This software is distributable under the BSD license. See the terms of the 5 * BSD license in the documentation provided with this software. 6 * 7 * https://opensource.org/licenses/BSD-3-Clause 8 */ 9 package jdk.internal.org.jline.reader; 10 11 import java.util.List; 12 13 /** 14 * <code>ParsedLine</code> objects are returned by the {@link Parser} 15 * during completion or when accepting the line. 16 * 17 * The instances should implement the {@link CompletingParsedLine} 18 * interface so that escape chars and quotes can be correctly handled. 19 * 20 * @see Parser 21 * @see CompletingParsedLine 22 */ 23 public interface ParsedLine { 24 25 /** 26 * The current word being completed. 27 * If the cursor is after the last word, an empty string is returned. 28 * 29 * @return the word being completed or an empty string 30 */ word()31 String word(); 32 33 /** 34 * The cursor position within the current word. 35 * 36 * @return the cursor position within the current word 37 */ wordCursor()38 int wordCursor(); 39 40 /** 41 * The index of the current word in the list of words. 42 * 43 * @return the index of the current word in the list of words 44 */ wordIndex()45 int wordIndex(); 46 47 /** 48 * The list of words. 49 * 50 * @return the list of words 51 */ words()52 List<String> words(); 53 54 /** 55 * The unparsed line. 56 * 57 * @return the unparsed line 58 */ line()59 String line(); 60 61 /** 62 * The cursor position within the line. 63 * 64 * @return the cursor position within the line 65 */ cursor()66 int cursor(); 67 68 } 69