| # Gopls: Command-line interface |
| |
| The `gopls` command provides a number of subcommands that expose much |
| of the server's functionality. However, the interface is currently |
| **experimental** and **subject to change at any point.** |
| It is not efficient, complete, flexible, or officially supported. |
| |
| Its primary use is as a debugging aid. |
| For example, this command reports the location of references to the |
| symbol at the specified file/line/column: |
| |
| ``` |
| $ gopls references ./gopls/main.go:35:8 |
| Log: Loading packages... |
| Info: Finished loading packages. |
| /home/gopher/xtools/go/packages/gopackages/main.go:27:7-11 |
| /home/gopher/xtools/gopls/internal/cmd/integration_test.go:1062:7-11 |
| /home/gopher/xtools/gopls/internal/test/integration/bench/bench_test.go:59:8-12 |
| /home/gopher/xtools/gopls/internal/test/integration/regtest.go:140:8-12 |
| /home/gopher/xtools/gopls/main.go:35:7-11 |
| ``` |
| |
| See golang/go#63693 for a discussion of its future. |
| |
| Learn about available commands and flags by running `gopls help`. |
| |
| Positions within files are specified as `file.go:line:column` triples, |
| where the line and column start at 1, and columns are measured in |
| bytes of the UTF-8 encoding. |
| Alternatively, positions may be specified by the byte offset within |
| the UTF-8 encoding of the file, starting from zero, for example |
| `file.go:#1234`. |
| (When working in non-ASCII files, beware that your editor may report a |
| position's offset within its file using a different measure such as |
| UTF-16 codes, Unicode code points, or graphemes). |