2012-10-10 26 views
11

He escrito un plugin ST2 simple que debería simplemente insertar una marca de tiempo en la posición actual de intercalación. Sin embargo, no puedo averiguar cómo obtener el puesto actual.¿Cómo obtengo la posición actual de intercalación?

He

def run(self, edit): 
    timestamp = "%s" % (datetime.datetime.now().strftime("%Y-%m-%d %H:%M")) 
    pos = ??? 
    self.view.insert(edit, pos, timestamp) 

Lo que debería ser pos?

Respuesta

21

intento con

pos = self.view.sel()[0].begin() 

Esto nos lleva al punto de inicio de la selección actual (si no hay nada seleccionado, inicio y final de la selección son la posición actual del cursor).

Si quieres que esto funcione con selección múltiple, que tiene que recorrer en todas las selecciones devueltos por self.view.sel():

for pos in self.view.sel(): 
    self.view.insert(edit, pos.begin(), timestamp) 
+0

Funciona. ¡Increíble! – kasperhj

Cuestiones relacionadas