Skip to content

Commit

Permalink
internal/context: make context first argument (#228)
Browse files Browse the repository at this point in the history
  • Loading branch information
radeksimko authored Jul 14, 2020
1 parent aeefbad commit 8905f71
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 37 deletions.
6 changes: 3 additions & 3 deletions commands/serve_command.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ func (c *ServeCommand) Run(args []string) int {
c.Ui.Error(fmt.Sprintf("Failed to setup logging for Terraform: %s", err))
return 1
}
ctx = lsctx.WithTerraformExecLogPath(c.tfExecLogPath, ctx)
ctx = lsctx.WithTerraformExecLogPath(ctx, c.tfExecLogPath)
logger.Printf("Terraform executions will be logged to %s "+
"(interpolated at the time of execution)", c.tfExecLogPath)
}
Expand All @@ -108,7 +108,7 @@ func (c *ServeCommand) Run(args []string) int {
c.Ui.Error(fmt.Sprintf("Failed to parse Terraform timeout: %s", err))
return 1
}
ctx = lsctx.WithTerraformExecTimeout(d, ctx)
ctx = lsctx.WithTerraformExecTimeout(ctx, d)
logger.Printf("Terraform execution timeout set to %s", d)
}

Expand All @@ -130,7 +130,7 @@ func (c *ServeCommand) Run(args []string) int {
return 1
}

ctx = lsctx.WithTerraformExecPath(path, ctx)
ctx = lsctx.WithTerraformExecPath(ctx, path)
logger.Printf("Terraform exec path set to %q", path)
}

Expand Down
28 changes: 14 additions & 14 deletions internal/context/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ func missingContextErr(ctxKey *contextKey) *MissingContextErr {
return &MissingContextErr{ctxKey}
}

