# Interface ICodeMiningProvider

All Known Implementing Classes:
  `AbstractCodeMiningProvider`

public interface ICodeMiningProvider
A code mining provider adds minings `ICodeMining` to source text. The mining will be shown as dedicated horizontal lines in between the source text.

Since:
  3.13

## Method Summary

Modifier and Type
Method
Description
`void`
`dispose()`
Dispose code mining provider.
`CompletableFuture<List<? extends ICodeMining>>`
`provideCodeMinings(ITextViewer viewer, IProgressMonitor monitor)`
Compute a list of code minings `ICodeMining`.

## Method Details

### provideCodeMinings

CompletableFuture<List<? extends ICodeMining>> provideCodeMinings(ITextViewer viewer, IProgressMonitor monitor)
Compute a list of code minings `ICodeMining`. This call should return as fast as possible and if computing the content of `ICodeMining` is expensive implementors should only return code mining objects with the position and implement resolve `ICodeMining.resolve(ITextViewer, IProgressMonitor)`.

Parameters:
  `viewer` - the viewer in which the command was invoked.
  `monitor` - A progress monitor.
Returns:
  An array of future of code minings that resolves to such. The lack of a result can be signaled by returning null, or an empty array.

### dispose

void dispose()
Dispose code mining provider.