41 lines
590 B
Text
41 lines
590 B
Text
import Lean
|
|
|
|
|
|
|
|
def Boo.x := 1
|
|
def Foo.x := 2
|
|
def Foo.x.y := 3
|
|
def Bla.x := 4
|
|
|
|
namespace Test
|
|
export Bla (x)
|
|
end Test
|
|
open Lean
|
|
open Lean.Elab.Term
|
|
open Lean.Elab.Command
|
|
|
|
syntax (name := resolveKind) "#resolve " ident : command
|
|
|
|
@[commandElab resolveKind] def elabResolve : CommandElab :=
|
|
fun stx => liftTermElabM none do
|
|
let cs ← resolveGlobalName $ stx.getIdAt 1;
|
|
Lean.Elab.logInfo $ toString cs;
|
|
pure ()
|
|
|
|
#resolve x.y
|
|
#resolve x
|
|
|
|
open Foo
|
|
#resolve x
|
|
#resolve x.y
|
|
#resolve x.z.w
|
|
|
|
open Boo
|
|
#resolve x
|
|
#resolve x.y
|
|
#resolve x.z.w
|
|
|
|
open Test
|
|
#resolve x
|
|
#resolve x.w.h.r
|
|
#resolve x.y
|