@@ -695,33 +695,34 @@ function m.compileState(uri)
695695 log .error (' Client not ready!' , uri )
696696 end
697697 local prog = progress .create (uri , lang .script .WINDOW_COMPILING , 0.5 )
698- prog :setMessage (ws .getRelativePath (uri ))
699- log .trace (' Compile State:' , uri )
700- local clock = os.clock ()
701- local state , err = parser .compile (file .text
702- , ' Lua'
703- , config .get (uri , ' Lua.runtime.version' )
704- , options
705- )
706- local passed = os.clock () - clock
707- if passed > 0.1 then
708- log .warn ((' Compile [%s] takes [%.3f] sec, size [%.3f] kb.' ):format (uri , passed , # file .text / 1000 ))
709- end
710-
711- if not state then
712- log .error (' Compile failed:' , uri , err )
713- return nil
714- end
698+ return defer (prog , function ()
699+ prog :setMessage (ws .getRelativePath (uri ))
700+ log .trace (' Compile State:' , uri )
701+ local clock = os.clock ()
702+ local state , err = parser .compile (file .text
703+ , ' Lua'
704+ , config .get (uri , ' Lua.runtime.version' )
705+ , options
706+ )
707+ local passed = os.clock () - clock
708+ if passed > 0.1 then
709+ log .warn ((' Compile [%s] takes [%.3f] sec, size [%.3f] kb.' ):format (uri , passed , # file .text / 1000 ))
710+ end
715711
716- state = pluginOnTransformAst (uri , state )
717- if not state then
718- log .error (' pluginOnTransformAst failed! discard the file state' )
719- return nil
720- end
712+ if not state then
713+ log .error (' Compile failed:' , uri , err )
714+ return nil
715+ end
721716
722- m .compileStateThen (state , file )
717+ state = pluginOnTransformAst (uri , state )
718+ if not state then
719+ log .error (' pluginOnTransformAst failed! discard the file state' )
720+ return nil
721+ end
723722
724- return state
723+ m .compileStateThen (state , file )
724+ return state
725+ end )
725726end
726727
727728--- @class parser.state
0 commit comments