blob: 38493383517eeab513a3981d4b2b0e0b1ac1f264 [file] [log] [blame]
/******************************************************************************
* Copyright (c) 2016 TypeFox and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
******************************************************************************/
package org.eclipse.lsp4j;
/**
* Defines whether the insert text in a completion item should be interpreted as
* plain text or a snippet.
*/
public enum InsertTextFormat {
/**
* The primary text to be inserted is treated as a plain string.
*/
PlainText(1),
/**
* The primary text to be inserted is treated as a snippet.
*
* A snippet can define tab stops and placeholders with `$1`, `$2`
* and `${3:foo}`. `$0` defines the final tab stop, it defaults to
* the end of the snippet. Placeholders with equal identifiers are linked,
* that is typing in one will update others too.
*/
Snippet(2);
private final int value;
InsertTextFormat(int value) {
this.value = value;
}
public int getValue() {
return value;
}
public static InsertTextFormat forValue(int value) {
InsertTextFormat[] allValues = InsertTextFormat.values();
if (value < 1 || value > allValues.length)
throw new IllegalArgumentException("Illegal enum value: " + value);
return allValues[value - 1];
}
}