monaco to LSP Range converter. Converts the 1-based location indices into 0-based ones.
Returns with a range enclosing this symbol not including leading/trailing whitespace but everything else like comments. This information is typically used to determine if the clients cursor is inside the symbol to reveal in the symbol in the UI. This allows to obtain the range including the associated comments.
See: DocumentSymbol#range for more details.
The range that should be selected and revealed when this symbol is being picked, e.g the name of a function. Must be contained by the getSelectionRange.
See: DocumentSymbol#selectionRange for more details.
Returns true if candidate is strictly contained inside parent
If the argument is a DocumentSymbol, then getFullRange will be used to retrieve the range of the underlying symbol.
Sets the selection on the sub-trees based on the optional editor selection. Select the narrowest node that is strictly contains the editor selection.