Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,21 @@ permissions:
contents: read

jobs:
changes:
name: Detect changed files
runs-on: ubuntu-latest
outputs:
go_files_changed: ${{ steps.filter.outputs.go_files }}
steps:
- uses: actions/checkout@v4
- name: Detect Go file changes
uses: dorny/paths-filter@v3
id: filter
with:
filters: |
go_files:
- '**/*.go'

fmt:
name: Format
runs-on: ubuntu-latest
Expand Down Expand Up @@ -42,6 +57,8 @@ jobs:

test-race:
name: Test Race
needs: changes
if: needs.changes.outputs.go_files_changed == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -53,6 +70,8 @@ jobs:

fuzz-document:
name: Fuzz Document
needs: changes
if: needs.changes.outputs.go_files_changed == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# go-lsp

![Debug UI](./.github/images/debugui.png)
`go-lsp` is a Go library for building Language Server Protocol servers. It gives you the infrastructure for transport, request handling, document tracking, and protocol types so you can build an LSP server without reimplementing the boilerplate.

The screenshot below shows the optional debug UI included with the library for inspecting LSP traffic while developing and testing servers.

`go-lsp` is a Go library for building Language Server Protocol servers. It handles JSON-RPC framing, method dispatch, LSP 3.17 protocol types, document state, testing utilities, and debugging tools so your server code can focus on language behavior.
![Debug UI](./.github/images/debugui.png)

```bash
go get github.com/owenrumney/go-lsp
Expand Down
Loading