func WithFilesystem(fs filesystem.Filesystem, ctx context.Context) context.Context {
func WithFilesystem(ctx context.Context, fs filesystem.Filesystem) context.Context {
return context.WithValue(ctx, ctxFs, fs)
}

Expand All @@ -52,7 +52,7 @@ func Filesystem(ctx context.Context) (filesystem.Filesystem, error) {
return fs, nil
}

func WithClientCapabilitiesSetter(caps *lsp.ClientCapabilities, ctx context.Context) context.Context {
func WithClientCapabilitiesSetter(ctx context.Context, caps *lsp.ClientCapabilities) context.Context {
return context.WithValue(ctx, ctxClientCapsSetter, caps)
}

Expand All @@ -66,7 +66,7 @@ func SetClientCapabilities(ctx context.Context, caps *lsp.ClientCapabilities) er
return nil
}

func WithClientCapabilities(caps *lsp.ClientCapabilities, ctx context.Context) context.Context {
func WithClientCapabilities(ctx context.Context, caps *lsp.ClientCapabilities) context.Context {
return context.WithValue(ctx, ctxClientCaps, caps)
}

Expand All @@ -79,7 +79,7 @@ func ClientCapabilities(ctx context.Context) (lsp.ClientCapabilities, error) {
return *caps, nil
}

func WithTerraformExecLogPath(path string, ctx context.Context) context.Context {
func WithTerraformExecLogPath(ctx context.Context, path string) context.Context {
return context.WithValue(ctx, ctxTfExecLogPath, path)
}

Expand All @@ -88,7 +88,7 @@ func TerraformExecLogPath(ctx context.Context) (string, bool) {
return path, ok
}

func WithTerraformExecTimeout(timeout time.Duration, ctx context.Context) context.Context {
func WithTerraformExecTimeout(ctx context.Context, timeout time.Duration) context.Context {
return context.WithValue(ctx, ctxTfExecTimeout, timeout)
}

Expand All @@ -97,7 +97,7 @@ func TerraformExecTimeout(ctx context.Context) (time.Duration, bool) {
return path, ok
}

func WithWatcher(w watcher.Watcher, ctx context.Context) context.Context {
func WithWatcher(ctx context.Context, w watcher.Watcher) context.Context {
return context.WithValue(ctx, ctxWatcher, w)
}

Expand All @@ -109,7 +109,7 @@ func Watcher(ctx context.Context) (watcher.Watcher, error) {
return w, nil
}

func WithRootModuleManager(wm rootmodule.RootModuleManager, ctx context.Context) context.Context {
func WithRootModuleManager(ctx context.Context, wm rootmodule.RootModuleManager) context.Context {
return context.WithValue(ctx, ctxRootModuleMngr, wm)
}

Expand All @@ -121,7 +121,7 @@ func RootModuleManager(ctx context.Context) (rootmodule.RootModuleManager, error
return wm, nil
}

func WithParserFinder(pf rootmodule.ParserFinder, ctx context.Context) context.Context {
func WithParserFinder(ctx context.Context, pf rootmodule.ParserFinder) context.Context {
return context.WithValue(ctx, ctxParserFinder, pf)
}

Expand All @@ -133,7 +133,7 @@ func ParserFinder(ctx context.Context) (rootmodule.ParserFinder, error) {
return pf, nil
}

func WithTerraformFormatterFinder(tef rootmodule.TerraformFormatterFinder, ctx context.Context) context.Context {
func WithTerraformFormatterFinder(ctx context.Context, tef rootmodule.TerraformFormatterFinder) context.Context {
return context.WithValue(ctx, ctxTfFormatterFinder, tef)
}

Expand All @@ -145,7 +145,7 @@ func TerraformFormatterFinder(ctx context.Context) (rootmodule.TerraformFormatte
return pf, nil
}

func WithTerraformExecPath(path string, ctx context.Context) context.Context {
func WithTerraformExecPath(ctx context.Context, path string) context.Context {
return context.WithValue(ctx, ctxTfExecPath, path)
}

Expand All @@ -154,7 +154,7 @@ func TerraformExecPath(ctx context.Context) (string, bool) {
return path, ok
}

func WithRootModuleCandidateFinder(rmcf rootmodule.RootModuleCandidateFinder, ctx context.Context) context.Context {
func WithRootModuleCandidateFinder(ctx context.Context, rmcf rootmodule.RootModuleCandidateFinder) context.Context {
return context.WithValue(ctx, ctxRootModuleCaFi, rmcf)
}

Expand All @@ -166,7 +166,7 @@ func RootModuleCandidateFinder(ctx context.Context) (rootmodule.RootModuleCandid
return cf, nil
}

func WithRootDirectory(dir *string, ctx context.Context) context.Context {
func WithRootDirectory(ctx context.Context, dir *string) context.Context {
return context.WithValue(ctx, ctxRootDir, dir)
}

Expand All @@ -188,7 +188,7 @@ func RootDirectory(ctx context.Context) (string, bool) {
return *rootDir, true
}

func WithRootModuleWalker(w *rootmodule.Walker, ctx context.Context) context.Context {
func WithRootModuleWalker(ctx context.Context, w *rootmodule.Walker) context.Context {
return context.WithValue(ctx, ctxRootModuleWalker, w)
}

Expand All @@ -200,7 +200,7 @@ func RootModuleWalker(ctx context.Context) (*rootmodule.Walker, error) {
return w, nil
}

func WithRootModuleLoader(rml rootmodule.RootModuleLoader, ctx context.Context) context.Context {
func WithRootModuleLoader(ctx context.Context, rml rootmodule.RootModuleLoader) context.Context {
return context.WithValue(ctx, ctxRootModuleLoader, rml)
}

Expand Down
40 changes: 20 additions & 20 deletions langserver/handlers/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -131,13 +131,13 @@ func (svc *service) Assigner() (jrpc2.Assigner, error) {
if err != nil {
return nil, err
}
ctx = lsctx.WithFilesystem(fs, ctx)
ctx = lsctx.WithClientCapabilitiesSetter(cc, ctx)
ctx = lsctx.WithWatcher(ww, ctx)
ctx = lsctx.WithRootModuleWalker(svc.walker, ctx)
ctx = lsctx.WithRootDirectory(&rootDir, ctx)
ctx = lsctx.WithRootModuleManager(svc.modMgr, ctx)
ctx = lsctx.WithRootModuleLoader(rmLoader, ctx)
ctx = lsctx.WithFilesystem(ctx, fs)
ctx = lsctx.WithClientCapabilitiesSetter(ctx, cc)
ctx = lsctx.WithWatcher(ctx, ww)
ctx = lsctx.WithRootModuleWalker(ctx, svc.walker)
ctx = lsctx.WithRootDirectory(ctx, &rootDir)
ctx = lsctx.WithRootModuleManager(ctx, svc.modMgr)
ctx = lsctx.WithRootModuleLoader(ctx, rmLoader)

return handle(ctx, req, lh.Initialize)
},
Expand All @@ -146,7 +146,7 @@ func (svc *service) Assigner() (jrpc2.Assigner, error) {
if err != nil {
return nil, err
}
ctx = lsctx.WithFilesystem(fs, ctx)
ctx = lsctx.WithFilesystem(ctx, fs)

return handle(ctx, req, Initialized)
},
Expand All @@ -155,26 +155,26 @@ func (svc *service) Assigner() (jrpc2.Assigner, error) {
if err != nil {
return nil, err
}
ctx = lsctx.WithFilesystem(fs, ctx)
ctx = lsctx.WithFilesystem(ctx, fs)
return handle(ctx, req, TextDocumentDidChange)
},
"textDocument/didOpen": func(ctx context.Context, req *jrpc2.Request) (interface{}, error) {
err := session.CheckInitializationIsConfirmed()
if err != nil {
return nil, err
}
ctx = lsctx.WithFilesystem(fs, ctx)
ctx = lsctx.WithRootDirectory(&rootDir, ctx)
ctx = lsctx.WithRootModuleCandidateFinder(svc.modMgr, ctx)
ctx = lsctx.WithRootModuleWalker(svc.walker, ctx)
ctx = lsctx.WithFilesystem(ctx, fs)
ctx = lsctx.WithRootDirectory(ctx, &rootDir)
ctx = lsctx.WithRootModuleCandidateFinder(ctx, svc.modMgr)
ctx = lsctx.WithRootModuleWalker(ctx, svc.walker)
return handle(ctx, req, lh.TextDocumentDidOpen)
},
"textDocument/didClose": func(ctx context.Context, req *jrpc2.Request) (interface{}, error) {
err := session.CheckInitializationIsConfirmed()
if err != nil {
return nil, err
}
ctx = lsctx.WithFilesystem(fs, ctx)
ctx = lsctx.WithFilesystem(ctx, fs)
return handle(ctx, req, TextDocumentDidClose)
},
"textDocument/completion": func(ctx context.Context, req *jrpc2.Request) (interface{}, error) {
Expand All @@ -183,9 +183,9 @@ func (svc *service) Assigner() (jrpc2.Assigner, error) {
return nil, err
}

ctx = lsctx.WithFilesystem(fs, ctx) // TODO: Read-only FS
ctx = lsctx.WithClientCapabilities(cc, ctx)
ctx = lsctx.WithParserFinder(svc.modMgr, ctx)
ctx = lsctx.WithFilesystem(ctx, fs)
ctx = lsctx.WithClientCapabilities(ctx, cc)
ctx = lsctx.WithParserFinder(ctx, svc.modMgr)

return handle(ctx, req, lh.TextDocumentComplete)
},
Expand All @@ -195,8 +195,8 @@ func (svc *service) Assigner() (jrpc2.Assigner, error) {
return nil, err
}

ctx = lsctx.WithFilesystem(fs, ctx)
ctx = lsctx.WithTerraformFormatterFinder(svc.modMgr, ctx)
ctx = lsctx.WithFilesystem(ctx, fs)
ctx = lsctx.WithTerraformFormatterFinder(ctx, svc.modMgr)

return handle(ctx, req, lh.TextDocumentFormatting)
},
Expand All @@ -205,7 +205,7 @@ func (svc *service) Assigner() (jrpc2.Assigner, error) {
if err != nil {
return nil, err
}
ctx = lsctx.WithFilesystem(fs, ctx)
ctx = lsctx.WithFilesystem(ctx, fs)
svc.shutdown()
return handle(ctx, req, Shutdown)
},
Expand Down

0 comments on commit 8905f71

Please sign in to comment.