Package org.eclipse.lemminx

## Class XMLTextDocumentService

- java.lang.Object
- - org.eclipse.lemminx.XMLTextDocumentService

All Implemented Interfaces:
  `org.eclipse.lsp4j.services.TextDocumentService`

    public class XMLTextDocumentService
    extends Object
    implements org.eclipse.lsp4j.services.TextDocumentService

XML text document service.

### Nested Class Summary

Nested Classes
`class` `XMLTextDocumentService.SaveContext` Save context.

### Constructor Summary

Constructors
`XMLTextDocumentService​(XMLLanguageServer xmlLanguageServer)`

### Method Summary

All Methods Instance Methods Concrete Methods
`Collection<ModelTextDocument<DOMDocument>>` `allDocuments()`
`CompletableFuture<List<org.eclipse.lsp4j.jsonrpc.messages.Either<org.eclipse.lsp4j.Command,​org.eclipse.lsp4j.CodeAction>>>` `codeAction​(org.eclipse.lsp4j.CodeActionParams params)`
`CompletableFuture<List<? extends org.eclipse.lsp4j.CodeLens>>` `codeLens​(org.eclipse.lsp4j.CodeLensParams params)`
`CompletableFuture<List<org.eclipse.lsp4j.ColorPresentation>>` `colorPresentation​(org.eclipse.lsp4j.ColorPresentationParams params)`
`CompletableFuture<org.eclipse.lsp4j.jsonrpc.messages.Either<List<org.eclipse.lsp4j.CompletionItem>,​org.eclipse.lsp4j.CompletionList>>` `completion​(org.eclipse.lsp4j.CompletionParams params)`
`<R> CompletableFuture<R>` `computeDOMAsync​(org.eclipse.lsp4j.TextDocumentIdentifier documentIdentifier, BiFunction<DOMDocument,​org.eclipse.lsp4j.jsonrpc.CancelChecker,​R> code)` Compute the DOM Document for a given uri in a future and then apply the given function.
`CompletableFuture<org.eclipse.lsp4j.jsonrpc.messages.Either<List<? extends org.eclipse.lsp4j.Location>,​List<? extends org.eclipse.lsp4j.LocationLink>>>` `definition​(org.eclipse.lsp4j.DefinitionParams params)`
`void` `didChange​(org.eclipse.lsp4j.DidChangeTextDocumentParams params)` This method is triggered when the user types on an XML document.
`void` `didClose​(org.eclipse.lsp4j.DidCloseTextDocumentParams params)`
`void` `didOpen​(org.eclipse.lsp4j.DidOpenTextDocumentParams params)`
`void` `didSave​(org.eclipse.lsp4j.DidSaveTextDocumentParams params)`
`CompletableFuture<List<org.eclipse.lsp4j.ColorInformation>>` `documentColor​(org.eclipse.lsp4j.DocumentColorParams params)`
`CompletableFuture<List<? extends org.eclipse.lsp4j.DocumentHighlight>>` `documentHighlight​(org.eclipse.lsp4j.DocumentHighlightParams params)`
`boolean` `documentIsOpen​(String uri)`
`CompletableFuture<List<org.eclipse.lsp4j.DocumentLink>>` `documentLink​(org.eclipse.lsp4j.DocumentLinkParams params)`
`CompletableFuture<List<org.eclipse.lsp4j.jsonrpc.messages.Either<org.eclipse.lsp4j.SymbolInformation,​org.eclipse.lsp4j.DocumentSymbol>>>` `documentSymbol​(org.eclipse.lsp4j.DocumentSymbolParams params)`
`CompletableFuture<List<org.eclipse.lsp4j.FoldingRange>>` `foldingRange​(org.eclipse.lsp4j.FoldingRangeRequestParams params)`
`CompletableFuture<List<? extends org.eclipse.lsp4j.TextEdit>>` `formatting​(org.eclipse.lsp4j.DocumentFormattingParams params)`
`ModelTextDocument<DOMDocument>` `getDocument​(String uri)` Returns the text document from the given uri.
`LimitExceededWarner` `getLimitExceededWarner()`
`XMLPreferences` `getPreferences()`
`XMLCodeLensSettings` `getSharedCodeLensSettings()`
`XMLFoldingSettings` `getSharedFoldingSettings()`
`XMLFormattingOptions` `getSharedFormattingSettings()`
`SharedSettings` `getSharedSettings()`
`XMLSymbolSettings` `getSharedSymbolSettings()`
`XMLValidationRootSettings` `getValidationSettings()`
`CompletableFuture<org.eclipse.lsp4j.Hover>` `hover​(org.eclipse.lsp4j.HoverParams params)`
`boolean` `isIncrementalSupport()`
`CompletableFuture<org.eclipse.lsp4j.LinkedEditingRanges>` `linkedEditingRange​(org.eclipse.lsp4j.LinkedEditingRangeParams params)`
`CompletableFuture<org.eclipse.lsp4j.jsonrpc.messages.Either3<org.eclipse.lsp4j.Range,​org.eclipse.lsp4j.PrepareRenameResult,​org.eclipse.lsp4j.PrepareRenameDefaultBehavior>>` `prepareRename​(org.eclipse.lsp4j.PrepareRenameParams params)`
`CompletableFuture<List<? extends org.eclipse.lsp4j.TextEdit>>` `rangeFormatting​(org.eclipse.lsp4j.DocumentRangeFormattingParams params)`
`CompletableFuture<List<? extends org.eclipse.lsp4j.Location>>` `references​(org.eclipse.lsp4j.ReferenceParams params)`
`CompletableFuture<org.eclipse.lsp4j.WorkspaceEdit>` `rename​(org.eclipse.lsp4j.RenameParams params)`
`CompletableFuture<org.eclipse.lsp4j.CodeAction>` `resolveCodeAction​(org.eclipse.lsp4j.CodeAction unresolved)`
`CompletableFuture<org.eclipse.lsp4j.CompletionItem>` `resolveCompletionItem​(org.eclipse.lsp4j.CompletionItem unresolved)`
`CompletableFuture<List<org.eclipse.lsp4j.SelectionRange>>` `selectionRange​(org.eclipse.lsp4j.SelectionRangeParams params)`
`CompletableFuture<org.eclipse.lsp4j.jsonrpc.messages.Either<List<? extends org.eclipse.lsp4j.Location>,​List<? extends org.eclipse.lsp4j.LocationLink>>>` `typeDefinition​(org.eclipse.lsp4j.TypeDefinitionParams params)`
`void` `updateClientCapabilities​(org.eclipse.lsp4j.ClientCapabilities capabilities, ExtendedClientCapabilities extendedClientCapabilities)`
`void` `updateCodeLensSettings​(XMLCodeLensSettings newSettings)`
`void` `updateCompletionSettings​(XMLCompletionSettings newCompletion)`
`void` `updatePreferences​(XMLPreferences newPreferences)`
`void` `updateSettings​(Object settings)` Update settings of the language service.
`void` `updateSymbolSettings​(XMLSymbolSettings newSettings)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.lsp4j.services.TextDocumentService

`callHierarchyIncomingCalls, callHierarchyOutgoingCalls, declaration, diagnostic, documentLinkResolve, implementation, inlayHint, inlineValue, moniker, onTypeFormatting, prepareCallHierarchy, prepareTypeHierarchy, resolveCodeLens, resolveInlayHint, semanticTokensFull, semanticTokensFullDelta, semanticTokensRange, signatureHelp, typeHierarchySubtypes, typeHierarchySupertypes, willSave, willSaveWaitUntil`

### Constructor Detail

#### XMLTextDocumentService

    public XMLTextDocumentService​(XMLLanguageServer xmlLanguageServer)

### Method Detail

#### updateClientCapabilities

    public void updateClientCapabilities​(org.eclipse.lsp4j.ClientCapabilities capabilities,
                                         ExtendedClientCapabilities extendedClientCapabilities)

#### completion

    public CompletableFuture<org.eclipse.lsp4j.jsonrpc.messages.Either<List<org.eclipse.lsp4j.CompletionItem>,​org.eclipse.lsp4j.CompletionList>> completion​(org.eclipse.lsp4j.CompletionParams params)

Specified by:
  `completion` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### resolveCompletionItem

    public CompletableFuture<org.eclipse.lsp4j.CompletionItem> resolveCompletionItem​(org.eclipse.lsp4j.CompletionItem unresolved)

Specified by:
  `resolveCompletionItem` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### hover

    public CompletableFuture<org.eclipse.lsp4j.Hover> hover​(org.eclipse.lsp4j.HoverParams params)

Specified by:
  `hover` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### documentHighlight

    public CompletableFuture<List<? extends org.eclipse.lsp4j.DocumentHighlight>> documentHighlight​(org.eclipse.lsp4j.DocumentHighlightParams params)

Specified by:
  `documentHighlight` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### documentSymbol

    public CompletableFuture<List<org.eclipse.lsp4j.jsonrpc.messages.Either<org.eclipse.lsp4j.SymbolInformation,​org.eclipse.lsp4j.DocumentSymbol>>> documentSymbol​(org.eclipse.lsp4j.DocumentSymbolParams params)

Specified by:
  `documentSymbol` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### formatting

    public CompletableFuture<List<? extends org.eclipse.lsp4j.TextEdit>> formatting​(org.eclipse.lsp4j.DocumentFormattingParams params)

Specified by:
  `formatting` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### rangeFormatting

    public CompletableFuture<List<? extends org.eclipse.lsp4j.TextEdit>> rangeFormatting​(org.eclipse.lsp4j.DocumentRangeFormattingParams params)

Specified by:
  `rangeFormatting` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### prepareRename

    public CompletableFuture<org.eclipse.lsp4j.jsonrpc.messages.Either3<org.eclipse.lsp4j.Range,​org.eclipse.lsp4j.PrepareRenameResult,​org.eclipse.lsp4j.PrepareRenameDefaultBehavior>> prepareRename​(org.eclipse.lsp4j.PrepareRenameParams params)

Specified by:
  `prepareRename` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### rename

    public CompletableFuture<org.eclipse.lsp4j.WorkspaceEdit> rename​(org.eclipse.lsp4j.RenameParams params)

Specified by:
  `rename` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### didOpen

    public void didOpen​(org.eclipse.lsp4j.DidOpenTextDocumentParams params)

Specified by:
  `didOpen` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### didChange

    public void didChange​(org.eclipse.lsp4j.DidChangeTextDocumentParams params)

This method is triggered when the user types on an XML document.

Specified by:
  `didChange` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### didClose

    public void didClose​(org.eclipse.lsp4j.DidCloseTextDocumentParams params)

Specified by:
  `didClose` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### foldingRange

    public CompletableFuture<List<org.eclipse.lsp4j.FoldingRange>> foldingRange​(org.eclipse.lsp4j.FoldingRangeRequestParams params)

Specified by:
  `foldingRange` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### documentLink

    public CompletableFuture<List<org.eclipse.lsp4j.DocumentLink>> documentLink​(org.eclipse.lsp4j.DocumentLinkParams params)

Specified by:
  `documentLink` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### definition

    public CompletableFuture<org.eclipse.lsp4j.jsonrpc.messages.Either<List<? extends org.eclipse.lsp4j.Location>,​List<? extends org.eclipse.lsp4j.LocationLink>>> definition​(org.eclipse.lsp4j.DefinitionParams params)

Specified by:
  `definition` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### typeDefinition

    public CompletableFuture<org.eclipse.lsp4j.jsonrpc.messages.Either<List<? extends org.eclipse.lsp4j.Location>,​List<? extends org.eclipse.lsp4j.LocationLink>>> typeDefinition​(org.eclipse.lsp4j.TypeDefinitionParams params)

Specified by:
  `typeDefinition` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### references

    public CompletableFuture<List<? extends org.eclipse.lsp4j.Location>> references​(org.eclipse.lsp4j.ReferenceParams params)

Specified by:
  `references` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### codeLens

    public CompletableFuture<List<? extends org.eclipse.lsp4j.CodeLens>> codeLens​(org.eclipse.lsp4j.CodeLensParams params)

Specified by:
  `codeLens` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### codeAction

    public CompletableFuture<List<org.eclipse.lsp4j.jsonrpc.messages.Either<org.eclipse.lsp4j.Command,​org.eclipse.lsp4j.CodeAction>>> codeAction​(org.eclipse.lsp4j.CodeActionParams params)

Specified by:
  `codeAction` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### resolveCodeAction

    public CompletableFuture<org.eclipse.lsp4j.CodeAction> resolveCodeAction​(org.eclipse.lsp4j.CodeAction unresolved)

Specified by:
  `resolveCodeAction` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### selectionRange

    public CompletableFuture<List<org.eclipse.lsp4j.SelectionRange>> selectionRange​(org.eclipse.lsp4j.SelectionRangeParams params)

Specified by:
  `selectionRange` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### linkedEditingRange

    public CompletableFuture<org.eclipse.lsp4j.LinkedEditingRanges> linkedEditingRange​(org.eclipse.lsp4j.LinkedEditingRangeParams params)

Specified by:
  `linkedEditingRange` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### documentColor

    public CompletableFuture<List<org.eclipse.lsp4j.ColorInformation>> documentColor​(org.eclipse.lsp4j.DocumentColorParams params)

Specified by:
  `documentColor` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### colorPresentation

    public CompletableFuture<List<org.eclipse.lsp4j.ColorPresentation>> colorPresentation​(org.eclipse.lsp4j.ColorPresentationParams params)

Specified by:
  `colorPresentation` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### didSave

    public void didSave​(org.eclipse.lsp4j.DidSaveTextDocumentParams params)

Specified by:
  `didSave` in interface `org.eclipse.lsp4j.services.TextDocumentService`

#### updateSettings

    public void updateSettings​(Object settings)

Update settings of the language service.

Parameters:
  `settings` -

#### updateCompletionSettings

    public void updateCompletionSettings​(XMLCompletionSettings newCompletion)

#### updateSymbolSettings

    public void updateSymbolSettings​(XMLSymbolSettings newSettings)

#### updateCodeLensSettings

    public void updateCodeLensSettings​(XMLCodeLensSettings newSettings)

#### updatePreferences

    public void updatePreferences​(XMLPreferences newPreferences)

#### getSharedSymbolSettings

    public XMLSymbolSettings getSharedSymbolSettings()

#### getSharedCodeLensSettings

    public XMLCodeLensSettings getSharedCodeLensSettings()

#### isIncrementalSupport

    public boolean isIncrementalSupport()

#### getSharedFoldingSettings

    public XMLFoldingSettings getSharedFoldingSettings()

#### getSharedFormattingSettings

    public XMLFormattingOptions getSharedFormattingSettings()

#### getValidationSettings

    public XMLValidationRootSettings getValidationSettings()

#### getPreferences

    public XMLPreferences getPreferences()

#### getSharedSettings

    public SharedSettings getSharedSettings()

#### getDocument

    public ModelTextDocument<DOMDocument> getDocument​(String uri)

Returns the text document from the given uri.

Parameters:
  `uri` - the uri
Returns:
  the text document from the given uri.

#### allDocuments

    public Collection<ModelTextDocument<DOMDocument>> allDocuments()

#### documentIsOpen

    public boolean documentIsOpen​(String uri)

#### computeDOMAsync

    public <R> CompletableFuture<R> computeDOMAsync​(org.eclipse.lsp4j.TextDocumentIdentifier documentIdentifier,
                                                    BiFunction<DOMDocument,​org.eclipse.lsp4j.jsonrpc.CancelChecker,​R> code)

Compute the DOM Document for a given uri in a future and then apply the given function.

Type Parameters:
  `R` -
Parameters:
  `documentIdentifier` - the document indetifier.
  `code` - a bi function that accepts a `CancelChecker` and parsed `DOMDocument` and returns the to be computed value
Returns:
  the DOM Document for a given uri in a future and then apply the given function.

#### getLimitExceededWarner

    public LimitExceededWarner getLimitExceededWarner()