This is a minimal test of the refactor.inline code actions, with resolve support.
See inline.txt for same test without resolve support.

-- capabilities.json --
{
	"textDocument": {
		"codeAction": {
			"dataSupport": true,
			"resolveSupport": {
				"properties": ["edit"]
			}
		}
	}
}
-- go.mod --
module example.com/codeaction
go 1.18

-- a/a.go --
package a

func _() {
	println(add(1, 2)) //@codeaction("add", ")", "refactor.inline", inline)
}

func add(x, y int) int { return x + y }

-- @inline/a/a.go --
package a

func _() {
	println(1 + 2) //@codeaction("add", ")", "refactor.inline", inline)
}

func add(x, y int) int { return x + y }
