8
8
logger = logging .getLogger (__name__ )
9
9
10
10
from LSP .plugin .core .registry import windows
11
+ from LSP .plugin .core .types import FEATURES_TIMEOUT
11
12
12
13
13
14
class TriggerInfo :
@@ -61,12 +62,7 @@ def single_update_attempt(self):
61
62
last_event = self .trigger_info .last_event ,
62
63
generate_imports = self .trigger_info .generate_imports ,
63
64
)
64
- sublime .set_timeout_async (
65
- lambda : self ._update (
66
- self .trigger_info .view , self .trigger_info .generate_imports
67
- ),
68
- 300 ,
69
- )
65
+ self ._update (self .trigger_info .view , self .trigger_info .generate_imports )
70
66
self .trigger_info = new_trigger_info
71
67
except Exception :
72
68
logger .exception ("Error during single update attempt:" )
@@ -123,8 +119,8 @@ def _update(self, view, generate_imports=True):
123
119
)
124
120
logger .debug ("finished update of view %s in window %s" , view , view .window ())
125
121
126
- def _kick (self , view , generate_imports = True ):
127
- now = time .perf_counter ()
122
+ def _kick (self , view , generate_imports = True , timestamp = None ):
123
+ now = timestamp or time .perf_counter ()
128
124
new_trigger_info = TriggerInfo (
129
125
last_tick = self .trigger_info .last_tick ,
130
126
view = view ,
@@ -146,7 +142,10 @@ def _kick(self, view, generate_imports=True):
146
142
logger .debug ("no-op" )
147
143
148
144
def on_modified_async (self , view ):
149
- self ._kick (view , False )
145
+ timestamp = time .perf_counter ()
146
+ sublime .set_timeout_async (
147
+ lambda : self ._kick (view , True , timestamp = timestamp ), FEATURES_TIMEOUT
148
+ )
150
149
151
150
def on_load_async (self , view ):
152
151
self ._kick (view )
0 commit comments