25 lines
701 B
Python
25 lines
701 B
Python
"""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
|