"""gopls adapter.""" from ..workspace import find_root class Gopls: name = "gopls" extensions = [".go"] root_markers = ["go.work", "go.mod"] cmd = ["gopls", "serve"] def initialization_options(self): return { "usePlaceholders": True, "staticcheck": True, "gofumpt": True, } def workspace_root(self, filepath: str, fallback: str | None = None) -> str: return find_root(filepath, self.root_markers, fallback) def prepare_open(self, filepath: str) -> dict | None: """Return extra didOpen params if needed. gopls needs didOpen before queries.""" return None # handled generically by the bridge