提交 009da633 编写于 作者: M Martin Aeschlimann

[regression] Highlights no longer rendered for match case whole word. Fixes #23540

上级 6bb488ee
...@@ -30,7 +30,7 @@ export class FindController extends CommonFindController implements IFindControl ...@@ -30,7 +30,7 @@ export class FindController extends CommonFindController implements IFindControl
super(editor, contextKeyService); super(editor, contextKeyService);
this._widget = this._register(new FindWidget(editor, this, this._state, contextViewService, keybindingService, contextKeyService, themeService)); this._widget = this._register(new FindWidget(editor, this, this._state, contextViewService, keybindingService, contextKeyService, themeService));
this._findOptionsWidget = this._register(new FindOptionsWidget(editor, this._state, keybindingService)); this._findOptionsWidget = this._register(new FindOptionsWidget(editor, this._state, keybindingService, themeService));
} }
protected _start(opts: IFindStartOptions): void { protected _start(opts: IFindStartOptions): void {
......
...@@ -14,6 +14,8 @@ import { FIND_IDS } from 'vs/editor/contrib/find/common/findModel'; ...@@ -14,6 +14,8 @@ import { FIND_IDS } from 'vs/editor/contrib/find/common/findModel';
import { FindReplaceState } from 'vs/editor/contrib/find/common/findState'; import { FindReplaceState } from 'vs/editor/contrib/find/common/findState';
import { CaseSensitiveCheckbox, WholeWordsCheckbox } from 'vs/base/browser/ui/findinput/findInputCheckboxes'; import { CaseSensitiveCheckbox, WholeWordsCheckbox } from 'vs/base/browser/ui/findinput/findInputCheckboxes';
import { RunOnceScheduler } from 'vs/base/common/async'; import { RunOnceScheduler } from 'vs/base/common/async';
import { IThemeService, ITheme } from "vs/platform/theme/common/themeService";
import { inputActiveOptionBorder } from "vs/platform/theme/common/colorRegistry";
export class FindOptionsWidget extends Widget implements IOverlayWidget { export class FindOptionsWidget extends Widget implements IOverlayWidget {
...@@ -31,6 +33,7 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget { ...@@ -31,6 +33,7 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget {
editor: ICodeEditor, editor: ICodeEditor,
state: FindReplaceState, state: FindReplaceState,
keybindingService: IKeybindingService, keybindingService: IKeybindingService,
themeService: IThemeService
) { ) {
super(); super();
...@@ -45,6 +48,8 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget { ...@@ -45,6 +48,8 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget {
this._domNode.setAttribute('role', 'presentation'); this._domNode.setAttribute('role', 'presentation');
this._domNode.setAttribute('aria-hidden', 'true'); this._domNode.setAttribute('aria-hidden', 'true');
let inputActiveOptionBorderColor = themeService.getTheme().getColor(inputActiveOptionBorder);
this.caseSensitive = this._register(new CaseSensitiveCheckbox({ this.caseSensitive = this._register(new CaseSensitiveCheckbox({
appendTitle: this._keybindingLabelFor(FIND_IDS.ToggleCaseSensitiveCommand), appendTitle: this._keybindingLabelFor(FIND_IDS.ToggleCaseSensitiveCommand),
isChecked: this._state.matchCase, isChecked: this._state.matchCase,
...@@ -52,7 +57,8 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget { ...@@ -52,7 +57,8 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget {
this._state.change({ this._state.change({
matchCase: this.caseSensitive.checked matchCase: this.caseSensitive.checked
}, false); }, false);
} },
inputActiveOptionBorder: inputActiveOptionBorderColor
})); }));
this._domNode.appendChild(this.caseSensitive.domNode); this._domNode.appendChild(this.caseSensitive.domNode);
...@@ -63,7 +69,8 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget { ...@@ -63,7 +69,8 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget {
this._state.change({ this._state.change({
wholeWord: this.wholeWords.checked wholeWord: this.wholeWords.checked
}, false); }, false);
} },
inputActiveOptionBorder: inputActiveOptionBorderColor
})); }));
this._domNode.appendChild(this.wholeWords.domNode); this._domNode.appendChild(this.wholeWords.domNode);
...@@ -86,6 +93,9 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget { ...@@ -86,6 +93,9 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget {
this._register(dom.addDisposableNonBubblingMouseOutListener(this._domNode, (e) => this._onMouseOut())); this._register(dom.addDisposableNonBubblingMouseOutListener(this._domNode, (e) => this._onMouseOut()));
this._register(dom.addDisposableListener(this._domNode, 'mouseover', (e) => this._onMouseOver())); this._register(dom.addDisposableListener(this._domNode, 'mouseover', (e) => this._onMouseOver()));
this._applyTheme(themeService.getTheme());
this._register(themeService.onThemeChange(this._applyTheme.bind(this)));
} }
private _keybindingLabelFor(actionId: string): string { private _keybindingLabelFor(actionId: string): string {
...@@ -153,4 +163,10 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget { ...@@ -153,4 +163,10 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget {
this._isVisible = false; this._isVisible = false;
this._domNode.style.display = 'none'; this._domNode.style.display = 'none';
} }
private _applyTheme(theme: ITheme) {
let inputStyles = { inputActiveOptionBorder: theme.getColor(inputActiveOptionBorder) };
this.caseSensitive.style(inputStyles);
this.wholeWords.style(inputStyles);
}
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册