2011-10-10 15 views
23

Puedo hacer esto para funciones de sistema como const seleccionándolo, haciendo clic derecho y eligiendo búsqueda (metadatos). Lo mismo no funciona para las funciones definidas por el usuario.¿Cómo 'ir a definición' para la función definida por el usuario en Leksah?

¿Cómo se hace esa búsqueda?

Si no es posible para las funciones definidas por el usuario, ¿cómo se lee un proyecto Haskell ya existente y se salta entre definiciones e invocaciones?

Vim + ctags funcionan solo para funciones definidas por el usuario, y no son tan potentes como cscope para fuente c/C++.

+0

¿Alguna vez encontró una solución? Por favor haz un seguimiento y publícalo si encuentras algo mejor que ack. – KobeJohn

+0

@kobejohn No hay mejor solución. – wenlong

+0

¿Has probado ack-grep? – KobeJohn

Respuesta

0

Esta solución puede estar totalmente fuera de base porque no uso Haskell, pero ¿sería útil para usted el ack-grep? Lo he encontrado muy útil para hacer inmersiones de código.

Veo en the documentation que admite haskell.

creo que se debería utilizar: ack --haskell user_function

2

Probé lo que ha dicho con funciones definidas por el usuario y que funciona muy bien para mí. Selecciono el nombre de la función, hago clic derecho, busco (metadatos) y aparece en la pestaña de búsqueda a la derecha. Luego hago clic en "ir a la definición" y me lleva a la definición. ¿Quizás deberías intentar reiniciar Leksah? Noté que a veces no reconoce las funciones inmediatamente cuando las escribo, pero si las reinicias, las reconocerá.

1

Debe utilizar 'Actualizar datos de área de trabajo' en el menú 'Configuración' - Leksah no indexa las funciones creadas por el usuario hasta que lo haga (o reinicie el compilador). El acceso directo predeterminado en Windows es Ctrl + M.

Cuestiones relacionadas