lean4-htt/tests/lean/interactive/codeaction.lean
Buster Copley bccbefdc1c
fix: version numbers in code actions (#2721)
Co-authored-by: Richard Copley <buster@buster.me.uk>
2023-10-24 22:55:47 +11:00

33 lines
862 B
Text

import Lean
open Lean Server Lsp RequestM
@[code_action_provider]
def helloProvider : CodeActionProvider := fun params _snap => do
let doc ← readDoc
let vi := doc.versionedIdentifier
let edit : TextEdit := {
range := params.range,
newText := "hello!!!"
}
let ca : CodeAction := {
title := "hello world",
kind? := "quickfix",
edit? := WorkspaceEdit.ofTextEdit vi edit
}
let longRunner : CodeAction := {
title := "a long-running action",
kind? := "refactor",
}
let lazyResult : IO CodeAction := do
let v? ← IO.getEnv "PWD"
let v := v?.getD "none"
return { longRunner with
edit? := WorkspaceEdit.ofTextEdit vi { range := params.range, newText := v}
}
return #[ca, {eager := longRunner, lazy? := lazyResult}]
theorem asdf : (x : Nat) → x = x := by
intro x
--^ codeAction
rfl