@@ -10,7 +10,7 @@ import {
1010 window ,
1111 workspace ,
1212} from "vscode" ;
13- import { getEnabledLanguages } from "./settings" ;
13+ import { getEnabledLanguages , getVaildOnSaveOrChange , VaildOnSaveOrChange } from "./settings" ;
1414import { Provider , clear , invalidate } from "./provider" ;
1515
1616export function activate ( context : ExtensionContext ) {
@@ -21,14 +21,25 @@ export function activate(context: ExtensionContext) {
2121 context . subscriptions . push (
2222 languages . registerCompletionItemProvider ( enabledLanguages , provider ) ,
2323 languages . registerDefinitionProvider ( enabledLanguages , provider ) ,
24- workspace . onDidSaveTextDocument ( ( document ) =>
25- invalidate ( document . uri . toString ( ) )
26- ) ,
24+ workspace . onDidSaveTextDocument ( ( document ) => {
25+ const vaildOnSaveOrChange = getVaildOnSaveOrChange ( ) ;
26+ if ( vaildOnSaveOrChange == VaildOnSaveOrChange . Always || vaildOnSaveOrChange == VaildOnSaveOrChange . OnSave ) {
27+ commands . executeCommand ( "vscode-html-css.validate" )
28+ } else {
29+ invalidate ( document . uri . toString ( ) )
30+ }
31+ } ) ,
2732 workspace . onDidCloseTextDocument ( ( document ) =>
2833 validations . delete ( document . uri )
2934 ) ,
30- workspace . onDidChangeTextDocument ( ( event ) =>
31- validations . delete ( event . document . uri )
35+ workspace . onDidChangeTextDocument ( ( event ) => {
36+ const vaildOnSaveOrChange = getVaildOnSaveOrChange ( ) ;
37+ if ( vaildOnSaveOrChange == VaildOnSaveOrChange . Always || vaildOnSaveOrChange == VaildOnSaveOrChange . OnChange ) {
38+ commands . executeCommand ( "vscode-html-css.validate" )
39+ } else {
40+ validations . delete ( event . document . uri )
41+ }
42+ }
3243 ) ,
3344 commands . registerCommand ( "vscode-html-css.validate" , async ( ) => {
3445 const editor = window . activeTextEditor ;
@@ -43,4 +54,4 @@ export function activate(context: ExtensionContext) {
4354 ) ;
4455}
4556
46- export function deactivate ( ) { }
57+ export function deactivate ( ) { }
0 commit comments