
4 changed files with 5 additions and 101 deletions
-
4src/model/es/provider/ElasticCodeLensProvider.ts
-
96src/model/es/provider/ElasticDecoration.ts
-
2src/model/es/provider/ElasticMatch.ts
-
4syntaxes/es.tmLanguage.json
@ -1,96 +0,0 @@ |
|||||
import * as vscode from 'vscode'; |
|
||||
import { ElasticMatches } from './ElasticMatches'; |
|
||||
|
|
||||
export class ElasticDecoration { |
|
||||
pHighlight: vscode.TextEditorDecorationType; |
|
||||
bHighlight: vscode.TextEditorDecorationType; |
|
||||
bHighlightSelected: vscode.TextEditorDecorationType; |
|
||||
mHighlight: vscode.TextEditorDecorationType; |
|
||||
errHighlight: vscode.TextEditorDecorationType; |
|
||||
|
|
||||
context: vscode.ExtensionContext; |
|
||||
|
|
||||
public constructor(context: vscode.ExtensionContext) { |
|
||||
this.context = context |
|
||||
|
|
||||
this.pHighlight = vscode.window.createTextEditorDecorationType({ |
|
||||
light: { |
|
||||
color: 'rgb(0,191,171)', |
|
||||
// after: { contentText: ' • ' + host, color: 'lightgray' }
|
|
||||
}, |
|
||||
dark: { |
|
||||
color: 'rgb(0,191,171)', |
|
||||
// after: { contentText: ' • ' + host, color: 'gray' }
|
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
this.bHighlight = vscode.window.createTextEditorDecorationType({ |
|
||||
isWholeLine: true, |
|
||||
light: { |
|
||||
gutterIconSize: 'contain', |
|
||||
backgroundColor: 'rgba(200, 200, 200, 0.2)', |
|
||||
gutterIconPath: this.context.asAbsolutePath("./media/gutter-dis-light.svg"), |
|
||||
}, |
|
||||
dark: { |
|
||||
gutterIconSize: 'contain', |
|
||||
backgroundColor: 'rgba(50, 50, 50, 0.3)', |
|
||||
gutterIconPath: vscode.Uri.parse('data:image/svg+xml;base64,PHN2ZyB4b+'), |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
this.bHighlightSelected = vscode.window.createTextEditorDecorationType({ |
|
||||
isWholeLine: true, |
|
||||
gutterIconPath: vscode.Uri.parse('data:image/svg+xml;base64,PHN2ZyB4b+'), |
|
||||
gutterIconSize: 'contain', |
|
||||
light: { |
|
||||
backgroundColor: 'rgba(200, 200, 200, 0.2)' |
|
||||
}, |
|
||||
dark: { |
|
||||
backgroundColor: 'rgba(50, 50, 50, 0.3)' |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
this.mHighlight = vscode.window.createTextEditorDecorationType({ |
|
||||
rangeBehavior: vscode.DecorationRangeBehavior.ClosedClosed, |
|
||||
light: { |
|
||||
color: '#EF5098' |
|
||||
}, |
|
||||
dark: { |
|
||||
color: '#EF5098' |
|
||||
}, |
|
||||
overviewRulerColor: '#0271bc', |
|
||||
overviewRulerLane: vscode.OverviewRulerLane.Left |
|
||||
}); |
|
||||
|
|
||||
this.errHighlight = vscode.window.createTextEditorDecorationType({ |
|
||||
borderWidth: '1px', |
|
||||
borderStyle: 'solid', |
|
||||
light: |
|
||||
{ |
|
||||
borderColor: 'rgba(255,0,0,0.5)', |
|
||||
backgroundColor: 'rgba(255,0,0,0.25)' |
|
||||
}, |
|
||||
dark: |
|
||||
{ |
|
||||
borderColor: 'rgba(255,0,0,0.5)', |
|
||||
backgroundColor: 'rgba(255,0,0,0.25)' |
|
||||
}, |
|
||||
overviewRulerColor: 'rgba(255,0,0,0.5)', |
|
||||
overviewRulerLane: vscode.OverviewRulerLane.Left |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
public UpdateDecoration(esMatches: ElasticMatches) { |
|
||||
|
|
||||
var editor = esMatches.Editor |
|
||||
var matches = esMatches.Matches |
|
||||
|
|
||||
editor.setDecorations(this.mHighlight, matches.map(m => m.Method.Range).filter(x => !!x)); |
|
||||
editor.setDecorations(this.pHighlight, matches.map(p => p.Path.Range).filter(x => !!x)); |
|
||||
editor.setDecorations(this.bHighlight, matches.filter(x => !x.Selected).map(b => b.Range).filter(x => !!x)); |
|
||||
editor.setDecorations(this.errHighlight, matches.map(e => e.Error.Range).filter(x => !!x)); |
|
||||
editor.setDecorations(this.bHighlightSelected, matches.filter(x => x.Selected).map(b => b.Range)); |
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue